summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/COPYING674
-rw-r--r--src/COPYING.txt674
-rw-r--r--src/Makefile.am37
-rw-r--r--src/Makefile.in816
-rw-r--r--src/README.txt820
-rw-r--r--src/aclocal.m4896
-rw-r--r--src/animate.dsp138
-rwxr-xr-xsrc/config.guess1516
-rw-r--r--src/config.h.in89
-rwxr-xr-xsrc/config.sub1626
-rwxr-xr-xsrc/configure14453
-rw-r--r--src/configure.in84
-rw-r--r--src/convert.dsp146
-rw-r--r--src/docstring.c206
-rw-r--r--src/filters.c490
-rw-r--r--src/filters.h65
-rw-r--r--src/flam3-animate.c342
-rw-r--r--src/flam3-animate.man36
-rw-r--r--src/flam3-convert.c239
-rw-r--r--src/flam3-convert.man36
-rw-r--r--src/flam3-genome.c1075
-rw-r--r--src/flam3-genome.man36
-rw-r--r--src/flam3-palettes.xml23135
-rw-r--r--src/flam3-render.c421
-rw-r--r--src/flam3-render.man36
-rw-r--r--src/flam3.c3994
-rw-r--r--src/flam3.dsw65
-rw-r--r--src/flam3.h657
-rw-r--r--src/flam3.pc.in12
-rw-r--r--src/genome.dsp146
-rw-r--r--src/img.h44
-rwxr-xr-xsrc/install-sh250
-rw-r--r--src/interpolation.c956
-rw-r--r--src/interpolation.h58
-rw-r--r--src/isaac.c110
-rw-r--r--src/isaac.h56
-rw-r--r--src/isaacs.h46
-rw-r--r--src/jpeg.c145
-rwxr-xr-xsrc/ltmain.sh6964
-rwxr-xr-xsrc/missing353
-rwxr-xr-xsrc/mkinstalldirs40
-rw-r--r--src/palettes.c483
-rw-r--r--src/palettes.h37
-rw-r--r--src/parser.c1364
-rw-r--r--src/parser.h35
-rwxr-xr-xsrc/png.c229
-rw-r--r--src/private.h154
-rw-r--r--src/rect.c1268
-rw-r--r--src/render.dsp143
-rw-r--r--src/test.flam314
-rw-r--r--src/variations.c2521
-rw-r--r--src/variations.h140
-rwxr-xr-xsrc/vidres.flam312
53 files changed, 68382 insertions, 0 deletions
diff --git a/src/COPYING b/src/COPYING
new file mode 100644
index 0000000..94a9ed0
--- /dev/null
+++ b/src/COPYING
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ 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.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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 <http://www.gnu.org/licenses/>.
+
+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:
+
+ <program> Copyright (C) <year> <name of author>
+ 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
+<http://www.gnu.org/licenses/>.
+
+ 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
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/src/COPYING.txt b/src/COPYING.txt
new file mode 100644
index 0000000..94a9ed0
--- /dev/null
+++ b/src/COPYING.txt
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ 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.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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 <http://www.gnu.org/licenses/>.
+
+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:
+
+ <program> Copyright (C) <year> <name of author>
+ 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
+<http://www.gnu.org/licenses/>.
+
+ 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
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..05f518e
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,37 @@
+AUTOMAKE_OPTIONS = foreign no-dependencies
+
+SVN_DEF = -D'SVN_REV="$(shell svnversion -n .)"'
+AM_CFLAGS = -g -O3 -std=gnu99 -ffast-math -DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" $(SVN_DEF)
+
+ACLOCAL_AMFLAGS = -I m4
+
+man1_MANS = flam3-animate.man flam3-genome.man flam3-render.man flam3-convert.man
+bin_PROGRAMS = flam3-animate flam3-genome flam3-render flam3-convert
+lib_LTLIBRARIES = libflam3.la
+include_HEADERS = flam3.h isaac.h isaacs.h
+
+libflam3_la_SOURCES = flam3.c filters.c parser.c variations.c interpolation.c palettes.c jpeg.c png.c isaac.c
+libflam3_la_LDFLAGS = -no-undefined -ljpeg -lpng -lz -lpthread
+
+flam3_genome_SOURCES = flam3-genome.c docstring.c
+flam3_genome_LDADD = libflam3.la -lm
+
+flam3_animate_SOURCES = flam3-animate.c docstring.c
+flam3_animate_LDADD = libflam3.la -lm
+
+flam3_render_SOURCES = flam3-render.c docstring.c
+flam3_render_LDADD = libflam3.la -lm
+
+flam3_convert_SOURCES = flam3-convert.c docstring.c
+flam3_convert_LDADD = libflam3.la -lm
+
+pkgdata_DATA = flam3-palettes.xml
+
+EXTRA_DIST = rect.c flam3.h palettes.h variations.h interpolation.h parser.h \
+ private.h isaac.h isaacs.h img.h test.flam3 vidres.flam3 \
+ flam3.dsw render.dsp animate.dsp genome.dsp convert.dsp \
+ mkinstalldirs README.txt COPYING.txt flam3-palettes.xml \
+ flam3-animate.man flam3-render.man flam3-genome.man flam3-convert.man
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = flam3.pc
diff --git a/src/Makefile.in b/src/Makefile.in
new file mode 100644
index 0000000..6626e7a
--- /dev/null
+++ b/src/Makefile.in
@@ -0,0 +1,816 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = flam3-animate$(EXEEXT) flam3-genome$(EXEEXT) \
+ flam3-render$(EXEEXT) flam3-convert$(EXEEXT)
+subdir = .
+DIST_COMMON = $(am__configure_deps) $(include_HEADERS) \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/config.h.in $(srcdir)/flam3.pc.in \
+ $(top_srcdir)/configure COPYING config.guess config.sub \
+ install-sh ltmain.sh missing mkinstalldirs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = flam3.pc
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
+ "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(pkgconfigdir)" \
+ "$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(includedir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+libflam3_la_LIBADD =
+am_libflam3_la_OBJECTS = flam3.lo filters.lo parser.lo variations.lo \
+ interpolation.lo palettes.lo jpeg.lo png.lo isaac.lo
+libflam3_la_OBJECTS = $(am_libflam3_la_OBJECTS)
+libflam3_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(libflam3_la_LDFLAGS) $(LDFLAGS) -o $@
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_flam3_animate_OBJECTS = flam3-animate.$(OBJEXT) docstring.$(OBJEXT)
+flam3_animate_OBJECTS = $(am_flam3_animate_OBJECTS)
+flam3_animate_DEPENDENCIES = libflam3.la
+am_flam3_convert_OBJECTS = flam3-convert.$(OBJEXT) docstring.$(OBJEXT)
+flam3_convert_OBJECTS = $(am_flam3_convert_OBJECTS)
+flam3_convert_DEPENDENCIES = libflam3.la
+am_flam3_genome_OBJECTS = flam3-genome.$(OBJEXT) docstring.$(OBJEXT)
+flam3_genome_OBJECTS = $(am_flam3_genome_OBJECTS)
+flam3_genome_DEPENDENCIES = libflam3.la
+am_flam3_render_OBJECTS = flam3-render.$(OBJEXT) docstring.$(OBJEXT)
+flam3_render_OBJECTS = $(am_flam3_render_OBJECTS)
+flam3_render_DEPENDENCIES = libflam3.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp =
+am__depfiles_maybe =
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libflam3_la_SOURCES) $(flam3_animate_SOURCES) \
+ $(flam3_convert_SOURCES) $(flam3_genome_SOURCES) \
+ $(flam3_render_SOURCES)
+DIST_SOURCES = $(libflam3_la_SOURCES) $(flam3_animate_SOURCES) \
+ $(flam3_convert_SOURCES) $(flam3_genome_SOURCES) \
+ $(flam3_render_SOURCES)
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(man1_MANS)
+pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+pkgdataDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgconfig_DATA) $(pkgdata_DATA)
+includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(include_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ { test ! -d $(distdir) \
+ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XML2_CONFIG = @XML2_CONFIG@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = foreign no-dependencies
+SVN_DEF = -D'SVN_REV="$(shell svnversion -n .)"'
+AM_CFLAGS = -g -O3 -std=gnu99 -ffast-math -DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" $(SVN_DEF)
+ACLOCAL_AMFLAGS = -I m4
+man1_MANS = flam3-animate.man flam3-genome.man flam3-render.man flam3-convert.man
+lib_LTLIBRARIES = libflam3.la
+include_HEADERS = flam3.h isaac.h isaacs.h
+libflam3_la_SOURCES = flam3.c filters.c parser.c variations.c interpolation.c palettes.c jpeg.c png.c isaac.c
+libflam3_la_LDFLAGS = -no-undefined -ljpeg -lpng -lz -lpthread
+flam3_genome_SOURCES = flam3-genome.c docstring.c
+flam3_genome_LDADD = libflam3.la -lm
+flam3_animate_SOURCES = flam3-animate.c docstring.c
+flam3_animate_LDADD = libflam3.la -lm
+flam3_render_SOURCES = flam3-render.c docstring.c
+flam3_render_LDADD = libflam3.la -lm
+flam3_convert_SOURCES = flam3-convert.c docstring.c
+flam3_convert_LDADD = libflam3.la -lm
+pkgdata_DATA = flam3-palettes.xml
+EXTRA_DIST = rect.c flam3.h palettes.h variations.h interpolation.h parser.h \
+ private.h isaac.h isaacs.h img.h test.flam3 vidres.flam3 \
+ flam3.dsw render.dsp animate.dsp genome.dsp convert.dsp \
+ mkinstalldirs README.txt COPYING.txt flam3-palettes.xml \
+ flam3-animate.man flam3-render.man flam3-genome.man flam3-convert.man
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = flam3.pc
+all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+ cd $(srcdir) && $(AUTOMAKE) --foreign \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+ @if test ! -f $@; then \
+ rm -f stamp-h1; \
+ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
+ else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: $(am__configure_deps)
+ cd $(top_srcdir) && $(AUTOHEADER)
+ rm -f stamp-h1
+ touch $@
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+flam3.pc: $(top_builddir)/config.status $(srcdir)/flam3.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libflam3.la: $(libflam3_la_OBJECTS) $(libflam3_la_DEPENDENCIES)
+ $(libflam3_la_LINK) -rpath $(libdir) $(libflam3_la_OBJECTS) $(libflam3_la_LIBADD) $(LIBS)
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ || test -f $$p1 \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+ rm -f "$(DESTDIR)$(bindir)/$$f"; \
+ done
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+flam3-animate$(EXEEXT): $(flam3_animate_OBJECTS) $(flam3_animate_DEPENDENCIES)
+ @rm -f flam3-animate$(EXEEXT)
+ $(LINK) $(flam3_animate_OBJECTS) $(flam3_animate_LDADD) $(LIBS)
+flam3-convert$(EXEEXT): $(flam3_convert_OBJECTS) $(flam3_convert_DEPENDENCIES)
+ @rm -f flam3-convert$(EXEEXT)
+ $(LINK) $(flam3_convert_OBJECTS) $(flam3_convert_LDADD) $(LIBS)
+flam3-genome$(EXEEXT): $(flam3_genome_OBJECTS) $(flam3_genome_DEPENDENCIES)
+ @rm -f flam3-genome$(EXEEXT)
+ $(LINK) $(flam3_genome_OBJECTS) $(flam3_genome_LDADD) $(LIBS)
+flam3-render$(EXEEXT): $(flam3_render_OBJECTS) $(flam3_render_DEPENDENCIES)
+ @rm -f flam3-render$(EXEEXT)
+ $(LINK) $(flam3_render_OBJECTS) $(flam3_render_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+.c.o:
+ $(COMPILE) -c $<
+
+.c.obj:
+ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+ $(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool config.lt
+install-man1: $(man1_MANS) $(man_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
+ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+ for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ if test -f $$i; then file=$$i; \
+ else file=$(srcdir)/$$i; fi; \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ case "$$ext" in \
+ 1*) ;; \
+ *) ext='1' ;; \
+ esac; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+ done
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+ for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ case "$$ext" in \
+ 1*) ;; \
+ *) ext='1' ;; \
+ esac; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
+ rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+ done
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+install-pkgdataDATA: $(pkgdata_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
+ @list='$(pkgdata_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+ $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
+ done
+
+uninstall-pkgdataDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgdata_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
+ done
+install-includeHEADERS: $(include_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
+ @list='$(include_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
+ $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+ done
+
+uninstall-includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(include_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(includedir)/$$f"; \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ test -d $(distdir) || mkdir $(distdir)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r $(distdir)
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-lzma: distdir
+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+ $(am__remove_distdir)
+
+dist-tarZ: distdir
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__remove_distdir)
+
+dist-shar: distdir
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && cd $(distdir)/_build \
+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+ $(am__remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+ @cd $(distuninstallcheck_dir) \
+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(MANS) $(DATA) $(HEADERS) \
+ config.h
+install-binPROGRAMS: install-libLTLIBRARIES
+
+installdirs:
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(includedir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
+ clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-hdr distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-includeHEADERS install-man \
+ install-pkgconfigDATA install-pkgdataDATA
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-binPROGRAMS install-libLTLIBRARIES
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \
+ uninstall-libLTLIBRARIES uninstall-man uninstall-pkgconfigDATA \
+ uninstall-pkgdataDATA
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
+ clean-libtool ctags dist dist-all dist-bzip2 dist-gzip \
+ dist-lzma dist-shar dist-tarZ dist-zip distcheck distclean \
+ distclean-compile distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-am install-binPROGRAMS install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am \
+ install-includeHEADERS install-info install-info-am \
+ install-libLTLIBRARIES install-man install-man1 install-pdf \
+ install-pdf-am install-pkgconfigDATA install-pkgdataDATA \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-binPROGRAMS \
+ uninstall-includeHEADERS uninstall-libLTLIBRARIES \
+ uninstall-man uninstall-man1 uninstall-pkgconfigDATA \
+ uninstall-pkgdataDATA
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/README.txt b/src/README.txt
new file mode 100644
index 0000000..2e02bdd
--- /dev/null
+++ b/src/README.txt
@@ -0,0 +1,820 @@
+FLAM3 - cosmic recursive fractal flames
+see the file COPYING for the license covering this software.
+
+This is free software to render fractal flames as described on
+http://flam3.com. Flam3-animate makes animations, and flam3-render
+makes still images. Flam3-genome creates and manipulates genomes
+(parameter sets). A C library is also installed.
+
+Note: the following instructions are written for Linux users. Windows
+users may install the cygwin package to get the "env" command or set
+the envars in your windows command prompt manually. That means
+instead of a command like
+
+ env dtime=5 prefix=foo. in=test.flame flam3-animate
+
+say
+
+ set dtime=5
+ set prefix=foo.
+ set in=test.flame
+ flam3-animate
+
+As usual, to configure, build, and install:
+
+ ./configure
+ make
+ sudo make install
+
+This package depends on development packages for libz, libpng,
+libjpeg, and libxml2.
+
+To test it, run
+
+ flam3-render < test.flam3
+
+and it should produce 00000.jpg and 00001.jpg, one image for each
+<flame> element in the parameter file. To make an animation run
+
+ flam3-animate < test.flam3
+
+and it should produce 100 files named 00000.jpg through 00099.jpg that
+interpolate between the two <flame> elements.
+
+
+envar default meaning
+===== ======= =======
+prefix (empty) prefix names of output files with this string.
+begin j time of first frame to render (j=first time in input file) (animate only)
+end n-1 time of last frame to render (n=last time specified in the input file) (animate only)
+time NA time of first and last frame (ie do one frame) (animate only)
+frame NA synonym for "time" (animate only)
+in stdin name of input file
+out NA name of output file (bad idea if rending more than one, use prefix instead)
+template NA apply defaults based on this genome (genome only)
+dtime 1 time between frames (animate only)
+fields 0 if 1 then render fields, ie odd scanlines at time+0.5
+nstrips 1 number of strips, ie render fractions of a frame at once (render only)
+qs 1 quality scale, multiply quality of all frames by this
+ss 1 size scale, multiply size (in pixels) of all frames by this
+jpeg NA jpeg quality for compression, default is native jpeg default
+format png "jpg" or "ppm" or "png"
+pixel_aspect 1.0 aspect ratio of pixels (width over height), eg 0.90909 for NTSC
+isaac_seed random string to be used in generating random seed. defaults to time(0)
+seed random integer seed for random numbers, defaults to time+pid. deprecated.
+nthreads auto number of threads to use (render and animate)
+verbose 0 if non-zero then print progress meter on stderr
+bits 33 also 32 or 64: sets bit-width of internal buffers (33 means 32-bit floating-point)
+bpc 8 bits per channel of color: only png supports 16 (render/animate)
+image filename replace palette with png, jpg, or ppm image
+use_vars -1 comma sep list of variation #'s to use when generating a random flame (genome only)
+dont_use_vars unset comma sep list of variation #'s to NOT use when generating a random flame. (genome only)
+cross0 NA randomly select one genome from this file to genetically cross (genome only)
+cross1 NA with one genome from this file (genome only)
+method NA method for genetic cross: alternate, interpolate, or union. (genome only)
+mutate NA randomly mutate a random genome from this file (genome only)
+symmetry NA set symmetry of result. (genome only)
+clone NA clone random flame in input (genome only)
+clone_all NA clones all flames in file. useful for applying template to all flames (genome only)
+animate NA interpolates between all flames in a file, using times specified in file (genome only)
+sequence NA 360 degree rotation 'loops' times of each control point plus rotating transitions (genome only)
+loops NA number of times to rotate each control point in sequence (genome only)
+tries 50 number of tries to make to find a good genome. (genome only)
+strip NA strip input, frame and nframes control which one. (genome only)
+transparency 0 make bknd transparent, if format supports it (render/animate)
+name_enable 0 use 'name' attr in <flame> to name image output if present (render only)
+nick "" nickname to use in <edit> tags / img comments
+url "" url to use in <edit> tags / img comments
+id "" ID to use in <edit> tags / img comments
+comment "" comment string for <edit> tags (genome only)
+use_mem auto floating point number of bytes of memory to use (render only)
+noedits unset omit edit tags from output (genome only)
+write_genome 0 write out genome associated with center of motion blur window (animate only)
+print_edit_depth 0 depth to truncate <edit> tag structure. 0 prints all <edit> tags (genome only)
+intpalette unset round palette entries for importing into older Apophysis versions (genome only)
+insert_palette unset insert the palette into the image.
+enable_jpeg_comments 1 enables comments in the jpeg header (render and animate)
+enable_png_comments 1 enables comments in the png header (render and animate)
+
+New in 2.8:
+
+earlyclip 0 enables the early clipping of rgb values for better antialiasing and resizing
+ defaults to 0 for backwards compatibility
+flam27 0 flam3 2.7 compatibility mode; ensures generated genomes can be used by flam3 2.7.18
+stagger 0 affects simultaneity of xform interpolation during genome interpolation.
+ represents how 'separate' the xforms are interpolated. set to 1 for each
+ xform to be interpolated individually, fractions control interp overlap.
+
+for example:
+
+ env dtime=5 prefix=foo. in=test.flam3 flam3-animate
+
+means to render every 5th frame of parameter file foo.flam3, and store
+the results in files named foo.XXXX.jpg.
+
+the flam3-convert program reads from stdin the old format created by
+the GIMP and writes to stdout the new xml format.
+
+the flam3-genome program creates random parameter files. it also mutates,
+rotates, and interpolates existing parameter files. for example to
+create 10 wholly new control points and render them at normal quality:
+
+ env template=vidres.flam3 repeat=10 flam3-genome > new.flam3
+ flam3-render < new.flam3
+
+if you left out the "template=vidres.flam3" part then the size,
+quality, etc parameters would be their default (small) values. you
+can set the symmetry group:
+
+ env template=vidres.flam3 symmetry=3 flam3-genome > new3.flam3
+ env template=vidres.flam3 symmetry=-2 flam3-genome > new-2.flam3
+ flam3-render < new3.flam3
+ flam3-render < new-2.flam3
+
+Mutation is done by giving an input flame file to alter:
+
+ env template=vidres.flam3 flam3-genome > parent.flam3
+ env prefix=parent. flam3-render < parent.flam3
+ env template=vidres.flam3 mutate=parent.flam3 repeat=10 flam3-genome > mutation.flam3
+ flam3-render < mutation.flam3
+
+Normally one wouldn't use the same file for the template and the file
+to mutate. Crossover is handled similarly:
+
+ env template=vidres.flam3 flam3-genome > parent0.flam3
+ env prefix=parent0. flam3-render < parent0.flam3
+ env template=vidres.flam3 flam3-genome > parent1.flam3
+ env prefix=parent1. flam3-render < parent1.flam3
+ env template=vidres.flam3 cross0=parent0.flam3 cross1=parent1.flam3 flam3-genome > crossover.flam3
+ flam3-render < crossover.flam3
+
+flam3-genome has 3 ways to produce parameter files for animation in
+the style of electric sheep. the highest level and most useful from
+the command line is the sequence method. it takes a collection of
+control points and makes an animation that has each flame do fractal
+rotation for 360 degrees, then make a smooth transition to the next.
+for example:
+
+ env sequence=test.flam3 nframes=20 flam3-genome > seq.flam3
+ flam3-animate < seq.flam3
+
+creates and renders a 60 frame animation. there are two flames in
+test.flam3, so the animation consists three stages: the first one
+rotating, then a transition, then the second one rotating. each stage
+has 20 frames as specified on the command line. if you want to
+render only some fraction of a whole animation file, specify the begin
+and end times:
+
+ env begin=20 end=40 flam3-animate < seq.flam3
+
+the other two methods are harder to use because they produce files that
+are only good for one frame of animation. the output consists of 3
+control points, one for the time requested, one before and one after.
+that allows proper motion blur. for example:
+
+ env template=vidres.flam3 flam3-genome > rotme.flam3
+ env rotate=rotme.flam3 frame=10 nframes=20 flam3-genome > rot10.flam3
+ env frame=10 flam3-animate < rot10.flam3
+
+the file rot10.flam3 specifies the animation for just one frame, in
+this case 10 out of 20 frames in the complete animation. C1
+continuous electric sheep genetic crossfades are created like this:
+
+ env inter=test.flam3 frame=10 nframes=20 flam3-genome > inter10.flam3
+ env frame=10 flam3-animate < inter10.flam3
+
+see http://flam3.com/flame.pdf for descriptions & formulas, and
+see http://electricsheep.wikispaces.com/Variations for updates.
+
+The complete list of variations:
+
+ 0. linear
+ 1. sinusoidal
+ 2. spherical
+ 3. swirl
+ 4. horseshoe
+ 5. polar
+ 6. handkerchief
+ 7. heart
+ 8. disc
+ 9. spiral
+ 10. hyperbolic
+ 11. diamond
+ 12. ex
+ 13. julia
+ 14. bent
+ 15. waves
+ 16. fisheye
+ 17. popcorn
+ 18. exponential
+ 19. power
+ 20. cosine
+ 21. rings
+ 22. fan
+ 23. blob
+ 24. pdj
+ 25. fan2
+ 26. rings2
+ 27. eyefish
+ 28. bubble
+ 29. cylinder
+ 30. perspective
+ 31. noise
+ 32. julian
+ 33. juliascope
+ 34. blur
+ 35. gaussian_blur
+ 36. radial_blur
+ 37. pie
+ 38. ngon
+ 39. curl
+ 40. rectangles
+ 41. arch
+ 42. tangent
+ 43. square
+ 44. rays
+ 45. blade
+ 46. secant2
+ 47. twintrian
+ 48. cross
+ 49. disc2
+ 50. super_shape
+ 51. flower
+ 52. conic
+ 53. parabola
+ 54. bent2
+ 55. bipolar
+ 56. boarders
+ 57. butterfly
+ 58. cell
+ 59. cpow
+ 60. curve
+ 61. edisc
+ 62. elliptic
+ 63. escher
+ 64. foci
+ 65. lazysusan
+ 66. loonie
+ 67. pre_blur
+ 68. modulus
+ 69. oscilloscope
+ 70. polar2
+ 71. popcorn2
+ 72. scry
+ 73. separation
+ 74. split
+ 75. splits
+ 76. stripes
+ 77. wedge
+ 78. wedge_julia
+ 79. wedge_sph
+ 80. whorl
+ 81. waves2
+ 82. exp
+ 83. log
+ 84. sin
+ 85. cos
+ 86. tan
+ 87. sec
+ 88. csc
+ 89. cot
+ 90. sinh
+ 91. cosh
+ 92. tanh
+ 93. sech
+ 94. csch
+ 95. coth
+ 96. auger
+
+see http://flam3.com/flame.pdf for descriptions & formulas for each of
+these. note that, by default, if a random flame is requested and neither
+'use_vars' or 'dont_use_vars' are specified, the following variations are
+not used: noise, blur, gaussian_blur, radial_blur, ngon, square, rays,
+and cross.
+
+note: these variations do not use the variation weight to scale their
+contributions, and so will not be implemented in flam3:
+circlize
+
+
+======================================
+
+todo: eliminate all static storage.
+
+======================================
+
+changelog:
+
+12/20/09 Highlight power now interpolates smoothly from old behavior
+ (-1) to new behavior. flam3-genome 'split' mode was broken, fixed
+ (thanks Exper.) Die gracefully instead of segfault when very small
+ estimator_curve values are specified. Version attribute added to
+ flame tag. Number of iterations used to fuse attractor increased to
+ 100. Release as 2.8beta7.
+
+11/24/09 Potential speedup of 5% over prior versions. Many threading
+ issues identified and resolved when using flam3 shared library as
+ back end for user interfaces. 14 complex plane variations added.
+ auger variation added. new flam3_make_strip library function to
+ generate stripped genomes for external ui strip renders. bug fix:
+ when rendering strips, use the same random context for each strip
+ to prevent edge effects where strips butt against each other. flam3
+ will now linearly interpolate missing colors in the colormap.
+ Release as 2.8beta6.
+
+10/16/09 Non-threadsafe progress tracking code in main iteration thread
+ replaced with per-render progress storage. Fixed bug where pausing
+ render during density estimation stage terminated render. Waves2
+ variation fixed (thx Joel F). Release as 2.8beta5.
+
+10/07/09 Fixed bug affecting 'animate' mode with flam3-genome. Changed
+ estimate_bounding_box to increase discarded iterations if numerous
+ badvals were encountered during iterations. Exported a few more
+ functions for Windows DLL. Release as 2.8beta4.
+
+10/03/09 Changed color_speed range from 0 (no color change) to 1
+ (use new xform color). Animate attribute is now 0 for no motion,
+ 1 for motion. Removed final xform from stagger algorithm. 'oscope'
+ parameters are now called 'oscilloscope' to match the rest of the
+ parametric variations (backwards compatible, so old genomes can be
+ read.) Stagger now affects morphing as well as sheep rotation, but
+ only using flam3-genome (not flam3-animate). Release as 2.8beta3.
+
+03/18/09 Major upgrade :
+ - 28 variations added, mostly from the sourceforge plugins pack
+ - significant speed optimization of variations
+ - setting earlyclip env var on commandline will enable an alternate
+ calculation of color values, resulting in better antialiasing
+ - 'highlight_power' flame element controls the white highlights in
+ dense areas, eliminating the hue shift bug
+ - Apophysis chaos and solo xform/plotmode features have been
+ implemented. solo/plotmode are promoted to floating point
+ 'opacity'. opacity and chaos are both interpolatable.
+ - <motion> tag now available for xforms...allows cyclic variation
+ of any regular xform parameter/coef/post.
+ - env var 'stagger' affects the simultaneity of xform interpolation
+ when morphing from one flame to another. set to 0 for existing
+ behaviour, set to 1 to make each xform interpolate individually
+ - symmetry has been broken out into color_speed and animate tags
+ with the same sense (which is confusing and will be fixed in a
+ future release).
+ - set the flam27 parameter to output backwards compatible genomes.
+ - passes the consistency test where rendering an image at double
+ size and filtering it down produces the same results as the
+ original (modulo quality).
+
+03/17/09 Added fuzz testing with zzuf to the regression tests. 'Strip'
+ mode and genomes with the zoom parameter used now break into pieces
+ properly. insert_palette fixed (broken a few versions ago.) fixed
+ twintrian variation when small weights are used. various rare
+ segfaults and memory leaks fixed. 'palette_mode' attribute added to
+ flame element for smoother palette interpolation in slow animations;
+ possible values are 'step' and 'linear' ('step' mode is default and
+ matches previous behaviour.) Release as 2.7.18.
+
+11/11/08 Add error checking on the numbers in the input genome. Do
+ not exit on read errors, fail gracefully. Changed sin/cos = tan in
+ the tangent variation. Added polar to list of variations that use
+ the inverted linear identity. Bugfix: temporal_filter_exp was not
+ set properly in template. Apply interpolation attribute in
+ templates. Add/publish datarootdir with pkg-config so the palette
+ file is easy to find (for qosmic). Copyright by Spotworks LLC
+ instead of Spot and Erik. Add fuzz checks to the regression
+ suite. include LNX/OSX/WIN in the version string. In
+ flam3-genome animate command, added one to last flame time, so the
+ end time is inclusive. Release as 2.7.17.
+
+09/06/08 Added 'clone_all' to flam3_genome to allow application of
+ template to all flames in a file at once, and 'animate' to write
+ a full sequence of interpolations out. 'animate' is similar to
+ 'sequence' except that no control point rotation is performed.
+ Fixed non-functional 'write_genome' env var for flam3_animate.
+ Two bugs associated with interpolating from a log interpolation_type
+ to a non-log interpolation_type fixed (rotate angle reduction and
+ special inverted identity). when using flam3_rotate in 'spin_inter'
+ the interp type of the first genome is now used rather than the
+ current genome's interp type. Enforced upper and lower bounds for
+ xform color and upper bound for interpolated colormap values
+ as "smooth" interpolation led to values out of range. If "smooth"
+ interpolation is specified for all flames in a file, the first and
+ second-to-last genome is switched to "linear" with a warning.
+ spatial filters with non-box-filter window functions fixed.
+ Release as 2.7.16.
+
+
+08/25/08 Added new interpolation types 'old' and 'older', for use in
+ recreating old animations. 'linear' mode now does not rotate padded
+ xforms (results in prettier symmetric singularities). switched to
+ using a 'padding' flag instead of a 'just initialized' flag; padding
+ flag used for implementation of 'old' and 'older' types.
+ interpolation_space now deprecated, instead use interpolation_type.
+ flam3_align is now idempotent (multiple applications do not change
+ the control points.) Default number of temporal samples bumped to
+ 1000. Removed CVS headers from source code (now using SVN).
+ Default interpolation mode now log. Removed 'move' and 'split' vars.
+ changes to flam3-genome: sequence mode now returns linear
+ interpolation mode for all control points except first/last of edges
+ - these cps will use the original interpolation mode; inter and
+ rotate modes will now return padded genomes for all control points,
+ all with linear interpolation specified. instead of centering
+ sometimes reframe by golden mean plus noise. Release as 2.7.15.
+
+07/21/08 Add configuration option for atomic-ops. bug fix: do not
+ truncate floating point palettes. new motion blur features: add
+ temporal_filter_type, can be "box" (default) or "gaussian" or
+ "exp". Temporal_filter_width and temporal_filter_exp are parms to
+ it. 'blur' env var no longer used. Small bug fix: iteration
+ count depends only on the size of the output image, not the padded
+ image (the gutter). When interpolating, only do -pi/pi adjustment
+ for non-asymmetric cases. Julian/juliascope variations use the
+ alternate inverted identity for interpolation (reduces wedge
+ effect). Add python script for regression and consistency
+ checking. Add svn revision number to version string (in the
+ software not of the package). Release as 2.7.14.
+
+05/28/08 Restored upper limit on particle coordinates. Release as
+ 2.7.13.
+
+05/16/08 Added man pages. Removed upper limit on particle
+ coordinates. fixed FSF address in comments. update to automake
+ 1.10.1. added eps to denom of perspective fraction to avoid
+ infinities (thanks fred). Put contents of 'id' env var in png/jpg
+ comment block. Release as 2.7.12.
+
+04/05/08 Added 16 bit per channel support to PNG via bpc envar.
+ isaac.h is now installed with the flam3 headers. Strip indexing
+ now done with size_t's to fix bug in large images (thanks Paul).
+ Progress callback now returns ETA, and per-thread verbose flag
+ functionality fixed. Enumerated spatial filter types now used in
+ flam3.h, taking the place of function pointers (simplifies the
+ API). Fix bug by moving precalculation of variation variables to
+ flam3_iterate (thanks david). Release as 2.7.11.
+
+03/15/08 fixed interpolation bug when magnitude of rotation/scaling
+ component of affine transform is 0. replaced secant variation
+ with more flame-friendly secant2 (eliminates gap in y direction,
+ scales y-coordinate by weight). warning message now printed when
+ unrecognized variation is present in an xform. fixed bad
+ inequality when checking for -pi/pi discontinuity during complex
+ interpolation. release as 2.7.10.
+
+02/08/08 non-zero weights for final xforms no longer allowed, and now
+ have no effect. recompiled windows exes with mingw gcc 4.1 to
+ take advantage of scalability improvements in flam3 2.7.8 (was
+ compiling with mingw gcc 3.4 until now). for fedora package
+ compliance, flam3.pc.in patched by ian weller and moved use of
+ config.h to c files only. release as 2.7.9.
+
+01/26/08 better scalability across multiple CPUs by using compare and
+ swap (from Tim Hockin). fix bug in large images (>2GB). add
+ flam3_srandom and flam3_malloc/free to better support wrapping
+ with python on windows, which links with a different C
+ runtime. add --enable-shared option to configure script (from
+ Bobby R Ward). release as 2.7.8.
+
+12/16/07 fixed bug (rare random crash) identified by david burnett.
+ initialize new xforms with better defaults for parametric
+ variations (based on interpolated-against xforms). add id envar,
+ like nick/url. add clone_action envar. return to xform
+ interpolation based on complex logs, but make consistent decisions
+ about counter/clockwise rotation across the sheep edges.
+ interpolation_space attribute to flame element can be set to
+ "linear" to go back to the simpler method, or "log" to use this
+ new (default) method. release as 2.7.7
+
+10/20/07 fixed action string overflow when many xforms are present.
+ added 'print_edit_depth' env var to control how many levels of
+ <edit> tags are saved when using flam3-genome. Fixed wrong
+ placement of random improve_colors code in flam3-genome. go to
+ five digit filenames. fixed bug in supershape variation. API
+ cleanup, thanks to david bitseff. release 2.7.6.
+
+08/14/07 various code updates to assist with compiling under msvc++.
+ now can specify --disable-pthread or --enable-pthread to configure
+ to better control compilation. fixed bug preventing renders of
+ flames with more than 128 xforms. release 2.7.5.
+
+07/12/07 fixed bug in split variation, now compatible with both
+ versions of Apo. added insert_palette option. switched density
+ estimation kernel from Epanichnikov to Gaussian. genetic cross
+ now crosses palettes rather than selecting one of the parent
+ palettes. remove noisy variations from random generation if
+ use_vars or dont_use_vars not specified. fixed metrics calculated
+ on small test render for genetic operations. reduced memory
+ requirements for density estimation filters. 64-bit linux distros
+ now supported. release 2.7.4.
+
+
+06/21/07 flam3 version, rendered genome, some render statistics and
+ optionally nick/url stored in jpeg/png headers. fixed two bugs
+ in isaac rng code (strongly affected temporal blur). prevent
+ final xform rotation for sheep animation. fixed interpolation
+ when only one flame has final xform. added Supershape, Flower,
+ Conic, Parabola, Move and Split variations. Shape combined with
+ Supershape via 'rnd' parameter. flam3-genome now writes 'name'
+ attribute for rotate and sequence modes. oversample attribute
+ deprecated; supersample now preferred. new build process for
+ windows exes using MinGW/MSYS. added 'intpalette' env var to
+ round floating point palettes to allow older versions of Apophysis
+ to read them. default image type is now PNG, transparency off.
+ density estimation code revised to be more consistent between
+ different supersample levels, which required change to default
+ de params. limit number of de filters to conserve memory. fixed
+ julia variation dependency on non-thread-safe random bit function.
+ removed random number storage for radial blur variation.
+ release 2.7.3.
+ 07/26/08: Note, incompat. change made to direction of cp->rotate
+ (as of 2.7.3, rotates shortest distance instead of clockwise)
+
+02/09/07 use isaac random number generator to avoid differences
+ between mac/pc/linux. use multiple threads to take advantage
+ of multiple CPUs or cores. new variations: disc2, Arch,
+ Tangent, Square, Rays, Blade, Secant, Twintrian, Cross.
+ fixed bug reading hex color format - must remove \n prior to
+ start of colors if present. use EPS in spiral, hyperbolic
+ and spherical to eliminate black spots. fix numbering of
+ disc2, change parameter to estimate_bounding_box. made blur
+ kernel type templatable. removed extraneous 'enabled="1"' in
+ writing out final xform information (no longer needed).
+ release 2.7.2.
+
+12/31/06 fixed bug in waves precalculation code. curl and rectangles
+ variations from joel faber. remove visibility of
+ rotation_center attribute, fix strips operator to handle
+ rotation without it. added motion exponent and gamma lin
+ thresh to flam3_print. list of variations in the docstring
+ automatically generated. flam3-genome: envar noedits
+ suppresses output of edit history. release 2.7.1.
+
+09/27/06 print out palette as floating point with up to 6 digits
+ rather than integers (for very slow smooth transitions).
+ Added optimization to only recalculate the xform distrib
+ array when necessary (Thanks Joel Faber). Added settable
+ kernel for downrez. Added XML reading code for new <palette>
+ format for gradients. Functionalized hex gradient read.
+ Removed color shift experimental feature. New
+ 'motion_exponent' attribute controls fade of temporal steps.
+ added gaussian_blur and radial_blur vars from apo. added pie
+ and ngon variations from joel faber. add rotation_center
+ attribute. added but disabled image variation from joel.
+ release as 2.7.
+
+06/26/06 use new libpng api, handle libpng errors properly (from nix
+ at esperi.org.uk). print out palette as floating point with
+ 6 digits rather than integers (for very slow smooth
+ transitions).
+
+06/11/06 disable density estimation for 16 and 32 bit buffers because
+ it doesn't work. Apo team removed "enabled" from final xform
+ specification, so now it defaults to on. make default
+ temporal samples be 60 so that motion blur is the default,
+ but explicitly ignore temporal samples when rendering still
+ frames. add strip genetic operator to flam3-genome for
+ breaking a flame into strips for parallel rendering. add
+ subpixel offsets for antialiasing by averaging multiple
+ images. release as 2.7b8.
+
+05/25/06 change attribute name "batches" to "passes" because many old
+ genomes have it set, and with density estimation it is
+ harmful.
+
+04/28/06 remove debugging code, release as 2.7b7.
+
+04/28/06 add attribute interpolation="smooth" for catmull-rom
+ interpolation. known bug: some frames come out dark.
+ release as 2.7b6.
+
+04/15/06 rename XML attribute "estimator" to "estimator_radius". fix
+ the progress callback. add use_mem envar. move palette
+ database to external file. cleanup namespace. add new
+ variations blur, julian, and juliascope. fix flam3-convert.
+ add experimental color shifting via "shift" envar. supports
+ finalxform. can read hex palette format. avoids the "square"
+ that appears from NaNs. release as 2.7b5.
+
+01/11/06 unlimited number of xforms per flame. new variations
+ cylinder and perspective. rename rename de_max_filter to
+ estimator, de_min_filter to estimator_minimum, de_alpha
+ to estimator_curve, and jitters to temporal_samples.
+ release as 2.7b4.
+
+11/28/05 performance optimization, fix symmetry singularities, added
+ bubble variation, fixed handkerchief variation, templates
+ apply to sequence and rotate flam3-genome commands, added
+ envar "name_enable" to render filenames specified in the
+ "name" attribute of the flame element, small bugfixes,
+ release as 2.7b3.
+
+11/04/05 verbose on by default. Added 'transparency' envar for png
+ renders without transparency channel. Fixed non-black
+ background jpeg renders. add improve_colors mutation,
+ rewrite most of estimate_bounding_box. added new variations
+ blob pdjd fan2 rings2 eyefish. added '33bit' method for
+ 32-bit floats. <edit> tags track history. alter the gamma
+ curve to be linear near 0 to avoid singularity and reduce
+ noise, set with gamma_threshold. release as v2.7b2.
+
+09/24/05 new density estimator and temporal jitter code from Erik
+ Reckase (note removal of todo items above :). allow gamma,
+ vibrancy, contrast, pixels_per_unit, and brightness to vary
+ as part of the genome rather than as part of the rendering
+ parameters. flam3-genome does not retry when cloning. ditch
+ 2nd color coordinates. release as v2.7b1.
+
+06/27/05 in flam3_dimension, give up and return NaN if 90% or more of
+ the samples are being clipped. release v2.6.
+
+06/22/05 add envar to control the number of tries.
+
+06/06/05 add new form of mutation that introduces post xforms.
+
+05/20/05 fix memory trashing bug resulting from xform overflow. put
+ regular xforms before symmetry in printed genomes. enforce
+ weights non-negative & at least one xform. remove
+ nan-protection from popcorn variation. truncate xforms with
+ very small weight.
+
+05/13/05 fix bug reported by erik reckase where fan variation could
+ blow up to NaN because the domain of atan2 was not protected.
+ remove protection from all atan2 calls and instead detect NaN
+ results and replace them with noise. count really large
+ values as bad too to prevent blowing up to infinity. enforce
+ 0<=hue<1, release v2.6b1.
+
+05/05/05 report choices made during genome generation in notes
+ attribute. flam3_dimension no longer hangs when most of the
+ attractor is outside the camera. limit number of variations
+ produced by genetic operators to 5. reduce rate of
+ interpolation method of crossover.
+
+03/17/05 put cloning back in (found by James Rantanen).
+
+03/08/05 change sawtooth variation (incompatible!). add fan
+ variation. rename sawtooth to rings. release as v2.5.
+
+03/01/05 fix rotation when nstrips > 1. add flam3_dimension(). minor
+ bugfixes. release as v2.4.
+
+01/25/05 release as v2.3.
+
+01/18/05 support post xforms (idea from eric nguyen). support camera
+ rotation.
+
+12/28/04 release as v2.2.
+
+12/27/04 preview implementation of image fractalization by adding a
+ color coordinate. changed how random/default color
+ coordinates are selected (they alternate 0 and 1 instead of
+ being distributed between 0 and 1). WARNING: incompatible
+ format change to samples argument of flam3_iterate.
+
+12/20/04 allow mutation and crossover from files with multiple
+ genomes. a random genome is selected for each repetition.
+
+12/11/04 fix bug printing out interpolated non-built-in palettes.
+ warn if any images sizes in animation do not match.
+
+12/01/04 remove debugging code left in flam3-convert, thanks to Paul
+ Fishwick for reporting this. add cosine variation. add
+ sawtooth variation. handle nstrips that do not divide the
+ height. write partial results as strips are computed. fix
+ old bug where in 32 bit mode one of the terms appeared to be
+ calculated at 16 bits. release as v2.1.
+
+10/28/04 fix docstring bug. release as v2.0.1.
+
+10/28/04 renaming, cleanup, and modularization. now exports
+ libflam3.a and flam3.h, all names prefixed with flam3_.
+ binaries named with flam3- prefix, genome files use flam3
+ suffix. create and install a flam3.pc pkg-config file.
+ release as v2.0.
+
+09/21/04 fix bug where code for integer rounding was left in 64-bit
+ floating point version. round remaining time up so we do not
+ say ETA in 0 seconds. do not use static allocation to hold
+ onto memory, just malloc and free what we need every frame.
+ enforce positive oversampling. fix bug in hqi on sequences
+ of images of different sizes. release as v1.15.
+
+09/17/04 change name of envar to control jpeg compression quality from
+ "quality" to "jpeg". check for bad nbatches values. release
+ as v1.14.
+
+08/23/04 add about 600 cmaps from Jackie, Pat Phillips, Classylady,
+ and BTomchek. use 64-bit (double) sized buffers. remove
+ white_level. add new variations: exponential & power. fix
+ bug where hue_rotation was left uninitialized. add clone
+ option to pick-flame which just applies template to the input
+ without modifying genome. random_control_point can now put
+ multiple variations in one xform. remove altivec code because
+ it is incompatible with 64-bit buffers. verbose (progress bar
+ on stderr) from Jon Morton. control random number seeds via
+ seed envar. support buffer sizes 16, 32, or 64 bits with
+ three versions of rect.c included into libifs.c.
+
+03/28/04 fix bug interpolating between flames with different numbers
+ of xforms introduced by the new de/parsing. add modified
+ version of the popcorn variation from apophysis. fix small
+ bug in waves variation. make distribution of variations
+ even. add altivec code from R.J. Berry of warwick.ac.uk.
+ release as v1.13.
+
+03/26/04 add wave variation. allow negative variational coefs. do
+ not truncate filter width to an integer. add fisheye
+ variation. make variations print by name instead of using a
+ vector, that is say spherical="1" instead of var="0 0 1" or
+ var1="2". it should still read the old format.
+
+03/07/04 fix bug printing out result of interpolating between
+ symmetries. release as v1.11.
+
+03/03/04 add new means of crossover: a random point between the
+ parents as defined by linear interpolation. in all kinds of
+ crossover, reset the color coordinates to make sure they are
+ spread out well. somehow lost part of the extra_attributes
+ patch, so put it in again. add pixel_aspect_ratio envar.
+ decrease filter cutoff threshold. the edges of the filter
+ were almost zeros, so making the filter smaller saves time
+ with almost no effect on the results. do not print out the
+ attributes of control points that have default values.
+ release as v1.10.
+
+02/26/04 remove prefix argument to print_control_point, and add
+ extra_attributes. allow any value for vibrancy parameter.
+ allow variation blending coefs to have any values. do not
+ normalize them. on windows nstrips is computated
+ automatically to fit within memory (leaves at least 20%
+ unused). support png image format and if output is png then
+ compute & output alpha channel. release as v1.9.
+
+02/01/04 add julia variation, and put bent variation back in. change
+ how colors are computed in presense of symmetry: xforms that
+ come from a symmetry do not change the color index. this
+ prevents the colors from washing out. since an xform may be
+ interpolated between a symmetry and not, this this is a
+ blending factor. add more documentation. add function to
+ compute lyapunov coefs. allow control over symmetries
+ produced by pick-flame. release as v1.8.
+
+07/20/03 cleanup, update documentation, release as v1.7.
+
+07/15/03 fix bug in interpolation where in last frame when going from
+ non-symmetric to symmetric it left out some xforms. drop
+ support for "cmap_inter". add var1 as a abbreviation to var
+ in xml output, and do not print trailing 0s in var string.
+
+07/09/03 change matrix interpolation to be linear rather than complex
+ log to avoid the discontinuity at 180 degrees. this was
+ causing jumpiness in the C1 continuous algorithm. this means
+ that rotation has to be handled with pick-flame. put direct
+ support for symmetries in the de/parser to make control
+ points smaller and easier to understand. support
+ combinations of bilateral & rotational symmetry.
+
+06/22/03 bug in colormap interpolation. release as v1.6.
+
+06/20/03 fix some bugs, in particular remove sorting of the xforms
+ when control points are read. they are only sorted when they
+ are generated. updated dates on copyright notices. added
+ time parameter to anim, shorthand for begin & end being the
+ same. added a fairly terrible hack to allow palettes to be
+ specified as blending of two basic palettes. this requires
+ much less bandwidth than sending 256 rgb triples. in
+ pick-flame change default to be enclosed xml output.
+
+06/09/03 add C1 continuous interpolation to pick-flame (suggested by
+ Cassidy Curtis). added new variations from Ultra Fractal
+ version by Mark Townsend. added symmetry xforms.
+
+06/02/03 add convert-flame which reads the old file format and writes
+ the new one. release as v1.5.
+
+03/22/03 fix bug in hqi & anim. somewhere along the way (prolly jpeg)
+ nstrips was broken. add qs and ss params to hqi.
+ discontinue strips for anim because the implementation is a
+ bit problematic (animating zoom??). bump version to 1.4.
+
+03/05/03 add pick-flame.c to the project, and extend it with mutation
+ and crossover capability. add parse_control_points_from_file
+ (and use it). rename non-xml variants of de/parsers to *_old
+ and rename xml variants to remove _xml. add
+ rotate_control_point. bump version to 1.3.
+
+02/10/03 increase CHOOSE_XFORM_GRAIN by 10x and use chars instead of
+ ints. remove extra -ljpeg from Makefile. lose hack that
+ ignored density xforms after interpolation. what was that
+ for?? it makes a difference, and just makes interpolation
+ less smooth as far as i can tell. bump version to 1.2.
+
+01/17/03 release as v1.1.
+
+01/16/03 support output in jpeg format; this is the default. support
+ win32.
+
+01/08/03 by default don't render the last frame so that animations
+ dove-tail and loop
+
+01/06/03 fix how too many xforms are detected so that one more xform
+ is allowed.
+
+12/22/02 first release as independent package. release as v1.0.
diff --git a/src/aclocal.m4 b/src/aclocal.m4
new file mode 100644
index 0000000..066dfa3
--- /dev/null
+++ b/src/aclocal.m4
@@ -0,0 +1,896 @@
+# generated automatically by aclocal 1.10.2 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
+[m4_warning([this file was generated for autoconf 2.63.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.10'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.10.2], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.10.2])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 13
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.60])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
diff --git a/src/animate.dsp b/src/animate.dsp
new file mode 100644
index 0000000..59291ea
--- /dev/null
+++ b/src/animate.dsp
@@ -0,0 +1,138 @@
+# Microsoft Developer Studio Project File - Name="anim" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=anim - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "animate.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "animate.mak" CFG="anim - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "anim - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "anim - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "anim - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "c:\src\libpng" /I "c:\src\zlib" /I "c:\src\libxml2\include" /I "c:\src\jpeg" /I "c:\src\iconv\include" /I "c:\src\pthreads" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /Zm1000 /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib c:\src\jpeg\libjpeg.lib c:\src\libpng\libpng.lib c:\src\libxml2\lib\libxml2.lib c:\src\zlib\zlib.lib c:\src\pthreads\pthreadVC2.lib /nologo /subsystem:console /machine:I386 /out:"Release/flam3-animate.exe"
+
+!ELSEIF "$(CFG)" == "anim - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "c:\src\jpeg" /I "c:\src\libpng" /I "c:\src\zlib" /I "c:\src\libxml2\include" /I "c:\src\iconv\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /Zm1000 /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib c:\src\jpeg\libjpeg.lib c:\src\libpng\libpng.lib c:\src\libxml2\lib\libxml2.lib c:\src\zlib\zlib.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "anim - Win32 Release"
+# Name "anim - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\docstring.c
+# End Source File
+# Begin Source File
+
+SOURCE=".\flam3-animate.c"
+# End Source File
+# Begin Source File
+
+SOURCE=".\flam3-palettes.c"
+# End Source File
+# Begin Source File
+
+SOURCE=.\flam3.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\isaac.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\jpeg.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\png.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=config.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\jpeg.h
+# End Source File
+# Begin Source File
+
+SOURCE=rect.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/src/config.guess b/src/config.guess
new file mode 100755
index 0000000..278f9e9
--- /dev/null
+++ b/src/config.guess
@@ -0,0 +1,1516 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+# Inc.
+
+timestamp='2007-07-22'
+
+# This file 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 2 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, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub. If it succeeds, it prints the system name on stdout, and
+# exits with 0. Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep __ELF__ >/dev/null
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[45])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep __LP64__ >/dev/null
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:[3456]*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ EM64T | authenticamd)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ arm*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ mips:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef mips
+ #undef mipsel
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=mipsel
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=mips
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef mips64
+ #undef mips64el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=mips64el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=mips64
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ or32:Linux:*:*)
+ echo or32-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
+ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-gnu
+ exit ;;
+ xtensa:Linux:*:*)
+ echo xtensa-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ # The BFD linker knows what the default object file format is, so
+ # first see if it will tell us. cd to the root directory to prevent
+ # problems with other programs or directories called `ld' in the path.
+ # Set LC_ALL=C to ensure ld outputs messages in English.
+ ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+ | sed -ne '/supported targets:/!d
+ s/[ ][ ]*/ /g
+ s/.*supported targets: *//
+ s/ .*//
+ p'`
+ case "$ld_supported_targets" in
+ elf32-i386)
+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+ ;;
+ a.out-i386-linux)
+ echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+ exit ;;
+ coff-i386)
+ echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+ exit ;;
+ "")
+ # Either a pre-BFD a.out linker (linux-gnuoldld) or
+ # one that does not give us useful --help.
+ echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+ exit ;;
+ esac
+ # Determine whether the default compiler is a.out or elf
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <features.h>
+ #ifdef __ELF__
+ # ifdef __GLIBC__
+ # if __GLIBC__ >= 2
+ LIBC=gnu
+ # else
+ LIBC=gnulibc1
+ # endif
+ # else
+ LIBC=gnulibc1
+ # endif
+ #else
+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+ LIBC=gnu
+ #else
+ LIBC=gnuaout
+ #endif
+ #endif
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^LIBC/{
+ s: ::g
+ p
+ }'`"
+ test x"${LIBC}" != x && {
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit
+ }
+ test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+ ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i386.
+ echo i386-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ c34*)
+ echo c34-convex-bsd
+ exit ;;
+ c38*)
+ echo c38-convex-bsd
+ exit ;;
+ c4*)
+ echo c4-convex-bsd
+ exit ;;
+ esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+ http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/src/config.h.in b/src/config.h.in
new file mode 100644
index 0000000..28af21a
--- /dev/null
+++ b/src/config.h.in
@@ -0,0 +1,89 @@
+/* config.h.in. Generated from configure.in by autoheader. */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Have 64-bit __sync_bool_compare_and_swap() and friends. */
+#undef HAVE_GCC_64BIT_ATOMIC_OPS
+
+/* Have 32-bit __sync_bool_compare_and_swap() and friends. */
+#undef HAVE_GCC_ATOMIC_OPS
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the `jpeg' library (-ljpeg). */
+#undef HAVE_LIBJPEG
+
+/* Define to 1 if you have the `png' library (-lpng). */
+#undef HAVE_LIBPNG
+
+/* Define to 1 if you have the `pthread' library (-lpthread). */
+#undef HAVE_LIBPTHREAD
+
+/* Define to 1 if you have the `xml2' library (-lxml2). */
+#undef HAVE_LIBXML2
+
+/* Define to 1 if you have the `z' library (-lz). */
+#undef HAVE_LIBZ
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* Version number of package */
+#undef VERSION
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
diff --git a/src/config.sub b/src/config.sub
new file mode 100755
index 0000000..1761d8b
--- /dev/null
+++ b/src/config.sub
@@ -0,0 +1,1626 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+# Inc.
+
+timestamp='2007-06-28'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file 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 2 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, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray)
+ os=
+ basic_machine=$1
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64vr | mips64vrel \
+ | mips64orion | mips64orionel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | mt \
+ | msp430 \
+ | nios | nios2 \
+ | ns16k | ns32k \
+ | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | v850 | v850e \
+ | we32k \
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | z8k)
+ basic_machine=$basic_machine-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nios-* | nios2-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | pyramid-* \
+ | romp-* | rs6000-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tron-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa-* \
+ | ymp-* \
+ | z8k-*)
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc) basic_machine=powerpc-unknown
+ ;;
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tic55x | c55x*)
+ basic_machine=tic55x-unknown
+ os=-coff
+ ;;
+ tic6x | c6x*)
+ basic_machine=tic6x-unknown
+ os=-coff
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -kaos*)
+ os=-kaos
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/src/configure b/src/configure
new file mode 100755
index 0000000..9b8d595
--- /dev/null
+++ b/src/configure
@@ -0,0 +1,14453 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.63.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ case $as_dir in
+ /*)
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell bug-autoconf@gnu.org about your system,
+ echo including any error possibly output before this message.
+ echo This can help us improve future autoconf versions.
+ echo Configuration will now proceed without shell functions.
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
+ ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X$1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $ECHO works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<_LT_EOF
+$*
+_LT_EOF
+ exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$lt_ECHO"; then
+ if test "X${echo_test_string+set}" != Xset; then
+ # find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+ then
+ break
+ fi
+ done
+ fi
+
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+ else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
+
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$dir/echo"
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ if test "X$ECHO" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ ECHO='print -r'
+ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
+ else
+ # Try using printf.
+ ECHO='printf %s\n'
+ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ ECHO="$CONFIG_SHELL $0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ ECHO="$CONFIG_SHELL $0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "$0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ ECHO=echo
+ fi
+ fi
+ fi
+ fi
+ fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+ lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+fi
+
+
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="flam3-animate.c"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+XML2_CONFIG
+CPP
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+lt_ECHO
+RANLIB
+AR
+OBJDUMP
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+EGREP
+GREP
+SED
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+LIBTOOL
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_pthread
+enable_atomic_ops
+enable_dependency_tracking
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { $as_echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+ { (exit 1); exit 1; }; } ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { $as_echo "$as_me: error: working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
+ { (exit 1); exit 1; }; }
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-pthread compile FLAM3 with threads enabled (default=yes)
+ --enable-atomic-ops compile FLAM3 with atom ops enabled (default=yes, independently checks for 32 and 64 bit sizes)
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-shared[=PKGS] build shared libraries [default=no]
+ --enable-static[=PKGS] build static libraries [default=yes]
+ --enable-fast-install[=PKGS]
+ optimize for fast installation [default=yes]
+ --disable-libtool-lock avoid locking (might break parallel builds)
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.63
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.63. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args '$ac_arg'"
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ ac_site_file1=$CONFIG_SITE
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test -r "$ac_site_file"; then
+ { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ac_config_headers="$ac_config_headers config.h"
+
+# Check whether --enable-pthread was given.
+if test "${enable_pthread+set}" = set; then
+ enableval=$enable_pthread;
+fi
+
+# Check whether --enable-atomic_ops was given.
+if test "${enable_atomic_ops+set}" = set; then
+ enableval=$enable_atomic_ops;
+fi
+
+am__api_version='1.10'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+$as_echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+test "$program_prefix" != NONE &&
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+done
+IFS=$as_save_IFS
+
+fi
+
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ test -d ./--version && rmdir ./--version
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { $as_echo "$as_me:$LINENO: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE=flam3
+ VERSION="2.8b7"
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+
+
+# Save CFLAGS from the environment
+save_CFLAGS=$CFLAGS
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+if test -z "$ac_file"; then
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_c89=$ac_arg
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+
+
+{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+
+CFLAGS=$save_CFLAGS
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+# Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then
+ enableval=$enable_shared; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_shared=no
+fi
+
+
+
+
+
+
+
+
+
+case `pwd` in
+ *\ * | *\ *)
+ { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.2.6'
+macro_revision='1.3012'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+{ $as_echo "$as_me:$LINENO: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+$as_echo "$as_me: error: invalid value of canonical build" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:$LINENO: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+$as_echo "$as_me: error: invalid value of canonical host" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${ac_cv_path_SED+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ $as_unset ac_script || ac_script=
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:$LINENO: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if test "${ac_cv_path_FGREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+ then ac_cv_path_FGREP="$GREP -F"
+ else
+ if test -z "$FGREP"; then
+ ac_path_FGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in fgrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+ # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'FGREP' >> "conftest.nl"
+ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_FGREP="$ac_path_FGREP"
+ ac_path_FGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_FGREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_FGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_FGREP=$FGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if test "${lt_cv_path_NM+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DUMPBIN+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DUMPBIN"; then
+ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+ { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$DUMPBIN" && break
+ done
+fi
+if test -z "$DUMPBIN"; then
+ ac_ct_DUMPBIN=$DUMPBIN
+ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DUMPBIN"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_DUMPBIN" && break
+done
+
+ if test "x$ac_ct_DUMPBIN" = x; then
+ DUMPBIN=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DUMPBIN=$ac_ct_DUMPBIN
+ fi
+fi
+
+
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if test "${lt_cv_nm_interface+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:4481: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:4484: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:4487: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+ { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+{ $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+{ $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+{ $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
+
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if test "${lt_cv_ld_reload_flag+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if test "${lt_cv_deplibs_check_method+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[45]*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[3-9]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:$LINENO: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AR="ar"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+else
+ AR="$ac_cv_prog_AR"
+fi
+
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[BCDT]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[ABCDEGRST]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[BCDEGRST]'
+ ;;
+osf*)
+ symcode='[BCDEGQRST]'
+ ;;
+solaris*)
+ symcode='[BDRT]'
+ ;;
+sco3.2v5*)
+ symcode='[DT]'
+ ;;
+sysv4.2uw2*)
+ symcode='[DT]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[ABDT]'
+ ;;
+sysv4)
+ symcode='[DFNSTU]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK '"\
+" {last_section=section; section=\$ 3};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
+ (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+ fi
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ { $as_echo "$as_me:$LINENO: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then
+ enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '#line 5693 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if test "${lt_cv_cc_needs_belf+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ lt_cv_cc_needs_belf=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ lt_cv_cc_needs_belf=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks="$enable_libtool_lock"
+
+
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_NMEDIT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ NMEDIT=$ac_ct_NMEDIT
+ fi
+else
+ NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_LIPO+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LIPO"; then
+ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:$LINENO: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+ ac_ct_LIPO=$LIPO
+ # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_LIPO"; then
+ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_LIPO="lipo"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_LIPO" = x; then
+ LIPO=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ LIPO=$ac_ct_LIPO
+ fi
+else
+ LIPO="$ac_cv_prog_LIPO"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL"; then
+ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+ { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+ ac_ct_OTOOL=$OTOOL
+ # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL"; then
+ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OTOOL="otool"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL" = x; then
+ OTOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL=$ac_ct_OTOOL
+ fi
+else
+ OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL64+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL64"; then
+ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+ { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+ ac_ct_OTOOL64=$OTOOL64
+ # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL64"; then
+ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OTOOL64="otool64"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL64" = x; then
+ OTOOL64=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL64=$ac_ct_OTOOL64
+ fi
+else
+ OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+ { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ lt_cv_ld_exported_symbols_list=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ lt_cv_ld_exported_symbols_list=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[012]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test "${ac_cv_prog_CPP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stdc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+for ac_header in dlfcn.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+# Set options
+
+
+
+ enable_dlopen=no
+
+
+ enable_win32_dll=no
+
+
+
+ # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then
+ enableval=$enable_static; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_static=yes
+fi
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then
+ withval=$with_pic; pic_mode="$withval"
+else
+ pic_mode=default
+fi
+
+
+test -z "$pic_mode" && pic_mode=default
+
+
+
+
+
+
+
+ # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then
+ enableval=$enable_fast_install; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if test "${lt_cv_objdir+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/${ac_tool_prefix}file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ { $as_echo "$as_me:$LINENO: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ else
+ MAGIC_CMD=:
+ fi
+fi
+
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+ lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_rtti_exceptions=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-fno-rtti -fno-exceptions"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:7520: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:7524: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_rtti_exceptions=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+ :
+fi
+
+fi
+
+
+
+
+
+
+ lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_static='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ lt_prog_compiler_wl='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ else
+ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+ xl*)
+ # IBM XL C 8.0/Fortran 10.1 on PPC
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-qpic'
+ lt_prog_compiler_static='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl=''
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ rdos*)
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ solaris*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ lt_prog_compiler_wl='-Qoption ld '
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_prog_compiler_pic='-Kconform_pic'
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ unicos*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_can_build_shared=no
+ ;;
+
+ uts4*)
+ lt_prog_compiler_pic='-pic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *)
+ lt_prog_compiler_can_build_shared=no
+ ;;
+ esac
+ fi
+
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic=
+ ;;
+ *)
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
+
+
+
+
+
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+ { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic_works=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:7859: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:7863: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+ case $lt_prog_compiler_pic in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+ esac
+else
+ lt_prog_compiler_pic=
+ lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_static_works=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+ :
+else
+ lt_prog_compiler_static=
+fi
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:7964: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:7968: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:8019: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:8023: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ runpath_var=
+ allow_undefined_flag=
+ always_export_symbols=no
+ archive_cmds=
+ archive_expsym_cmds=
+ compiler_needs_object=no
+ enable_shared_with_static_runtimes=no
+ export_dynamic_flag_spec=
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ hardcode_automatic=no
+ hardcode_direct=no
+ hardcode_direct_absolute=no
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld=
+ hardcode_libdir_separator=
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=unsupported
+ inherit_rpath=no
+ link_all_deplibs=unknown
+ module_cmds=
+ module_expsym_cmds=
+ old_archive_from_new_cmds=
+ old_archive_from_expsyms_cmds=
+ thread_safe_flag_spec=
+ whole_archive_flag_spec=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ include_expsyms=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ ld_shlibs=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[3-9]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
+ xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+ archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+
+ if test "$ld_shlibs" = no; then
+ runpath_var=
+ hardcode_libdir_flag_spec=
+ export_dynamic_flag_spec=
+ whole_archive_flag_spec=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds=''
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ file_list_spec='${wl}-f,'
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ link_all_deplibs=no
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ export_dynamic_flag_spec='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ always_export_symbols=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag=' ${wl}-bernotok'
+ allow_undefined_flag=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec='$convenience'
+ archive_cmds_need_lc=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[45]*)
+ export_dynamic_flag_spec=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ fix_srcfile_path='`cygpath -w "$srcfile"`'
+ enable_shared_with_static_runtimes=yes
+ ;;
+
+ darwin* | rhapsody*)
+
+
+ archive_cmds_need_lc=no
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ whole_archive_flag_spec=''
+ link_all_deplibs=yes
+ allow_undefined_flag="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=echo
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+
+ else
+ ld_shlibs=no
+ fi
+
+ ;;
+
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ freebsd1*)
+ ld_shlibs=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ export_dynamic_flag_spec='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec_ld='+b $libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ ;;
+ *)
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ cat >conftest.$ac_ext <<_ACEOF
+int foo(void) {}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ inherit_rpath=yes
+ link_all_deplibs=yes
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ newsos6)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_shlibpath_var=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ hardcode_direct_absolute=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_separator=:
+ ;;
+
+ solaris*)
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_shlibpath_var=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ link_all_deplibs=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds='$CC -r -o $output$reload_objs'
+ hardcode_direct=no
+ ;;
+ motorola)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag='${wl}-z,text'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag='${wl}-z,text'
+ allow_undefined_flag='${wl}-z,nodefs'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-R,$libdir'
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+
+{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl
+ pic_flag=$lt_prog_compiler_pic
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
+ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ then
+ archive_cmds_need_lc=no
+ else
+ archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+$as_echo "$archive_cmds_need_lc" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[lt_foo]++; }
+ if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[4-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[45]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[123]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+interix[3-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # Some binutils ld are patched to set DT_RUNPATH
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
+ shlibpath_overrides_runpath=yes
+fi
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+ test -n "$runpath_var" ||
+ test "X$hardcode_automatic" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$hardcode_direct" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
+ test "$hardcode_minus_L" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test "$hardcode_action" = relink ||
+ test "$inherit_rpath" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+
+
+
+
+
+ if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dl_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+
+fi
+
+ ;;
+
+ *)
+ { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
+$as_echo_n "checking for shl_load... " >&6; }
+if test "${ac_cv_func_shl_load+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define shl_load innocuous_shl_load
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char shl_load (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef shl_load
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_shl_load || defined __stub___shl_load
+choke me
+#endif
+
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_shl_load=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_shl_load=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+$as_echo "$ac_cv_func_shl_load" >&6; }
+if test "x$ac_cv_func_shl_load" = x""yes; then
+ lt_cv_dlopen="shl_load"
+else
+ { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dld_shl_load=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dld_shl_load=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
+$as_echo_n "checking for dlopen... " >&6; }
+if test "${ac_cv_func_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define dlopen innocuous_dlopen
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char dlopen (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef dlopen
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_dlopen || defined __stub___dlopen
+choke me
+#endif
+
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+$as_echo "$ac_cv_func_dlopen" >&6; }
+if test "x$ac_cv_func_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dl_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+ { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_svld_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_svld_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+ { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dld_dld_link=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dld_dld_link=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line 10832 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self_static+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self_static=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line 10928 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ ;;
+ *)
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+ # Report which library types will actually be built
+ { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+ { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+ { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ { $as_echo "$as_me:$LINENO: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stdc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if test "${ac_cv_c_const+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+ /* Ultrix mips cc rejects this. */
+ typedef int charset[2];
+ const charset cs;
+ /* SunOS 4.1.1 cc rejects this. */
+ char const *const *pcpcc;
+ char **ppc;
+ /* NEC SVR4.0.2 mips cc rejects this. */
+ struct point {int x, y;};
+ static struct point const zero = {0,0};
+ /* AIX XL C 1.02.0.0 rejects this.
+ It does not let you subtract one const X* pointer from another in
+ an arm of an if-expression whose if-part is not a constant
+ expression */
+ const char *g = "string";
+ pcpcc = &g + (g ? g-g : 0);
+ /* HPUX 7.0 cc rejects these. */
+ ++pcpcc;
+ ppc = (char**) pcpcc;
+ pcpcc = (char const *const *) ppc;
+ { /* SCO 3.2v4 cc rejects this. */
+ char *t;
+ char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+ *t++ = 0;
+ if (s) return 0;
+ }
+ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+ int x[] = {25, 17};
+ const int *foo = &x[0];
+ ++foo;
+ }
+ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+ typedef const int *iptr;
+ iptr p = 0;
+ ++p;
+ }
+ { /* AIX XL C 1.02.0.0 rejects this saying
+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+ struct s { int j; const int *ap[3]; };
+ struct s *b; b->j = 5;
+ }
+ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+ const int foo = 10;
+ if (!foo) return 0;
+ }
+ return !cs[0] && !zero.x;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_c_const=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_c_const=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
+
+cat >>confdefs.h <<\_ACEOF
+#define const /**/
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for size_t" >&5
+$as_echo_n "checking for size_t... " >&6; }
+if test "${ac_cv_type_size_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_size_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (size_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((size_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_size_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
+$as_echo "$ac_cv_type_size_t" >&6; }
+if test "x$ac_cv_type_size_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
+$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
+if test "${ac_cv_header_time+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/time.h>
+#include <time.h>
+
+int
+main ()
+{
+if ((struct tm *) 0)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_time=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_time=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
+$as_echo "$ac_cv_header_time" >&6; }
+if test $ac_cv_header_time = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define TIME_WITH_SYS_TIME 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for deflateInit_ in -lz" >&5
+$as_echo_n "checking for deflateInit_ in -lz... " >&6; }
+if test "${ac_cv_lib_z_deflateInit_+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lz $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char deflateInit_ ();
+int
+main ()
+{
+return deflateInit_ ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_z_deflateInit_=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_z_deflateInit_=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_deflateInit_" >&5
+$as_echo "$ac_cv_lib_z_deflateInit_" >&6; }
+if test "x$ac_cv_lib_z_deflateInit_" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBZ 1
+_ACEOF
+
+ LIBS="-lz $LIBS"
+
+else
+ { { $as_echo "$as_me:$LINENO: error: zlib is required." >&5
+$as_echo "$as_me: error: zlib is required." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for png_write_image in -lpng" >&5
+$as_echo_n "checking for png_write_image in -lpng... " >&6; }
+if test "${ac_cv_lib_png_png_write_image+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpng $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char png_write_image ();
+int
+main ()
+{
+return png_write_image ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_png_png_write_image=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_png_png_write_image=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_png_png_write_image" >&5
+$as_echo "$ac_cv_lib_png_png_write_image" >&6; }
+if test "x$ac_cv_lib_png_png_write_image" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBPNG 1
+_ACEOF
+
+ LIBS="-lpng $LIBS"
+
+else
+ { { $as_echo "$as_me:$LINENO: error: The png library is required." >&5
+$as_echo "$as_me: error: The png library is required." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for xmlParseFile in -lxml2" >&5
+$as_echo_n "checking for xmlParseFile in -lxml2... " >&6; }
+if test "${ac_cv_lib_xml2_xmlParseFile+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lxml2 $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char xmlParseFile ();
+int
+main ()
+{
+return xmlParseFile ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_xml2_xmlParseFile=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_xml2_xmlParseFile=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_xml2_xmlParseFile" >&5
+$as_echo "$ac_cv_lib_xml2_xmlParseFile" >&6; }
+if test "x$ac_cv_lib_xml2_xmlParseFile" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBXML2 1
+_ACEOF
+
+ LIBS="-lxml2 $LIBS"
+
+else
+ { { $as_echo "$as_me:$LINENO: error: The xml2 library is required." >&5
+$as_echo "$as_me: error: The xml2 library is required." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+if test "${enable_atomic_ops}" = "" ; then
+ enable_atomic_ops=yes
+fi
+
+if test "${enable_atomic_ops}" = "yes" ; then
+
+ { $as_echo "$as_me:$LINENO: checking whether $CC knows 32-bit __sync_bool_compare_and_swap()" >&5
+$as_echo_n "checking whether $CC knows 32-bit __sync_bool_compare_and_swap()... " >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+#include <stdint.h>
+ int main() { uint32_t a = 4;
+ __sync_bool_compare_and_swap(&a, 4, 5); }
+_ACEOF
+ $CC conftest.c $CFLAGS -o conftest > /dev/null 2> /dev/null
+ ret=$?
+ rm -f conftest.o conftest
+ if test $ret -eq 0 ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GCC_ATOMIC_OPS 1
+_ACEOF
+
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:$LINENO: result: no - try specifying CFLAGS=-march={your_arch}" >&5
+$as_echo "no - try specifying CFLAGS=-march={your_arch}" >&6; }
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking whether $CC knows 64-bit __sync_bool_compare_and_swap()" >&5
+$as_echo_n "checking whether $CC knows 64-bit __sync_bool_compare_and_swap()... " >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+#include <stdint.h>
+ int main() { uint64_t a = 4; __sync_bool_compare_and_swap(&a, 4, 5); }
+_ACEOF
+ $CC conftest.c $CFLAGS -o conftest > /dev/null 2> /dev/null
+ ret=$?
+ rm -f conftest.o conftest
+ if test $ret -eq 0 ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GCC_64BIT_ATOMIC_OPS 1
+_ACEOF
+
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:$LINENO: result: no - try specifying CFLAGS=-march={your_arch}" >&5
+$as_echo "no - try specifying CFLAGS=-march={your_arch}" >&6; }
+ fi
+fi
+
+if test "${enable_pthread}" = "" ; then
+ enable_pthread=yes
+fi
+
+if test "${enable_pthread}" = "yes" ; then
+
+{ $as_echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
+$as_echo_n "checking for pthread_create in -lpthread... " >&6; }
+if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_create ();
+int
+main ()
+{
+return pthread_create ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_pthread_pthread_create=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_pthread_pthread_create=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5
+$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; }
+if test "x$ac_cv_lib_pthread_pthread_create" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBPTHREAD 1
+_ACEOF
+
+ LIBS="-lpthread $LIBS"
+
+else
+ { $as_echo "$as_me:$LINENO: WARNING: Pthread library not found - threads disabled." >&5
+$as_echo "$as_me: WARNING: Pthread library not found - threads disabled." >&2;}
+fi
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for jpeg_start_compress in -ljpeg" >&5
+$as_echo_n "checking for jpeg_start_compress in -ljpeg... " >&6; }
+if test "${ac_cv_lib_jpeg_jpeg_start_compress+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ljpeg $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char jpeg_start_compress ();
+int
+main ()
+{
+return jpeg_start_compress ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_jpeg_jpeg_start_compress=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_jpeg_jpeg_start_compress=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_start_compress" >&5
+$as_echo "$ac_cv_lib_jpeg_jpeg_start_compress" >&6; }
+if test "x$ac_cv_lib_jpeg_jpeg_start_compress" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBJPEG 1
+_ACEOF
+
+ LIBS="-ljpeg $LIBS"
+
+else
+ { { $as_echo "$as_me:$LINENO: error: The jpeg library is required." >&5
+$as_echo "$as_me: error: The jpeg library is required." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# Extract the first word of "xml2-config", so it can be a program name with args.
+set dummy xml2-config; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_XML2_CONFIG+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $XML2_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_XML2_CONFIG="$XML2_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/bin:/usr/bin:/usr/local/bin"
+for as_dir in $as_dummy
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_XML2_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_XML2_CONFIG" && ac_cv_path_XML2_CONFIG="no"
+ ;;
+esac
+fi
+XML2_CONFIG=$ac_cv_path_XML2_CONFIG
+if test -n "$XML2_CONFIG"; then
+ { $as_echo "$as_me:$LINENO: result: $XML2_CONFIG" >&5
+$as_echo "$XML2_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+if test "$XML2_CONFIG" != "no"
+then
+ CPPFLAGS="`$XML2_CONFIG --cflags` $CPPFLAGS"
+fi
+
+ac_config_files="$ac_config_files Makefile flam3.pc"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ cat confcache >$cache_file
+ else
+ { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.63. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTION]... [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.63,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ { $as_echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { $as_echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
+macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
+enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
+host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
+host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
+host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
+build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
+build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
+build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
+SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
+Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
+GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
+EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
+FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
+LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
+NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
+LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
+exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
+AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
+GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
+SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
+ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
+need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
+LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
+libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
+fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
+version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
+striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+OBJDUMP \
+deplibs_check_method \
+file_magic_cmd \
+AR \
+AR_FLAGS \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+SHELL \
+ECHO \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_wl \
+lt_prog_compiler_pic \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_flag_spec_ld \
+hardcode_libdir_separator \
+fix_srcfile_path \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+finish_eval \
+old_striplib \
+striplib; do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec; do
+ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
+ ;;
+esac
+
+ac_aux_dir='$ac_aux_dir'
+xsi_shell='$xsi_shell'
+lt_shell_append='$lt_shell_append'
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'
+
+
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "flam3.pc") CONFIG_FILES="$CONFIG_FILES flam3.pc" ;;
+
+ *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} ||
+{
+ $as_echo "$as_me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=' '
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\).*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\).*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+ { (exit 1); exit 1; }; }
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_t"; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
+$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
+ { (exit 1); exit 1; }; }
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
+$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ ac_file_inputs="$ac_file_inputs '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
+
+ rm -f "$tmp/stdin"
+ case $ac_file in
+ -) cat "$tmp/out" && rm -f "$tmp/out";;
+ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ esac \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
+ if test x"$ac_file" != x-; then
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+ } >"$tmp/config.h" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+ mv "$tmp/config.h" "$ac_file" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ else
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
+$as_echo "$as_me: error: could not create -" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$_am_arg" : 'X\(//\)[^/]' \| \
+ X"$_am_arg" : 'X\(//\)$' \| \
+ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+ :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir=$dirpart/$fdir
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+ ;;
+ "libtool":C)
+
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool 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 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags=""
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that does not interpret backslashes.
+ECHO=$lt_ECHO
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking. This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ case $xsi_shell in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=${1%%=*}
+ func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=$(( $* ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=${#1}
+}
+
+_LT_EOF
+ ;;
+ *) # Bourne compatible functions.
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+}
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "X${3}" \
+ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+ esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[^=]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=`expr "$@"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+ yes)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$1+=\$2"
+}
+_LT_EOF
+ ;;
+ *)
+ cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "$1=\$$1\$2"
+}
+
+_LT_EOF
+ ;;
+ esac
+
+
+ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+ ;;
+
+ esac
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/src/configure.in b/src/configure.in
new file mode 100644
index 0000000..f519a8c
--- /dev/null
+++ b/src/configure.in
@@ -0,0 +1,84 @@
+dnl $Id: configure.in,v 1.42 2008-07-21 18:51:56 spotspot Exp $
+dnl Process this file with autoconf to produce a configure script.
+
+AC_INIT(flam3-animate.c)
+AM_CONFIG_HEADER(config.h)
+AC_ARG_ENABLE(pthread, [ --enable-pthread compile FLAM3 with threads enabled (default=yes)])
+AC_ARG_ENABLE(atomic_ops, [ --enable-atomic-ops compile FLAM3 with atom ops enabled (default=yes, independently checks for 32 and 64 bit sizes)])
+AM_INIT_AUTOMAKE(flam3,"2.8b7")
+
+AC_CONFIG_MACRO_DIR([m4])
+
+# Save CFLAGS from the environment
+save_CFLAGS=$CFLAGS
+
+AC_PROG_CC
+
+CFLAGS=$save_CFLAGS
+
+AC_PROG_INSTALL
+AC_PROG_MAKE_SET
+AM_DISABLE_SHARED
+AC_PROG_LIBTOOL
+AC_HEADER_STDC
+AC_C_CONST
+AC_TYPE_SIZE_T
+AC_HEADER_TIME
+AC_CHECK_LIB([z],[deflateInit_],,[AC_MSG_ERROR([zlib is required.])])
+AC_CHECK_LIB([png],[png_write_image],,[AC_MSG_ERROR([The png library is required.])])
+AC_CHECK_LIB([xml2],[xmlParseFile],,[AC_MSG_ERROR([The xml2 library is required.])])
+
+
+if test "${enable_atomic_ops}" = "" ; then
+ enable_atomic_ops=yes
+fi
+
+if test "${enable_atomic_ops}" = "yes" ; then
+
+ AC_MSG_CHECKING([whether $CC knows 32-bit __sync_bool_compare_and_swap()])
+ AC_LANG_CONFTEST([#include <stdint.h>
+ int main() { uint32_t a = 4;
+ __sync_bool_compare_and_swap(&a, 4, 5); }])
+ $CC conftest.c $CFLAGS -o conftest > /dev/null 2> /dev/null
+ ret=$?
+ rm -f conftest.o conftest
+ if test $ret -eq 0 ; then
+ AC_DEFINE([HAVE_GCC_ATOMIC_OPS], 1, [Have 32-bit __sync_bool_compare_and_swap() and friends.])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no - try specifying CFLAGS=-march={your_arch}])
+ fi
+
+ AC_MSG_CHECKING([whether $CC knows 64-bit __sync_bool_compare_and_swap()])
+ AC_LANG_CONFTEST([#include <stdint.h>
+ int main() { uint64_t a = 4; __sync_bool_compare_and_swap(&a, 4, 5); }])
+ $CC conftest.c $CFLAGS -o conftest > /dev/null 2> /dev/null
+ ret=$?
+ rm -f conftest.o conftest
+ if test $ret -eq 0 ; then
+ AC_DEFINE([HAVE_GCC_64BIT_ATOMIC_OPS], 1, [Have 64-bit __sync_bool_compare_and_swap() and friends.])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no - try specifying CFLAGS=-march={your_arch}])
+ fi
+fi
+
+if test "${enable_pthread}" = "" ; then
+ enable_pthread=yes
+fi
+
+if test "${enable_pthread}" = "yes" ; then
+ AC_CHECK_LIB([pthread],[pthread_create],,[AC_MSG_WARN([Pthread library not found - threads disabled.])])
+fi
+AC_CHECK_LIB([jpeg],[jpeg_start_compress],,[AC_MSG_ERROR([The jpeg library is required.])])
+AC_PATH_PROG(XML2_CONFIG,xml2-config, no, $PATH:/bin:/usr/bin:/usr/local/bin)
+
+if test "$XML2_CONFIG" != "no"
+then
+ CPPFLAGS="`$XML2_CONFIG --cflags` $CPPFLAGS"
+fi
+
+AC_OUTPUT([
+Makefile
+flam3.pc
+])
diff --git a/src/convert.dsp b/src/convert.dsp
new file mode 100644
index 0000000..0f7fba1
--- /dev/null
+++ b/src/convert.dsp
@@ -0,0 +1,146 @@
+# Microsoft Developer Studio Project File - Name="convert" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=convert - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "convert.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "convert.mak" CFG="convert - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "convert - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "convert - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "convert - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "c:\src\libxml2\include" /I "c:\src\jpeg" /I "c:\src\iconv\include" /I "c:\src\pthreads" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /Zm1000 /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 c:\src\expat\expat.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib c:\src\jpeg\libjpeg.lib c:\src\libpng\libpng.lib c:\src\libxml2\lib\libxml2.lib c:\src\zlib\zlib.lib c:\src\pthreads\pthreadVC2.lib /nologo /subsystem:console /machine:I386 /out:"Release/flam3-convert.exe"
+
+!ELSEIF "$(CFG)" == "convert - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "c:\src\expat\xmlparse" /I "c:\src\jpeg" /I "c:\src\libxml2\include" /I "c:\src\iconv\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib c:\src\expat\expat.lib c:\src\jpeg\libjpeg.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "convert - Win32 Release"
+# Name "convert - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\docstring.c
+# End Source File
+# Begin Source File
+
+SOURCE=".\flam3-convert.c"
+# End Source File
+# Begin Source File
+
+SOURCE=".\flam3-palettes.c"
+# End Source File
+# Begin Source File
+
+SOURCE=.\flam3.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\isaac.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\jpeg.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\png.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=cmap.h
+# End Source File
+# Begin Source File
+
+SOURCE=config.h
+# End Source File
+# Begin Source File
+
+SOURCE=jpeg.h
+# End Source File
+# Begin Source File
+
+SOURCE=libifs.h
+# End Source File
+# Begin Source File
+
+SOURCE=rect.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/src/docstring.c b/src/docstring.c
new file mode 100644
index 0000000..c562e6d
--- /dev/null
+++ b/src/docstring.c
@@ -0,0 +1,206 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+
+#include "config.h"
+#include "flam3.h"
+
+
+static char *the_docstring0 =
+ "FLAM3 - cosmic recursive fractal flames version ";
+
+static char *the_docstring1 =
+"\n\n"
+"This software is licensed under the GPL. You should have access\n"
+"to the source code; see http://www.fsf.org/licenses/gpl.html.\n"
+"\n"
+"This is free software to render fractal flames as described on\n"
+"http://flam3.com. Flam3-animate makes animations, and flam3-render\n"
+"makes still images. Flam3-genome creates and manipulates genomes\n"
+"(parameter sets). A C library is also installed.\n"
+"\n"
+"Note: the following instructions are written for Linux users. Windows\n"
+"users may have to install the cygwin package to get the \"env\"\n"
+"command or set the envars in your windows command prompt manually.\n"
+"That means instead of a command like\n"
+"\n"
+" env dtime=5 prefix=foo. in=test.flame flam3-animate\n"
+"\n"
+"say\n"
+"\n"
+" set dtime=5\n"
+" set prefix=foo.\n"
+" set in=test.flame\n"
+" flam3-animate\n"
+"\n"
+"\n"
+"envar default meaning\n"
+"===== ======= =======\n"
+"prefix (empty) prefix names of output files with this string.\n"
+"begin j time of first frame to render (j=first time specified in file) (animate only)\n"
+"end n-1 time of last frame to render (n=last time specified in the input file) (animate only)\n"
+"time NA time of first and last frame (ie do one frame) (animate only)\n"
+"frame NA synonym for \"time\" (animate only)\n"
+"in stdin name of input file\n"
+"out NA name of output file (bad idea if rending more than one, use prefix instead)\n"
+"template NA apply defaults based on this genome (genome only)\n"
+"dtime 1 time between frames (animate only)\n"
+"fields 0 if 1 then render fields, ie odd scanlines at time+0.5\n"
+"nstrips 1 number of strips, ie render fractions of a frame at once (render only)\n"
+"qs 1 quality scale, multiply quality of all frames by this\n"
+"ss 1 size scale, multiply size (in pixels) of all frames by this\n"
+"jpeg NA jpeg quality for compression, default is native jpeg default\n"
+"format png jpg or ppm or png\n"
+"pixel_aspect 1.0 aspect ratio of pixels (width over height), eg 0.90909 for NTSC\n"
+"seed random integer seed for random numbers, defaults to time+pid\n"
+"isaac_seed random character-based seed for iteration loop randomness, defaults to time\n"
+"nthreads 0 number of threads to use for render. default auto-detects.\n"
+"verbose 0 if non-zero then print progress meter on stderr\n"
+"bits 33 also 32 or 64: sets bit-width of internal buffers (33 means 32-bit floating-point)\n"
+"bpc 8 bits per color channel: png supports 16, all others are 8 only (render/animate)\n"
+"image filename replace palette with png, jpg, or ppm image\n"
+"use_vars -1 comma separated list of variation #'s to use when generating a random flame (genome only)\n"
+"dont_use_vars NA comma separated list of variation #'s to NOT use when generating a random flame (genome only)\n"
+"cross0 NA randomly select one genome from this file to genetically cross (genome only)\n"
+"cross1 NA with one genome from this file (genome only)\n"
+"method NA method used for genetic cross: alternate, interpolate, or union. (genome only)\n"
+"mutate NA randomly mutate a random genome from this file (genome only)\n"
+"symmetry NA set symmetry of result. (genome only)\n"
+"clone NA clone random flame in input (genome only)\n"
+"clone_all NA clones all flames in file. useful for applying template to all flames (genome only)\n"
+"animate NA interpolates between all flames in a file, using times specified in file (genome only)\n"
+"sequence NA 360 degree rotation 'loops' times of each control point plus rotating transitions (genome only)\n"
+"loops NA number of times to rotate each control point in sequence (genome only)\n"
+"tries 50 number of tries to make to find a good genome. (genome only)\n"
+"strip NA strip input, frame and nframes control which one. (genome only)\n"
+"transparency 0 make bknd transparent, if format supports it (render/animate)\n"
+"name_enable 0 use 'name' attr in <flame> to name image output if present (render only)\n"
+"nick \"\" nickname to use in <edit> tags / img comments\n"
+"url \"\" url to use in <edit> tags / img comments\n"
+"id \"\" ID to use in <edit> tags\n"
+"comment \"\" comment string for <edit> tags (genome only)\n"
+"use_mem auto floating point number of bytes of memory to use (render only)\n"
+"write_genome 0 write out genome associated with center of motion blur window (animate only)\n"
+"noedits unset omit edit tags from output (genome only)\n"
+"print_edit_depth 0 depth to truncate <edit> tag structure. 0 prints all <edit> tags (genome only)\n"
+"intpalette unset round palette entries for importing into older Apophysis versions (genome only)\n"
+"insert_palette unset insert the palette into the image.\n"
+"enable_jpeg_comments 1 enables comments in the jpeg header (render and animate)\n"
+"enable_png_comments 1 enables comments in the png header (render and animate)\n"
+"\n"
+"New in 2.8:\n"
+"earlyclip 0 enables the early clipping of rgb values for better antialiasing and resizing\n"
+" defaults to 0 for backwards compatibility\n"
+"flam27 0 flam3 2.7 compatibility mode; ensures generated genomes can be used by flam3 2.7.18\n"
+"stagger 0 affects simultaneity of xform interpolation during genome interpolation.\n"
+" represents how 'separate' the xforms are interpolated. set to 1 for each\n"
+" xform to be interpolated individually, fractions control interp overlap.\n"
+
+"\n"
+"for example:\n"
+"\n"
+" env dtime=5 prefix=foo. in=test.flam3 flam3-animate\n"
+"\n"
+"means to render every 5th frame of parameter file foo.flam3, and store\n"
+"the results in files named foo.XXXX.jpg.\n"
+"\n"
+"the flam3-convert program reads from stdin the old format created by\n"
+"the GIMP and writes to stdout the new xml format.\n"
+"\n"
+"the flam3-genome program creates random parameter files. it also mutates,\n"
+"rotates, and interpolates existing parameter files. for example to\n"
+"create 10 wholly new control points and render them at normal quality:\n"
+"\n"
+" env template=vidres.flam3 repeat=10 flam3-genome > new.flam3\n"
+" flam3-render < new.flam3\n"
+"\n"
+"if you left out the \"template=vidres.flam3\" part then the size,\n"
+"quality, etc parameters would be their default (small) values. you\n"
+"can set the symmetry group:\n"
+"\n"
+" env template=vidres.flam3 symmetry=3 flam3-genome > new3.flam3\n"
+" env template=vidres.flam3 symmetry=-2 flam3-genome > new-2.flam3\n"
+" flam3-render < new3.flam3\n"
+" flam3-render < new-2.flam3\n"
+"\n"
+"Mutation is done by giving an input flame file to alter:\n"
+"\n"
+" env template=vidres.flam3 flam3-genome > parent.flam3\n"
+" env prefix=parent. flam3-render < parent.flam3\n"
+" env template=vidres.flam3 mutate=parent.flam3 repeat=10 flam3-genome > mutation.flam3\n"
+" flam3-render < mutation.flam3\n"
+"\n"
+"Normally one wouldn't use the same file for the template and the file\n"
+"to mutate. Crossover is handled similarly:\n"
+"\n"
+" env template=vidres.flam3 flam3-genome > parent0.flam3\n"
+" env prefix=parent0. flam3-render < parent0.flam3\n"
+" env template=vidres.flam3 flam3-genome > parent1.flam3\n"
+" env prefix=parent1. flam3-render < parent1.flam3\n"
+" env template=vidres.flam3 cross0=parent0.flam3 cross1=parent1.flam3 flam3-genome > crossover.flam3\n"
+" flam3-render < crossover.flam3\n"
+"\n"
+"flam3-genome has 3 ways to produce parameter files for animation in\n"
+"the style of electric sheep. the highest level and most useful from\n"
+"the command line is the sequence method. it takes a collection of\n"
+"control points and makes an animation that has each flame do fractal\n"
+"rotation for 360 degrees, then make a smooth transition to the next.\n"
+"for example:\n"
+"\n"
+" env sequence=test.flam3 nframes=20 flam3-genome > seq.flam3\n"
+" flam3-animate < seq.flam3\n"
+"\n"
+"creates and renders a 60 frame animation. there are two flames in\n"
+"test.flam3, so the animation consists three stags: the first one\n"
+"rotating, then a transition, then the second one rotating. each stage\n"
+"has 20 frames as specified on the command line. if you want to\n"
+"render only some fraction of a whole animation file, specify the begin\n"
+"and end times:\n"
+"\n"
+" env begin=20 end=40 flam3-animate < seq.flam3\n"
+"\n"
+"the other two methods are harder to use becaues they produce files that\n"
+"are only good for one frame of animation. the output consists of 3\n"
+"control points, one for the time requested, one before and one after.\n"
+"that allows proper motion blur. for example:\n"
+"\n"
+" env template=vidres.flam3 flam3-genome > rotme.flam3\n"
+" env rotate=rotme.flam3 frame=10 nframes=20 flam3-genome > rot10.flam3\n"
+" env frame=10 flam3-animate < rot10.flam3\n"
+"\n"
+"the file rot10.flam3 specifies the animation for just one frame, in\n"
+"this case 10 out of 20 frames in the complete animation. C1\n"
+"continuous electric sheep genetic crossfades are created like this:\n"
+"\n"
+" env inter=test.flam3 frame=10 nframes=20 flam3-genome > inter10.flam3\n"
+" env frame=10 flam3-animate < inter10.flam3\n"
+"\n"
+"see http://flam3.com/flame.pdf for descriptions & formulas, and\n"
+"see http://electricsheep.wikispaces.com/Variations for updates.\n"
+"\n"
+"The complete list of variations:\n"
+;
+
+void docstring() {
+ int i;
+ fputs(the_docstring0, stdout);
+ fputs(flam3_version(), stdout);
+ fputs(the_docstring1, stdout);
+ for (i = 0; i < flam3_nvariations; i++)
+ printf(" %2d. %s\n", i, flam3_variation_names[i]);
+}
diff --git a/src/filters.c b/src/filters.c
new file mode 100644
index 0000000..1af5d4a
--- /dev/null
+++ b/src/filters.c
@@ -0,0 +1,490 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#include "filters.h"
+
+
+/*
+ * filter function definitions
+ * from Graphics Gems III code
+ * and ImageMagick resize.c
+ */
+
+
+double flam3_spatial_support[flam3_num_spatialfilters] = {
+
+ 1.5, /* gaussian */
+ 1.0, /* hermite */
+ 0.5, /* box */
+ 1.0, /* triangle */
+ 1.5, /* bell */
+ 2.0, /* b spline */
+ 2.0, /* mitchell */
+ 1.0, /* blackman */
+ 2.0, /* catrom */
+ 1.0, /* hanning */
+ 1.0, /* hamming */
+ 3.0, /* lanczos3 */
+ 2.0, /* lanczos2 */
+ 1.5 /* quadratic */
+};
+
+double flam3_hermite_filter(double t) {
+ /* f(t) = 2|t|^3 - 3|t|^2 + 1, -1 <= t <= 1 */
+ if(t < 0.0) t = -t;
+ if(t < 1.0) return((2.0 * t - 3.0) * t * t + 1.0);
+ return(0.0);
+}
+
+double flam3_box_filter(double t) {
+ if((t > -0.5) && (t <= 0.5)) return(1.0);
+ return(0.0);
+}
+
+double flam3_triangle_filter(double t) {
+ if(t < 0.0) t = -t;
+ if(t < 1.0) return(1.0 - t);
+ return(0.0);
+}
+
+double flam3_bell_filter(double t) {
+ /* box (*) box (*) box */
+ if(t < 0) t = -t;
+ if(t < .5) return(.75 - (t * t));
+ if(t < 1.5) {
+ t = (t - 1.5);
+ return(.5 * (t * t));
+ }
+ return(0.0);
+}
+
+double flam3_b_spline_filter(double t) {
+
+ /* box (*) box (*) box (*) box */
+ double tt;
+
+ if(t < 0) t = -t;
+ if(t < 1) {
+ tt = t * t;
+ return((.5 * tt * t) - tt + (2.0 / 3.0));
+ } else if(t < 2) {
+ t = 2 - t;
+ return((1.0 / 6.0) * (t * t * t));
+ }
+ return(0.0);
+}
+
+double flam3_sinc(double x) {
+ x *= M_PI;
+ if(x != 0) return(sin(x) / x);
+ return(1.0);
+}
+
+double flam3_blackman_filter(double x) {
+ return(0.42+0.5*cos(M_PI*x)+0.08*cos(2*M_PI*x));
+}
+
+double flam3_catrom_filter(double x) {
+ if (x < -2.0)
+ return(0.0);
+ if (x < -1.0)
+ return(0.5*(4.0+x*(8.0+x*(5.0+x))));
+ if (x < 0.0)
+ return(0.5*(2.0+x*x*(-5.0-3.0*x)));
+ if (x < 1.0)
+ return(0.5*(2.0+x*x*(-5.0+3.0*x)));
+ if (x < 2.0)
+ return(0.5*(4.0+x*(-8.0+x*(5.0-x))));
+ return(0.0);
+}
+
+double flam3_mitchell_filter(double t) {
+ double tt;
+
+ tt = t * t;
+ if(t < 0) t = -t;
+ if(t < 1.0) {
+ t = (((12.0 - 9.0 * flam3_mitchell_b - 6.0 * flam3_mitchell_c) * (t * tt))
+ + ((-18.0 + 12.0 * flam3_mitchell_b + 6.0 * flam3_mitchell_c) * tt)
+ + (6.0 - 2 * flam3_mitchell_b));
+ return(t / 6.0);
+ } else if(t < 2.0) {
+ t = (((-1.0 * flam3_mitchell_b - 6.0 * flam3_mitchell_c) * (t * tt))
+ + ((6.0 * flam3_mitchell_b + 30.0 * flam3_mitchell_c) * tt)
+ + ((-12.0 * flam3_mitchell_b - 48.0 * flam3_mitchell_c) * t)
+ + (8.0 * flam3_mitchell_b + 24 * flam3_mitchell_c));
+ return(t / 6.0);
+ }
+ return(0.0);
+}
+
+double flam3_hanning_filter(double x) {
+ return(0.5+0.5*cos(M_PI*x));
+}
+
+double flam3_hamming_filter(double x) {
+ return(0.54+0.46*cos(M_PI*x));
+}
+
+double flam3_lanczos3_filter(double t) {
+ if(t < 0) t = -t;
+ if(t < 3.0) return(flam3_sinc(t) * flam3_sinc(t/3.0));
+ return(0.0);
+}
+
+double flam3_lanczos2_filter(double t) {
+ if(t < 0) t = -t;
+ if(t < 2.0) return(flam3_sinc(t) * flam3_sinc(t/2.0));
+ return(0.0);
+}
+
+double flam3_gaussian_filter(double x) {
+ return(exp((-2.0*x*x))*sqrt(2.0/M_PI));
+}
+
+double flam3_quadratic_filter(double x) {
+ if (x < -1.5)
+ return(0.0);
+ if (x < -0.5)
+ return(0.5*(x+1.5)*(x+1.5));
+ if (x < 0.5)
+ return(0.75-x*x);
+ if (x < 1.5)
+ return(0.5*(x-1.5)*(x-1.5));
+ return(0.0);
+}
+
+double flam3_spatial_filter(int knum, double x) {
+
+ if (knum==0)
+ return flam3_gaussian_filter(x);
+ else if (knum==1)
+ return flam3_hermite_filter(x);
+ else if (knum==2)
+ return flam3_box_filter(x);
+ else if (knum==3)
+ return flam3_triangle_filter(x);
+ else if (knum==4)
+ return flam3_bell_filter(x);
+ else if (knum==5)
+ return flam3_b_spline_filter(x);
+ else if (knum==6)
+ return flam3_mitchell_filter(x);
+ else if (knum==7)
+ return flam3_sinc(x)*flam3_blackman_filter(x);
+ else if (knum==8)
+ return flam3_catrom_filter(x);
+ else if (knum==9)
+ return flam3_sinc(x)*flam3_hanning_filter(x);
+ else if (knum==10)
+ return flam3_sinc(x)*flam3_hamming_filter(x);
+ else if (knum==11)
+ return flam3_lanczos3_filter(x)*flam3_sinc(x/3.0);
+ else if (knum==12)
+ return flam3_lanczos2_filter(x)*flam3_sinc(x/2.0);
+ else if (knum==13)
+ return flam3_quadratic_filter(x);
+}
+
+int normalize_vector(double *v, int n) {
+ double t = 0.0;
+ int i;
+ for (i = 0; i < n; i++)
+ t += v[i];
+ if (0.0 == t) return 1;
+ t = 1.0 / t;
+ for (i = 0; i < n; i++)
+ v[i] *= t;
+ return 0;
+}
+
+
+int flam3_create_spatial_filter(flam3_frame *spec, int field, double **filter) {
+
+ int sf_kernel = spec->genomes[0].spatial_filter_select;
+ int supersample = spec->genomes[0].spatial_oversample;
+ double sf_radius = spec->genomes[0].spatial_filter_radius;
+ double aspect_ratio = spec->pixel_aspect_ratio;
+ double sf_supp = flam3_spatial_support[sf_kernel];
+
+ double fw = 2.0 * sf_supp * supersample * sf_radius / aspect_ratio;
+ double adjust, ii, jj;
+
+ int fwidth = ((int) fw) + 1;
+ int i,j;
+
+
+ /* Make sure the filter kernel has same parity as oversample */
+ if ((fwidth ^ supersample) & 1)
+ fwidth++;
+
+ /* Calculate the coordinate scaling factor for the kernel values */
+ if (fw > 0.0)
+ adjust = sf_supp * fwidth / fw;
+ else
+ adjust = 1.0;
+
+ /* Calling function MUST FREE THE RETURNED KERNEL, lest ye leak memory */
+ (*filter) = (double *)calloc(fwidth * fwidth,sizeof(double));
+
+ /* fill in the coefs */
+ for (i = 0; i < fwidth; i++)
+ for (j = 0; j < fwidth; j++) {
+
+ /* Calculate the function inputs for the kernel function */
+ ii = ((2.0 * i + 1.0) / (double)fwidth - 1.0)*adjust;
+ jj = ((2.0 * j + 1.0) / (double)fwidth - 1.0)*adjust;
+
+ /* Scale for scanlines */
+ if (field) jj *= 2.0;
+
+ /* Adjust for aspect ratio */
+ jj /= aspect_ratio;
+
+ (*filter)[i + j * fwidth] =
+ flam3_spatial_filter(sf_kernel,ii) * flam3_spatial_filter(sf_kernel,jj);
+ }
+
+
+ if (normalize_vector((*filter), fwidth * fwidth)) {
+ fprintf(stderr, "Spatial filter value is too small: %g. Terminating.\n",sf_radius);
+ return(-1);
+ }
+
+ return (fwidth);
+}
+
+flam3_de_helper flam3_create_de_filters(double max_rad, double min_rad, double curve, int ss) {
+
+ flam3_de_helper de;
+ double comp_max_radius, comp_min_radius;
+ double num_de_filters_d;
+ int num_de_filters,de_max_ind;
+ int de_row_size, de_half_size;
+ int filtloop;
+ int keep_thresh=100;
+
+ de.kernel_size=-1;
+
+ if (curve <= 0.0) {
+ fprintf(stderr,"estimator curve must be > 0\n");
+ return(de);
+ }
+
+ if (max_rad < min_rad) {
+ fprintf(stderr,"estimator must be larger than estimator_minimum.\n");
+ fprintf(stderr,"(%f > %f) ? \n",max_rad,min_rad);
+ return(de);
+ }
+
+ /* We should scale the filter width by the oversample */
+ /* The '+1' comes from the assumed distance to the first pixel */
+ comp_max_radius = max_rad*ss + 1;
+ comp_min_radius = min_rad*ss + 1;
+
+ /* Calculate how many filter kernels we need based on the decay function */
+ /* */
+ /* num filters = (de_max_width / de_min_width)^(1/estimator_curve) */
+ /* */
+ num_de_filters_d = pow( comp_max_radius/comp_min_radius, 1.0/curve );
+ if (num_de_filters_d>1e7) {
+ fprintf(stderr,"too many filters required in this configuration (%g)\n",num_de_filters_d);
+ return(de);
+ }
+ num_de_filters = (int)ceil(num_de_filters_d);
+
+ /* Condense the smaller kernels to save space */
+ if (num_de_filters>keep_thresh) {
+ de_max_ind = (int)ceil(DE_THRESH + pow(num_de_filters-DE_THRESH,curve))+1;
+ de.max_filtered_counts = (int)pow( (double)(de_max_ind-DE_THRESH), 1.0/curve) + DE_THRESH;
+ } else {
+ de_max_ind = num_de_filters;
+ de.max_filtered_counts = de_max_ind;
+ }
+
+ /* Allocate the memory for these filters */
+ /* and the hit/width lookup vector */
+ de_row_size = (int)(2*ceil(comp_max_radius)-1);
+ de_half_size = (de_row_size-1)/2;
+ de.kernel_size = (de_half_size+1)*(2+de_half_size)/2;
+
+ de.filter_coefs = (double *) calloc (de_max_ind * de.kernel_size,sizeof(double));
+ de.filter_widths = (double *) calloc (de_max_ind,sizeof(double));
+
+ /* Generate the filter coefficients */
+ de.max_filter_index = 0;
+ for (filtloop=0;filtloop<de_max_ind;filtloop++) {
+
+ double de_filt_sum=0.0, de_filt_d;
+ double de_filt_h;
+ int dej,dek;
+ double adjloop;
+ int filter_coef_idx;
+
+ /* Calculate the filter width for this number of hits in a bin */
+ if (filtloop<keep_thresh)
+ de_filt_h = (comp_max_radius / pow(filtloop+1,curve));
+ else {
+ adjloop = pow(filtloop-keep_thresh,(1.0/curve)) + keep_thresh;
+ de_filt_h = (comp_max_radius / pow(adjloop+1,curve));
+ }
+
+ /* Once we've reached the min radius, don't populate any more */
+ if (de_filt_h <= comp_min_radius) {
+ de_filt_h = comp_min_radius;
+ de.max_filter_index = filtloop;
+ }
+
+ de.filter_widths[filtloop] = de_filt_h;
+
+ /* Calculate norm of kernel separately (easier) */
+ for (dej=-de_half_size; dej<=de_half_size; dej++) {
+ for (dek=-de_half_size; dek<=de_half_size; dek++) {
+
+ de_filt_d = sqrt( (double)(dej*dej+dek*dek) ) / de_filt_h;
+
+ /* Only populate the coefs within this radius */
+ if (de_filt_d <= 1.0) {
+
+ /* Gaussian */
+ de_filt_sum += flam3_spatial_filter(flam3_gaussian_kernel,
+ flam3_spatial_support[flam3_gaussian_kernel]*de_filt_d);
+
+ /* Epanichnikov */
+// de_filt_sum += (1.0 - (de_filt_d * de_filt_d));
+ }
+ }
+ }
+
+ filter_coef_idx = filtloop*de.kernel_size;
+
+ /* Calculate the unique entries of the kernel */
+ for (dej=0; dej<=de_half_size; dej++) {
+ for (dek=0; dek<=dej; dek++) {
+ de_filt_d = sqrt( (double)(dej*dej+dek*dek) ) / de_filt_h;
+
+ /* Only populate the coefs within this radius */
+ if (de_filt_d>1.0)
+ de.filter_coefs[filter_coef_idx] = 0.0;
+ else {
+
+ /* Gaussian */
+ de.filter_coefs[filter_coef_idx] = flam3_spatial_filter(flam3_gaussian_kernel,
+ flam3_spatial_support[flam3_gaussian_kernel]*de_filt_d)/de_filt_sum;
+
+ /* Epanichnikov */
+// de_filter_coefs[filter_coef_idx] = (1.0 - (de_filt_d * de_filt_d))/de_filt_sum;
+ }
+
+ filter_coef_idx ++;
+ }
+ }
+
+ if (de.max_filter_index>0)
+ break;
+ }
+
+ if (de.max_filter_index==0)
+ de.max_filter_index = de_max_ind-1;
+
+
+ return(de);
+}
+
+double flam3_create_temporal_filter(int numsteps, int filter_type, double filter_exp, double filter_width,
+ double **temporal_filter, double **temporal_deltas) {
+
+ double maxfilt = 0.0;
+ double sumfilt = 0.0;
+ double slpx,halfsteps;
+ double *deltas, *filter;
+
+ int i;
+
+ /* Allocate memory - this must be freed in the calling routine! */
+ deltas = (double *)malloc(numsteps*sizeof(double));
+ filter = (double *)malloc(numsteps*sizeof(double));
+
+ /* Deal with only one step */
+ if (numsteps==1) {
+ deltas[0] = 0;
+ filter[0] = 1.0;
+ *temporal_deltas = deltas;
+ *temporal_filter = filter;
+ return(1.0);
+ }
+
+ /* Define the temporal deltas */
+ for (i = 0; i < numsteps; i++)
+ deltas[i] = ((double)i /(double)(numsteps - 1) - 0.5)*filter_width;
+
+ /* Define the filter coefs */
+ if (flam3_temporal_exp == filter_type) {
+
+ for (i=0; i < numsteps; i++) {
+
+ if (filter_exp>=0)
+ slpx = ((double)i+1.0)/numsteps;
+ else
+ slpx = (double)(numsteps - i)/numsteps;
+
+ /* Scale the color based on these values */
+ filter[i] = pow(slpx,fabs(filter_exp));
+
+ /* Keep the max */
+ if (filter[i]>maxfilt)
+ maxfilt = filter[i];
+ }
+
+ } else if (flam3_temporal_gaussian == filter_type) {
+
+ halfsteps = numsteps/2.0;
+ for (i=0; i < numsteps; i++) {
+
+ /* Gaussian */
+ filter[i] = flam3_spatial_filter(flam3_gaussian_kernel,
+ flam3_spatial_support[flam3_gaussian_kernel]*fabs(i - halfsteps)/halfsteps);
+ /* Keep the max */
+ if (filter[i]>maxfilt)
+ maxfilt = filter[i];
+ }
+
+ } else { // (flam3_temporal_box)
+
+ for (i=0; i < numsteps; i++)
+ filter[i] = 1.0;
+
+ maxfilt = 1.0;
+
+ }
+
+ /* Adjust the filter so that the max is 1.0, and */
+ /* calculate the K2 scaling factor */
+ for (i=0;i<numsteps;i++) {
+ filter[i] /= maxfilt;
+ sumfilt += filter[i];
+ }
+
+ sumfilt /= numsteps;
+
+ *temporal_deltas = deltas;
+ *temporal_filter = filter;
+
+ return(sumfilt);
+}
+
diff --git a/src/filters.h b/src/filters.h
new file mode 100644
index 0000000..980bb8b
--- /dev/null
+++ b/src/filters.h
@@ -0,0 +1,65 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef filters_included
+#define filters_included
+
+#include "private.h"
+
+#define DE_THRESH 100
+
+/* Spatial filter kernels */
+#define flam3_gaussian_kernel 0
+#define flam3_hermite_kernel 1
+#define flam3_box_kernel 2
+#define flam3_triangle_kernel 3
+#define flam3_bell_kernel 4
+#define flam3_b_spline_kernel 5
+#define flam3_lanczos3_kernel 6
+#define flam3_lanczos2_kernel 7
+#define flam3_mitchell_kernel 8
+#define flam3_blackman_kernel 9
+#define flam3_catrom_kernel 10
+#define flam3_hamming_kernel 11
+#define flam3_hanning_kernel 12
+#define flam3_quadratic_kernel 13
+
+/* Temporal filters */
+#define flam3_temporal_box 0
+#define flam3_temporal_gaussian 1
+#define flam3_temporal_exp 2
+
+typedef struct {
+ int max_filtered_counts;
+ int max_filter_index;
+ int kernel_size;
+ double *filter_widths;
+ double *filter_coefs;
+} flam3_de_helper;
+
+extern double flam3_spatial_support[flam3_num_spatialfilters];
+
+double flam3_spatial_filter(int knum, double x);
+int flam3_create_spatial_filter(flam3_frame *spec, int field, double **filter);
+flam3_de_helper flam3_create_de_filters(double max_rad, double min_rad, double curve, int ss);
+double flam3_create_temporal_filter(int numsteps, int filter_type, double filter_exp, double filter_width,
+ double **temporal_filter, double **temporal_deltas);
+
+#endif
+
+
diff --git a/src/flam3-animate.c b/src/flam3-animate.c
new file mode 100644
index 0000000..7f00676
--- /dev/null
+++ b/src/flam3-animate.c
@@ -0,0 +1,342 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+
+#include "private.h"
+#include "img.h"
+#include "isaacs.h"
+
+int main(int argc, char **argv) {
+ char *ai, *fname;
+ char flamename[256];
+ char *prefix = args("prefix", "");
+ int first_frame = argi("begin", 0);
+ int last_frame = argi("end", 0);
+ int frame_time = argi("time", 0);
+ int dtime = argi("dtime", 1);
+ int do_fields = argi("fields", 0);
+ int write_genome = argi("write_genome",0);
+ double qs = argf("qs", 1.0);
+ double ss = argf("ss", 1.0);
+ char *format = getenv("format");
+ int verbose = argi("verbose", 1);
+ int transparency = argi("transparency", 0);
+ int bits = argi("bits", 33);
+ int sub_batch_size = argi("sub_batch_size", 10000);
+ int bpc = argi("bpc",8);
+ int earlyclip = argi("earlyclip",0);
+ int ftime, channels;
+ unsigned char *image;
+ flam3_genome *cps,center_cp;
+ int i, ncps = 0;
+ char *inf = getenv("in");
+ double pixel_aspect = argf("pixel_aspect", 1.0);
+ int num_threads = argi("nthreads",0);
+ FILE *in,*fp,*genfp;
+ flam3_frame f;
+ flam3_img_comments fpc;
+ stat_struct stats,stats2;
+
+ char badval_string[64];
+ char numiter_string[64];
+ char rtime_string[64];
+
+#ifdef WIN32
+
+ char *slashloc;
+ char exepath[256];
+ char palpath[256];
+ memset(exepath,0,256);
+ memset(palpath,0,256);
+ slashloc = strrchr(argv[0],'\\');
+ if (NULL==slashloc) {
+ sprintf(palpath,"flam3_palettes=flam3-palettes.xml");
+ } else {
+ strncpy(exepath,argv[0],slashloc-argv[0]+1);
+ sprintf(palpath,"flam3_palettes=%sflam3-palettes.xml",exepath);
+ }
+ putenv(palpath);
+
+#endif
+
+
+ memset(&center_cp,0, sizeof(flam3_genome));
+
+ if (1 != argc) {
+ docstring();
+ exit(0);
+ }
+
+ /* Init random number generators */
+ flam3_init_frame(&f);
+ flam3_srandom();
+
+ /* Set the number of threads */
+ if (num_threads==0) {
+ num_threads = flam3_count_nthreads();
+ if (verbose > 1)
+ fprintf(stderr,"Automatically detected %d core(s)...\n",num_threads);
+ } else{
+ if (verbose)
+ fprintf(stderr,"Manually specified %d thread(s)...\n",num_threads);
+ }
+
+ if (getenv("frame")) {
+ if (getenv("time")) {
+ fprintf(stderr, "cannot specify both time and frame.\n");
+ exit(1);
+ }
+ if (getenv("begin") || getenv("end")) {
+ fprintf(stderr, "cannot specify both frame and begin or end.\n");
+ exit(1);
+ }
+ first_frame = last_frame = atoi(getenv("frame"));
+ }
+
+ if (getenv("time")) {
+ if (getenv("begin") || getenv("end")) {
+ fprintf(stderr, "cannot specify both time and begin or end.\n");
+ exit(1);
+ }
+ first_frame = last_frame = frame_time;
+ }
+
+ if (NULL == format) format = "png";
+ if (strcmp(format, "jpg") &&
+ strcmp(format, "ppm") &&
+ strcmp(format, "png")) {
+ fprintf(stderr, "format must be either jpg, ppm, or png, not %s.\n", format);
+ exit(1);
+ }
+
+
+ if (pixel_aspect <= 0.0) {
+ fprintf(stderr, "pixel aspect ratio must be positive, not %g.\n",
+ pixel_aspect);
+ exit(1);
+ }
+
+ if (inf)
+ in = fopen(inf, "rb");
+ else
+ in = stdin;
+ if (NULL == in) {
+ perror(inf);
+ exit(1);
+ }
+
+ cps = flam3_parse_from_file(in, inf, flam3_defaults_on, &ncps);
+ if (inf)
+ fclose(in);
+ if (NULL == cps) {
+ fprintf(stderr," error reading genomes.\n");
+ exit(1);
+ }
+ if (0 == ncps) {
+ fprintf(stderr, "error: no genomes.\n");
+ exit(1);
+ }
+ for (i = 0; i < ncps; i++) {
+ cps[i].sample_density *= qs;
+ cps[i].height = (int)(cps[i].height * ss);
+ cps[i].width = (int)(cps[i].width * ss);
+ cps[i].pixels_per_unit *= ss;
+ if (cps[i].height<=0 || cps[i].width<=0) {
+ fprintf(stderr,"output image has dimension <=0, aborting.\n");
+ exit(1);
+ }
+ if (i > 0 && cps[i].time <= cps[i-1].time) {
+ fprintf(stderr, "error: control points must be sorted by time, but %g <= %g, index %d.\n",
+ cps[i].time, cps[i-1].time, i);
+ exit(1);
+ }
+ if ((cps[i].width != cps[0].width) ||
+ (cps[i].height != cps[0].height)) {
+ fprintf(stderr, "warning: flame %d at time %g size mismatch. "
+ "(%d,%d) should be (%d,%d).\n",
+ i, cps[i].time,
+ cps[i].width, cps[i].height,
+ cps[0].width, cps[0].height);
+ cps[i].width = cps[0].width;
+ cps[i].height = cps[0].height;
+ }
+ }
+ if (!getenv("time") && !getenv("frame")) {
+ if (!getenv("begin")) {
+ first_frame = (int) cps[0].time;
+ }
+ if (!getenv("end")) {
+ last_frame = (int) cps[ncps-1].time - 1;
+ if (last_frame < first_frame) last_frame = first_frame;
+ }
+ }
+ channels = strcmp(format, "png") ? 3 : 4;
+
+ /* Check for 16-bit-per-channel processing */
+ if ( (16 == bpc) && (strcmp(format,"png") != 0)) {
+ fprintf(stderr,"Support for 16 bpc images is only present for the png format.\n");
+ exit(1);
+ } else if (bpc != 8 && bpc != 16) {
+ fprintf(stderr,"Unexpected bpc specified (%d)\n",bpc);
+ exit(1);
+ }
+
+// f.temporal_filter_radius = argf("blur", 0.5);
+ f.pixel_aspect_ratio = pixel_aspect;
+ f.genomes = cps;
+ f.ngenomes = ncps;
+ f.verbose = verbose;
+ f.bits = bits;
+ f.progress = 0;
+ f.earlyclip = earlyclip;
+ f.nthreads = num_threads;
+ f.sub_batch_size = sub_batch_size;
+
+ if (16==bpc)
+ f.bytes_per_channel = 2;
+ else
+ f.bytes_per_channel = 1;
+
+
+ image = (void *) malloc((size_t)channels *
+ (size_t)cps[0].width *
+ (size_t)cps[0].height * f.bytes_per_channel);
+
+ if (dtime < 1) {
+ fprintf(stderr, "dtime must be positive, not %d.\n", dtime);
+ exit(1);
+ }
+
+ for (ftime = first_frame; ftime <= last_frame; ftime += dtime) {
+ f.time = (double) ftime;
+
+ if (verbose && ((last_frame-first_frame)/dtime) >= 1) {
+ fprintf(stderr, "time = %d/%d/%d\n", ftime, last_frame, dtime);
+ }
+
+ if (do_fields) {
+
+ if (flam3_render(&f, image, flam3_field_even, channels, transparency,&stats)) {
+ fprintf(stderr,"error rendering image: aborting.\n");
+ exit(1);
+ }
+ f.time += 0.5;
+ if (flam3_render(&f, image, flam3_field_odd, channels, transparency,&stats2)) {
+ fprintf(stderr,"error rendering image: aborting.\n");
+ exit(1);
+ }
+
+ stats.badvals+=stats2.badvals;
+ stats.render_seconds+=stats2.render_seconds;
+ stats.num_iters+=stats2.num_iters;
+ } else {
+ if (flam3_render(&f, image, flam3_field_both, channels, transparency,&stats)) {
+ fprintf(stderr,"error rendering image: aborting.\n");
+ exit(1);
+ }
+ }
+
+ if (getenv("out"))
+ fname = getenv("out");
+ else {
+ fname = malloc(strlen(prefix) + 20);
+ sprintf(fname, "%s%05d.%s", prefix, ftime, format);
+ }
+
+ if (verbose)
+ fprintf(stderr, "writing %s...", fname);
+
+ if (write_genome) {
+ sprintf(flamename,"%s.flam3",fname);
+
+ /* get center genome */
+ flam3_interpolate(f.genomes, f.ngenomes, f.time, 0, &center_cp);
+
+ /* write it out */
+ genfp = fopen(flamename,"w");
+ if (NULL == genfp) {
+ perror(flamename);
+ exit(1);
+ }
+
+ flam3_print(genfp, &center_cp, NULL, flam3_print_edits);
+
+ fclose(genfp);
+ }
+
+ fp = fopen(fname, "wb");
+ if (NULL == fp) {
+ perror(fname);
+ exit(1);
+ }
+
+ /* Get center cp for embedding in png file */
+ flam3_interpolate(f.genomes, f.ngenomes, f.time, 0, &center_cp);
+
+ /* Convert to string */
+ fpc.genome = flam3_print_to_string(&center_cp);
+ sprintf(badval_string, "%g",stats.badvals/(double)stats.num_iters);
+ fpc.badvals = badval_string;
+ sprintf(numiter_string,"%g",(double)stats.num_iters);
+ fpc.numiters = numiter_string;
+ sprintf(rtime_string,"%d",stats.render_seconds);
+ fpc.rtime = rtime_string;
+
+ if (!strcmp(format, "png")) {
+
+ write_png(fp, image, cps[0].width, cps[0].height, &fpc, 1);
+
+ } else if (!strcmp(format, "jpg")) {
+
+ write_jpeg(fp, image, cps[0].width, cps[0].height, &fpc);
+
+ } else {
+ int size = 3 * cps[0].width * cps[0].height;
+ fprintf(fp, "P6\n");
+ fprintf(fp, "%d %d\n255\n", cps[0].width, cps[0].height);
+ if (size != fwrite(image, 1, size, fp)) {
+ perror(fname);
+ }
+ }
+
+ /* Free string */
+ free(fpc.genome);
+
+ clear_cp(&center_cp,0);
+
+ fclose(fp);
+
+ if (!getenv("out"))
+ free(fname);
+
+ }
+
+ for (i = 0; i < ncps; i++) {
+ xmlFreeDoc(cps[i].edits);
+ clear_cp(&cps[i],0);
+ }
+ free(cps);
+
+ free(image);
+
+ if (verbose)
+ fprintf(stderr, "done.\n");
+
+ fflush(stderr);
+ return 0;
+}
diff --git a/src/flam3-animate.man b/src/flam3-animate.man
new file mode 100644
index 0000000..b754356
--- /dev/null
+++ b/src/flam3-animate.man
@@ -0,0 +1,36 @@
+.TH flam3-animate 1 "" ""
+.SH NAME
+flam3-animate
+flam3-render
+flam3-genome
+flam3-convert - render and animate FLAM3s and manipulate their genomes
+.SH SYNOPSIS
+.B flam3-render < input
+
+.SH DESCRIPTION
+
+FLAM3 implements a visual language based on a recursive set equation.
+
+Flam3-genome creates and manipulates genomes (xml parameter sets) in
+this language. Flam3-render turns genomes into still images, and
+Flam3-animate renders motion-blurred frames of animation.
+
+Flam3-convert reads from stdin files in the old format used by the
+flame GIMP plugin, and writes the new format to stdout.
+
+.SH OPTIONS
+
+Any command line option will cause the program to write its
+documentation to standard out.
+
+.SH ENVIRONMENT
+
+The environment variables are in the documention written to standard
+out given any command line option.
+
+.SH SEE ALSO
+.BR WWW.FLAM3.COM,
+.BR electricsheep (1),
+
+.SH AUTHOR
+spot aka Scott Draves, Erik Reckase
diff --git a/src/flam3-convert.c b/src/flam3-convert.c
new file mode 100644
index 0000000..3062a4b
--- /dev/null
+++ b/src/flam3-convert.c
@@ -0,0 +1,239 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#include "private.h"
+
+
+#define MAXARGS 1000
+#define streql(x,y) (!strcmp(x,y))
+
+
+/*
+ * split a string passed in ss into tokens on whitespace.
+ * # comments to end of line. ; terminates the record
+ */
+void tokenize(ss, argv, argc)
+ char **ss;
+ char *argv[];
+ int *argc;
+{
+ char *s = *ss;
+ int i = 0, state = 0;
+
+ while (*s != ';') {
+ char c = *s;
+ switch (state) {
+ case 0:
+ if ('#' == c)
+ state = 2;
+ else if (!isspace(c)) {
+ argv[i] = s;
+ i++;
+ state = 1;
+ }
+ case 1:
+ if (isspace(c)) {
+ *s = 0;
+ state = 0;
+ }
+ case 2:
+ if ('\n' == c)
+ state = 0;
+ }
+ s++;
+ }
+ *s = 0;
+ *ss = s+1;
+ *argc = i;
+}
+
+/*
+ * given a pointer to a string SS, fill fields of a control point CP.
+ * return a pointer to the first unused char in SS. totally barfucious,
+ * must integrate with tcl soon...
+ */
+
+void parse_control_point_old(char **ss, flam3_genome *cp) {
+ char *argv[MAXARGS];
+ int argc, i, j;
+ int set_cm = 0, set_image_size = 0, set_nbatches = 0, set_white_level = 0, set_cmap_inter = 0;
+ int set_spatial_oversample = 0, set_hr = 0;
+ double *slot, xf, cm, t, nbatches, white_level, spatial_oversample, cmap_inter;
+ double image_size[2];
+
+ memset(cp, 0, sizeof(flam3_genome));
+
+ flam3_add_xforms(cp, flam3_nxforms, 0, 0);
+
+ for (i = 0; i < flam3_nxforms; i++) {
+ cp->xform[i].density = 0.0;
+ cp->xform[i].color = i&1;
+ cp->xform[i].color_speed = 0.5;
+ cp->xform[i].animate = 1.0;
+ cp->xform[i].var[0] = 1.0;
+ for (j = 1; j < flam3_nvariations; j++)
+ cp->xform[i].var[j] = 0.0;
+ cp->xform[i].c[0][0] = 1.0;
+ cp->xform[i].c[0][1] = 0.0;
+ cp->xform[i].c[1][0] = 0.0;
+ cp->xform[i].c[1][1] = 1.0;
+ cp->xform[i].c[2][0] = 0.0;
+ cp->xform[i].c[2][1] = 0.0;
+ }
+
+ tokenize(ss, argv, &argc);
+ for (i = 0; i < argc; i++) {
+ if (streql("xform", argv[i]))
+ slot = &xf;
+ else if (streql("time", argv[i]))
+ slot = &cp->time;
+ else if (streql("brightness", argv[i]))
+ slot = &cp->brightness;
+ else if (streql("contrast", argv[i]))
+ slot = &cp->contrast;
+ else if (streql("gamma", argv[i]))
+ slot = &cp->gamma;
+ else if (streql("vibrancy", argv[i]))
+ slot = &cp->vibrancy;
+ else if (streql("hue_rotation", argv[i])) {
+ slot = &cp->hue_rotation;
+ set_hr = 1;
+ } else if (streql("zoom", argv[i]))
+ slot = &cp->zoom;
+ else if (streql("image_size", argv[i])) {
+ slot = image_size;
+ set_image_size = 1;
+ } else if (streql("center", argv[i]))
+ slot = cp->center;
+ else if (streql("background", argv[i]))
+ slot = cp->background;
+ else if (streql("pixels_per_unit", argv[i]))
+ slot = &cp->pixels_per_unit;
+ else if (streql("spatial_filter_radius", argv[i]))
+ slot = &cp->spatial_filter_radius;
+ else if (streql("sample_density", argv[i]))
+ slot = &cp->sample_density;
+ else if (streql("nbatches", argv[i])) {
+ slot = &nbatches;
+ set_nbatches = 1;
+ } else if (streql("white_level", argv[i])) {
+ slot = &white_level;
+ set_white_level = 1;
+ } else if (streql("spatial_oversample", argv[i])) {
+ slot = &spatial_oversample;
+ set_spatial_oversample = 1;
+ } else if (streql("cmap", argv[i])) {
+ slot = &cm;
+ set_cm = 1;
+ } else if (streql("palette", argv[i])) {
+ slot = &cp->palette[0].color[0];
+ } else if (streql("density", argv[i]))
+ slot = &cp->xform[(int)xf].density;
+ else if (streql("color", argv[i]))
+ slot = &cp->xform[(int)xf].color;
+ else if (streql("coefs", argv[i])) {
+ slot = cp->xform[(int)xf].c[0];
+ cp->xform[(int)xf].density = 1.0;
+ } else if (streql("var", argv[i]))
+ slot = cp->xform[(int)xf].var;
+ else if (streql("cmap_inter", argv[i])) {
+ slot = &cmap_inter;
+ set_cmap_inter = 1;
+ } else
+ *slot++ = atof(argv[i]);
+ }
+ if (set_cm) {
+ double hr = set_hr ? cp->hue_rotation : 0.0;
+ cp->palette_index = (int) cm;
+ flam3_get_palette(cp->palette_index, cp->palette, hr);
+ }
+ if (set_image_size) {
+ cp->width = (int) image_size[0];
+ cp->height = (int) image_size[1];
+ }
+ if (set_nbatches)
+ cp->nbatches = (int) nbatches;
+ if (set_spatial_oversample)
+ cp->spatial_oversample = (int) spatial_oversample;
+ if (set_white_level) {
+ /* ignore */
+ }
+ for (i = 0; i < flam3_nxforms; i++) {
+ t = 0.0;
+ for (j = 0; j < flam3_nvariations; j++)
+ t += cp->xform[i].var[j];
+ t = 1.0 / t;
+ for (j = 0; j < flam3_nvariations; j++)
+ cp->xform[i].var[j] *= t;
+ }
+}
+
+int
+main(int argc, char **argv)
+{
+ char *s, *ss;
+
+#ifdef WIN32
+
+ char *slashloc;
+ char palpath[256],exepath[256];
+
+ slashloc = strrchr(argv[0],'\\');
+ if (NULL==slashloc) {
+ sprintf(palpath,"flam3_palettes=flam3-palettes.xml");
+ } else {
+ strncpy(exepath,argv[0],slashloc-argv[0]+1);
+ sprintf(palpath,"flam3_palettes=%sflam3-palettes.xml",exepath);
+ }
+ putenv(palpath);
+
+#endif
+
+ if (1 != argc) {
+ docstring();
+ exit(0);
+ }
+
+ {
+ int i, c, slen = 5000;
+ s = malloc(slen);
+ i = 0;
+ do {
+ c = getchar();
+ if (EOF == c) goto done_reading;
+ s[i++] = c;
+ if (i == slen-1) {
+ slen *= 2;
+ s = realloc(s, slen);
+ }
+ } while (1);
+ done_reading:
+ s[i] = 0;
+ }
+
+ ss = s;
+ s += strlen(s);
+ printf("<conversions>\n");
+ while (strchr(ss, ';')) {
+ flam3_genome cp;
+ parse_control_point_old(&ss, &cp);
+ flam3_print(stdout, &cp, NULL, flam3_print_edits);
+ }
+ printf("</conversions>\n");
+ return 0;
+}
diff --git a/src/flam3-convert.man b/src/flam3-convert.man
new file mode 100644
index 0000000..b754356
--- /dev/null
+++ b/src/flam3-convert.man
@@ -0,0 +1,36 @@
+.TH flam3-animate 1 "" ""
+.SH NAME
+flam3-animate
+flam3-render
+flam3-genome
+flam3-convert - render and animate FLAM3s and manipulate their genomes
+.SH SYNOPSIS
+.B flam3-render < input
+
+.SH DESCRIPTION
+
+FLAM3 implements a visual language based on a recursive set equation.
+
+Flam3-genome creates and manipulates genomes (xml parameter sets) in
+this language. Flam3-render turns genomes into still images, and
+Flam3-animate renders motion-blurred frames of animation.
+
+Flam3-convert reads from stdin files in the old format used by the
+flame GIMP plugin, and writes the new format to stdout.
+
+.SH OPTIONS
+
+Any command line option will cause the program to write its
+documentation to standard out.
+
+.SH ENVIRONMENT
+
+The environment variables are in the documention written to standard
+out given any command line option.
+
+.SH SEE ALSO
+.BR WWW.FLAM3.COM,
+.BR electricsheep (1),
+
+.SH AUTHOR
+spot aka Scott Draves, Erik Reckase
diff --git a/src/flam3-genome.c b/src/flam3-genome.c
new file mode 100644
index 0000000..1e00e9b
--- /dev/null
+++ b/src/flam3-genome.c
@@ -0,0 +1,1075 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#include "private.h"
+#include "isaacs.h"
+#include "config.h"
+
+int verbose;
+
+char *get_extras() {
+ char *e = getenv("extras");
+ return e;
+}
+
+void gprint(flam3_genome *cp, int extras) {
+ if (getenv("noedits"))
+ flam3_print(stdout, cp, extras ? get_extras() : NULL, flam3_dont_print_edits);
+ else
+ flam3_print(stdout, cp, extras ? get_extras() : NULL, flam3_print_edits);
+}
+
+
+void test_cp(flam3_genome *cp) {
+ cp->time = 0.0;
+ cp->interpolation = flam3_interpolation_linear;
+ cp->palette_interpolation = flam3_palette_interpolation_hsv;
+ cp->background[0] = 0.0;
+ cp->background[1] = 0.0;
+ cp->background[2] = 0.0;
+ cp->center[0] = 0.0;
+ cp->center[1] = 0.0;
+ cp->rotate = 0.0;
+ cp->pixels_per_unit = 64;
+ cp->width = 128;
+ cp->height = 128;
+ cp->spatial_oversample = 1;
+ cp->spatial_filter_radius = 0.5;
+ cp->spatial_filter_select = 0;
+ cp->zoom = 0.0;
+ cp->sample_density = 1;
+ cp->nbatches = 1;
+ cp->ntemporal_samples = 1;
+ cp->estimator = 0.0;
+ cp->estimator_minimum = 0.0;
+ cp->estimator_curve = 0.6;
+}
+
+flam3_genome *string_to_cp(char *s, int *n) {
+ flam3_genome *cp;
+ FILE *fp;
+
+ fp = fopen(s, "rb");
+ if (NULL == fp) {
+ perror(s);
+ exit(1);
+ }
+ cp = flam3_parse_from_file(fp, s, flam3_defaults_on, n);
+ if (NULL == cp) {
+ fprintf(stderr, "could not read genome from %s.\n", s);
+ exit(1);
+ }
+ return cp;
+}
+
+xmlDocPtr create_new_editdoc(char *action, flam3_genome *parent0, flam3_genome *parent1) {
+
+ xmlDocPtr doc = NULL, comment_doc = NULL;
+ xmlNodePtr root_node = NULL, node = NULL, nodecopy = NULL;
+ xmlNodePtr root_comment = NULL;
+ struct tm *localt;
+ time_t mytime;
+ char *ai;
+ char timestring[100];
+ char *nick = getenv("nick");
+ char *url = getenv("url");
+ char *id = getenv("id");
+ char *comment = getenv("comment");
+ int sheep_gen = argi("sheep_gen",-1);
+ int sheep_id = argi("sheep_id",-1);
+ char buffer[100];
+ char comment_string[100];
+
+ doc = xmlNewDoc( (const xmlChar *)"1.0");
+
+ /* Create the root node, called "edit" */
+ root_node = xmlNewNode(NULL, (const xmlChar *)"edit");
+ xmlDocSetRootElement(doc,root_node);
+ /* Add the edit attributes */
+
+ /* date */
+ mytime = time(NULL);
+ localt = localtime(&mytime);
+ /* XXX use standard time format including timezone */
+ strftime(timestring, 100, "%a %b %e %H:%M:%S %z %Y", localt);
+ xmlNewProp(root_node, (const xmlChar *)"date", (const xmlChar *)timestring);
+
+ /* nick */
+ if (nick) {
+ xmlNewProp(root_node, (const xmlChar *)"nick", (const xmlChar *)nick);
+ }
+
+ /* url */
+ if (url) {
+ xmlNewProp(root_node, (const xmlChar *)"url", (const xmlChar *)url);
+ }
+
+ if (id) {
+ xmlNewProp(root_node, (const xmlChar *)"id", (const xmlChar *)id);
+ }
+
+ /* action */
+ xmlNewProp(root_node, (const xmlChar *)"action", (const xmlChar *)action);
+
+ /* sheep info */
+ if (sheep_gen > 0 && sheep_id > 0) {
+ /* Create a child node of the root node called sheep */
+ node = xmlNewChild(root_node, NULL, (const xmlChar *)"sheep", NULL);
+
+ /* Create the sheep attributes */
+ sprintf(buffer, "%d", sheep_gen);
+ xmlNewProp(node, (const xmlChar *)"generation", (const xmlChar *)buffer);
+
+ sprintf(buffer, "%d", sheep_id);
+ xmlNewProp(node, (const xmlChar *)"id", (const xmlChar *)buffer);
+ }
+
+ /* Check for the parents */
+ /* If Parent 0 not specified, this is a randomly generated genome. */
+ if (parent0) {
+ if (parent0->edits) {
+ /* Copy the node from the parent */
+ node = xmlDocGetRootElement(parent0->edits);
+ nodecopy = xmlCopyNode(node, 1);
+ xmlNewProp(nodecopy,(const xmlChar *)"filename", (const xmlChar *)parent0->parent_fname);
+ sprintf(buffer,"%d",parent0->genome_index);
+ xmlNewProp(nodecopy,(const xmlChar *)"index", (const xmlChar *)buffer);
+ xmlAddChild(root_node, nodecopy);
+ } else {
+ /* Insert a (parent has no edit) message */
+ nodecopy = xmlNewChild(root_node, NULL, (const xmlChar *)"edit",NULL);
+ xmlNewProp(nodecopy,(const xmlChar *)"filename", (const xmlChar *)parent0->parent_fname);
+ sprintf(buffer,"%d",parent0->genome_index);
+ xmlNewProp(nodecopy,(const xmlChar *)"index", (const xmlChar *)buffer);
+
+ }
+ }
+
+ if (parent1) {
+
+ if (parent1->edits) {
+ /* Copy the node from the parent */
+ node = xmlDocGetRootElement(parent1->edits);
+ nodecopy = xmlCopyNode(node, 1);
+ xmlNewProp(nodecopy,(const xmlChar *)"filename", (const xmlChar *)parent1->parent_fname);
+ sprintf(buffer,"%d",parent1->genome_index);
+ xmlNewProp(nodecopy,(const xmlChar *)"index", (const xmlChar *)buffer);
+ xmlAddChild(root_node, nodecopy);
+ } else {
+ /* Insert a (parent has no edit) message */
+ nodecopy = xmlNewChild(root_node, NULL, (const xmlChar *)"edit",NULL);
+ xmlNewProp(nodecopy,(const xmlChar *)"filename", (const xmlChar *)parent1->parent_fname);
+ sprintf(buffer,"%d",parent1->genome_index);
+ xmlNewProp(nodecopy,(const xmlChar *)"index", (const xmlChar *)buffer);
+ }
+ }
+
+ /* Comment string */
+ /* This one's hard, since we have to treat the comment string as */
+ /* a valid XML document. Create a new document using the comment */
+ /* string as the in-memory document, and then copy all children of */
+ /* the root node into the edit structure */
+ /* Parsing the comment string should be done once and then copied */
+ /* for each call to create_new_editdoc, but that's for later. */
+ if (comment) {
+
+ sprintf(comment_string,"<comm>%s</comm>",comment);
+
+ comment_doc = xmlReadMemory(comment_string, strlen(comment_string), "comment.env", NULL, XML_PARSE_NONET);
+
+ /* Check for errors */
+ if (comment_doc==NULL) {
+ fprintf(stderr, "Failed to parse comment into XML!\n");
+ exit(1);
+ }
+
+ /* Loop through the children of the new document and copy */
+ /* them into the root_node */
+ root_comment = xmlDocGetRootElement(comment_doc);
+
+ for (node=root_comment->children; node; node = node->next) {
+
+ nodecopy = xmlCopyNode(node,1);
+ xmlAddChild(root_node, nodecopy);
+ }
+
+ /* Free the created document */
+ xmlFreeDoc(comment_doc);
+ }
+
+
+ /* return the xml doc */
+ return(doc);
+}
+
+void offset(flam3_genome *g) {
+ char *os = getenv("offset");
+ double ox, oy;
+ if (NULL == os) return;
+ sscanf(os, "%lf:%lf", &ox, &oy);
+ g->center[0] += ox / (g->pixels_per_unit * g->spatial_oversample);
+ g->center[1] += oy / (g->pixels_per_unit * g->spatial_oversample);
+}
+
+void spin(int frame, double blend, flam3_genome *parent, flam3_genome *templ)
+{
+ flam3_genome *result;
+ char action[50];
+ xmlDocPtr doc;
+
+ /* Spin the parent blend*360 degrees */
+ result = sheep_loop(parent,blend);
+
+ /* Apply the template if necessary */
+ if (templ)
+ flam3_apply_template(result, templ);
+
+ /* Set genome parameters accordingly */
+ result->time = (double)frame;
+ result->interpolation = flam3_interpolation_linear;
+ result->palette_interpolation = flam3_palette_interpolation_hsv;
+
+ /* Force linear interpolation - unsure if this is still necessary */
+ /* I believe we put this in so that older clients could render frames */
+// result->interpolation_type = flam3_inttype_linear;
+
+ /* Create the edit doc xml */
+ sprintf(action,"rotate %g",blend*360.0);
+ doc = create_new_editdoc(action, parent, (flam3_genome *)NULL);
+ result->edits = doc;
+
+ /* Subpixel jitter */
+ offset(result);
+
+ /* Make the name of the flame the time */
+ sprintf(result->flame_name,"%f",result->time);
+
+ /* Print the resulting xml */
+ gprint(result, 1);
+
+ /* Clear out the xml doc */
+ xmlFreeDoc(result->edits);
+
+ /* Clear the result cp */
+ clear_cp(result,flam3_defaults_on);
+
+ /* Free the cp allocated in flam3_sheep_loop */
+ free(result);
+}
+
+void spin_inter(int frame, double blend, int seqflag, flam3_genome *parents, flam3_genome *templ) {
+
+ flam3_genome *result;
+ char action[50];
+ xmlDocPtr doc;
+ char *ai;
+ double stagger = argf("stagger", 0.0);
+
+ /* Interpolate between spun parents */
+ result = sheep_edge(parents, blend, seqflag, stagger);
+
+ /* Unsure why we check for random palettes on both ends... */
+ if ((parents[0].palette_index != flam3_palette_random) &&
+ (parents[1].palette_index != flam3_palette_random)) {
+
+ result->palette_index = flam3_palette_interpolated;
+ result->palette_index0 = parents[0].palette_index;
+ result->hue_rotation0 = parents[0].hue_rotation;
+ result->palette_index1 = parents[1].palette_index;
+ result->hue_rotation1 = parents[1].hue_rotation;
+ result->palette_blend = blend;
+ }
+
+ /* Apply template if necessary */
+ if (templ)
+ flam3_apply_template(result, templ);
+
+ /* Set genome attributes */
+ result->time = (double)frame;
+// result->interpolation_type = flam3_inttype_linear;
+
+ /* Create the edit doc xml */
+ sprintf(action,"interpolate %g",blend*360.0);
+ doc = create_new_editdoc(action, &parents[0], &parents[1]);
+ result->edits = doc;
+
+ /* Subpixel jitter */
+ offset(result);
+
+ /* Make the name of the flame the time */
+ sprintf(result->flame_name,"%f",result->time);
+
+ /* Print the genome */
+ gprint(result, 1);
+
+ /* Clean up */
+ xmlFreeDoc(result->edits);
+
+ /* Free genome storage */
+ clear_cp(result,flam3_defaults_on);
+ free(result);
+}
+
+void truncate_variations(flam3_genome *g, int max_vars, char *action) {
+ int i, j, nvars, smallest;
+ double sv=0;
+ char trunc_note[30];
+
+ for (i = 0; i < g->num_xforms; i++) {
+ double d = g->xform[i].density;
+
+/* if (0.0 < d && d < 0.001) */
+
+ if (d < 0.001 && (g->final_xform_index != i)) {
+ sprintf(trunc_note," trunc_density %d",i);
+ //strcat(action,trunc_note);
+ add_to_action(action,trunc_note);
+ flam3_delete_xform(g, i);
+
+/* g->xform[i].density = 0.0;
+ } else if (d > 0.0) {
+*/
+ } else {
+ do {
+ nvars = 0;
+ smallest = -1;
+ for (j = 0; j < flam3_nvariations; j++) {
+ double v = g->xform[i].var[j];
+ if (v != 0.0) {
+ nvars++;
+ if (-1 == smallest || fabs(v) < sv) {
+ smallest = j;
+ sv = fabs(v);
+ }
+ }
+ }
+ if (nvars > max_vars) {
+ sprintf(trunc_note," trunc %d %d",i,smallest);
+ //strcat(action,trunc_note);
+ add_to_action(action,trunc_note);
+ g->xform[i].var[smallest] = 0.0;
+ }
+ } while (nvars > max_vars);
+ }
+ }
+}
+
+static double golden_bit(randctx *rc) {
+ return flam3_random_isaac_bit(rc)?0.38196:0.61804;
+}
+
+int
+main(argc, argv)
+ int argc;
+ char **argv;
+{
+ int debug = 0;
+ int count;
+ char *ai;
+ unsigned char *image;
+ flam3_genome *templ = NULL;
+ flam3_genome cp_orig, cp_save;
+ int i, j;
+ double avg_pix, fraction_black, fraction_white;
+ double avg_thresh = argf("avg", 20.0);
+ double black_thresh = argf("black", 0.01);
+ double white_limit = argf("white", 0.05);
+ int nframes = argi("nframes", 100);
+ int sym = argi("symmetry", 0);
+ int enclosed = argi("enclosed", 1);
+ char *clone = getenv("clone");
+ char *clone_all = getenv("clone_all");
+ char *animate = getenv("animate");
+ char *mutate = getenv("mutate");
+ char *cross0 = getenv("cross0");
+ char *cross1 = getenv("cross1");
+ char *method = getenv("method");
+ char *inter = getenv("inter");
+ char *rotate = getenv("rotate");
+ char *strip = getenv("strip");
+ char *sequence = getenv("sequence");
+ int loops = argi("loops", 1);
+ int frame = argi("frame", 0);
+ int rep, repeat = argi("repeat", 1);
+ double speed = argf("speed", 0.1);
+ int bits = argi("bits", 33);
+ int ntries = argi("tries", 10);
+ char *use_vars = getenv("use_vars");
+ char *dont_use_vars = getenv("dont_use_vars");
+ flam3_genome *parent0=NULL, *parent1=NULL;
+ flam3_genome selp0, selp1;
+ flam3_genome *aselp0, *aselp1;
+ int parent0_n, parent1_n;
+ int num_threads = 1;
+ flam3_genome *cp;
+ int ncp;
+
+ int ivars[max_specified_vars];
+ int novars[max_specified_vars];
+ int num_ivars = 0;
+ int num_novars = 0;
+ char *var_tok;
+
+ flam3_frame f;
+ char action[flam3_max_action_length];
+
+ stat_struct stats;
+
+
+
+#ifdef WIN32
+
+ char *slashloc;
+ char exepath[256];
+ char palpath[256];
+ memset(exepath,0,256);
+ memset(palpath,0,256);
+ slashloc = strrchr(argv[0],'\\');
+ if (NULL==slashloc) {
+ sprintf(palpath,"flam3_palettes=flam3-palettes.xml");
+ } else {
+ strncpy(exepath,argv[0],slashloc-argv[0]+1);
+ sprintf(palpath,"flam3_palettes=%sflam3-palettes.xml",exepath);
+ }
+ putenv(palpath);
+
+#endif
+
+
+ verbose = argi("verbose", 0);
+
+ memset(&cp_orig, 0, sizeof(flam3_genome));
+ memset(&cp_save, 0, sizeof(flam3_genome));
+ memset(&selp0, 0, sizeof(flam3_genome));
+ memset(&selp1, 0, sizeof(flam3_genome));
+
+ if (1 != argc) {
+ docstring();
+ exit(0);
+ }
+
+ /* Init random number generators */
+ flam3_init_frame(&f);
+ flam3_srandom();
+
+ //f.temporal_filter_radius = 0.0;
+ f.bits = bits;
+ f.bytes_per_channel = 1;
+ f.earlyclip = 1;
+ f.verbose = 0;
+ f.genomes = &cp_orig;
+ f.ngenomes = 1;
+ f.pixel_aspect_ratio = 1.0;
+ f.progress = 0;
+ f.nthreads = num_threads;
+ f.sub_batch_size = 10000;
+ test_cp(&cp_orig); // just for the width & height
+
+ /* Are the variations to be used specified? */
+ if (use_vars && dont_use_vars) {
+ fprintf(stderr,"use_vars and dont_use_vars cannot both be specified. Terminating.\n");
+ exit(-1);
+ }
+
+ /* Specify reasonable defaults if nothing is specified */
+ if (!use_vars && !dont_use_vars) {
+ novars[num_novars++] = VAR_NOISE;
+ novars[num_novars++] = VAR_BLUR;
+ novars[num_novars++] = VAR_GAUSSIAN_BLUR;
+ novars[num_novars++] = VAR_RADIAL_BLUR;
+ novars[num_novars++] = VAR_NGON;
+ novars[num_novars++] = VAR_SQUARE;
+ novars[num_novars++] = VAR_RAYS;
+ novars[num_novars++] = VAR_CROSS;
+ novars[num_novars++] = VAR_PRE_BLUR;
+ novars[num_novars++] = VAR_SEPARATION;
+ novars[num_novars++] = VAR_SPLIT;
+ novars[num_novars++] = VAR_SPLITS;
+
+
+
+ /* Loop over the novars and set ivars to the complement */
+ for (i=0;i<flam3_nvariations;i++) {
+ for (j=0;j<num_novars;j++) {
+ if (novars[j] == i)
+ break;
+ }
+ if (j==num_novars)
+ ivars[num_ivars++] = i;
+ }
+
+ } else {
+
+ if (use_vars) {
+ /* Parse comma-separated list of variations to use */
+ var_tok = strtok(use_vars,",");
+ ivars[num_ivars++] = atoi(var_tok);
+ while(1) {
+ var_tok = strtok(NULL,",");
+
+ if (var_tok==NULL)
+ break;
+
+ ivars[num_ivars++] = atoi(var_tok);
+
+ if (num_ivars==max_specified_vars) {
+ fprintf(stderr,"Maximum number of user-specified variations exceeded. Truncating.\n");
+ break;
+ }
+ }
+
+ /* Error checking */
+ for (i=0;i<num_ivars;i++) {
+ if (ivars[i]<0 || ivars[i]>=flam3_nvariations) {
+ fprintf(stderr,"specified variation list includes bad value. (%d)\n",ivars[i]);
+ exit(1);
+ }
+ }
+ } else if (dont_use_vars) {
+ /* Parse comma-separated list of variations NOT to use */
+ var_tok = strtok(dont_use_vars,",");
+ novars[num_novars++] = atoi(var_tok);
+ while(1) {
+ var_tok = strtok(NULL,",");
+
+ if (var_tok==NULL)
+ break;
+
+ novars[num_novars++] = atoi(var_tok);
+
+ if (num_novars==max_specified_vars) {
+ fprintf(stderr,"Maximum number of user-specified variations exceeded. Truncating.\n");
+ break;
+ }
+ }
+
+ /* Loop over the novars and set ivars to the complement */
+ for (i=0;i<flam3_nvariations;i++) {
+ for (j=0;j<num_novars;j++) {
+ if (novars[j] == i)
+ break;
+ }
+ if (j==num_novars)
+ ivars[num_ivars++] = i;
+ }
+ }
+ }
+
+ if (1 < (!!mutate + !!(cross0 || cross1) +
+ !!inter + !!rotate + !!clone + !!strip )) {
+ fprintf(stderr,
+ "can only specify one of mutate, clone, cross, rotate, strip, or inter.\n");
+ exit(1);
+ }
+
+ if ( (!cross0) ^ (!cross1) ) {
+ fprintf(stderr, "must specify both crossover arguments.\n");
+ exit(1);
+ }
+
+ if (method && (!cross0 && !mutate)) {
+ fprintf(stderr, "cannot specify method unless doing crossover or mutate.\n");
+ exit(1);
+ }
+
+ if (getenv("template")) {
+ char *tf = getenv("template");
+
+ templ = string_to_cp(tf, &ncp);
+ if (1 < ncp) {
+ fprintf(stderr, "more than one control point in template, "
+ "ignoring all but first.\n");
+ } else if (0 == ncp) {
+ fprintf(stderr, "no control points in template.\n");
+ exit(1);
+ }
+
+ }
+
+ /* Methods for genetic manipulation begin here */
+
+ if (clone_all) {
+
+ cp = string_to_cp(clone_all, &ncp);
+
+ printf("<clone_all version=\"FLAM3-%s\">\n", flam3_version());
+ for (i = 0; i < ncp; i++) {
+ if (templ) flam3_apply_template(&cp[i], templ);
+ offset(&cp[i]);
+ gprint(&cp[i], 1);
+ }
+ printf("</clone_all>\n");
+
+ exit(0);
+ }
+
+ if (animate) {
+ flam3_genome interpolated;
+ int first_frame,last_frame;
+ int ftime,iscp;
+ double stagger = argf("stagger", 0.0);
+ cp = string_to_cp(animate, &ncp);
+
+
+ for (i = 0; i < ncp; i++) {
+ if (i > 0 && cp[i].time <= cp[i-1].time) {
+ fprintf(stderr, "error: control points must be sorted by time, but %g <= %g, index %d.\n",
+ cp[i].time, cp[i-1].time, i);
+ exit(1);
+ }
+ /* Strip out all motion elements here */
+ for (j=0;j<cp[i].num_xforms;j++)
+ flam3_delete_motion_elements(&cp[i].xform[j]);
+
+ }
+
+ if (!getenv("begin"))
+ first_frame = (int) cp[0].time;
+ else
+ first_frame = argi("begin",0);
+
+ if (!getenv("end"))
+ last_frame = (int) cp[ncp-1].time;
+ else
+ last_frame = argi("end",0);
+
+ if (last_frame < first_frame) last_frame = first_frame;
+
+ printf("<animate version=\"FLAM3-%s\">\n", flam3_version());
+
+ for (ftime = first_frame; ftime <= last_frame; ftime += 1) {
+ iscp=0;
+ for (i=0;i<ncp;i++) {
+ if ( ftime==cp[i].time ) {
+ flam3_copy(&interpolated, &(cp[i]) );
+ iscp=1;
+ }
+ }
+ if (iscp==0) {
+ flam3_interpolate(cp, ncp, (double)ftime, stagger, &interpolated);
+ for (i=0;i<ncp;i++) {
+ if ( ftime==cp[i].time-1 ) {
+ iscp=1;
+ }
+ }
+ if (iscp==0)
+ interpolated.interpolation_type = flam3_inttype_linear;
+ }
+
+ if (templ) flam3_apply_template(&interpolated, templ);
+ gprint(&interpolated, 1);
+ }
+ printf("</animate>\n");
+ exit(0);
+ }
+
+
+ if (sequence) {
+ double blend, spread;
+ int seqflag;
+ int framecount;
+
+ if (nframes <= 0) {
+ fprintf(stderr, "nframes must be positive, not %d.\n", nframes);
+ exit(1);
+ }
+
+ cp = string_to_cp(sequence, &ncp);
+
+ if (enclosed) printf("<sequence version=\"FLAM3-%s\">\n", flam3_version());
+ spread = 1.0/nframes;
+ framecount = 0;
+#if 1
+ for (i = 0; i < ncp; i++) {
+ if (loops) {
+ for (frame = 0; frame < nframes; frame++) {
+ blend = frame/(double)nframes;
+ spin(framecount++, blend, &cp[i], templ);
+ }
+ }
+ if (i < ncp-1)
+ for (frame = 0; frame < nframes; frame++) {
+ if (0==frame || nframes-1==frame)
+ seqflag=1;
+ else
+ seqflag=0;
+ blend = frame/(double)nframes;
+ spin_inter(framecount++, blend, seqflag, &cp[i], templ);
+ }
+ }
+ spin(framecount, 0.0, &cp[ncp-1], templ);
+#else
+ if (1) {
+ flam3_genome res;
+ memset(&res, 0, sizeof(flam3_genome));
+ res.final_xform_index = -1;
+ flam3_add_xforms(&res, cp[0].num_xforms, 0);
+
+ if (ncp < 4) {
+ fprintf(stderr, "catmull-rom requires 4 or more control points.\n");
+ exit(1);
+ }
+ for (i = 0; i < ncp - 3; i++) {
+ for (frame = 0; frame < nframes; frame++) {
+ blend = frame/(double)nframes;
+ interpolate_catmull_rom(cp+i, blend, &res);
+ res.time = frame + i * nframes;
+ gprint(&res, 0);
+ fflush(stdout);
+ }
+ }
+ }
+#endif
+ if (enclosed) printf("</sequence>\n");
+ exit(0);
+ }
+
+ if (inter || rotate) {
+
+ double blend, spread;
+ char *fname = inter?inter:rotate;
+ int ni;
+
+ if (nframes <= 0) {
+ fprintf(stderr, "nframes must be positive, not %d.\n", nframes);
+ exit(1);
+ }
+
+ blend = frame/(double)nframes;
+ spread = 1.0/nframes;
+
+ cp = string_to_cp(fname, &ncp);
+
+ if (enclosed) printf("<pick version=\"FLAM3-%s\">\n", flam3_version());
+ if (rotate) {
+ if (1 != ncp) {
+ fprintf(stderr, "rotation requires one control point, not %d.\n", ncp);
+ exit(1);
+ }
+ spin(frame - 1, blend - spread, cp, templ);
+ spin(frame , blend , cp, templ);
+ spin(frame + 1, blend + spread, cp, templ);
+ } else {
+ if (2 != ncp) {
+ fprintf(stderr, "interpolation requires two control points, not %d.\n", ncp);
+ exit(1);
+ }
+ spin_inter(frame - 1, blend - spread, 0, cp, templ);
+ spin_inter(frame , blend , 0, cp, templ);
+ spin_inter(frame + 1, blend + spread, 0, cp, templ);
+ }
+ if (enclosed) printf("</pick>\n");
+
+ for (ni=0;ni<ncp;ni++) {
+ xmlFreeDoc(cp[ni].edits);
+ clear_cp(&cp[ni],flam3_defaults_on);
+ }
+ free(cp);
+
+ exit(0);
+ }
+
+ if (strip) {
+
+ cp = string_to_cp(strip, &ncp);
+
+ if (enclosed) printf("<pick version=\"FLAM3-%s\">\n", flam3_version());
+
+ for (i = 0; i < ncp; i++) {
+ double old_center[2];
+
+ /* Strip out motion elements */
+ for (j=0;j<cp[i].num_xforms;j++)
+ flam3_delete_motion_elements(&cp[i].xform[j]);
+
+ old_center[0] = cp[i].center[0];
+ old_center[1] = cp[i].center[1];
+ cp[i].height /= nframes;
+ cp[i].center[1] = cp[i].center[1] - ((nframes - 1) * cp[i].height) /
+ (2 * cp[i].pixels_per_unit * pow(2.0, cp[i].zoom));
+ cp[i].center[1] += cp[i].height * frame / ( cp[i].pixels_per_unit * pow(2.0,cp[i].zoom) );
+ rotate_by(cp[i].center, old_center, cp[i].rotate);
+
+ if (templ) flam3_apply_template(&cp[i], templ);
+ offset(&cp[i]);
+ gprint(&cp[i], 1);
+ }
+
+ if (enclosed) printf("</pick>\n");
+ exit(0);
+ }
+
+ /* pick a control point until it looks good enough */
+ if (repeat <= 0) {
+ fprintf(stderr, "repeat must be positive, not %d.\n", repeat);
+ exit(1);
+ }
+
+ if (enclosed) printf("<pick version=\"FLAM3-%s\">\n", flam3_version());
+ image = (unsigned char *) malloc(3 * cp_orig.width * cp_orig.height);
+
+ for (rep = 0; rep < repeat; rep++) {
+
+ if (verbose)
+ fprintf(stderr, "flame = %d/%d..", rep+1, repeat);
+
+ count = 0;
+
+ if (clone) {
+
+ parent0 = string_to_cp(clone, &parent0_n);
+ /* Action is 'clone' with trunc_vars concat */
+ sprintf(action,"clone");
+
+ if (getenv("clone_action"))
+ sprintf(action,"clone %s", getenv("clone_action"));
+
+ flam3_copy(&selp0, &(parent0[random()%parent0_n]));
+ flam3_copy(&cp_save, &selp0);
+ aselp0 = &selp0;
+ aselp1 = NULL;
+ truncate_variations(&cp_save, 5, action);
+
+ cp_save.edits = create_new_editdoc(action, aselp0, aselp1);
+
+ } else {
+ int did_color;
+
+ do {
+
+ int random_mode=0;
+
+ if (verbose) fprintf(stderr, ".");
+ did_color = 0;
+ f.time = (double) 0.0;
+ action[0] = 0;
+
+ if (mutate) {
+ int mutmeth;
+
+ parent0 = string_to_cp(mutate, &parent0_n);
+ flam3_copy(&selp0, &(parent0[((unsigned)irand(&f.rc))%parent0_n]));
+ flam3_copy(&cp_orig, &selp0);
+ aselp0 = &selp0;
+ aselp1 = NULL;
+
+ if (NULL == getenv("method"))
+ mutmeth = MUTATE_NOT_SPECIFIED;
+ else if (!strcmp(method,"all_vars"))
+ mutmeth = MUTATE_ALL_VARIATIONS;
+ else if (!strcmp(method,"one_xform"))
+ mutmeth = MUTATE_ONE_XFORM_COEFS;
+ else if (!strcmp(method,"add_symmetry"))
+ mutmeth = MUTATE_ADD_SYMMETRY;
+ else if (!strcmp(method,"post_xforms"))
+ mutmeth = MUTATE_POST_XFORMS;
+ else if (!strcmp(method,"color_palette"))
+ mutmeth = MUTATE_COLOR_PALETTE;
+ else if (!strcmp(method,"delete_xform"))
+ mutmeth = MUTATE_DELETE_XFORM;
+ else if (!strcmp(method,"all_coefs"))
+ mutmeth = MUTATE_ALL_COEFS;
+ else {
+ fprintf(stderr,"method '%s' not defined for mutate. defaulting to random.\n",method);
+ mutmeth = MUTATE_NOT_SPECIFIED;
+ }
+
+ flam3_mutate(&cp_orig, mutmeth, ivars, num_ivars, sym, speed, &f.rc, action);
+
+ /* Scan string returned for 'mutate color' */
+ if ( strstr(action,"mutate color") )
+ did_color = 1;
+
+ if (cp_orig.flame_name[0]) {
+ char tm[flam3_name_len+1];
+ strncpy(tm, cp_orig.flame_name, flam3_name_len);
+ snprintf(cp_orig.flame_name, flam3_name_len, "mutation %d of %s", rep, tm);
+ }
+
+ } else if (cross0) {
+ int i0, i1;
+ int crossmeth;
+
+ parent0 = string_to_cp(cross0, &parent0_n);
+ parent1 = string_to_cp(cross1, &parent1_n);
+
+ i0 = ((unsigned)irand(&f.rc))%parent0_n;
+ i1 = ((unsigned)irand(&f.rc))%parent1_n;
+
+ flam3_copy(&selp0, &(parent0[i0]));
+ flam3_copy(&selp1, &(parent1[i1]));
+
+ aselp0 = &selp0;
+ aselp1 = &selp1;
+
+ if (NULL == getenv("method"))
+ crossmeth = CROSS_NOT_SPECIFIED;
+ else if (!strcmp(method,"union"))
+ crossmeth = CROSS_UNION;
+ else if (!strcmp(method,"interpolate"))
+ crossmeth = CROSS_INTERPOLATE;
+ else if (!strcmp(method,"alternate"))
+ crossmeth = CROSS_ALTERNATE;
+ else {
+ fprintf(stderr,"method '%s' not defined for cross. defaulting to random.\n",method);
+ crossmeth = CROSS_NOT_SPECIFIED;
+ }
+
+ flam3_cross(&parent0[i0], &parent1[i1], &cp_orig, crossmeth, &f.rc, action);
+
+ if (parent0[i0].flame_name[0] || parent1[i1].flame_name[0]) {
+ snprintf(cp_orig.flame_name, flam3_name_len, "%d of %s x %s",
+ rep, parent0[i0].flame_name, parent1[i1].flame_name);
+ }
+
+ } else {
+ sprintf(action,"random");
+ random_mode=1;
+ flam3_random(&cp_orig, ivars, num_ivars, sym, 0);
+
+
+ aselp0 = NULL;
+ aselp1 = NULL;
+ }
+
+ /* Adjust bounding box half the time */
+ if (flam3_random_bit(&f.rc) || random_mode) {
+ double bmin[2], bmax[2];
+ flam3_estimate_bounding_box(&cp_orig, 0.01, 100000, bmin, bmax, &f.rc);
+ if (flam3_random_isaac_01(&f.rc) < 0.3) {
+ cp_orig.center[0] = (bmin[0] + bmax[0]) / 2.0;
+ cp_orig.center[1] = (bmin[1] + bmax[1]) / 2.0;
+ add_to_action(action," recentered");
+ } else {
+ double mix0, mix1;
+ if (flam3_random_isaac_bit(&f.rc)) {
+ mix0 = golden_bit(&f.rc) + flam3_random_isaac_11(&f.rc)/5;
+ mix1 = golden_bit(&f.rc);
+ add_to_action(action," reframed0");
+ } else if (flam3_random_isaac_bit(&f.rc)) {
+ mix0 = golden_bit(&f.rc);
+ mix1 = golden_bit(&f.rc) + flam3_random_isaac_11(&f.rc)/5;
+ add_to_action(action," reframed1");
+ } else {
+ mix0 = golden_bit(&f.rc) + flam3_random_isaac_11(&f.rc)/5;
+ mix1 = golden_bit(&f.rc) + flam3_random_isaac_11(&f.rc)/5;
+ add_to_action(action," reframed2");
+ }
+ cp_orig.center[0] = mix0 * bmin[0] + (1-mix0)*bmax[0];
+ cp_orig.center[1] = mix1 * bmin[1] + (1-mix1)*bmax[1];
+ }
+ cp_orig.rot_center[0] = cp_orig.center[0];
+ cp_orig.rot_center[1] = cp_orig.center[1];
+ cp_orig.pixels_per_unit = cp_orig.width / (bmax[0] - bmin[0]);
+ }
+
+ truncate_variations(&cp_orig, 5, action);
+
+ if (!did_color && random()&1) {
+ if (debug)
+ fprintf(stderr,"improving colors...\n");
+
+ flam3_improve_colors(&cp_orig, 100, 0, 10);
+ //strcat(action," improved colors");
+ add_to_action(action," improved colors");
+ }
+
+ cp_orig.edits = create_new_editdoc(action, aselp0, aselp1);
+ flam3_copy(&cp_save, &cp_orig);
+ test_cp(&cp_orig);
+ if (flam3_render(&f, image, flam3_field_both, 3, 0, &stats)) {
+ fprintf(stderr,"error rendering test image: aborting.\n");
+ exit(1);
+ }
+
+ if (1) {
+ int n, tot, totb, totw;
+ n = cp_orig.width * cp_orig.height;
+ tot = 0;
+ totb = 0;
+ totw = 0;
+ for (i = 0; i < 3*n; i+=3) {
+
+ tot += (image[i]+image[i+1]+image[i+2]);
+ if (0 == image[i] && 0 == image[i+1] && 0 == image[i+2]) totb++;
+ if (255 == image[i] && 255 == image[i+1] && 255 == image[i+2]) totw++;
+
+ // printf("%d ", image[i]);
+ }
+
+ avg_pix = (tot / (double)(3*n));
+ fraction_black = totb / (double)n;
+ fraction_white = totw / (double)n;
+
+ if (debug)
+ fprintf(stderr,
+ "avg_pix=%g fraction_black=%g fraction_white=%g n=%g\n",
+ avg_pix, fraction_black, fraction_white, (double)n);
+
+ } else {
+ avg_pix = avg_thresh + 1.0;
+ fraction_black = black_thresh + 1.0;
+ fraction_white = white_limit - 1.0;
+ }
+
+ clear_cp(&cp_orig,flam3_defaults_on);
+
+ count++;
+ } while ((avg_pix < avg_thresh ||
+ fraction_black < black_thresh ||
+ fraction_white > white_limit) &&
+ count < ntries);
+
+ if (ntries == count) {
+ fprintf(stderr, "warning: reached maximum attempts, giving up.\n");
+ }
+
+ }
+
+ if (templ)
+ flam3_apply_template(&cp_save,templ);
+
+ cp_save.time = (double)rep;
+
+ if (1) {
+ char *maxforms = getenv("maxforms");
+ if (maxforms && atoi(maxforms)) {
+ cp_save.symmetry = 0;
+ while (cp_save.num_xforms > atoi(maxforms))
+ flam3_delete_xform(&cp_save, cp_save.num_xforms - 1);
+ }
+ }
+
+ gprint(&cp_save, 1);
+ fflush(stdout);
+
+ /* Free created documents */
+ /* (Only free once, since the copy is a ptr to the original) */
+ xmlFreeDoc(cp_save.edits);
+ clear_cp(&cp_save,0);
+
+ if (verbose) {
+ fprintf(stderr, "\ndone. action = %s\n", action);
+ }
+
+ }
+ if (enclosed) printf("</pick>\n");
+ free(image);
+
+ return 0;
+}
diff --git a/src/flam3-genome.man b/src/flam3-genome.man
new file mode 100644
index 0000000..b754356
--- /dev/null
+++ b/src/flam3-genome.man
@@ -0,0 +1,36 @@
+.TH flam3-animate 1 "" ""
+.SH NAME
+flam3-animate
+flam3-render
+flam3-genome
+flam3-convert - render and animate FLAM3s and manipulate their genomes
+.SH SYNOPSIS
+.B flam3-render < input
+
+.SH DESCRIPTION
+
+FLAM3 implements a visual language based on a recursive set equation.
+
+Flam3-genome creates and manipulates genomes (xml parameter sets) in
+this language. Flam3-render turns genomes into still images, and
+Flam3-animate renders motion-blurred frames of animation.
+
+Flam3-convert reads from stdin files in the old format used by the
+flame GIMP plugin, and writes the new format to stdout.
+
+.SH OPTIONS
+
+Any command line option will cause the program to write its
+documentation to standard out.
+
+.SH ENVIRONMENT
+
+The environment variables are in the documention written to standard
+out given any command line option.
+
+.SH SEE ALSO
+.BR WWW.FLAM3.COM,
+.BR electricsheep (1),
+
+.SH AUTHOR
+spot aka Scott Draves, Erik Reckase
diff --git a/src/flam3-palettes.xml b/src/flam3-palettes.xml
new file mode 100644
index 0000000..d9a258a
--- /dev/null
+++ b/src/flam3-palettes.xml
@@ -0,0 +1,23135 @@
+<palettes>
+<palette number="0" name="south-sea-bather" data="00b9eaeb00c1eeeb00c5f2eb00c9f2eb00c9f6eb00cdf6eb00cdf6eb00cdf2eb
+00d1f2eb00d2eeeb00d1f2e100d6f2eb00ddf6fe00d5f2f400f2faf400e2f2eb
+00def2eb00d6f2eb00d6f2f400d1eef400d1eef400cdeef400cdeeeb00c9eeeb
+00c9eeeb00c9eef400c9eef400c9f2f400cdf2f400d1f2f400d2f2f400d1f6f4
+00cdf2f400c5f2f400bdf2f400bdf2f400b9eef400b5f2f400bdf2f400c1f2f4
+00c5f2fe00c5f2fe00bdf2f400b5f2f400b1f2f400b5eef400bdeaeb00bdeaeb
+00c1e6eb00c1e6eb00bde6e100b5e6e100a5e6e100a5e2e100a1e2eb009de6ea
+0099def400a5e2f400a5e6f400a5e6f400a9e2f400ade2eb00b1e2eb00b1deeb
+00b1e2eb00b1e6f400b1e2f400b1e2f400b1e2f400ade2f400a9e2f400a1e6fe
+009de6fe00a5eaf400adeaf400b1eeea00b9eeeb00c1eeeb00c5eeeb00c5eeeb
+00c9eeeb00c9f2f400c5f2f400c5eef400c5eaf400c5eaf400c5eaf400c1e6eb
+00c1e6eb00c5eae100c5e6e200c2e2cf00ce9b8400b27f7100a6845500918055
+009a805500a2725500a2764b00b6724b00ba7f6700d2a48400c6e2c600c9eae1
+00ceeed800deab8300ce9b7a00be907a00ca977a00dba38400e6b79600fae9ce
+00deeaeb00d1eeeb00c1e2eb00bddeeb00b5deeb00ade2f400a9e2f400a9e2f4
+00ade6f400adeaeb00adeaea00ade6eb00ade2eb00ade2ea00b1e6e200b5e6e2
+00bde6eb00c1e6f400c5eaf400c9eaf400c9eef400c9eef400c9eef400c9eef4
+00c9eef400c9f2f400c9f2f400c9f2f400c9f2f400c9f2f400c5eef400c1eefe
+00b1eefe00ade6f400b1e6f400b1eaf400b5eef400bdeef400c1f2f400c9f6f4
+00cdf6f400cdf6f400cdf6f400cdf2f400cdeef400cdeefe00c9eefe00c5eefe
+00c1eef400c1eef400c1eaf400c1eaeb00c1eaeb00c1eaeb00bdeaf400b9eaf4
+00b5eaf400b5e6f400b5e6f400b5eaf400bdeaf400c1eaf400c5eaeb00c5eaeb
+00c9eaeb00c9eaf400cdeaf400cdeef400cdeef400cdeef400cdf2f400c9f2eb
+00c9f2eb00c5f2eb00c1eaf400b9e6f400b5e2f400b5e2f400b5e6f400b5e6f4
+00b9eaeb00bdeeeb00bdf2eb00c1eeeb00c5eeeb00c5eeeb00c5eee100c1eae1
+00bdded800aa94710075684200483725000b0c0900242c25004c7567009e9171
+00b1cec500bde2d800bdeae200c1eeeb00bdeef400bdeef400bdeef400b9eaf4
+00b9eaf400b9e6f400bde6eb00bde6eb00bdeaf400c1eef400c5f2fe00c9f6fe
+00c9f2fe00c5eefe00c1eef400bdeeeb00b9eaeb00b1e6ea00b5e6eb00b5e6eb
+00b9e2eb00b5e6eb00bde6eb00c1eaeb00c1eaf400bdeaf400b9e6f400b5e6f4
+00b1e6f400b1e6eb00a9e2eb00a9e2eb00a1dee10089bec5009e917a00957c67
+00857967008d6a4b008d5f420085634200796c420079643800756841005d5938
+"/>
+<palette number="1" name="sky-flesh" data="00a6947a00dba28400eed4b200faedce00eefaeb00e2f2eb00daf2e100cef2e1
+00ceeee100ceeacf00b6a98d00b28a6700b2826700aa937100b1c6b300b5e6e1
+00b9e6eb00bde6f400c5e6f400c9eaf400cdeaf400cdeef400c9eaeb00c5eae1
+00c1decf00aa947a00917f5e00756442003c402f0014241c0008140900141c12
+00383c2500715b3800916a4b00a6795500be896700e6bea900dae6e200d6eeeb
+00d1eef400cdeef400cdeef400c9eef400c5eaf400c5eaf400c5e6f400c5e6f4
+00c5e6f400c1eaf400b9e6f400b1e2eb009dcece0078998d00608584006c8d8d
+008db1b200ade2e100b1e6eb00b9eaeb00b9f2f400c5f2f400c5eef400c5eef4
+00c5eef400c1eaf400bde6eb00b9d6c5009a907a00967f5e009280550085734b
+0085784b007d6b4b007d705500856f4b008d654200816a4b00896a4200856642
+008d5b42008d5d3800895d2f00755725006d4a2500382c1c000c140900041000
+000c1c0900342f1c00504c2f00715b3800795e38007d62380071572500553f1c
+00282c1c000c0c0900000c0000041809001c3c250038584b0079685400918467
+00aaa08400c1e2cf00c5eee100cdf2eb00cdf2f400cdeef400c9eef400c9eef4
+00c9eef400c5eef400c1eaf400bde6eb00bde2e100babd9700ba966700a6875e
+00a6865e00a2825e00a2825e00a6825500a28255009e7e4b0096764b009e714b
+00967542009a75420095724b009e835500a68b5500ae8e5500b69b7100c6c2a9
+00cde6d800cdeaeb00c5def400c1e2f400b9e6f400b5e2f400b1e2e20091a5a0
+009e9067009e905e00a68f5e00baa07a00c5decf00cae2e200c9eaeb00c5eaeb
+00c1eef400bdeaf400ade2f400addeeb00899da00089787100817c67008d845e
+009e7e5e00aa8f7100b2b9a000b9e6e100bde6eb00c1eaeb00c1eaeb00c1eae1
+00b6c2aa00a290710092775500715c4200444025001820090000100900000c09
+000c101200382f1c0071532e00855a3800966c38009a6d42009e684200996438
+00a55f2f009e672f009e6c38009e6842009d6e4b009e684b00a2714b00a26c4b
+009e714200aa704200ae744b00b67c4b00ae784b00b67c5500be8e6700d6c0a9
+00d2e6e100d6eaeb00d6eaeb00d2eaeb00d1eaeb00cdeaeb00cdeeeb00caeeeb
+00c5eeeb00c5eeeb00c5eeeb00c5eeeb00c9eeeb00caeeeb00cdeeeb00cdeeeb
+00d2f2eb00d6f2eb00d6eee100d2eae200c6d2bc00b2977a009e7367007d6b55
+005c615e00304c42000c181c00080c120004080900101c120038382500644b38
+0085624200926e55009a7b5e009e8c6700b2b18d00b9e6d800c1eaeb00c5eaeb
+00ceeae100ceeacf00d6a28400be895e00b27d5e00aa7b5e00aa7d5e00a68771
+00b2a88d00b9e2cf00b5e6eb00b9e6f400b9e6f400b5e2eb00bed2c600aa9871
+"/>
+<palette number="2" name="blue-bather" data="007d645400a2634b00ae634b00b6736800be7c7a00be898d00c2999700cea1a0
+00daada900e6a9bc00eeacc500eab4c500eab0bc00deb4bc00deadb300e2a1a9
+00e295a900d68d9700d28d9700c6918d00c2898400be847a00b27c6800966855
+00715c4b0038404b0034446700303c7a00283c84002738840028387a0024347a
+0024346700282438001f182f000c18250004141c0000101c0004101c000c181c
+00281f2500342838002c3042003438710030448d003851a0004055aa004461b3
+004861bc004861bc004865bc004869b3004c65b3005065b300ad7c7b00ba8884
+00ba8d8400be8d8d00be8d8400be918400c28d8400be898400ba898400b18084
+004c69b3005069bc00546dbc00ba999700be9d9700c6a19700caa5a000caa1aa
+00caa5aa00caa9aa00caa9aa00ceadaa00ceadaa00d2adaa00d2a9aa00caa5a0
+00caa5a000caa19700c6999700c6918d00c2918d00c2918d00c6918400c6887a
+00b6787100aa675e009e584b00543c38003034380028282f0024302f00283038
+00283442002834710030388400344497003c51aa00485db3004861b3004861b3
+004861b300495daa00a96f7a00ba808400ba848400be808d00c2748400b67371
+00be6f6800b2635500aa544b0075545400443c5500344471003040840038498d
+006d587a009e746800a97c7100a18071004965aa004865b3004865b3004961aa
+00a5787100aa787100b27c7100b6787100b27767009a6b550079605e00344084
+002c40840030448d00344997003855a0004059aa00405daa00405daa00445daa
+004461aa005461970091685e00ae504b00a2484200543c410040344200343042
+004d494b008d645400aa746800b6787100b6787100b27c7100ae7c7a008d6884
+00404d97003444970030408d002c388d00344497003851aa004459b3004061bc
+004861bc004c65bc004c69bc00506dbc00b6899700c2959700c699a000c699a0
+00c2999700ba958d00ba8d8400a9807a004c65b3004865b3004465b3003c5daa
+003451a00030499700344997003c4d970081647100a9787100b6847a00ba847a
+00ba847a00aa7c7b004c61aa00445daa00445daa004455aa004055aa004051a0
+0044557a00815c5400aa5f4b00b25b4b00ba6f5e00c2775e00ba776800ba8471
+00ba887100b68c7100ae807100a6787100505497003849970034449700304497
+00304497002c4097002c408d002c448d0030498d0030498d002c4997003855aa
+004461b3004861bc004865bc004869c6004c65bc00506dbc00ba8d8d00ba8d8d
+00c2959700ca9d9700ce9d9700caa19700c6998d00c2958400be947a00ba8871
+00b67b6800b6736800a6674b00715c4100383c380024342f0024342f00202c25
+0038271c0092444200ae504200b6574200c26b6800c26f7100c2737100be7467
+"/>
+<palette number="3" name="no-name" data="001009090039321800554c310064605000797558008a694a008d5c4900904c42
+008b4635007f3c2b00632c19004b231d003d1b1200290c0900130808000d0808
+000e0808001f0c0a002d220e00473115005948260067461d006b4a1f006b4c1f
+005f4b2300524121004428120034180c00290b0700100707000b060600080606
+00070606000806060008060600090707000b0808000d080c000f090d00131214
+00292010003b351b00574a25007359220081612200896b2c0088672300886c24
+008d6d2600896d2c008b712d008c6f2f008c6c32009b66430094654c0097644e
+00996954009b685900a2716300aa7b7400ac8c7b00a8907b00a88c7900a98c7d
+00a48d7900a58774009c7b630099755e008d685800845d4800635936005a4b2b
+002e2d2100111a290010142600121920002f2a1700413a20005c4b2b00745d24
+007a602500876129008a573800935b45008d5b44008c553a008c5845008f5442
+00874c3500864c350082472e007f462c007e422b0080472b007f571f007e591e
+00835d220081612100805b22007a572200704c1e0060431c004f301800382715
+0024201300131116000f080e000c080c000a0808000a07070009070800080808
+00090808000a0808000b0808000d08080010090800240b080031120e00452715
+00603b18007a4b17008b612000946d27009477340094783a0094763c00946a51
+00966c51009c6e5600a2756200a57f7200a2907b00919085008c8c7d008b8e7e
+008da1b100a9999200a6988c00a7948700ab8f7d00a78a7800a7806e00a37660
+009a6d550092644c0088503a00753a3400542e27003e1b13002f0f0800190808
+000e0808000e080800200b070030110b0046231100582c1b0076332100774126
+00774126007a422b0074452400654c26005a492700443519002b21150011141f
+000f11220010101d000e0a15000f081100261a100043230e005b3313006a3a14
+00794817007c531a0076562700695b25005a4928003f3821001a1e2000101120
+000e0f1b000c0811000e080e0011080800280b070035180f004b1f1200673012
+007a37210078471e0082581e008d6528008b6433008b6746007879610076717c
+00898a7b00898c7b00828375007b7b6200807d6c007d7d5d00976d5300a97f45
+00a6814200a7833e00a7823e00a07b36009b813900987c3700997c35009a782e
+009a77300092743500876c2e00806b3800685f41005c5534005d502e00514423
+003b331b0029201000140b09000d0808000c0808000c0808000d0808000d0707
+001008080024090700310f0700320f0a0036150e003f1b1000431c1000461b14
+004a1a1000501f1100561e10005425140062371400654119006f46170079531d
+007a60250082692c007e672c006c5e40006d6244006a6245006a664a00746947
+"/>
+<palette number="4" name="pillows" data="004b3a2f003a2b2b002b221c001c1c16001111110011111100111111000b110b
+000b0b0b000b0b0b000b0b0b000b0b0b000b0b0b000b110b00111111001c1111
+002b1611003c1c16004d2d1c005e362000774422008d5a2d00ad653200bf6a32
+00cb754300ba754e00af7043008d603e00804f3e007149330072422b007a4d2b
+0097491600a0491c008a49160075411a00673c250053311a004d3114003c1c11
+002d110b001a110b001111110011111100111111001c1611002716160036221c
+003c221600512216005122110057271100682d0b00833200009c3d0000994305
+00884305007d320b006b3311006b33110068321100663311005a3e2200533620
+005c401e0060442700603e2d0068493800774f38007e513a0088603e0088603e
+00885a38007553360066493300643c3100603c2b00603e27005a3e27005a3e27
+005640290056402f00513a340047363100493e38005c4b4500774f5a00826666
+0091a2ad00afc0c500d2d8e300f3f3f300fcf6fc00f6f6f100fafaef00f6f6f1
+00f2c59d00c9795800a97060008d665a0086544f006b44440055333e00453131
+00362727002d221c00221c160022161100361611003a1420003e232300493327
+004f382700513a2f005c402f00604433005c4b3a006b553e006f533c0071553e
+007a424d0086535300794c5d007749540067464100684938006442310056402f
+00493e2d004933270038271c001c1c1c00111611001111110011111100161c16
+001c272d001c354e00403a34004b333300643c360077444f00794c4c00913e4f
+008255490093542200b33838009e491600ab490b00c9050b00b6310000993d0b
+00994e0b00a74e050096380b00863205007c160b006d11110060221600532d16
+0053271100492216003e1c1600361c1100292312001c16110016111100111111
+000b110b000b110b000b110b0011111100111111001111110011111100111111
+000b0b0b000b0b0b00050505000505050000050000000b0000000b0000000b00
+00000b0000050b0500050b05000b110500110b0b001a0b0b0022110b0034110b
+00381c16003c2222003e2525004b312b0042363100423631003c3631003e332d
+00422d2700452b2b003a202f002d222700221c1c00222216002d271c00342f23
+0047362b004f33380060444f00774f5a0095736d00a4a9af00b9bfc400dee4e9
+00f1f1f100fed6ba00f0ce8b00cb804e00ba704e00ad5a43008d5433007c4f38
+00714f3e0056514b005656760086869c00a78ba200c58c8700ad7f74009b8568
+008d664f009c5a4300a96a3200a4651c0097491000742d1100582211004d1c0b
+004211110024050500160b000011140000110b0500110b00000b0b0b000b0b0b
+000b0b0b000b0b0b00050b05000511050005110500050b05000b0b0b00110b0b
+"/>
+<palette number="5" name="mauve-splat" data="00161616001616160016111400160b0f0011050b000b050b000b050b000b050b
+000b050b000b050b000b050b000b050f000b0b0f000b0b0f000b0b1100110b11
+00111111001111110011111100110b0b00110b0b00110b0b0011050b000b0509
+000505050005050500050505000505090005050b0005050f000b051100110511
+0011050f0011050f000b050b000b050b000b050b000b050b000b050f000b0b11
+000b0b1100110b1100110b140011051600110b1400160b140016111600161616
+00161c1100161c16001616160016161600161616001616160016161600161116
+001611140016111100161111001c1111001c11110016111100160b1100160b11
+001111110011111600110b16000b0b11000b0b11000b0b1100050b0f0005050b
+0005000b0005000900050505000b05050011050500160b0b00161111001c1616
+001c1616001c1616001c1622001c16250016112000110b1e000b0b18000b0b14
+000b0b14000b051a000b0514000b0514000b0514000b0511000b051100110511
+0011051100110514001105140011051400160b1a00110b20001a1427001c1c2b
+004d424800607a6500aeac8100548b9200f0c3b800bf704e009f5a4900d2492c
+00785e42006b5a5a0054585a00765a430055606b00426475004b4b400036504a
+0036423600272d11001c1c1c00202020002d27220053252500831c0b00d51600
+00da100500941b00004b1016002b1611001c160b0016160500201100001c2500
+001111050011160b0011110b00110b0b00110b0b00110b0b000b0b0b000b050b
+000b050b000b050b0011050b0011050b0011050b000b000b000b000b000b000b
+000b000b000b050b000b050b000b050b000b050b000b050b000b0b0b000b0b0f
+000b0511000b0511001105110011051100110b1100110b1100110b1100110b11
+00110b0f00110b0b00110b05000b0b000011050000110505001105050011050b
+0011050b0011050b0011050b0011000b0011000b00110005000b0505000b0505
+000505050000000500050505000b0505000b0505000b0b0b000b0b0b000b0b0b
+000b050b000b050b000b050b000b050b000b050b0005050f0005000f00050011
+000b0011000b000f000b000b000b000b000b000b000b0009000b0005000b0000
+000b0000000b0005000b0005000b0005000b0505001105050011050500110b0b
+00110b0b00110b0b00110b0b00140b0b0016110b001611110016111100161111
+00110b1100110b1100110b1100110b1100110b1100110b1100110b1100110b11
+00110b1100110b1100110b1100110b1400110b160011111a0011161e00161620
+001c111c001c11160022111a00251a14002d1c160036311a00643333004d3832
+004d3a3a00324e5a0031363c00473238003e3a34003c4216004f442d002d2225
+"/>
+<palette number="6" name="facial-treescape 6" data="0027221a0034253800253c3a0034493400495533006e573b00a4937f00856958
+00a68675007a858e00897d5b009681380098650000874927003e471100275611
+00223e1600254d2b00273e2200274f1c002d5c3300364f310034403a00314531
+0027402d002f3e1e00273e110027310b002d2d11002731160022361c00203723
+00273827002d3322002d3c2200223116001c27110014230f0016220b0011270b
+00161c0b0011220b00112711000b1c0b000b1c05000b1c0b00111c0b0016160b
+0016110500160b0000160b00001611000016110000231409003c161100522710
+005131140084502900877b5a00b2a67000c5cba900cde9de00b2dad4006b9eaf
+00326084003156670025373700222d2700222722001c1c2200221616001c1111
+0016161100161611001611110011110b000f14090011160500161a0000161c00
+00222000001c200500221c0500221c00001c1c000022160b0022160b001c1111
+001c160b001c160b0016160b00161c0b00161c1100161c110011161600111111
+0016110b0016110b0016110b0016110b00160b0b00110b0b00110b0b00110b0b
+000f09090016050500160b0500160b0500161105001616050011160500111c0b
+00111c0b00111a0b000b160b000b160b000b1105000b110500051105000b1100
+000b1105001111050011110b0011161100161c16001c1c250016274000335349
+0055754a007ab08e00c1dee300dce7ed00d7e2e800fad89a00f4cd6d00c37245
+0095723a005d6735003e4722003336160027221100201a140011160b000b0b0b
+000b0505000b0505000b0505000b0b05000b0b00000b0b0500110b0500110b05
+0011110500111605000b1600000b1100000b0b00000b0b00000b050000110500
+0014050000110500001105000011000000110000000b0000000b0500000b0500
+000b050000000000000b0500000505000005050000050b0000050b05000b0b05
+001111050011160000161c0000162505001a2509001c2b0f001a391d002b442b
+001c402b001c45220020502300294d2f0038604400496e4c002d6f4f0052695e
+003e727400439393004eafc500b4dcdc00d8dede00fad28300b47b5f0079573b
+00494427003a482c003342220025312000222716001c2211001c160b0016110b
+00110b0500110b0500110b00000b0b00000b0b00000b0b000011110000161605
+001a1a09001c220b001c220b001a250f001c2711001c2216001c201600202014
+002222110022251100272b0b00252b0f002227110022250b001c200b00161c0b
+001c1c0b001a1a090022220b002d1c0b0031250f003627160045271c0038271c
+0029231a0022221c001c221c001a2216001c25160022271600222d1600222716
+0022271100222511002d270b002d2714002d27160033271100312b1400333924
+"/>
+<palette number="7" name="fasion-bug" data="0018131a002d1f2900432d33007a1f2c00901f2700911d2500921e2300961e24
+00901e240085212300452d2c002f222800231d24001f191e001b171b001a151a
+001b161c001e182100201c220025222900302b2f003b353800534d49005f4d45
+007b5a4d00826d58007c746200948e7000b0a47800c9c09900d6d0c200e4dece
+00e6e0cd00e6e1c900e6ddca00e5d5be00dbbe9e00b0986f008d6d5300984945
+009c3a3500927d5e00b6957b00dacd9000e5d8bf00e6decd00e6e0da00e6e2db
+00e4e2dc00e6e3dd00e8e4d900ece8cc00e9e7bf00e6dec700e5dbc800d9d4c6
+00ddd1b500c7a891009c7f7d005c4a51004532330037283200292228001d1d22
+001718200015181d0016151c0018141b001e151d0025191d002d192000381e22
+006c1d26008e1e27009522250096202400941e2400921d24008e1d2300881f24
+00483235003f2f32003b303000392d31003f3033004e373a005c504c007e705f
+00a7937500cea08e00ccc3a800d6cebe00ac9b8e0092827b00735f58005a4a51
+003d3638003728340031282b002e292d002c2a2e002e2a2e002e2628002a2925
+0025212100221b1b001f171c001d15170019121700180d1500160e1500140f15
+0013101500131115001410170016111800191319001c131b001f151d002c1824
+003421290042282c007a1d21008e1c23008f1c23008c1f220077222100442828
+002b1e21001f131b0018101400120e1100100c10000d0c10000c0b11000d0b10
+000f0c1000120e1200161418001b191d002521230034272b00452d30007f1e24
+008e1d2400941e2400981d26009c1d27009c1c23009a1c2400941d2000912121
+008a2022004a3034003b28320030222c002c222800262124001f1f2400211c22
+00291a1f002e1b25003a252900741c23008b1b2100901b2300951d2700991f26
+009c1f27009d2127009a24280097222a00911e2500881b23005f181d00312019
+0020181900191417001411180012101700110f150012101600100f180014101b
+0012132300201923002a2426002e2a290034352d0043442e00624b410065453f
+009222300096212b009d212900a01e2700a0202700a21d2500a1232800ab2526
+009d25280097242800902027008a2026004f2c30003d292e00372427002f202a
+00231c23001b181d001b151b0016141a0013141800101218000f1016000f1017
+000f13160010101600110f16000e1015000c0f14000f0d1400120e1500131015
+0016101500191415001816190019181d001d191f00201b20001f1b21001f191d
+001b151a001c131a001a10180019111700170e1700130f1600100e13000e0d12
+000d0b12000f0c1200100e11000f0f13001010140010101500120f1700141017
+0017121a00181321001d121e00231820002b1c220037202500452a2b00831b20
+"/>
+<palette number="8" name="leafy-face" data="002a2521001f1719001713160014141800181719001f1919002f252700402827
+00513333004a3b390049453f004d5148005f625e00c8a88600d7bc9900dfd1b1
+00eee1cf00ede3d700eee3c900e1c3a200d2b69300bfa385005b6261004b4a4f
+004646430049453b00534c3700544a37006b4f4900c5846000da9f7400deae82
+00e1b68600deb68900dcad8300d7a47200a36d5800675344005a533d00916858
+00d0a37900d1ae8a00d5b09700d5b29700d3b78f00ceae8500c59a7800595b5b
+00484d4e004247450040423f003e383b003c3b3a003a3a370038363600323330
+003c2f2e0041322e0041322e0043343100423b390041433b00444944004e5450
+0082786c00cea28700d9ac9000dfb89800e0bc9a00e2bc9a00e2bb9800e1be94
+00e2c39000e0c39200dcbe9300dfbe9900e2c19800e3c09800dfbb9800dfbb93
+00e3b88f00dfb88d00ddae8700cca28200826c660052524b004a4d3f00464c3f
+0044473f0044473f0042483f00474c42004e594d008a7a6d00cda68900d2b395
+00d5b69800debd9b00e2c79c00edd2ac00f0e3c700eee5d600eee7de00efe8e3
+00ebe6e300e6e4df00dcd9cf00cbc1b000cea69500c294760057624e00485947
+00525645008b745d00d0a77b00dbaa8700dbb38a00dab69500d6b09700d4ae93
+00c6a08800626161004e4c5200444747003c4244004143450043484700525750
+00a8827100d0a48b00d1a78a00bd8d810063565a00504b400052473f00534d44
+00625e6000ca9b7b00dbaa8200d4a475008e6a5c0051514a0048494400474943
+00494f450053635500a4957900cfa68c00d5b19900e0c1aa00ded2cf00dfded7
+00e8e7e100e9e3e200e2e2df00dae2d800deded600ded5c700e1bf9d00d5b894
+00d1b08a00c7a5800060605f004b4d450046434000443d3c00443e3b00463f3a
+004a483f0052584d00af8e7100d9ab7d00ddaa8200cf9f7a007056490053403c
+0033292b001d1b1f00151218000d0b0f0013101100161117001e181d002e2529
+002c292c002b2e260020201b00191a1c001c161900201e200029292a002b292f
+002f323100373735003a3f3c003d443a0040463900434a3e004b4c4100585953
+00b0917600cea69000e0bea800eedfd200e9e6e100e9e5e000e3dad200dcbca2
+00cca79700968e840055615f004b4e480046464100434039003f3d3400393731
+003e382e003c3b2e003d3b3400403d3a00404439003e4636003e4336003f4337
+0040403700424133004341320045413300454136004c42370054413600794840
+00c5846000d9a67700deb27c00e1bc8100e0bc8a00deb88b00d1b28d00ceab86
+00a2906c004e5a5100434c4800484848005346520072706900cba78f00d5b89d
+00dbd2c700dddcd200dad5c800b7ada5006b6a67004d534e004a534b00525f53
+"/>
+<palette number="9" name="mouldy-sun" data="00110b0b000b0b0b000b0b05000b1100000b11000011160000161c0000221c0b
+0033271600454018005469320081874900bda64e00c3c24e00cfbd5300d0b45f
+00d6cb5a00d6c55a00cfb36900bfad5c00bfa35a00b49e3e00b1952d00b49227
+00ae9137009f8241007e6d3c009068220094682d0099733000925d1f009a6011
+00a3731900b47b1000b78a1c00ad812d00d2873d00e1924300c5ae7b0094c1c1
+00bfbfb400ccc0aa00d5c48b00cbd08700a5b99c00717c5a00437132004d541a
+003c4414004240140053451400785214009f680b00ac7e2700ba862d00d09227
+00f2922c00ce942700a4792d00915f2d0080542200592716003a1c11002b160b
+001c110b00160b0b00160b0b00160b0b00110b0b000b051a000b0b0b00110b11
+0011110b0016160500110b00001616000011160000110b00001c110000250b00
+00311605003e270000473a090077490000a4481c00ba751600cb9d2100f2ae32
+00f8d05900f4ef9a00fef8a900eddc8700f0ce5800e7ba4800cbae3200b29227
+008b7f100074650b005e510500333a000016200000111a00000b110000051100
+000505050000000000050000000b0500000b0505000b05050011050500110505
+0016050500160505001105050011050500110505000b0b00000b0b00000b0505
+000b050500110500001105000011050000110500001605050011000000110000
+00110000001105050011110b000b1109000b1600000b1c0000112711002d4500
+003e56190054620b006b631100775d11007a63140086651c008d701600966e21
+0082712700806f4b0085845700a58e7800c5a38700dcca9200e1e1b400e5e5be
+00faefc700f4e9bc00f2eda300dac87f00e1ca7600e0c96900e3cd5b00e1d04e
+00eddc2c00edc53200f8bf4300e1ae5900b5925500908a4c007c7c33006c772b
+0060632a0049491c00473414004f3216004f2716005d3238009a5a54009e6b43
+00a27f4200c5a33200d2b02f00cba82100b48b0000987605007d50000060490b
+00452d0b00361c160027221600222216001c1c11001c1c0b0027160500221600
+001c180000161c05001c22140033341e00423618005e3c2e007e562f00847652
+009e8c5a00d0a86500d6c58c00e9e3bc00fcf0c900fcfcd400fcf6c900faf4b0
+00fef29800fedc5f00f8d05400e7ae2c00cb9d1c00c27e0000bf7b0500be7005
+00af7610008a7400006b63000063600e005b59140036400900271c11001c1111
+00110b0b000b0505000b0505000b0505000b0505000b05050005050500050000
+00050000000b0000000b0500000b05050011050500110b1100111111001c2121
+00393f2e004d4722005b4b2b007c5821009b700b00ba871600cb922700e79d27
+00e1a83200edcb5a00efe99400fcebbd00f8f2d000e5dae000f4f4d200edd0a9
+"/>
+<palette number="10" name="sunny-harvest" data="000000000022040d0047131700691420006b332000661e220046171b00341414
+0012060800040001000000000000000000000000000000000000000000000000
+0008050600100c15003a1d1e0059312700745e4900957e6400c1ab9000d0c7b5
+00d5cab800cccbc300e3d1bc00e4d2b800dbc8ab00d8be9400d4b67b00d3ab6c
+00bd895800ad7d4800a77b52009d7f6700b89f8900ccb4a200cdb99c00ceb692
+00c8a88500aa835700a370400091674400846244007b6631005d412700543921
+0056401e0076512c008960390094763e009f744000b0884d00c38f5a00cea470
+00baa07200a98255009772590079685100705d4400664d3500563421004c311c
+00523f1e005c4f260071664700848062009a9b9600c9bba100cfbfa300d7bfae
+00ccb5a500b9a989008f856400635850003d2927002910150011030c00060003
+000000000000000000030103001008090036181e00413f2b00555748007c7a5a
+00b69a6c00c9ae8800cab57a00cfb77100daa95b00d0924300d5844000e38530
+00e2823000df7c2f00d57a2d00d3702900d7652b00d6672c00cd702d00c26a2a
+00af642500a9592300a44a2700a6532a00a34a2400b05c2300bb662a00ca7436
+00da832d00e59c3600e5a43e00e5b34d00e0b75f00dec17300e0bd7b00dac395
+00dfc89e00d7beac00cab39d009a9077008f7a61007a5e460077553300652d20
+00612f1f0053231d00471d210038151800100815000200030000000000000000
+000000000000000000100a080017100b003e281d005c4229008a633d00c19232
+00d7aa3c00dea43900e5a83600e9a83800ecaf3700eeb43700ecb13900ebb33c
+00ecb73b00e7be3f00eab83d00ecad3c00e9a93b00ebaa3a00eba63a00e9a03a
+00e9973a00e9963b00e2893500e77d3200db652e00ca622d00cf542700c14d25
+00be4a2500b23e2700b3342300b7392400bf3e2800be502d00bb612b00aa7239
+00ae7c4700b5975100cdaa5f00dabd7700d7be7200e3bf6700e1be6000ebc049
+00ebba4300e9ae4400e9983800d87e2b00c65e2800b748290097472700802b21
+00590e1900190f06000600020000000000000000000000000000000000000000
+000300010012040700210d13003c1c21004a2c2400573523005d3e25007a542e
+0079582d008d5a33008c4329007a5131008b3c2800873d220096392200912626
+00954025007b3820009a2827009e2e2400af2d2600b3382900a4482700a05528
+0096512f00a65d30009d633700876a4200746d4a0088725a008d6c56009f7345
+00b4855000d3af6e00d6be9100e0cbb200e8e2c200ebdabb00e1d5b800d4c4a4
+00c1b18900b4875a00af713900c66e2c00d0712900de882d00e9983500eb9d36
+00e7a03700e7a03600e4973400d8822d00c56a2b00ad5427009643250085371f
+"/>
+<palette number="11" name="peach-tree" data="00aa3b1c00aa3f1c0081442500445425004d6d250051792f0051712f005d7138
+0065854b00758d550089a15e008da25400c2ad4100da8b2f00de772500d6672f
+00d66a2500c25f1c00914c25004c6925003450120020440900203c1200203012
+00203812002c48120040692500618938008db25e00aac67a00eed17a00fae154
+00e6972e00e67a2500e67a2500db692500ca5e2500b64c1c0085371200542b09
+00241b09001c2000001c30090020400900405c1c005479380069914b0091ae67
+0096b2710095ae71008daa7100718d5500516d420040442f0024341c00101812
+000c0c09000408000000040000000400000004000000000000040000000c0000
+00100b0000240f00004417120081261200aa371200c25f1c00b27c2f009aae67
+00a6c27a00aaca7a00b2d28d00bedaa000bed29700cad69700e2de8400b6da8d
+00b6d28d00bace8d00bece9700c6cea900d2dab300eae6c500eaeac500faf1bc
+00f6e5bc00eac08d00d2ac9600beca9600b2c69700b6ce8d00b6ca8d00b6c684
+00aaca8400a6c684009eba7a008db2710071954b00517538003c54250030401c
+001838090014280900141809000c100900070c09000408090008040900140709
+001c0f09002417090050271200812f1200b23b1200c6572500db662500de6625
+00de751c00e2871c00e68e1c00f2922500fa9b1c00f6bb1c00ea7f2f00fabc67
+00fae17000fae15400fed32e00fecf2e00fed04a00dab55e0095786700597942
+00405d2f00203c1200142c090004180000000c00000408000000040000000400
+0000040000040000000400000004040000040400000408000004080000040800
+0000040000000000000000090000000000000000000000000000000000000000
+000000000004000000040400000c0800001010000020100000381b0900593309
+007d430900a63f1200b2481200c65a1c00be6b25009d70380099632f00597938
+005565380071481c00b6502500ce622500d2662500d66e1c00d66e1c00da7625
+00de6e1c00e2722500de6e2f00ee6f4100c6a05400a9947000a1ba7a00aac284
+00bece9700ced6a000e2eebc00f6eec500fefafe00fafece00f2fece00e6eec5
+00c6d6a000aac2840091957100546d4200384025001c2c120018240900141409
+0020130900300f090065271200892f1200a633130091371200652f1200442712
+00203809001c2c0900141c0900101409000810000008100000040c0000041000
+0008140900102009001430120028481200446d25006181380089aa670095b671
+0091b6710081a15e0069854b00445938003c4c2500304025003c441c00713712
+00a6331300be4c1c00ca5b1c00d25e1c00d2621c00c65712009e370900692200
+002c0f0000140400000c000000080400000408000008100000102009001c3409
+"/>
+<palette number="12" name="fire-dragon" data="0058030900400009002c030900180409000f000900100409001c080900280409
+0030030000340000003400000030000000280000001c04000010000000080009
+00080009000f0009001c000000280000002c0000003000000038040000380300
+003400000030000000280000001c000000100000000400000000000000000000
+0000000000000000000000000000040000000400000000000000000000000000
+0004000000080400000c04000018040000200400002804090030040900340309
+0044030900510400006503000075000000890009009e000900b6000900ca0700
+00d20a0000ca070000be000900ae000900910309007103000059030000440309
+0030070900240409001400000008000000040000000400000004000000080400
+0018040000280400003c030000540300006d0300007d030000910000009e0000
+00a2000000a2000000a2000000a2000000a2030000990709009d0b0000990000
+0091030000810000006d00000059000000490300003403000024040000100000
+0008000000040000000000000000000000000000000000000000000000000000
+0000000000000000000000090004000900000009000000090000000900000000
+0000000000000000000000000000000000000000000004000000040000000000
+000000000000000000000000000400000010000000280400003c000000490000
+006100000071000000850000009d000000a6070000b6070000ae0a0000ae0f09
+00a61d00009d230900791e09005d0f09005d0b09005c0b000059030900580309
+00500309004c0000004400000040030000440300004c00000059030000690000
+0079000000910000009e000000a203000099120900a9070000a6000000ae0300
+00ae000000b2000000b2030000b6030000be0b0900ce0e0900ea3a0900f6831c
+00f2b31c00fabb2500fae95400f6fe6600fafe8c00fef98c00faf16600f2c32e
+00f69f2e00ba5b2500892b1200653712004c271200380b09002c0b09001c0400
+0010000000040000000400000000000000000000000000000000000000040000
+000804000010080000180400002407000028040000200000001c000000140000
+000c000000080000000400000000000000000000000000000000000000040000
+0008000000180000002c0300003c0000004d0000006500000085030000a21e00
+00b62f0000c24f1200c56b1200ce5f1200c6561200c62f0000be270900c21209
+00b6070000b60a0000ba160900be160900ce420900e6620900f6860900f69b1c
+00ee8a0900ee8e2500e27e1200be5709008d3000007d2b0900650f0900650009
+00610300005c070000590f09004d18090055070000400700003c030000340700
+00300400002c0400002c030000300000002c00000028070000240400001c0000
+"/>
+<palette number="13" name="ice-dragon" data="00602b250071504b009d786700ae8d7a00b2a19700c2ada000baa9aa00a58d96
+0099818d008d8583008981830089858d008d898d009d9da000a1adbc00a5bdd8
+00b5cdeb00c1deeb00bde2f400c1e6f400c5e6fe00c5e2fe00bde2f400b9def4
+00add1f4009dc1eb0085b1e20078a9eb007cade10085b9e10090c6eb0095c1f4
+009dc9f400a1c5eb00a9c1e200a1b9c500b1b1b300b9b1bc00c1c1cf00e2ded8
+00f6f6eb00fefefe00fefefe00fefefe00fafefe00edf5fe00d1e6f400c1c9d8
+00b5adbc00ada1b300a19da00091898d0095787a0085605e00793c380061382e
+00502725003c0f12002c13090030131200381712003c1f2500402738004c3441
+005c48670061657a00757184007d75840085757a00897571007d6d5e00755c54
+007558540085615e008d645e0085687100817984008091b20074a2d8007995c5
+00747097006c5c7a004c305500382842003c1f2500341b1c002c1b1c0030131c
+00301b1c00381f2f0044384b00605c7100717597006c99c5006c9ee100649aeb
+00649eeb006c9eeb008dbdf4009dc9f400a9d2f400add1f400a5cdf40094c5fe
+008cc1fe0074b9fe0068adf40064a2f400609af400649ef400689ef40068a5f4
+006cb5f4008dc5f400a9d2f400b9e2f400cdeefe00daf6fe00e6fafe00eafefe
+00eafef400d5faf400bdf2f400b1e2fe00ade2f400a0e2fe00adeafe00bdeefe
+00ddf6fe00fafefe00fefefe00fefefe00fafefe00eafafe00def2fe00c9e2f4
+00b5d2eb00a1caeb0095bdeb0078adeb006cb1eb006cb1f40070b5f4008cc5f4
+009dcdf400b1daf400c1eaeb00d6f6f400def6fe00e2fafe00def6f400d1e2eb
+00c1c5d800adb1cf00a1a1b300918596007d647a006448540058344200503038
+00582b2f0044272f0048273800502b38005034410058404b00716167007d8197
+00749acf00689eeb00649eeb00649ef40064a6fe0068adfe0064adf40068bdfe
+0084cafe00a1c9f400b9caf400c9e2fe00dde6fe00e9fafe00fafefe00fefefe
+00fafafe00e6eeeb00cecacf00b2a9a90095818400755867005d3c4100693838
+007138380085584b008d6c5e0095898400aaa5a900b6bec600d6d6e200d9e6f4
+00d9eaf400d1eafe00c5e2eb00adc2e20095adc6009da5b3009595a00095797a
+0081646700714c5400603841005c343800583438005444380061555e00706d84
+00808196008589b300899dbc00a19da900a18d9600a688840099847a009d7871
+00a98d8300c6ada000cab1aa00dad2cf00f6eef400fafefe00fefefe00fefefe
+00fafefe00eefaf400def2f400dad6e200bebec600b5b1b200b9ada900c2ada9
+00b5adb300a1a5b3009da9b3008dadcf0085add80088a9e2008995bc007d7984
+00605c670054404b00503c4200583c4200684c5500817d7a00a1a1a900c9c1c5
+"/>
+<palette number="14" name="german-landscape" data="003d3e2b0034302d002a2c27002527220021271700242c16002e362000333721
+002d3126002d3126002d2d2d002d2d2d002323230023271c00242c1600242c16
+001f2711001f2711001f2711001f2711001f2711001f2711001c221200171d0d
+00191d12001e2217001e22170021271700242c1600273016002d2b260037372c
+003c362d003f3d360045443a00464236004240300046452d004f4b32004d5537
+005e653f00647b4600737b500083846a00868b66008382500078693f006e6246
+00604c3e004d443900414f3c00484f41005a5f450066634d0076826b0089a38d
+009fb6ad00a7b2b400b1aab300b2acb700b7b3c400a5b1c20097a8b9007f9a9c
+0083858d00847d9500858b8c0097819a00a39daa00a9a8b000a4aeb400a8b3c1
+00a8bbc300a1b3c200a1c3c200aec6cc00c1e3ca00d2e6e000d6dfd600f0ead1
+00dbd7c900c9c5c000ccb4ac00c59cab00b89da700a99ca900b1818900946947
+006f534000654f39005d50320051492d004f4f2f0055593800645e4a00777854
+009a6d60008484780085bc70007cb46300829c67006f8b4b00666d3e005e5e36
+005b4f390056483800564635004e44310044392e003a3a2c00353b2b0032362b
+002e321c0029311b00273016002730160027301600273016002c351b002f3921
+00363f250046472d004b4f2800544e2900605d2e006e6a37007a7332008e9e49
+0089b94d0084b24f0087964700726d3500615c3a0056614e0061603e0071795a
+006e8181008a90aa00a4adb500b7b8c800c2c1ca00d6d2d300d0dcd800d2dcd4
+00cdcacc00babac100baadb000b09b9800b97b5800ac824100a17e3500786a38
+0062533c004c4633003a3a2f003a3a2c0040432b00464e2a0050613200636f3a
+00688c3b0071903e00918b4300a4853c00ac854100b8953b009e873800866d38
+0072643a006a6741006d6c400072784b007b8676008893980091a8bb009cb3b7
+0099aebe0099acbe008fa1b200828b9600727478005d59520057513e004f4f2f
+004b552f004c572e004d552d0054582d0057612e0061612f00746c38009f8239
+00aa784800896743006c554100634b3800574e36004e442e0045442c0046402d
+00494330004d4b370054584100616653006c7780008392920097a2b100a8acbe
+00b4b6c800a8bbc300b6bec400c2c5c500d4d2ca00ddd9d000dcd9d900dad9d8
+00d2cdcc00c8b6a200dfc25300dcae4b00e1ad4e00d6974d00aa734c007d5850
+0065533c0058533700565b2f00535b3200525c39006263460072744500758963
+0081947f008f9da800a1abb300a0a8bd00999db6009b8ba100b37470009e6859
+00a4615300a1614400ad665000b6776400b5909d00aaaaa9009c9eac00828d9c
+00738c8c007c8b8200839b720082a074007e95680086948800939dac00a3b2bb
+"/>
+<palette number="15" name="no-name" data="00dadebc00eee6c500eef2ce00eef2cf00e6eee100eaeed800f2f1eb00f2f5d8
+00e6f2ce00deeac500d6dac600ced2bc00c2caa900becaa000ced6aa00dee2c5
+00eaedce00eaf2c500dee2c500c2caaa00aebeaa00a5b29600a2a98d0096a284
+008d8d7a0085897100858d710085856700797d6700797d670071795e00656d55
+004d5d4200344025003040250030381c002c3c1c002c341c00242c1200242400
+00242c0900283409003840120030401c0040502f0055694200657555006c7d5e
+00748d710074898400748d8400788d840079897a0079857100757d670071795e
+006c715e006d705e006c795e0068755e00697155006d7555006d755500697155
+0065715500696d550064715e006870670068706700686c67006c6c5e0071715e
+0079796700818571007d91710085927a0085927a007d9284007992840078928d
+00788d8d00748d84007492840075927a006c85670064795e0059694b00aa5700
+0038441c00303c1c002c3c1c003440250050614b005d6d5e0064715e0060715e
+0060755e0068755e006c795e006c795e0071796700707967006c7d6700687967
+006c7967006c75670071755e0071755e0075795e00757d5e00818d5e008d925e
+008d9267009a9a71009aa27a009aa27a009aa17a00929a71008992670081855e
+007d7d550069794b00616d4200444c250038441c0040512500454d2500716d42
+00797d4b00817d5500797955006d755500697d55006c795e006579540068795e
+00647967006479670068755e0064715e00646c5e00656d55004d584200344025
+002c381c0020281c001c1409001818000004140000081000000c1800001c2809
+00243012003c4425005d6555007579550085895e008991710096a271009aa27a
+009eaa7a009eaa7a00aaae7100a6aa7a00a2aa7a00a1a57a00969e7a0085967a
+0081927a0078927a0075927a00758d7a00708167007d7d670089896700929a71
+009eaa7a00aab68400b2b68d00b6ba9700c2ca9700b2be8d00b2b68d00aab28d
+00a2ae84009aa67a00929e7a00859a7a007d967a007d927a007d9284007d9284
+0081968400859684008596840081928400859a8400859a84008d9a8400929684
+009ea98400aeb28400aaba8400b2be8d00b6c2a000c6caa000c6ceaa00d6dab3
+00dae2c500d2d6bc00bec2a000aab68d009ea67a00929a710089897100817d67
+007d7d6700817867007d7d5e0079795e0079815e00817d6700817d6700818167
+008189710085917a0089927a00969d7a00969e7a0092968400969a8d00929284
+0089918400819284007d928d0078928d0074928d0078928d007896970081968d
+0081968d00819a8d00859a8d00899e8d00899e8d008da2970095a297008da297
+0096a68d009aa18d009ea984009ea67a00a2a571009ea671009aa67100959d71
+"/>
+<palette number="16" name="living-mud-bomb" data="00c190230099752100856b2300664c1400604314004f331000462f1000423410
+0040301000402f10003d2c10003a2910003a2a1000402e100048301000553412
+00563c120058401600554c18004b4c180059380f00542f1000542e1000542b10
+00542910005428100054281000542710005427100054271000512710004f2710
+004b271000422710004028100037281000332810003028100030281000312a10
+00352b1000372910003729100035291000312810003028100030281000302810
+0030281000302810003028100030261000302610003026100030261000302610
+002d231000302610003026100031281000352810003a281000402810004b2710
+00512710005327100054271000512710004f2710004b281000442f1000403010
+0040301000403010003a2e1000382c1000382c1000352b100031281000302810
+0030281000302810003028100031281000372910003f2b1000442f10004f3110
+005d380f006044140078541400976e2300ba8d2300eca22300f6a72c00eea523
+00e2992100b96a160080520f0060461400543c1600483010003e2f1000372a10
+0031281000302810003028100030281000302810003028100030281000302810
+0030281000302810003028100030281000302810003028100031281000372810
+003a281000402a1000442e1000462f10004d2b10005128100054271000552710
+005b270f0060271000602710005e2710005b2710005527100055271000542710
+0054271000542710005427100054271000542710005427100054271000542710
+00542710005427100055271000572a10005b2b1000602b1000642810006a3416
+007c4b1100a4691500d9871e00efa23100f8af3000ed9f3100ca7d2000a3540f
+00824c14006a47160062350f005b2b1000542910004d27100044271000402a10
+00402c1000442f10004b2e1000542a10005b281000622710006428100065320f
+0075370f0078350f0078330f0078360f006a340f00662b0f00642710005c2710
+0057271000552710005427100054271000542710005427100054271000542710
+0054271000542710005427100054271000542710005427100054271000552710
+005c2710006427100064271000752e0f007f3e0f00af370f00c0350f00ed3c0f
+00f74a1400e63e1100b8350f00b6380f0086300f0080431400804e1c0089671c
+00bc801e00e5992300f5972300f8852900f86a1f00ca6b1600895e23006c4c0f
+005d380f00542f1000542d1000542a1000512710005127100049271000402810
+003a281000372710003128100030281000302810003028100030281000302810
+00302810003128100035281000392810004028100042271000462710004d2710
+00512710005427100054271000512910004d281000442e1000402f1000402f10
+"/>
+<palette number="17" name="cars" data="002b1e2400261a21001d161e00201820001f1f23002827240033382a0045472b
+005c5e360074784000b7824d00ddac5500dabc8800bbbd9400bebfad00b0b4ac
+009fb8aa008ea198007e8782006877620062534e00513c400057292a005a2c24
+004e2320003b18220039182000362026003323250036202700403326004a3b22
+00524626005b60330084894400cf984200e5cc6100d9c77500d5de9300dad7b2
+00c1ccb500b1c5b900abc7bf00a5b6b9009ba19c00747a81005b576300484a55
+003f373f002c29320022212d00211922001b171c0021151900272118002f2d26
+0034332d00433e38005c5245007876590098865500a4875b0098985d009ba65f
+00929d76008aa6660082a46f00859b5d00718858006683550060643c005a5139
+00454625003b3f26003a312500312727002b24200021171e001b111e001b131f
+001a171d0018141b001a151d00211820002d202500332d2e0046423e006c5e4e
+00ae6b4a00cd903800d2ab4e00cdc29400d3c9b200cde2c500c3d2ca00b7cfc7
+00b2cec300a2cbb8009cc3b1009ebba90098ba9c0098a297008f8f890093936f
+007d8a66007d7c61007a8444006d723e005c5e31005249290048373100453227
+0043312f00453e3c0046465000545d6400608472006a857d0071827b00758072
+00888a7b008fa07e0097ae80009dbc7600a5b88700adcb9b00badba300c6e2b4
+00c3f4bf00cbf7c700cfeec400cdf4e200ddf8e800ecfaec00def7e800cfe6d4
+00bed4c800a5bebf0088a2ad006b85800060746d005c694d004c484500594c3c
+00645c4c007876620096a48900a7c69e00bcda9d00d1eda200d7f4b800defed4
+00ecfdee00f6fdef00fcfcf100fbfef300f8fcf100f3fbee00f2f0e000efefd5
+00d3e5d100e0e5c500d7e5b300cbe4c500bedcb400b6daa3009fc58b0085a781
+00789180006a826e004f525e0040404600342c39002a1f2b00272a2e003a3b3d
+004c4954006c6b72008c949100a9b2a500c3cdba00d5e3d100daf4e100f1fdd7
+00f1fed400eff8b400e9f7af00dfe1ab00b7c09300988f7a007b76670069705f
+005a595e004c4d59004f586200606e70007474740086868600909ca4008aa6af
+0099b8b700a6c9a100aedaaa00b3d7af00b6bfa900abb8a90095a4a800889ea3
+0074837f005c7863004e6541004d4e3d004244300042432c004b4834005c4d42
+0099644400b2573b00a83c320098352b005c4d32004f443400443b42003f3b48
+00394749004f535b006f6e5f0086785b00b64a3700bd1e2700bd1c2500a71a22
+009f202400612425003f242800301b2400281718002016100018111700161119
+001711190018141b00181318001a131a001e121a0021101d0024131b0021131b
+0023161b002d1b150032222500312c2b0040352d00504534005c5e44007f7b55
+"/>
+<palette number="18" name="unhealthy-tan" data="00dacdc000dfcdb700dbcab100cdc1ab00ceba9d00bdaa9300ad978200a38f81
+00a08e77009c8d78009f968500a8a18f00b7aca400d3c8bf00d8cec700dad4d3
+00dcd5ce00ded5cb00dfd1c700d4cbc000cdc2b000c6b49700bba07f00ad8d6a
+00997e6500826c580068604f00584c4000483b3300433030003f2a2c003a2326
+003c292d00402e2d004c383200503c35005c42390060463a00634d4000695443
+00725b470076614f00796854007b69520072655200716048007159400071513c
+006c43330066413400583f35004f3631004a303000412e2f00452e2c0044292b
+00462e2e00493031004d3634004d3a36005a463b005d4c400061554300655d51
+00736a57007d7061008d7c610093796800927868008a725b00866d55007a604b
+006f5342006a463e00664135005c3a33005331310053302e00533631005e4238
+0063463600674b3a006c4f3f0071554000775a48007b624c0080664e00826b4e
+00836c4f0084684f0083644f008763490087624700836446007c5e4600765b47
+00725d460069604500695a43006956400068513f00674b3e005e49380058483a
+00554a3b005c463c00574a3c00604f3e006557460070664d007c6b5400856c57
+008f725c0094776300957c6800957c6a0096836800a58c6d00af947100bda483
+00c7b29000cab6a000d1c0b200d6cabf00dcd2c200dbcfc000deccb500d0c0a5
+00c4a98a00b8997600b08e6800a5815c009b734b008e6e4d00886c5200886c54
+00866e54008673570088745a00927b5f00947e6200957f6600957d6500957f61
+00967d6300947c61008c785c008876560083765600816d5500806c55007d6c59
+007e6b610083705f008c7e650099877000ab937600c3a48800ccb19000c7b395
+00c9b9a000c7b8a200b6aa9900ac9c8c009e947d00908b7900847d7000817964
+007c6e5c007064540068544400644c4300624b3f005e4c3c005e4c3c005e493c
+00664e3d006f514100715941007b5d470080654e00846c5000856c5400826d50
+007b664e0075654b00705e47006a5643006a5241006d523c006f543900715439
+0076583900795c40007d624500816a4a00846d4f008f775200a27d5700a8855f
+00a28c73009e9084009c9893009b989600a19f9c00b7a89f00bcae9700beab91
+00c2aa8f00c1ad9200c1a79100bca38a00b49b7c00a28c7600947b6400896a55
+0082634c007b5e44007c5b3e00795940007b5b40007e5e450083614b0080624b
+007b604800755e4200755c41006f593f0066533f005a4b3c0054423b004f3737
+0048313400472e3000482e30004b3230004f3634005c3e3500634336006d4b3b
+007a4f37007e593f00845e4300886143008a664600876a50008b725b00987e60
+00a38265009f866800a28d6d00a888650098846700977b5f008e7353008a6c4e
+"/>
+<palette number="19" name="daffodil" data="0011000000362216005c3e1c00807a2e00d6860000f8980000f29d0500e19d05
+00ac8f3800856e38005a5a330041412e0042362b0036362f0025332d00223122
+00223c1c0027342400222d1c0033331e003131200036312000312d1a002d2711
+00221c0b0016160b0011110b0011110500110505000b050b00050b0b00050505
+0005000000050000000b0505000b0505000b0505000b0505000b0500000b0505
+000b0000000b00000011000000110500001c0505002f160b004b2b140072532e
+00ba863200ef920b00fe920000ed980500d2871c0072652b0044421600363c20
+002d382200333c1c0033361c002f33180036310f0036310b00331c05002b1a00
+001c160000161100001c2200001e2d0f002b290f002d2d1600312d1600332d16
+002f2516002d271600202014001c111100160b0b00110b0b00110b0b00111111
+00111111001116110011140f001116050011110000110b000011050500160b05
+00180909001c110b0022160b00291c11002d27160033351d00443e2200654e38
+009b744100dc974900f29d2700feba2700f8cb2100f8bf1b00f8a30b00fe8600
+00fe810000d45f00007f3e1c004d3b19003c3a20003c3f2300444f2d00555d3b
+006060380067515c00527c93003c6f8b002d49830031535300333e44003a3434
+00312b2b0023242400222216001616140016161a0016111a001611110016110b
+0016161100161611001a2014001c221600222d1a0031312500383831004d4742
+006d705c0078a09f00b4bab400dae0be00efe9cd00cfdab2009ea87b007f9b60
+006b715a00424d4200364f360031453100384424002748300031563f005a664f
+008b855e00b3b37a00edd69d00f6ebbd00f8e1a300f8d08100f8d04900fec52c
+00fec52c00f8b93800d0b44900bd9b3b00988d4f007f8a49008a904300878d4f
+00969c5e00b1946700d6b47600f6d9a100f4c69f00f6e5b200feedb400feedb4
+00f6dfac00abbf8e0093987600938d6b00878d6b00958368009e8d6c00988d76
+009c9a8000bca59a00e7d0a900f8e2ba00f8e2c500d0e1c500afb39800979175
+00777c6000566442003e5533002d47160031401a003c45190065573200917138
+00d6871c00f8a31000f8a91600feae1000feb40b00feb41000f2ae0b00fea805
+00fe9d0000fe970000fe9d0000feae0000feba0000febf1000f2c51c00c4b23c
+0098824400717c3b0064643800444f3b00353c270031252000271c1600221111
+001c16110022160b0022200b0031250f0038271c003c2f20004d391f005a5030
+006b744100a4765400bc946d00c5986b00e7c58100c5ae5f009e985f00857941
+006f5247005a3c36005c4b2f006e462a0084583200ba703200dc811c00e07516
+00b45f1c00663c22003c3c14002b340f001a2b0500111f00000b1c05001c1611
+"/>
+<palette number="20" name="rose" data="007121250054172500371b1c0024281200203809003c4d120038651b003c511c
+003459120030551c0028441c0028381c0028341c004c1e1c0069121200791613
+007d151c0069161c0054131c0038171c0024241c0020281c001c2412001c2012
+001b200900301b09004d160900650f0900890e090096151300a21c2600b22639
+00a6235600a6275600b22c5600b22f5f00ae447100aab6aa00b1bebc00b5c6b3
+00a6aaa000b6346900c62c6000a61f56009a1e4300921d2f0081191c00651612
+004416120034171200242412001c241200202c12002430120028381c00343c1c
+0034491c0040491c00651a1c007d191c008d161c0081121c006d151c004c1a1c
+00303425003c481c0049612f004d6d55005c857a006485840060858300557155
+005d602f005d752f00716c25007d3f2f008d1d260092191c0092161c00921926
+0092193900961a42009e1e4c009e235600a21b5600a61b56009e224c00992239
+008d1d2f00792125004c3b2500303c25001c381c001c281200141c1200141812
+001718120018201c001c2425002827250040171c0065161c008d13260092162f
+0096152f009e1a390096162f009615390092162f008d12260089151c0089161c
+0085151c008515120071120900851412008d15130092151c0096151c009a1c1c
+009e181c00961c1c009a1c2600a6213000a61930009a162f009e1e3900a21f43
+00a22b4c009d8c380081aa6700a6baa900b5bdc600adbdcf00a9b9bc009aaaaa
+00b6348500b22c7300b2286900b638720096aaa000a5babc00a5b9bc00709ea0
+00688571004c714b00555c2f00851e2600961d1c009e1c1c009e1d1c00aa191c
+00a62526009d1e3000961a390092164200962243009621390096192f0092162f
+009213260089151c006d151c0048131c00301b1c002b282500242c1c0024341c
+00303c2500344d250034512f003c4d38003c5538004d6d42004d7d41004d8538
+005d8d2e00659242005d854a005181530069894b006da25e00719e540079a255
+008e9a4200718d4b006d81380065792f006d892f00617925005175250049611c
+00515d12006d191c0081191c008d191c008d161c008d161c008d151c00891525
+005d131c0044131c0033131c001818250017181c0018181200181812001b1812
+001c1812002f171c003f171c0058131c00791213008518130092151c0092151c
+0092151c0092121c0092121c0092121c0092111c0092121c0092151c00921513
+0092151300921113008d1513008d1513008d15130085151300811513006d1212
+00501a1200381b1200202012001c1c120020201200381312005013120071161c
+00921a39009a224300a13355006b85840096aeaa00a5bab3009aaeaa007c9a7a
+00aa375500ae274300b6374200aa252f009e202600911a26007d191c0044171c
+"/>
+<palette number="21" name="healthy-skin" data="00fae1eb00c2a5bc009d858d0089645e00603c2f00482b1c003c231c00341712
+00231009002310090023100900200800001f0c0900180c09002310120028131c
+00381b1c0050272f00714041008d544b00a65f5500b66b5e00ba6b5e00be6f5e
+00ba6f5e00b66f55009a5c42008d582f0069442e0051331200381b1200341709
+00231012001b0c120018081200000000000000000018041200230812002c0c12
+002c1412002c131200280c12003413120034131c0028101c00230c1c0027101c
+0034171c00381b1c0044271c004c302f0065404100856454009e705e00ba775e
+00c6887100ce988400d29d8d00e2a1a000eea4a000eeb4a900f6b8a900fab8a9
+00f6b49f00f2ac9600faa08d00f2987a00f2947a00ea907100ea907a00de9184
+00d6958400d6957a00db957a00d2a58400dba58d00eaac9600eeb09600eeb096
+00f6b08c00faa48d00f2a08300ea9c7100ea906700db805e00d67b5500d2775e
+00d67c6700e28c7100ee988300eea48d00eea49600eaa09600ee9c8d00f2948d
+00db8d8400d2887a00c6776800c2776700b6675e00ae675500aa5f4b00a65855
+0096585500955c4b00926055008d584b00794c4100603c380054342f00502f25
+0054331c005c3c2500713c2f0089543800a65f4b00b6735500ba806800ce9d84
+00dea59700eeb8a900f6c5ce00f6d5f400eae2fe00f2e2f400d6cacf00dba9a0
+00d6958400db917a00d2897100d6807100d2786800ca7c6700ce807100c67768
+00c26b5e00b26355009e544b009a504b00894442007d4441007d403800894838
+00925438009e6b4b00a66f5500b6806700ca998d00deb9a900f6d1bc00f6def4
+00fae2f400f6ddf400e6cde100cecac600e2b9b300eeb8a900eaac9600d2a17a
+00d28d7100be6f5e00aa67550092544b00753c3800602f2f00502b2500482725
+004c2b2f00603c2f00714c38008d5c4200a2745e00b68c7100bea19600c69db3
+00cea9b300d2adaa00cea09700c2999700c2949700a6857a0095787100816867
+007d6467006550540054382f0050382500582f250065382f00794838009a5842
+00ba735e00ca918400daa1a000e6aca900e2b5bc00cdb9cf00cab9c600b2aeaa
+00a1898d0085707100815454006444380054332f004827250048271c00502b1c
+005c402f0075584b0085705e00aa806700ba9d8d00baa59700ba9da000a995a0
+00aa898400aa786800b26f5e00ba6b5e00c26b5500c66f5500ba735500b26f55
+00b26b5500b25f3800953f250065342f0054272500481f1c00481b1c003c1b1c
+00301f1c00381f1c0044231c0044231c0050271c0059382500714c380089604b
+009d785e00b28c6700ca998400c6958d00c6918400c6806800c2775e00ae6755
+0092685500916455009168550099706700aa706700c2775e00d6845e00e68c67
+"/>
+<palette number="22" name="orange" data="007b6a390061643c005b533a00464a3600464735003b4433003b382000363d2c
+0039483900434a3e0051614c005f725b006d7252007371540070786200808362
+0082896a00868e6a0096976b009596720095987b00949c8700aaa17f00bc7981
+00e4656400ea5c4900e0423900c348390079412400563620004b4926001d2227
+003634340035393e003c4e44003f454d004059490054694d0054725f00627a6c
+00788f7d00849e8a008aa589008ba289009a999f00b29ba300b09a9b00b79f9d
+00bbab8200a9ae8f00a5b78200aaab8a00afb381009faf7c009b9c7a008f8e6e
+00838174007d8074007f7983007777860073768400798b85007b8a7c007c8d82
+00889a8d008c949e0083959e005b9bb6006484ab005381b8005280c1005595cf
+005db7ec0071c0f20089c4ed007fbfed0077bbea0072aad6006d9cc5009099ad
+009993a000a9a1a800afb9bd009ec4e1008fc1db00a1bad600b3b9c100c7a89e
+00e1777400eb667200e6646c00d9707800b08f93008d878d00719193005f8099
+00677d920070817f007a856a008794610090865500a3885100a08f5d00c6a349
+00dcb23d00d5a24300c9953200a1774400ba6c5d00a68a630098958c009c9ea4
+008eb4d5008ab5e10075bbec005ab1e9005399c9006f88a40088717300bb675c
+00ec644300e44b3000f7442400f8452000f1402a00e9442900da403300885540
+006055440064674f005b644d006a6344007971470088944f00939851009e9a5b
+00bfa86500c8b36100bead6500b9af7000b1c27300acb78400afbf950095b184
+00889c83007d8b7a006b84770061776600596d5c00545c48004b4b42004f5049
+004c5b49004d6a5d004c656b005c796b00627d7700709489008baa9c0096bbd5
+0090c1e60091c0e40092bfde00a7b4b5009eb99a009db179009ba059009ea84e
+00acaf5d00ba9e4900ba9e4900b5995400979d5800859a5b0082976300849362
+007e8b69007b8167006a6f6000545f69004a51590047405c004d4951005a6553
+0060645a006969610073726100757a5f0086895300888a3700967e34006e763b
+00556b370059603c004c4c35004443250048493b005a574900736b5600906e4c
+0096795700987b5f008b8c6a0084907b008d979600a29ea000a9b2af00b9c7da
+00bfcddd00b9cadd00b9c3d400bdc59000c2b18800d5c45a00dcb64000d0a44c
+00ee6a5b00ec675500f0585300ef504800ef523900ec443400f6412b00f53f1a
+00f4431000f44e1100f4521700f34c1700f7451c00f34a1c00f4482c00ee5637
+00f34b3c00e15447009f5c61007c7d6700717569005c7164005f7165006a6f71
+006b736d006e736300757b5a00777b4b00867a510082804700848e4b009b9b5e
+00a3a47900a098940082a5a0006ba3cc005eb7eb0060bcee006ab4ea007eacd1
+"/>
+<palette number="23" name="white-ivy" data="00f2f2fe00d0e7c500a3c598008daf76006b984900609333004f7c2d004f6b1c
+00556b1600607c27006b933e0071a4600087a9870098cb9800b2d4b200d0e7c5
+00dcf2e100d4f6f600d0edfe00c5f2fe00a9e9e100a9dcba0098d0a30098cb98
+00a3ba980092a39e009c9c9c00909e9e0087987c007698760065827100525252
+003a202000381c1c0054542700607121006b82160076981c008daf220087af43
+0071a45a0076986500708d70006589700065876500608260005476540043713e
+00386b3300386b2d0044662200497c33004f764f006b8d600082a47c009eb48d
+00babaa900d6dcd000efefef00f6f6f600fefefe00fefefe00f2fefe00f2f8fe
+00edf2f800e7f2f200dcedcb00d6d07600a3c53800a9a31c0093a932008d9e54
+0076a4760071a976006b9e7600498d65002d803800225522001c491c001c4d1c
+002d5a3800547654007698760098b49800afcbaf00c5e7d000d0e7fe00d0e7fe
+00d0dcfe00ced6c500c0a9a900abb4af00aed0ae00b4d1b400c5e7bf00dcedd6
+00edf2ed00f6f6f600fefefe00fefefe00fefefe00f2fefe00f2fefe00f2f8fe
+00ededf800e1e1e100e7a3a3009670700060544f005252520038603800325c2d
+0022551c00275a2700497349007c8765009eaf8100a3baa300bad1ba00d0d6fe
+00d0e1fe00d0d0fe00aed0c50098c0980076987600547c4f003e6538001c491c
+0005330000220000000034000000330000003400000b3e05001c4f16001c491c
+0038530b00444400002d33000049601c00546521005a661c004f8233005a8f70
+005aaf760098cb9800a3d1ba00badcfe00d0e1fe00dcdcfe00dcdcfe00dce1fe
+00dce7fe00dce7fe00e7e7fe00e7e7fe00e7e7fe00e7f2fe00dcfefe00d0fefe
+00d0fefe00c5fefe00d0fefe00dcfefe00e7f8fe00e7edfe00e7e7fe00e7e7fe
+00e7e7fe00e7edfe00e7f2fe00e7f2fe00e7f2fe00e7f2fe00e7edfe00e7e7fe
+00e7e7fe00dcedfe00dcedfe00c5fefe00a3fefe008cbfc50098af9800989e81
+007c825a006b433e007c222200892d2d009933330099333300af5f43008d8d70
+0087987c008da3870098ba980098cb980098cb9800a3d0a300bfe1bf00e7e7e7
+00dce7fe00dce1fe00dce1fe00e7e7fe00f2f2fe00f2f2fe00f2f8fe00f2fefe
+00fefefe00fefefe00fefefe00f2f8fe00f2f2fe00e7f2fe00e7f2fe00e7f2fe
+00e7f2e700e7e1af00dcd68700fea98c00d0c57600d0bf7000a3bf6b006b9849
+00609333005a8d33005a87270055883300608d2d0065932d00768d3e0087814e
+00879e6b0092c0650092c5700098c5870098cb9800bad6ba00d0f2e700dcedfe
+00e7f2fe00f2f2fe00f2f2fe00f2f2fe00f2f2fe00f2f8fe00e7fefe00e7fefe
+00e7f2fe00ededf800d6eddc00badcb40098cb98008dc0540076a42d00607c1c
+"/>
+<palette number="24" name="summer-makeup" data="00eec18d00eec08d00eec08d00eac18d00eac18d00eac18d00e6c18d00e6bd8d
+00e2bd8d00e2c18d00eac18d00eec58d00eec98d00eac59600eac19600eac596
+00e6c19600e2bd8d00deb98400dbb17100d2905500db6a4b00db5f4200be3f25
+0096401c00912f1c0085332500652b1c00543325005034250050382500503c2f
+00594838006d5438007d684200a66b4200c6884b00dba15e00deb46700e2c17a
+00e2bd7a00deb47100dba96700c68c5500b27342009e6338009e582f009e5838
+00a66b3800ba774200ca8c5e00dbad6700e6b47100e6b47a00e2b47a00dba571
+00ca8c5e00a26742007d50380071482e00593c25004c3425004030250034271c
+0028231c0024241c002024250024242500282325003028250034272500302325
+00342825004030250048342500503c2f00604438006144380064443800614038
+00543838004c302f00442f2f0040302f0044302f004c342f00543c2f00654438
+007554410089584200a6674200ce884b00d29d5500dea45e00d69c5500ca8c55
+00ba7b42009667420079583800694c3800583c2f004c302f0040302500382c25
+003c302f0044302f00553c2f0069503800895842009a6b4b00c28c5500d6a971
+00dbb17a00deb48d008991970058685e004c44420051444100504038004c3c38
+0050382f004c342f004c3438004c34380044343800382c380030272f0030232f
+00302325002823250027201c0024201c0024201c0024201c0020201c001f1c1c
+001c201c001f201c0018201c001f1c1c00201c1c00231c250024202500242025
+00281f1c002c231c0034241c0038271c00342325003c27250034282500302825
+00303025002c281c002c241c002c241c0030231c0038271c0040271c00583325
+0075482e0092503800a66f3800c6884b00d6a45e00dbb17100deb98400e2b88d
+00e2bd8d00e6c18300e6c58300eac08300e6b88300deb98400e6b88300e6b883
+00e2bd8400debd8400eabc8300eab88300e6b87a00deb47100dbb16700d29455
+00c2844200be6a3800aa5f3800ae5b2f00c2571c00c2481c009a4c2500814025
+005d332500482b2500442b2500403025003c3425004434250059402f00715438
+0091644200b67f5500d2a55e00dbb56700eac17000eac17a00eabc7a00deb071
+00ca945e00ba774b00aa674200925c4b00895c4b0095684b00ae6f4b00ba7f55
+00ca905e00dea97a00e2b48d00eac19600eac9a000eacda900eac9a000e6c596
+00e6bd8d00e2b47a00d6a16700ba87550099685400816c5400795c4b00795041
+00714c38007948380075482e007d442f007d4438006d4038006d3c2e0058372f
+00542b2f00482b2f003c2c2500342c25002c28250028231c0024241c00242425
+00282325002c2c250034302f00503c2f006d442e0081542f009e634200ba774b
+"/>
+<palette number="25" name="glow-buzz" data="00b65b25008d54250079442e005d3c2e004c302500482b250050302f00653c2e
+0089442f00a24c2f00b25f3800b6663800b6632f00b6572f00c2543800c65438
+00be574200ae573800924c3800753c2f005833250040271c00341b1c002c181c
+0028181c0028171c0028171c0028171c002c1b1c00341f1c003c271c00542f25
+006d332f00853b3800a2403800b2442f00be443800c6482f00c6482f00c6482f
+00be442f00b2442f00a6442f009547250081402500643c1c005c2f25004c2b25
+00483025004c342f0064383800854c38009a502f00b2572f00b2502f009e502f
+008d442f00713c2e0060382f00542f380054302f005c372f0064332e0060332f
+005c372f0054382f005d3c2f00543425004c341c004828120040231c00381f1c
+00302025002c232500301f2500382325003024250038232500402325003c272f
+003c232f003823250034231c00301f1c00301f1c002c1f1c002c1f1c002c1c1c
+00281b1c002c1c1c00381f2500402b2f00502b3800643c3800894c4100b26638
+00d27b4200c6904b00d6944b00db9d4b00dea04b00dea85400fab34a00fabf41
+00f6b73800f2b74100eea83800e6982f00f29f3800db914b00d6807a00deb0a9
+00bea97a00fed47900fae19600fed45d00fedd5400fad55d00fed95400fac84a
+00fed45400f6d04a00fed04a00febf3800feb22e00eaa72e00de952f00d29138
+00ce7f3800c26a3800be6a3800c65b3800be5b2f00ba6a3800c6772f00db8438
+00e6773800e66e2f00e67b2f00ea943800faa63800faaf3800fab33800fab338
+00eeab3800db994200e6983800d28c2f00c26a2f00ae532500a24825009a482f
+00a64c2f00aa542f00aa5b2f00b65f2f00ba543800c6573800d2663800e26e38
+00e2622f00e2663800de573800d6533800ca543800c2543800b6503800a24838
+00924c2f0089402f007d402f006d3838007138380081403800924c3800a64838
+00b64c3800c2482f00b6503800ba482500ba3b1c00c2482500ce482f00ce5325
+00ce502f00d2572f00db532f00d2503800c64c3800ae483800923c2f00813c25
+006d331c005c2f1c0065331c00793325008d3725009e3c2500aa382f00ae402f
+00ae442f00b2402f00b63f2f00be502f00ca502f00ca572f00c6532f00b6532f
+00b2502f0096482f0085402f00713c2e00653325004c2725003c1f1c002c1b1c
+0028171c002713120024101200241012002314120023141c0023181c00241812
+00231409002414090024141200241812002c1f120038231c00482b2500602b25
+006d332e00753c2e0081482f007d4425006d3c2500602f2500502725003c2325
+00301b1c002c1b1200281712002817120027181c0024181c0023141c0023101c
+0023142500281c250038282500482b2f0061342e0071332f00a23c2f00ba442f
+"/>
+<palette number="26" name="deep-water" data="001814120018181c001c1c2f001b184200181c4b00171c4b00171c4200131c2f
+0014181c001418120014181200181c1c001c2038001c2442001c245500243467
+003040710030387a002c407a003440840034407100443c710044406700384d67
+0038445e00343c5e0034345e0024345e0024345500242842002020380018181c
+00101012000b0812000b08090008040000080400000b0409000b0812000b081c
+0010101c00131c25001820380018284b001c305e0024406700284071002c447a
+002c44710028407100243c7100243467001c305e0020284b0024244200202438
+0018202f001320250014201c000b18120008141200081012000c1012000c1012
+000f14120010141c00141c250017202f001b2038001c1c2f001b1c250017141c
+00131012000f101200101009000c0c0000080c00000808000008080900080809
+0008080900080c09000b0c12000b0c12000b0c12000b0c12000c101200101812
+00182012001c2c2500283425003038420030384b0034445500384d7100496184
+00546da0006471a0006475a9006575a0006881970071819700687daa00687daa
+007c89c6006874aa0058648400444d670034405e00283855001c2c4b001c2438
+0018202f00181c1c0018181200141812000f1412000c1012000c1012000c1009
+000c0c09000c0c09000b0c09000b1009000c1009001010090010140000101800
+0014140900181412001c18120020201c0020242f0020283800202442001c244b
+001c244b001c244b001c244b001c2442001824420018244b0014245500142455
+0018244b00182042001820380017181c00141412001010090010100900101409
+001014090013140900141812001418120014181200101012000f1012000c0c12
+000b0c09000b0c0900080c09000c080900080809000808090004040900040409
+00070012000304120003081200030409000404090008080900080809000c0c09
+00100c0900100c09001010090013140900141c120018201c0020282500242c38
+0038444b0054657100757d970095a5bc009db1d800b5bdeb00c1ced800c6cac6
+0095b1c5008da1bc006c9296005c6c8d00444971003840670030385e00243455
+001c285500202855001c245500202c550024385e003044710034498400344984
+0030498d0038488d0040518d00495d8d004c5c84003c4d840038408400303071
+002428550020244b001f203800171c250013141c000b14120007100900071009
+00070c0900070c09000708090004080000040400000404000004040000040400
+0007080900080c0900081009000b1012000c14120013181c0014202f00142442
+0014245500142455001820550018205500171c5500131c550014205500172055
+00182055001f205e001c245500182455001b1c4200181c2f0017181c000f1012
+"/>
+<palette number="27" name="afternoon-beach" data="00b6a2aa00be9d8400b2887100ae6b4b00a27c5500bea05e00dbc56700e6d271
+00fef58300fefe9f00fefeb200fafece00fefed800fefec500fafea900eade8d
+00dbc1a000cabdaa00beb9a900b5a9b300b59db300a999bc00ad9dc600a195bc
+00a595b300a292aa00918d97006c6c8d007070670081816700957c6700ad955e
+00ce955e00eaa86700fac07000fac87000f2d97a00f2e57a00feed7000f6e570
+00f6d16700fecc5d00fac45d00ee985e00c27f4b00ba6f4200be7f4b00dea85e
+00fecc7900fef5a900fafece00fafee100ded5e100d2c1cf00eec5a900fae996
+00fef99f00fefea900fefec500fafed800fefec500fefea900fefe9f00fef18c
+00fedd7900fad17000f6d17000fed97000fedd7900fae18c00eec5a900e2b9cf
+00ceb9cf00cdb1cf00c9b9d800bdb5e200bdb5d800b1a5d800ada5cf00b9a9bc
+00caa5bc00dbb5a000e6b88d00eab48300e6b47a00d2b58d00d2a99700caa1a0
+00ae9aaa00b195b300aa96aa00a999b300a6a2aa00a1a59700aea29700b29d8d
+00aa9d8d009e9171008d745e007d604b00615c2f004d4d2f0049492f0040442f
+0044402f00403c2f003c342f0038302f0030242f003028250034282500342725
+003427250040272500402c250048382500403c2500443c250054383800754c41
+0092584b00915c4b0095634b00926c550091686700a26c68009e745e00a97368
+009d815e00a2996700b6ba7100ded67a00f6f68300fafea900fefec500fefed8
+00fefee100eae2fe00d1c9e200cec1cf00d2b1c600b5a5b300a28da00091797a
+009164710079605e00685d5e0055504b0059554b00615d540064605e00656954
+00797967008981710096966700b6986700ceb17100e6c55e00eeb45400eea85d
+00e2ac5400bd985400b6704200a663420085503800583b2f0044302f00402c2f
+003427250030281c0030231c0034271c00302c25003830250038302f00443438
+004c403800554c410071584b00755c54007d6054007d6054007d5c5400855854
+0075584b005c4838005144380048443800444438004c4c420051514b00554d4b
+00554441004838420044403800403c4200403838003c3038003c3438003c3838
+003c382f00443c2f0044403800494938005151420055604b0061694b00696d38
+007d7542007d814200928d5500aaa95500c6ca7100eacd7000fac07000eeac67
+00ea985e00be774200ae6a3800a66f42008d6c4b007d7055006c716700718167
+00857d7a00b691a000caa1b300d2c1b300fef1c500fefed800fefed800fefec5
+00fefea900fefe9f00fef59600fef58c00fae58300e2ce7a00b6b67100a28d5e
+009580410091744b00896454007d6c5500816054007d704b00756d5400696d4b
+00616d4b0065694b00797042008d704b0095745500a28d6700c2a97a00dac984
+"/>
+<palette number="28" name="dim-beach" data="001b1c1c003024250044302500483c250044442500383c25002c2c1c0024241c
+0020201c001c201c001c1c1c001c1c1c001c201c001c241c0020282500303c38
+00384942003c514b00505d4b005c898d0064aaa00085b9bc0099c2bc008db6a9
+0075a283006d917a00557154004555380040442f003838250028281c0020241c
+001f201c001c201c001c201c0020201c0024241c00342c1c0048381200613c1c
+0079541c0081702500966b25008d64250081541c006d481c0040491c00302c1c
+0024281200242812003438250040402f00444c3800615838006d6438006d6438
+005d614200444c4200304c4b0030383800282425001c2025001c2025001b2025
+001c20250020201c0020201c001c201c001c201c001c1c1c001b1c1c00181c12
+00181c1200171c1200141c1200141c1c00131c1c00131c1c0010181c00131c1c
+00141c1c0018201c0018241c0018281c00182425001820250020242500343c2f
+00444d2f0069582e0085742500a68c2500b6996700d6ce8400dedaa900e6eabc
+00f2f2c500f2f1c500e6e2b200f6c45d00f2b84a00e29c3800d2a43800dea038
+00d69c2f00dea32500de982500d69d2500ba7b2500b6722f00ae6f2f00956338
+00795c380065714b007daa7a009aaea000b9cabc00c6dac600a9c6bc008db2a9
+00689a9600346d97002c597a0028384b00143038001824250018201c0018201c
+0018201c0018201c001b201c001c201c001c241c0020281c0028382f00303c38
+00304038003840380038403800504438005c3c2e0071602f00966f3800998042
+00aaa68400d2caa000e2e2bc00f6f2c500faf1ce00eae6c500e2debc00c2bd8d
+009991670069654200494d38003c402f002c282500202025001b1c2500181825
+00181c1c00181c1c00181c1c001b201c001f201c0020241c002830250030402f
+0034492f00384838003c442f00444c38005d552f0071602f0069502f0065482e
+0068483800614c2e005c442500594c250058482f0044492f003040250024281c
+0020241c001c241c001c201c001c201200201c12001c1c1c001c1c1c00181c1c
+00171c1c00181c1c00181c1c00181c1c0018201c001b2425001c242500203c38
+003040380030443800344938003448380030403800303c380034382f002c2825
+0024241c0024201c0024241c002c3425003c3c2f003c402f00444938004d5438
+005d6138005d653800616542006161380061654200616d420058897000619a8d
+006c9e8d0074a6a0007db6a0007db28d008db68400a69d7100ae884b00c68c38
+00d2953800dbac4200d2ce9700d2dec600d6e6cf00dee6cf00e2e2c500cece97
+00a6a27a007d7d4b00596542003c492f00282c1c001c20120018201200142012
+0018201c001c24250024282f00243442002850550038555400588e8d0081b6a0
+"/>
+<palette number="29" name="cloudy-brick" data="00cacebc00b2baa000999d8d00818d7a0070817100607d7a0068928d00709ea9
+0089b5bc009ddee10099daeb0084d2eb0064c6d800549abc003c757a0030505e
+00283c4b001c303800282c250018201c003038250050231c004c232500442325
+0044271c00442725004448380038442f004448380030482f003c4842004d6155
+00547167006485840085a2a000adbebc00bdd2c600c1dacf00c1dad800c1dad8
+00add2e10084c9e10068a1bc00548da90050798d004c6d7a005d685400695c42
+0081503800915f1c00995f1c00ae6f4200e2a75400ea9b4100c2772500b23f09
+00aa210900812612007d3f2500994c1c00aa6b3800f6bc4a00f6c46700fad99f
+00e2d5bc00e6ead800e6ede100e6f6eb00daf6f400daf2eb00d1eee100d2e6e1
+00cedee200c5dad800bddacf00b9d2cf0099a9bc006996a000507d8d0044657a
+00385d710034617a00446971005c81840081968d00b9b18d00f2c47a00caa584
+00b6734b00aa3b1c00993b12007d2a1c00712b1c005c23250050272500404042
+00344c5500385954003851550040555e0049615e00556d5e00646d5e00799171
+0081a68d0092baa900b1d2c500bddacf00c5dae200c5dee200cedee200d9e2e1
+00deeae100daeae200d6ead800c9ead800c9e6d800c5e6e100c5e6e100c1e6e1
+00c1e6e200c1e6e200bdf2eb00c9f2f400d5edf400cdeaeb00c9eeeb00c9eaeb
+00c1e6eb00c1e6e200c1e2e200bde2e100b5e6e100a1c6cf006ca6b2005c99a0
+00497e960058899600598e97007da2970095b6aa00b5cabc00bddacf00c2e2d8
+00c9e6e100cde6e100d5eae100d6eae100d6e6d800cee6cf00c2dac600a6beaa
+0091958400796d540075684b008d716700a68d8400b6aea000ced6b300daeecf
+00f6f9e100fafeeb00fefef400fefefe00fefefe00fafefe00fefefe00fefef4
+00fafaf400f6faf400f2faf400e6f5eb00e2e6e100d6ded800e2eed800d2ded8
+00ceded800c9e6e200cde2d800cedecf00c6decf00cadecf00c9e2d800c5ded8
+00c6decf00c6dec600cad2b300aec6a90099b9bc009dbeb300b5cabc00c6d2c6
+00cad2c600c1dacf00c6e2cf00cee6cf00cee6cf00cae6d800cae2d800c5dad8
+00c1dae200b9ddeb00b9e6f400b5eaf400adeaf400ade6f40074cfeb004cc2d8
+0048b9ce003caacf004c99a90044797a004c695e003c554b0049514b004d4d38
+004c444200495955006150410050402f00602b25007d261c007d2a1c00642f2f
+005c484b004451550044555e00545d670048717a0064958d0085aaa900b9cacf
+00ceded800e2eae100eefaf400f6fef400fafef400fafaf400fafef400fafef4
+00fefef400fafeeb00fafeeb00fafee100fefed800faf9d800d2decf00dab5a9
+00d6b99600b674670081783800815b38007d584100695854008181710095a1a0
+"/>
+<palette number="30" name="burning-wood" data="0050231c005c271c0061271c006027250061271c00502b2500442b2500542725
+004c2b2f00483038003c2b2f002c2c2f00242025001f1c25001b1c25001c2025
+00281c250030202500341f2500381b1c0044231c0054231c00601e1c00682212
+00691e120061221200582212004c231c0044271c00402b12003c302500343425
+00302c250020281c0020201c001b201c001c1c1c001c1c12001f1c12001f1c12
+00231c12002420120034231200381f12004c1f1200601e1200711e1200851a12
+00911a12009a161300a2161200ae190000b2190000b22e0900be571200d66912
+00db610000c6571200b2480900a22500009e1600009e1609009a160000921600
+00921a0900891a0900751e0900691e12005c17120058171c005c271c0058271c
+0050342f00483838005444410049494b00403c38003438380024342f00202425
+0024201c00281f1c00341f1c00301f12003c1b12004c1f1200581f1200641e09
+0071220900791e0900851e12007d271200791f1c0079261c006d2325006d221c
+00691f1c0065221c0054232500481f2500441b2500381b1c0030171c0028181c
+00241b1c00231c1c00231c1c0024201200301f1200502b120065401c008d4c1c
+00b65f1c00d67b2500eaa33800eab05400eab04b00de9d2f00de832f00d26e1c
+00de4f2500c2261200ca0e0900ce1a1300ba1e0900b61e0900ba480900ae5309
+00a14f12008d3b090081401c00794c2f00793f3800852e25007d2f1c00812b1c
+00792f1c00712f1c007d2f1200792f1c006d2f1200642b1c005c271c004c1f1c
+00381f1c00301f2500281b1c00231c1c00201c1c00241f1c002c241c0038231c
+0044231c004c232500502f1c0058271c00582b2500652b1c0069271c006d2b1c
+006d3c2e006148380069584b007168540085645e00a55b3800a5572f00a24725
+00a63b1c00a23f120095401200963b1200923c09008d210000813b0000793b12
+008540120095401c009a502500ae531200b65b1200c6601200ca6e1c00ca6a25
+00ca6a2500c65f2f00b2561c0085441c00713b1c005c2b12004c231c003c231c
+00381f1c00401f1c00441b1c00481f1c004c1f1c004c231c0050271200541f1c
+0055231200511f1200501f12004c1b1c00401b1c00381b1c002c1b1c00241c1c
+001f1c1c001b181c0017181c001b181c001f1c1c00201c1c00231c1c002c1f1c
+00441f1c00582b1c006d3c1c0085401c00a65b1c00d28c4200d6d2bc00e6b471
+00eeb05d00dbad5500dea44200ca832f00ae672f008d642f0079584200503c2f
+003c2b2500301b25002c1b2500241c1c00201c1c001f1c1c001b1c1c001b1c1c
+00181c1c001b1c1c001b1c1c001f1c1c00201c1c00202425002c282500381f25
+0044233800593c2f0075402500793825007d382f006d2f2500692f25005c1b25
+"/>
+<palette number="31" name="aquatic-garden" data="0092500900855c1c00856c380099704b008d7d540085714100694c3800504825
+003c442500343c2f00282c2f0024242500201c2500201c1c0020181c001b1825
+001b1c25001c202500282c2f003c4038004d5942005c694200758555007d9e67
+00a6b1670095b27a009d9d71007d8567006d605e00515d4b0040554b00344438
+0028382f00282c250024241c0020201c001c1c1c00181c1c00171c1c001c201c
+0024241c0028281c0038271c0048301c0054331c0050381c0054401c0048401c
+0044271c00382b1c00242012001c1c1200181c1c0017181c0014141c0017141c
+0013141c0013141c0018181c001f181c001f1c1c00231c1c0030231c00402b1c
+00483425004c3825004834250038271c00301f1c00241c1c00201c1c001c1c1c
+001c201c001c201c001c201c0018201c0018201c0018201c0018201c0018201c
+0018201c001c241c0024281c002c30250040402f005161420060796700589296
+00609ea900649eb3006496a00064818d00556d7100445d55002c3c4200242c2f
+00182825001824250017201c0014181200181812001714090018201200242c12
+002c302500343c2f0038514b004061550044655e005571550060755e0054545e
+004450550040494b003838380034382f00282c25002424250023201c001c1812
+00201c1c0020201200342712003c231200542f25005137250050483800404c42
+0034404b003049550034515e003c597a0040657a0058697a00597571005d7571
+0064757100647d6700687d67006d81550060694b005d654200595d420069694b
+00757d380079794b00756438006d642f00595d3800545d42004955420038402f
+002c302f00282025002c1f2500282c250038341c004444250040382500443825
+0040302f0030342f0028282f002024250020241c0020241c00242825002c342f
+00343c420040555500546d670064797a0068919700749e8d00709697006c8184
+007169670059654b00455d3800444c250044441c0034301c0028281c0024241c
+0020241c0020201c0020201c0020201c0020241c00202825001c2c2f00244442
+0030555e002c6da0005896a90071b29f0074aaa90085adb3005c9ac500245daa
+00285da0002449670030384b002c3038002424250020201c001b1c1200181c12
+0014201200181c1200131c120013181c0014181c00141c1c00171c1c0014201c
+00141c1c00181c1c001c1c1c001c1c1c001c201c0020201c002420250028242f
+00343042003c4d5e005c7984007da6a00091b1b300a1bec600a9c6bc00aebaaa
+00a6baaa0091aa84008da255008185550089632f00894809007d2e00006d2f12
+0055331c0069501c005d402f0068484b007d795e00818971006c967a00609283
+0058897a0044698d0034485e001c34380017202f001f1c2f0020282f00283438
+"/>
+<palette number="32" name="no-name" data="0018180900181c0900181c12001c1c12001c1c1c001b1c1c00181c1c00181c1c
+00141c1c00131c1200181c09001718090014181200131412001414120013141c
+000f181c000b1412000c1012000c0c09001014120014181c0018181c001b201c
+0020241c00202c1c0020342500303c25004c442f006550250096601c00c2661c
+00d26a2500d66e2500d67f2500d27f2500ce842f00d69c2f00e2a82f00f6bf2e
+00f6d02e00fedc3800fecf3800fabf2e00fabb2e00eeb32e00ee9f2e00ea942e
+00de882500da942500deb32f00e6c82500e3e62e00f6e12e00e2da2f00d7c038
+00a5954200656d2f0048481c00383c1c00282c1c00202012001c1c1200182012
+00182012001820120020201c0020241c00282c250034302f00403038004c402f
+0059402f006d5038009a603800be6b2f00ba6a2f00ae7b2500956f25006d542e
+0055502f00514c3800404d4200384042003034380020242f001c2425001c201c
+001c201c00232012002c28120048301c006537250085482f00ba662f00ba5b38
+00955438006d50380089632f00a26c2f00b2883800ba943800d2bd4b00ead167
+00eacd6700eac56700eeb44100d2943800e2734100de734b00c66e4200b66e2f
+007d502500693b250044341c002c281c00202012001c1c1200181c1200141812
+00171812001c201c002828250034302500483c25006048250091633800c26638
+00d67b5500e6b46700fef58300fefe8c00fafec500eaeabc00bead970081928d
+006989540055652f005d4d2e006d3c2500794c2500956c2f00b6772f00b28c38
+00ba902f00c2882f00c27b2500b273250075582f0054402f003c382f00343c38
+0034402f003c44380049514b00748d8d00b6ba9700dadea900ceceb30096a697
+00546d67003c49550038494b00494d4b00555d410061714200818d4b00a69d71
+00b6a97100c69c6700ba844200ae772f0079542500513c1c0040381c00303412
+002c2c1c002828250020242500202425002828250030302f003049380049752e
+00717d2f0096aa5e00bab56700d7ce5e00f6e94a00faf95400fee95400fef14a
+00fee53800fae53800fee14100fae95400eef17000f6d97a00ceb57100c67b55
+00ca774200c27f3800c6833800c2884200deb95400eae67000fef97000fefe83
+00dee29600d6c18400ae9d7100697138004d54380034442f002c34250024281c
+0020241c0024281c0024241c00282025003027250040271c005034250069372f
+00a5543800c2622f00c66a2f00ca833800eeac5400f2c46700fad56700f6dd4a
+00f6c83800d2b43800aa9538008d6f2f005d5c2f0054482f0040441c0038401c
+002c341c00242c1c0024241c0028281c0028281c00382b12003c2b120048341c
+0060402e0075544100aa7b4200aa8442007948380064372e0038302500242425
+"/>
+<palette number="33" name="fall-quilt" data="0018282500383425005d44250089441200ae4c1200be660900be5e1200b24b12
+00a2401200813c1200694c12004d441c00403c25002830250018282500142025
+00132025000f2025000f20250014242f0018283800182838001c2838001c2c38
+001c2c3800202c2f0024302500303425004c442500514925006d50250089501c
+00aa572500c2621200c6661200d26e1200d6760900c6771200aa801c0092631c
+0075501c0055482500443425002828250018241c0013201c0018181c00201c1c
+00281f1200382312004c341c006954250085602500c2903800d6c58d00d6cab3
+00eae6d800fae9e100fae9d800dec1a90096915e006d6038004d442f00283038
+00242c380024283800202438001c28380018242f0014202f0014202500182425
+00182425002424250024241c0028201c00281f1c00301f1c00442f1c006d271c
+00812e1200852f0900a23b0000c6720900d6911c00e2ab2f00eab72f00e6c041
+00dea54100c2902f0091702f0071582f005d482e003c3c2f0024302f00202c2f
+0020242f00242425002428250028282500282c1c0030341c004c4425005d4c25
+0071581c00aa7b1c00c27a1c00d2841200d68d1200d27f1200b6771c00994c1c
+0089401200793709005d33120050402500614c250071542500a6732f00d6ad4b
+00e6c54b00f2c84b00daad4200b6842f0071582e004d482500383025002c2825
+0023181c00180c1200170c12001b141200341f12005d331200955c1c00c28c25
+00e2b44b00f2d55400fad57000fed47900eede8d00fae9c500fef1d800faede1
+00fee9c500fae5a900fee59600fee58c00fadd8300f6d97000fad15400fad04a
+00eec03800d6831c00ba480900922600006d1e09004c0f0900301009001b0809
+0017181c00182025001824250018282f00202c2f00282c380038343800594038
+007d4825009e3c2500a23f1c009a3712008d261200851a090071160000590b09
+00490b0000340b090024140000281009001b14120017141c0018182500131c2f
+000f1c2f0010202f000c1c2500101c2500131c2500101c250018241c00282312
+002c2312004023120061260000793309007d2a0900792609005d1f120034281c
+0024282f00202c2f0020302f0020302f001c2c2f0018242f00131c250013141c
+00140c12001804090010080000100c0000140c090014141200101c1c00101c25
+000f1c25000c1c1c00171c12002c1b12003813120050131c00711e1200813309
+00914f1c00ba7f1c00e2a32f00eac04100f2c84b00e2bc5400be902f007d602f
+00615038003c3c2f0024302f0018282f0014202f00101c2f000c1825000c1425
+000c142f000f182f000f1c3800141c3800142438001c2c380024302f0034302f
+004d4925006d5838007d602f00ba7f2500daa32f00e6a62500e6901c00c67825
+"/>
+<palette number="34" name="night-blue-sky" data="00030c4200040c4200070c42000708380004082f000308250000041200000409
+0000040000000400000004000000040000000409000004120003041200040412
+0004041200040409000404090000040900000000000000000000040000000400
+0004040900040412000404120004081200030812000008120000041200000412
+000004120000041c0000082500000c2f00030c38000310420003104b00030c4b
+00030c4b0003104b0003104b0004104b00040c4b00030c4b00030c4b00030c4b
+00000c420003083800030838000308380003042f0004042f0004043800040838
+00040838000308380003082f000008250000081c0000041c0000041200000412
+000404120004041c0003041c000004250000042500000425000004250000041c
+0000001200000009000000090000040900000409000004090000040900000400
+000004000000040900000409000008120000081c0000041c0000041c0003041c
+000404120004040900040409000404120004041c0007082500040c2f00080c38
+00070c420007104b0007104b000b104b000b104b000b104b0007104200071042
+00071042000410420003104200040c380004082f000404250004041c00040012
+0004001200030012000000090000000900000409000004090000040900000009
+0000000000000000000000000000000900040409000404090004040900030409
+0000040900000409000000090000000900000009000004090000040900040409
+000404120004081c000708250004082f0003082f0003082f0000042f00000425
+0000042500000425000004250000042f000004380003083800040c3800071442
+000718420003144200001038000008380000042f0000041c0000041200040409
+00040409000004120000041c000008250000083800030c4200070c4b0008104b
+00081055000714550008144b0007104b00070c4200040c380003082f00030825
+000008250000041c0000041c0000041c0000041c0000041c0000041c0000081c
+00000812000008090004080900040409000404120004082500040c3800030c42
+00031042000310380004103800080c38000708380007082f0004042f0004042f
+0004042f0003083800030c3800030c4200030c4200030c4b00030c4b00040c4b
+00040c4b00070c4b00070c4b00070c42000408380003042f0000001c00000012
+0000000900000009000000090004000900040009000400090004000900000000
+0000000000000400000004000000040900000409000404090004040900040409
+000404120004081c000408250004082f0004083800040c3800030c2f0000102f
+000008250000081c000004120000040900000009000000090000040900030412
+0004081c00040c250004102f0004102f00040c250004081c0004041200040409
+"/>
+<palette number="35" name="shadow-iris" data="0024141200201412001f1412001f14120020181200231c1200242012001c1812
+001b14120018101200170c1200170c1200171012001814120018141200171412
+00131412001014120013100900140c0900170c09001810090018140900181409
+00141409001410090014080900170c0900180c09001c1009001c1409001c1409
+001b14090018141200171012001710120014101200130c1200100c0900131009
+0014100900171009001c100900231012002c141c003817250040132f004c172f
+00501b25005823250058232500581f1c00441f1c0034171c002c141c0024141c
+0023181c0023181c0023181c0023141c00201412001c1412001c1412001b1012
+001b1012001c1012001f10120023101c0028131c00301725003c172f00481f38
+005823420064274b00602c4b0060304b006428540064284b00541b380048172f
+00381725002c1712002414090023100900201009001c1009001c140900231409
+00231809002318120023141200231412002318120024181c0028171c002c171c
+00381b1c00401b2500481b25004c232500401f250034171c0034171c0034171c
+003c1b250040172500441b2f00481b2f005023380058284100652c4200642b38
+00542338004427380028282f00271c250028171c002b141c002c171c00301725
+0034182500381b2500341b25002f1b2f0027182f0023182500231425001c181c
+001c1812001818120017141200131012000f1012001010120013101200141012
+00171412001714120017101200140c1200180c12001b0c12001f101200201012
+002310120024101200241412002414120028141200281312002c141c00381725
+00401738004c1f420054444b006c3c5e0079405e007d345e00753854006d274b
+0068284b00682b41006d23420064233800501f2f004813250038131c0034131c
+0030141c002c131c0027101c0024101200201009002414090023141200281812
+0030171c00481f25005c1f3800712c54008d3c5e00cab5bc00b1748e00914c7a
+00914c71008950710081385e007d385400792f4b006823420060233800541f2f
+004c23250040171c0034171c002c141200271012001f10120018101200141012
+00100c0900100c0900100c0900101009000f1009000f0c09000f0c1200100c12
+00100c1200130c1200140c1200180c12001b0c12001b101c001b101c001b101c
+001c101c001f101c0028131c003017250034172f00381b2f0040232f00481f2f
+0044232f003c242f00301f250028181c0028181c002b181c00301c1c00342025
+00401f2f00441b2f00501f2f00541f38005823380060233800601f3800541f38
+004c1b3800481b3800441b38003c1b2f003417250028141c001f141c0010141c
+00140c1c00140c1c00170c12001b10120020141c0023181c00241c1c00281c25
+"/>
+<palette number="36" name="solid-sky" data="0091685400b26f4b00ca7b4b00c67f4b00817055005448250028281c00141012
+000b041c000c041c0017181c00005d8d00006da000047aaa000786b300138abc
+00188eb3001f97b3002c9eb30034a2b30081757a00be896700d6984200ce8325
+00ca771c00c66a0900c25a0900a62b090085120000481309003c131200241c09
+0024241200343c250000659600006d9600006d96000069960000618d00142412
+0010180900080809000c0409000c0409000b0409000804090004040900070409
+00080009000c0009000f00090010041200130c1c0000598d000061a0000065a0
+00006596003c3c2500441f1200691e0900aa500900c65a0000b2430000851e00
+00480f0900240c12001708090010040900130809001b141200342c2500046996
+003ca2bc00adada000c6a59700c2947100daa05400de995400d6842f00d27b25
+00ca6f1c00da761c00ca772f0095685500587471000471a0000076a000007aa0
+00007aa000007aa000007aaa00047aaa000076aa000072aa00006da000006596
+002c3c1c001c24090014100900100809000f0409000c0012000b001200080012
+00080012000c0409000f040900140409001c0c12002424120034342f00006196
+000065960049494200403c250030381c0040402f00006996000076a000047aaa
+00087eaa000482aa000486aa000082aa00007eaa00007eaa00007aaa000072aa
+000069a000005d960010201c00100c120013080900141412001c2c1c0000618d
+000476a000178eb3002c9ebc003ca6c5003ca6c50044aac50048aac50048adc5
+0060b1bc0095916700d68f4b00d27f2f009a63250044441c002c231200181412
+000f081200070412000400120003041200070412000b0412001308120020241c
+0000699600188ab30048aebc0095bec500cedacf00d2decf00dad2cf00dadac6
+00dad2c600c2c2aa00c2b5a0008d89670071514b004854250034441c0034301c
+0044401c00515025008d582f00c26a2500ce6a1c00ce6e1200ce6e0900c26212
+00ae57250060585e00047196000c86aa00138eb3001f93b3002797bc00309ebc
+0030a6bc0030a2bc002b9fc5002797c6001b93bc00178eb300148ab3001386b3
+000882b300047aa000046da000006196002c2425001f10120017081200170812
+001b1c1c00005d8d000069960000618d00302725001c1c1200201809002c0f09
+003c1b12005d3725009a542500ba621c00ba660900aa57120049501c00283412
+002824120030231200403c1200954b0000c25e0900c6620900d6690000d26209
+00d2651200c6702500be6b38006c6c5e00046996000069a000006da0000069a0
+000065a00000598d000b0825000b041c000b0412000c04120014081200240c12
+00401309004d0b00006d130000a90e0900954312005555420018719600239bbc
+"/>
+<palette number="37" name="misty-field" data="005459670060645e00656955005d695400596d550064715e006d796700687571
+0074757a00798d8d0085a6b30099b9c500a1b9cf009dbdcf00a1b9cf009db1cf
+0095a9c600859ebc007492b3006c85b3006c85b300748db300708daa008196aa
+00859dbc008da1bc008999a9007d8d8d00798571006d795e00697d5500658554
+00658555006d855500618555005d794b00617d55006575550069754b0059754b
+0054794b005d8d4b006d964b0075aa670085b27a0091aa9700a9c2bc00a9c6cf
+00adc1cf00a9bdcf00a9bdd800a5bdd800a5b9d800a1b5d8009db5e2009db9e2
+009dbde100b1c9e200cdd2eb00d6daf400d6def400d1def400cddaf400c1d6eb
+00b1c5d800b1bdcf00a9b9cf00a9b5cf00a5b1d800a1b5d800a5b9d800a5bdd8
+00a9c1d800b1c5d800c1cee200cedee200dadeeb00dee2f400e2deeb00dee6f4
+00dee2fe00dee2f400dae2f400dae2f400deeaf400d6e2f400cddaeb00b9c5d8
+00a5b5cf008d99a90079798d006965710054545e004d555500494d4b0049494b
+0049494b00494d4b00495555004d61550054715e0068858400709a840081a2a0
+008da9bc0091a5c6008da5cf0089a1cf007ca5cf00408bcf00408bcf004087cf
+006481b300607da0006c9184007089670061795e0059715500596955004d5955
+004d5154004d494b004d494b004d4d4b00515154004d4d4b0049494200494942
+00494d4b004c4d5e0044446700484d67005c6484007c858d0091a1b300a5b9cf
+00adc9e100c9deeb00d5e6f400dee6eb00dee2eb00dee2eb00d1deeb00cddaeb
+00b9cee200adc5d800a9bdd800a5bdcf00a5b9c60099a9b3008da68d00899a84
+007d9d8400799e670065954b00557d410051754b00486d5e004d55550050515e
+00514d54004d494b0049494b0044444200444442004949420049494b0048484b
+0051554b0051594b0051594b0055614b0059615e00595d5e005559550051514b
+0055614b0055594b0055554b0051614b00516942005561420055654b0051654b
+004c654b0049614b004d5d4b0049514b00444d4b0049494b0049494b0049494b
+0049494b004949420051554b0051614200516938003c652f0049613800445942
+00494d42004949420044444b00344867002c518d003c82cf003c87cf00408ac6
+00607da00058797a00546c71005c656700656571007075840068758d00687d97
+007485aa008091bc00809dc600819acf00819dc50089adc60091adc6008da5bc
+0085a5bc007d9dbc007891b3007085aa006079a0006475970048697a00445971
+00505d67004c6184006c7d9700898da000919dbc00a1b5cf00a9c1d800b5d2e2
+00c1deeb00c5daeb00b5c9e200a5c1d800a1bdd8009db5d8009db5d80099b5d8
+0095b5cf009db5cf0099b1cf0095b1cf0095b1cf008da9cf0089a5c60080a1c6
+"/>
+<palette number="38" name="wooden-highlight" data="00614c4b005544380061482e007d5438008d645500956b710089747a00997071
+009a857a009d7c6700997c5e00a1775e00b2775500ae846700aa897a00c2997a
+00a67c7b00a27d7b00aa786700b2835500ae774200a66f2f009a5f2f0089501c
+008d4809008d4412008d401200893b12007d3709008d3309007d330900753312
+0075371c006d371c0069371c006d331c0061371c0065332e0058402f006d442e
+008d604200a6785500aa774200ae6f4b00aa735500b27b5500966c5e009a6b55
+00855c4b008d582f00814c1c0079401c0085481c00895025009258250096602f
+009a632f009a632f00925c1c009a4c1200924012008d401c008d4c1c00915025
+009e5f2f00ae6a2500b26e2f00aa661c0096541200814812006d441200602f09
+00542312004823120044231200442712004c2b1c00542b1c005c331c0064371c
+0075481c0085581c00a26a1c00aa6a1c00a25b1c0096501c008d401c007d331c
+00752f1200652a1200542712003c1f09002c1709002010090018100900101009
+0010140000101009001010090010140900141409001b1409001b1409001b1809
+0018141200201012001c10120014101200130c1200130c1200100c1200101012
+00101012000f10120010101200131012001b1812001f141c0024181c0030181c
+0044231c00502b1c0059331200693312006d33120079331200792a0900793312
+007d2e12007937120075401200714412006d44120069401c00693b1c0060331c
+00502b1c00381b1c002c131c0024181c0018141c00131012000c0c09000c0c09
+0010100900181409002817090044230900552b0900692a09006d2f12006d2f12
+006d2e09006d2e090061260900502b09003c23090028181200201812001c1812
+001c181200281c12002c171200381f120044271200502b120055341c00654825
+0085582f008d644b009270550092745500926b4b0079482500713c1c00582f1c
+0038231c0023181200171012001310120010101200100c0900100c0900181009
+0023140900301b0900381f12003c1f1200442325004c2725004c271c004c231c
+0054231c0060261200612712006426120054271c0044231200381b12002c1712
+0030171200381b1200402325004840380059484100695d540089645500956c5e
+0096685500815c540065544b006548250071441c0085441c0081401200894412
+0089481c007d4012007d3c1200793c120075371200652f1c00542f1c0044271c
+00301f12001f18120014100900100c09000c0c09000b0c09000c0c0900100c09
+00180c09001f0c0900231009003c170900401b090048271200482f12004c2f1c
+0048341c004c2f1c00502b1c0048231c00401f12003c1f0900281b09001b1409
+0020140900241c0900301b090038271200512f1200693b120079401200924c1c
+"/>
+<palette number="39" name="jet-tundra" data="006d5c4b0069554b0069554b0061594b005d554b005d514b005d504100554941
+005444380054442f0050402f004c402f00483c25004440250048402f004d492f
+00554c2f005d4c38006150380065503800695038006d54380069583800655438
+00615038005d4c380055442f00483c2f00403825003c3825003c382500443c25
+004838250049402f004c4438004c443800514038005044380051493800555041
+005d554100655d4100655d4b00696154007160540071645e0071685e0071685e
+00756c5e00796c55007968540079684b0075644b006d614b00695d4b00695c41
+00695c420061594b005d594b005d554b00554d410051494100514838004d4838
+004949380048443800484438004c4438004d443800554c3800595038005d5141
+0061594b00695c4b00715c4b00795c4b00795c4200715c4100695841005d5538
+0059543800554d3800494938004844380048402f00443c2f00443c2f00403c2f
+00403c3800443c3800443c3800484042004444380044402f0044402f0040382f
+0038342500383425003434250034342500343025003030250030301c003c341c
+003c381c00383425003430250038302500383025003c302500483c2f00554838
+00615541006d604b007968550081746700857d6700897d7100897c7100857d67
+00897467008570670081705e007d745500716c550069654b00655c42005d5841
+005955410059553800595538005955410059594b005d59540068685e006c605e
+006c605e0069615400655d540061504b00594c41005149380049442f0044402f
+003c382f0038382f0040402f0048442f00514938005d5138006158420065584b
+00695954006d615400756454007d6454007d6454007964540079685400796c5e
+00796c5e00756c5e00796c5e0079755e008579670091746700957c5e0096785e
+009a785e009e8055009e84550089784b00857042007160410061583800554c2f
+0049442f0040382f003c342f003c30250040342500493c250055482f00594c2f
+005d502f00615138006155410061584100655c410065614b00716854007d6c5e
+0085746700917871009a897a00b2958d00c6a59700dac1b300d2b9b300b2998d
+00a69184009d8d7a009985840078707a007d6c710079645e0071614b006d5d41
+006d5c4100695d41006d5d4b007168540071645400716854007168540071684b
+006d604200695c3800695c380069582f006d5d38007160410079644b007d6454
+00816c55008570550085705e008574670089786700917c6700897867008d745e
+0085744b0079644b0079604b006d5c410069584100655438005d4d380055482f
+00504425004840250044401c003c381c00403c1c00443c25004c402500554925
+0059542f0061582f006158380061553800615038005d4c380051483800494438
+"/>
+<palette number="40" name="pastel-lime" data="008995550085925e00818d5e006d8555007985550069794b0085814b00a28055
+00be6b42009e6f2500c6733800ca984200ae8c550095954b0089925e0071854b
+0069794b0065794b00617942005d6938005d553800714c380092581200a23b09
+00714409005550250051442f0040402f0034492f0038492500404d2500404d1c
+0044492500444d25004d592f00596d380071894b006d8555007996670089a27a
+0091a6970096b69700c2c6a000eacd9600d6b98400d6b55e00d29d6700c6905e
+0099745e006d715500656d4b00596442004d5d420045593800404d38003c4d2f
+0038513800384c3800384938003c493800444938004951380049593800495938
+005571380065794b006d81550081965e008da67100a6ad6700a2b28400aeb684
+00babe7a00c2c28400d6ca8400bac28d00aaba7a00a6ad6700a2a9550091a655
+007d8555006d754200696d4200616138005d4c380071584200716d4b00aa5b25
+00aa773800ae7338009d9155007d8955006d714b00696d4b0065654b00616942
+005d6d420059714200596d4b00596d4b00556d4b0055694b0054654200516542
+0051654200516542005569420055693800596438005161380049613800495d38
+004d512f005d4c2f0055483800514938005150420059494b0065555400716054
+0079795e00898967009d957a00b2b17a00cab99700d2ceaa00d6c1aa00bebeaa
+00b6be9700aabaa000aebe9700aac297009eba8d0095b28d00a2c2a00095aa84
+0091997a007d85710068755e0059694b004d5d4200404c3800384038003c3c38
+003c3c42004c404100614c410061614b00656d4b00697954007d8d6700819e71
+00859e7a00819a7a00819e7100759667006d754b0059614200494d38003c3c2f
+00343025002c271c00202812001414120017141c0014182500131c2500242025
+0028302f002c384200302c3800303038002c38380038403800383c380030382f
+0034342f003c302f0030302f0030302f0024382f0028302500203425002c3c2f
+002c34250028382500284025002844250030381c003844250030341c00384025
+0038342f0034402f003c442f0040403800404938004449380044442f0044492f
+003c4d2f00444c2f00445138003c5138003c5138004051380044514200494d4b
+004c584b00515d4b0055614b0059694b00596d4b005d754b005d715500657554
+006d815e007d8d71008da17a00ae9d7a00be918400a6aa6700a2b671009ab284
+0096ae71008daa840089aa7a0089a271007d91670079855e0069755500656d55
+005d6d55005d685500596d550065755500758967007596710074857100616d5e
+005569550049614b004c5442004d54420051503800495138004455380040552f
+0038552f0045512f004951380044512f0049552f004959380051593800556138
+"/>
+<palette number="41" name="hell" data="008d1f120091260900952209009a2209009a220900992212009a220900a22500
+00a6250000ae2e0000ba360000c6430000c63e0000ae3a0000a62600009e1a00
+0089160000890b0000850b00008107090089160000891a0900811a09008d1e00
+009a2a0000aa320000b23f0900aa4b1200b64b1200b64b1200b2470900ba4b00
+00ba4b0900be430900c2430900ca3f0900c6430900ce4f0900da5e0900d66612
+00e6620900da670900f28b3800de620900d2560900c24b1c00b63f0900aa2a09
+0096260900892209007d1a0900710f00006507000055070000490b00004c0300
+00490b0000550b0000590f0900611a0900712712007d2f1c0079432500853f12
+009e3b0900be571200d2620900d26b1200da671200d6620900ca5a0900b64a09
+00a23b0900962a090085220900751a000061130000500f09003c0b0900380f09
+00380f000038070000400700004d0f0000591300006116000075220000812200
+00852200008922000089220000892600008522000081220000791b0000711600
+00711600006d160000691a09006917090069130000690b00006d0b00006d1600
+00711a0000751f0000792200007d1e0000791e0000751e00006d1a0000651600
+0059130000551300004d1700004913000049130000440f09004c1300004c0f09
+004c130900501b1200501f1200541709005d170900691a09007d1a1200751a12
+00691b1200611f12005d1b120061170900591a000059170000591b09005d1a00
+00611a00006d1b0000752200007d220900852209008d220000922200009a2100
+009e1d00009e2100009e260900a2220900a12a0900a12a0900a2260900a62500
+00aa250000aa320000ae3f0000b23f0900ae3b0000a22e0000922a0000812b09
+00792609007d2609007926090079260000752a0000792e09007d2a0900812c12
+0095381c00914b250099441c00b6502f00a55f4b00a5635400c27c4b00b27838
+00ad572500ae532500ae4f1c00a9371c009d2e1c009a3709009a370900922b09
+00953300009a2e0000922a0000962a090096260900922209008d271200852b12
+00852712008d2a130092330900953b09009e430900be561200ca5f1200ce4f09
+00c2480000ae3f090095331200852e09007937000071270000651f09005c1e09
+00651e0900691a090075270900812609008522090089220900892609008d2609
+009126090091260000922600009a2200009e220000962100008d1b0000851600
+007d1600007d1600007912000079120000751600007d1b00007d220000792609
+00792609007926090071260900691a000065130000610f0000610f0000550f00
+00540f0000500f00004d0f000051130000551300005916000061160000691600
+00710f09007d1a0900811e0000811e00007d1600007d12000085120000851600
+"/>
+<palette number="42" name="indian-coast" data="0044382f0050402f00594c2f0069442e0068442e00503c25003c342500342c25
+002c2825002428250020202500282c1c00242c1c0024281c001c241c0014201c
+0013181c0014181c001c1c1c00232025001b2425000c242f0014241c0020201c
+0020201c00242c1c0024301c0028301c0034381c00383c1c003c3c1c00403c25
+00514d2f005d592f006d5c250071582f00816038007d6438007d643800816038
+0079543800755438006d502f006d4c2e0061502f00554d3800544c3800514842
+004d4942005961550089b1bc00a9d2d800add2d800adced800b1cac600b6774b
+00a6673800a2633800b27b4b00b5cecf00b5d2d800b5d2d800b1d2d800b1d2d8
+00b1d2cf00a5856700956c38008d6b380091673800916438009e674b00a9d2c5
+00a9d2d800a9cecf008d7d710085584b00795441007d4c380075503800754c2f
+0079502e0079582f007d543800855c38008d6738008d684b0095957a00b1cad8
+00b1d2d800b5d6d800b9dad800b9d6d800b5d2e200b5d2e200b1d2e200add2d8
+00a1cec5007979550065583800544c2f0044442500343c2500343c1c00283c2f
+0038441c004d4025006d482e008558380091604200aa735500adcecf00b1ced8
+00b1d2e200b1cee100b1d2d800b1d6cf008989710081644b00715838005d4c25
+00553c0900302c12002c281c00241c1c0034231c0034302f00403838004c4838
+005d553800756d54009dcecf00a5cee100a9cee100a9cee100a9d2d800a5c6cf
+00796c5e00755841006d4838006d4838005548380050443800504038004c4438
+0051483800554c380069503800795038008d60420091684b009da68d00b5d2cf
+00bdd2d800b9d6d800b9d2cf00ba7f55009a634200916338009163380092602f
+009e582f009d633800ba7f4b00b1cec600a9d2d80099c2cf006c685e0055594b
+00494c380040442f00383c2f003c3c3800443c380048443800514d380059592f
+005d58380069615400a5bac500bdced800c5d6d800cedad800f6e5c500f6e1bc
+00ce945e009e644b0085604100694c3800483c38002030380020303800203038
+0018304200344442004d4d540071797100a5cecf00b5d6d800c1dad800c1dad8
+00cadad800cadad800cad2c600ba834b00aa773800ae734200c2905500b9d6cf
+00b5d6d800b5dae200b5d6e200bdd6e200c1dae200c5dae200cedae200cedae2
+00c9dae200c5dae200c6dacf00e2d6b300be884b00ae734200b26f4b00c29867
+00b9d6cf00b5d2d800b1cad80095857100896442008d60380085542f007d5825
+00814f25007d502f006d5425006d4c2e005d502f0044402f003c3c25003c3c25
+00443c2f0048443800494942005155550071857a00a5d2d800add2e100add2e2
+00add2d800a9d6d800a5d2cf00817d55007d6838006d543800594c3800514d38
+"/>
+<palette number="43" name="dentist-decor" data="00dab9a900d6c19700d2bd8d00cac68400b2a97100a6a2670095855e00857867
+00796d5e006d69540069655400696955006d6d55006d6d55006d6d5500756d5e
+008181670089925e0092a65e0092a6550089955500858d55008d8d5500899255
+008d895e0089916700929a71009ea27a009da671009aaa710096aa7a00a6b684
+00c2b18d00d2b98d00dab99700e6b48d00eab49600eab08d00e6ac8300d69d71
+00c6917100b6806700996c5e008d64540079655400755c54006d585e0060505e
+00794c5e00755c5e0075695e00755c5e0081645e00857d670099846700ae8d7a
+00be947100c2a57100dba17a00e6b48d00e6b48d00eeb48d00ea9d9700e6ac8d
+00ea9da000ea9c9600e69da900de959700db918d00ce957a00c68c7100be8071
+00ba886700c2806800c2886700ca8c6700ca917100ca987100d2987100dea171
+00dea97a00dba57a00dba98400d6a98400d2a58400d6a18400db918d00db8d84
+00de8d8d00db918d00d6a18d00cea88400caad8400aeaa7a009595670089855e
+00716c5500655d5400514d4b004d514b00555554006d61540089704b0095705e
+00a5775e00ba7b5e00ba806800c2887100c2947100cea58400dec5a000faf5d8
+00dec5a000d6b5a000d6b5b300fac5c500eea4a900ea9da000eaa09600ea9197
+00db8d8d00ce898d00ba908400b2998400a6a57a00a2aa710092a66700899667
+0095895e00ae9d6700bead6700cac67100cedb8400ceca7100beb57a00aea971
+008d8d5e00697155004d514b003c404200302c2f002c2c250024202500182025
+0024242f00342838005040410054484b006958540079716700918d7100a2957a
+00ba9d8d00cab59700d2bd9700d2c1a000dec5a000dabd9600ceb58d00d2a584
+00d2997a00d2997a00db8d8400db898400ce897a00ce947a00ce917a00db8984
+00db8d8400de918d00de999700dea49600db999700db919700ce899700a9848d
+00a58d840091817100916c6700855c6700896867007d7167007d756700917467
+00a1806700b2985e00b2a16700b2a55e00a6ae5e009aa65e00aea95e009aa25e
+00999555009d895e00ba845e00ba7f5e00be805e00c2886800be886800c28c5e
+00ca8c5e00ca916700ca917100ce957a00ce958400d28d8d00d6898d00ce898d
+00ce898400c68d8400c6917a00c2917a00b2947a00aea17a00a6a56700a2b25e
+009eaa6700a2ba7100b2ba5e00bec26700beb17a00c6ad8400baa19700ce9197
+00d68d8d00db8d8400ce8d7a00db897100ca917a00c28c7a00b6887100b68467
+0095785e00796954005d4c41005544420048444b003030420030282f002c2c2f
+002c282f00282c2f0020282f001c283800202438002c2c380044384200555141
+0069654b00757555008985550085895e0091785500856c4b00616142004c444b
+"/>
+<palette number="44" name="greenland" data="00add2bc00a9b9c60091a9c6008da1bc00899db3007d99a900789ea900819eaa
+0089aea900a2c6a000c2eac500cef2ce00e5f2e100feeee100fee9d800faedd8
+00fae5d800ead1bc00e6c9b300debda900cea88d00bead8400d6bda000e6c5a9
+00eac9bc00e6d2c500f2e1d800faf2eb00eefaf400eaf2fe00daeafe00cddefe
+00c1d2eb00b5c9e200a5b5d8008da5c60089a5bc0089a9bc0091b2aa00a2d2a9
+00bde2cf00c5e6d800d6eee100deeef400deeefe00deeefe00ddeefe00daeefe
+00d5f2f400c5eee100b5e6d800b1c5d80089adbc007d9ea900789aaa007c9db3
+0085a5bc0099b1c600b1c1e200bdcdeb00c9daeb00d2eee100d6f2e100daf2e2
+00daf2eb00daf6eb00d6f2eb00d6eeeb00d6eeeb00daeeeb00daeeeb00daeeeb
+00daeee100d6f2e100ceeed800c6e6cf00b5dabc00a6baa0009696aa00898daa
+00858da0007d89a0007991a9007892aa007c96aa007099a9007492aa00789aaa
+00819aa90091a5b300a9cabc00bddecf00bde2cf00b1ceb300aeba970099a697
+008592970085929700748d97006c85970068819700648197006881a0006c85a0
+006c89a0007089a0007089a0007189a0007489a000708da000708daa006c8daa
+006c89aa006c89aa007085a00074818d0068798400647584006481840068858d
+0074858d0074859700858da0009191a000a6999700aea19700b6a6a000debdb3
+00e6c9bc00ceced800d2deeb00dee6f400deeafe00deeafe00e2eafe00e2eafe
+00e2f2fe00e2f6fe00e2f6fe00e6fafe00eafafe00eafafe00e6f6fe00e2f6fe
+00def2fe00daf2f400d2eee100c1e6d800cad6c500dac1a900cab59700baa9a0
+00bab5aa00bddacf00ceeee200d6eeeb00deeef400daeaf400d5def400cddaf4
+00cddaf400c5d2eb00c9cee200c1cee200bdcee200c5d6e200d6eee200e2f2eb
+00e6f6f400e6f6f400e2f6f400deeef400deeaf400d5daf400c9d1eb00b9c9e2
+00b1c1d800a1a1b300a699b300aa9a9700b2a19700b2a99700caad9700dec1a9
+00eacdbc00f6dad800fae6e100e6f2f400e2f2fe00e2f2fe00e2f2fe00e2f2fe
+00e1eefe00deeefe00deeefe00deeefe00deeafe00daeaeb00d9eee100c9eacf
+00badeb300a2c2a00096b6970081a68d007d9e84008d927a00918d8400ae9984
+00c2a18400caa08400debda900eacdbc00eeddd800eaeaeb00e2eef400e2eefe
+00e2eefe00e2eefe00e2eefe00e6f2fe00e6faf400eafef400f6feeb00fef5eb
+00faf2fe00eefafe00eaf6fe00eaf6f400eaf6f400e6f2f400e2eef400e2f2f4
+00e2f2f400e2f6f400e2f6f400e2faf400e2f6f400def2f400deeef400deeaf4
+00d6e2f400cddaf400b9c9eb00adc1d80091a5bc008199aa007d95a0007892a0
+007092a00070929700708ea000708da000708daa00748daa00748daa00708da9
+"/>
+<palette number="45" name="purple-dress" data="00c6608e00ce6c8e00c6887a00b2998400b6958d00ae9584009e897100997867
+00996f6700996b5e009268550089645400795c54006d5954006d5554006d5554
+007554540089605e0095685e00aa587100b25c7b00b2588400ba608e00c2648e
+00c2688400b6807100ad847100a28871009a897100998571009d7c71009a7471
+00a95c7b00b1588400be648e00ce6c9700db79aa00ee8dbc00f6a8cf00f6cdbc
+00dbad9700f6bcb200f9e1e100bea19700ae958400a5807100a5735e00a66f5e
+00ae786700aa847100a68d7a00a58d7a00a18d84009d8984009d898d00a98d8d
+00ae969700b29d8d00b69d8d00b2998d00baa19700d275a100da79a100db79a1
+00da70a100de7da000db9d8d00dba18d00ca997a00aa8c7a00a17c7a009d6084
+0095588400995884009d547a00a1507b00a9548e00ad5c8e00b1588e00a95884
+009d547a00955071008d506700895c5e0091685e0092745e00917c6700968167
+009a806700a17c5e009e745e009e705e00997c71009680710096857100918571
+0091857a0099818400998584009a8584009a857a0099857a0099857100a18071
+00a5787100ba687b00be607b00c6648400ca688400c6688400b6648400aa707b
+009d807a00a2897a00a28c7a00a1857100aa7c7100ba688400c6688400ca688e
+00ce688e00ce688e00ca648e00ca608e00c6648e00c6688e00ca688e00c66497
+00c6659700c66c9700be649700c6649700c2648e00be688e00b6688400a57871
+009e7c71009e787100996c710099587a00a55c7a00a66868009d7068009d7871
+009a787100957d7100957471008d70670085706700856c670085645e00755c54
+006d55540061515400615554007560540091685e009d6f6700ae647b00ba6084
+00be648400be5c8400b66484009d787a008d7071008568670075646700796c71
+0089747100917c710095817a0099847a009d857a00a18d7a00a58d7a00a58984
+00a6898400ba688e00c2648e00c6648e00c6688e00c2648e00be688400b27c71
+00a27c680091787100817067006c605e0064585e006d5954007960540085645e
+008d685e0089685e0079645e006c5c5e0064545e006151540059514b0059494b
+0059494b005d4d540068545d00855c5e00a1547a00ba608e00c6689700d270a1
+00de7daa00ee89bc00ee89bc00ea85bd00de79aa00d2709700ca847a00be8871
+00ca957100ba846800b6806700b67b6800a6787100a9587b00a5547b00a1507a
+00994c7a0099547a00895c71008d6467008d70710095787a0091747a0091787a
+00957c7a009d857a00a68d7a00aa917a00aa917a00aa918400a28d8400a68d84
+00aa898400c26c9700c670a100c66ca100ca64a100ce689700ce6c9700d26c97
+00ce649700ca649700ca649700ca608e00c6608e00c25c8400b2587b00a6547b
+"/>
+<palette number="46" name="no-name" data="00795c4b00a2846700b6987a00c6a98d00d2bda000ced2bc00c2c6bc00cab9aa
+00ceb5a000ceb19700cab1a000c6b19700c2ada000c2ada000c2ada000c6ad97
+00c2a59700ba9d8d00ba998400ba947a00aa805e00915442006d402500514425
+00403c25003038250038341c00303c2500383c25003c3c25004844250059331c
+006d3b1c0085481c00a6734200ba946700be9d8400c2a59700beb5aa00cacecf
+00cad6cf00c5d6d800c5d6d800c5d6d800c1d6d800c5d6d800c9d6d800ced6d8
+00ced2d800ced6cf00cad6c600c2cebc00bab6a900bead8d00c2ad7100caad71
+00d6b57a00e6c18d00e6c9a000eac9a900eacda900eacda900e6c9a900e6c5a0
+00debda000caa98d00b6997a009e8d5e00794c38005534250044231c003c2825
+0030272500342c1c002c2c25002c2c25002c342500282c1c00242c250028302f
+002c2c2f00302c2f00383038004430380048342f005c442e00695d4100898d55
+00929a5e009a9967009e9d7100818d840054615500405142002c3c2f00242c2f
+001c201c001f181200181c1c00141c1c0014181c0014181c0014181c0014201c
+0014201c0014201c0014241c0020242500282c2f0034342f0040342f00484438
+005d69420085925e00b2a97100dec19700eacda900f2d9bc00dee2cf00dee2d8
+00e2ded800e2e6d800dae2d800cadad800c9d6d800c9d2d800cadad800cedacf
+00d2dacf00ead1b300e6cda900e2c1a000caad8400bea57100a2955e0071614b
+005550380040442f0034382f002c302f0028342f002c343800343c3800484842
+005d5041006979550089965e00a6a56700b2997100bea97a00c2a98400c6a98d
+00cab9a000cad6c600c6d6cf00c6d2cf00bdd2cf00b5c6bc00beb1aa00b6a197
+00b2917a00925c4b0081442e0081442f008d705500ba997a00dbc1a000ead1b2
+00d6d6cf00d2dacf00cedacf00ced6c600c2b1aa00ba998d00a98c71007d684b
+0061504b004d4d4200484c4b00616d4b0092925e00b69d7a00caad8d00dbb997
+00e2bd8d00d6a48400c6a17100b68c5e008d5c42006d3b2e0075482e00925842
+00b6835e00ca9d7a00e6c18d00f2c99600f2d5a900f2d5b200eed5b200e6c9a0
+00e2c18d00cea87100c2a15e00aa996700899155006d6842004d4d3800404038
+00404038004c48420061584b00817d5500a9957a00b6918400be918400be9d84
+00be9d8400c2a18400ba9d8400b2917a00896854006d40380048403800403c38
+003c402f003c442f003c402f00444038005d5141007d85550096916700b2997a
+00baa58400bea58400bea18d00c2a58d00bea58400bea58400bea48400bea17a
+00ae98710096915e00715441005948380044402f0034302500241c25001c1c25
+001320250010181c001314120010141c0014181c00181c1c0020281c00302c1c
+"/>
+<palette number="47" name="spring-flora" data="003343240035422200333e1d0028331700282a1a00252b190024301900202e17
+00222c1600151c110012130e0010110b000f110b000d0f0a000d0e0c000d0e0c
+000f110d0011150e001a231500222c1c002a332700313b27003240360037393f
+003936420037253b00321b33002c261c001a20120011140e000f120c000e100a
+000e0e090012120d00131710001f2924002c283a003430480042354f00413f4c
+003f3d4400363f2a00354222002e4322002e3e2000233318001a23130012130e
+000c0d0900090a07000806050007050400090606000b0909000e0f0b0015160f
+002c1f3200301b360037273b0035203b0030263e002c2b3700323b2a00354327
+0036482d003a4f2c003f572c003d572a003a4f2a00384a2400324822002d4222
+0024391f00202c1a001721140010140f000f130c0011130d0011140f00172116
+001e2e1d0024372000293e21002e432200304224003242250032422500354225
+00334327003543260037482a0039482a0034482d0034482d0031482d0031482a
+0032482500324825002f482a00334a27003948220037482700394b27003d4f27
+00465125004c593300526643005670490064724c0059763c00667e5800728c61
+0087986200707f5d00768c5d00bfaea3008f9a7100637f64005d783b004f663c
+005267430053684700566748005667400057573400495832004c5034003e5739
+004658320047543800464b3200434a2c0039482a0034482a002f422800293624
+00222a1900151b100010130c000c0b0a000a0807000705050006040400050403
+0005030400050403000505050006050500060405000704050007040500070505
+00080606000a0807000d0b0a000e0f0b0013150f0027211700302f1e003c3935
+004f4161004a3a4c006a3b4f00605a5500543e5500584f5e005052480046453b
+00394536003c4f2f003a4f2f003a4f2e00364f2c00354f2c00354f2c00354f2f
+00374f32003c4f32003e5731003c5734003d5e3400435e34004c5e3800567638
+0050603500536d2c00536e37004c67370049663600445832003f4f2c00394827
+003748220035432200324225002c3e24002c37260029392300283d2400293e26
+002c482a00374f29003d572f00435e2f004d673500597639005675390059764c
+00727f55006a7e61005d774c005275480049663b003c57340031482d00273922
+00202e1b001721120011170d0011150d0011140e00161b1100212a1900242f1c
+002c391f00313e2100313f23002d3a210025331b00202c17001721110010150d
+000c0f08000b0d07000b0b07000a0e08000c0c09000d0f08000f130b0013170f
+001d2c160023341d0027391e002e431c0032421c002f481d002f3f1e0027391b
+00203319001c281900151a110013170f001c231500232f1a002e3e2100354327
+"/>
+<palette number="48" name="andi" data="00350f05004d2f16005c452700705337007e5a3b008a573f008c5a42008c5d40
+00895832007a522000643e1300481f0c00340201001400000002000000020000
+0018150c0048221e0052352f00613e29006c472a007a4d370084514100885c47
+00895c4700895e4700885c470087524500844a3d00734335006a3b3600552d2a
+00300d150010020100000000000000000000000000020000002e110500492412
+00543c2600744c340089533b00945e47009d684c00a26d4f00a07652009c744f
+00996e4f0094664900945d48008f57410091513a0090513700924f31008c5130
+008f54300095583f00975b4100945a430091574400905744008a5b440089583e
+00765538006f532b00644a2400643f2100643818005e3f140060341400573812
+0058300e00482607004417060045140b0053220c00612b1c00642e2800724232
+007a57400081684c008e776500a2867a00aa968c00a8a29b00b8afa700b2a79f
+00ae9d9400a4978500a38f7300957f5b008c6a3f00754c3300592e1e00390d04
+00170000000200000000000000000000001306010038150800563223006c3930
+007e413100824439008048300085412e008044280087411d0078421800823914
+00612f0b00491707003f0e0200360000003600000041120b0053371e00593d25
+00694a2b007459340082603d0081614200846047008d644e008e6d4c00916c4c
+009572500097745000977554009a775700aa806700b1896c00ad937800ac987c
+00b09c8d00bbab8e00b6ac9200ae9d8c00ac9c7900a1916a009b88620099845d
+0094765700966c4d0095644a00965d4800915c3d008f593e008c5539008c5934
+008a64360086653b0087633b008d6140008e5e42008a623b0084633600826031
+00785b2600693c11005e0e03003d0000003b040200440d1100581b0a00603013
+006f4925007d582a00825e32008c603a009461450096624900996750009e6e4f
+009b6e54009e6e50009d694f009b664b00986249009a614800a3604600a46a50
+00a5705100a4755000a3765100a27851009e755000986d4d008c6449007e5744
+0076503d00693f2d005b351900582c0c0056280f006823110075391e0075442a
+0083502a007f522f007c562e007e522700785628006d441e00683c19005f4118
+0065421500674124006b48270074522a007c582e007c5b3400796438007e663e
+0083644600886048008c5f48008e5d48008e6048008f5d44008c5d46008c5a46
+008e5946008c524000894b3c00844d37007d573c0078593e0080684600886f4c
+00937659009c8775009f917c00ae948200b3977d00ae977700ad947100b29264
+00aa8f7000a18a6d00a1865c00a07d5100a1875b00aa7b5500a47a5800998250
+0098765400947750008b6f4d008d6f4900896d4f00876c5d008f6f5e00948064
+"/>
+<palette number="49" name="gig-o835" data="00386155004c6954004d7554004c6d5e00546d5e0058715e005c7d5e00657967
+006985710071917a0071957a00658d71005c7d670054715e0051654b00386142
+0034594200245142001c4d42002c482f00143c2f00143c2f0010444200104442
+0004444b00045154000c59670010657a001c657a001c697a001c717a0024697a
+0024697a0030697a0034697100306d67002c655d002861540030594b00284c38
+00184838001c483800184c38002848420030594b00385d54004469670044757a
+0044757a0048757a00487971004c797100547d6700597d67005c7971005d8167
+0068917a00649d8d0079a296007da6a900a1b6a900add2c500a1baa00089b2b3
+0079a5a0006c918d005c8d830050818300507d7a004c7d7a004c817000487d67
+004875670048756700447971003c79700034757a003079830028758d0028718d
+00307996003875a000407d96004c7d8400598a840064928d00709a9600759597
+0074919600709596006492a000508ea0003c82960030798d0024758300247183
+0038718300447983004c7d840054898300608e8d00649596006492a0006896a0
+00648ea000648596005c818400587d7a00597967005071670048695e00486555
+00405d4b00245d54001c615d000c5154000c596700044d6700105d6700136167
+00205d5e0030615e0040695e004c755e005d796700617967005c7d7100547d71
+005c8171005485710058817a0058817a005c817a0060817a006c817a00708d84
+006d9983006c928d0071958d007d958400719684006c998d006ca2960071a696
+00709a8d0074958d0075998d00789a97007da2970085a297008daa970091aea0
+008db2a90089b6b30085a2a0007da28d00799d840075927a006d917a00608571
+0058797100547167004c716700447167003c69670034655e00306567001c6570
+00206d83001c698400207184002775830038798400447d8300447d83004c8183
+004982840048868d00518697005086a0005486960054868d0058818400648584
+0064898400648e840064898d00648e8d00618e84005c92790058857a0058817a
+0058817a0058857a0060897a0060897a006c918400708d84006c918d00748d8d
+006c8d96006092a0004882a0003c7e96002c758d00246d830028697a002c6d7a
+003c717a0048797a0055817a0060858300648584006885840068898d006c898d
+0068858d00648584005c797a0058757a004c757100507567004c756700487567
+004471670040717100386d7100386d710030717100347170003c757a00497e84
+005082a000588aaa00508aaa004486a0003882a0002875a0001c718d0014658d
+001861840010617a001461700024615e0030655d003c695e0048755e004d7967
+00547d7a0054868400588696005889a000548ea0004c858d00507d840050797a
+"/>
+<palette number="50" name="rie02" data="00304825003c551c0030581c003c4c25003840250030341c002c301c00242c1c
+001824120014241200182812001c2c120024281200241c1200141412000c1009
+0010140900141809001c1c0900282c120038341c004440250058482f00555d2f
+005564380058604b005d614b005c614200556538005869420059694b00546942
+0059714200718d5500859d7a008dbe960091b6a90081bdbc00a9b5b300b1bda9
+00d2e6a000deeab300f6f19f00d6e68d00bedaa000c6e27a00eaf67900dad170
+009dad5d007d955e0079955400657d42005d6d420059652f0059752f0065712f
+00717d38007d854b00998d5400999d6700a2c26700b6ca6700b6be5400c29870
+0089815e0071714b00596d4200485c38003c593800385c38003c5d2f0040582f
+003859380034593800345038003850380030482f002c482f00243c2f00203438
+002438420024383800244438003058380044654100617d550071955e0091aa7a
+0095b170007d99670061795400555d42003c404200242c2f0014241c000c1812
+00081000000c0c00001418120020301c002c3c2500444c2f0048592f0040542f
+0051582f00485d1c003c4c2f0038382f002c38250020341c0018341c00142c12
+001c300900183012001c381c0018382500183825001c382500243c2f00304825
+00345825003c6125003c5d2f003c602e00304c2f002844250020341c001c381c
+00102c120010281200102c09001c3009002c341c002438120028401200244825
+002c4c25002c4c2500284825002c381c0024341c001c301c0020281c00202012
+0018201c0014281c001c2825001c241c0018282500182c250018342f001c2c2f
+001c2825001c302500142825000c281c0014201200101412000c1412000c1809
+000c1809001024120014341c00183c2500204c2f002c5038002c512f0030612f
+003c792500406d250048652f003c5d380038594b003c505e004c5d670058795e
+0065814b0061914b005d853800719d41005d79420055752f004d652f00445525
+003c4425003c382500383425003c3c2f005050380058684b0075815e0095ad71
+00a6ba8d00a6c67a00adba8400a2b27a0085955e0075854b005d714b0054694b
+003c614b00404442002c404b00243442001c3842001c3842002030380024302f
+0034301c0030382500302c1c002c341c0038381c003c3c1c0040442500505038
+0069654200818155008585710081897a0075916700799d540071914200617542
+004c69380048713800448138003c7d3700346d41003461410040694b0059855e
+007d957100a2ae840099c69700aac68d00a9ce8d00aed28400b5d68300a9d68c
+00aede8d00b6ce9700beca9600c6c69600dad58d00d6d6a000bdce8d00bed267
+00aed24b007599380069853800697d38006d6d38005d714200696d4b00757d71
+"/>
+<palette number="51" name="rie05" data="00497d54004d8d530059925300689a5e006daa670092c67100a2d68400b6e2a0
+00c6eaa000ceeaa900daf2b200deeea900dae29600dee68d00dae68300d2de83
+00cede7a00bedb7100cbe27a00cee26700dae25e00d3de5e00c6de4b00aad25e
+00aace670096c2710089ae710079aa670081ae710081b6710092c68400a2dea0
+00b6daa900d2eac500e6f6ce00e6f6d800e6f2cf00deeac500d6eebc00d6eaa9
+00d6e69600d2e68300c6e67a00badb7a00aace7a009ac6710089b655007db24b
+0079aa540089995e008dae5e00a2b67100c1c98d00cdcdb200dee6c500eaface
+00f6fec500fef1a900f6ea9f00f2fa7000e6ee5e00deea7000c6de7100bedb67
+00c6ce6700bad66700aed67100a6da7100b6d67100badb7a00c6e28400cae296
+00dedea000eeea9f00f6e9a900e2eeb200d2eaa900c6eaa000c6e69600cae284
+00cfe67a00c6e27a00bade7100b2d66700a6ce6700a6ca5e0096be54008dba4b
+0099ae4200a5a9420096b655009ec25e00a2c26700a2ce67009ece6700a6d271
+00a2ca7100a2d27a00a6d671009ece5e008ec2550081ae550079a64b0079ae4b
+00799d4b0081a24b009a942500899d4b006d9a4b0079a2670089aa8400a6c697
+00b2daa900b6d6b300b9d2b300b2daa9009ac68d007db27a007dba710092c267
+0096c2670096c267009ac25e0092c655008ec255008eb655008db6540092c24b
+0096c24b009ac64b009ec23800aac63800a2ce4200bed24b00e6bb1c00fec609
+00f2d02500f2e14b00f6ed7000def29f00e2eeb200f2f2cf00f6f2d800f6f6e1
+00f2f2e100f2f1d800e2f2bc00ceeab300c2e29600b2d68400a2d27a0081c267
+0075a655006d95410065994b0059964a00619e4b0065a2540071aa550089c25e
+009ace6700aace5e00bdc15400eed04100fee45400fee96600fedd5d00e6cd5e
+00b6ce710099b17a00719a5e0064965e0054815d0049794b00417541003d7138
+003c6d380041712f003d6d3800416d380041713800457541004d8141005d8d41
+005d964a00719e550085aa550092be670096be7a009dbe84009eca8400a2d284
+00aedb7a00bade7a00c6e69600cee6a900d6e6b300deeac500e6f6d800eeede1
+00eeeaeb00eeeed800e2eebc00d6e6a000c2da8d00bec68300aec67a00aeca7a
+00aed67a00b6db7a00c2d68400c6e2a000cae2a000cae2a000bedeb300bedeb3
+00c2e6b300cae6b200d6eab200dee6b300daeab200d2e6a900cedaa900b6dea0
+009ac28d0081aa7100659a5d00518d5300518553004d7d4a0049794a00458141
+0049794a004d814a006d854b0061924b006c9a5e007db2670096ca7100a6d27a
+00bade8d00c2de9700c2da9700b6da9700a2da8300aad67a00aed27a00b6d27a
+00bad67a00bed67a00c2da8400c6e68d00cae69600cfe68d00cada8300bece7a
+"/>
+<palette number="52" name="rie11" data="00ae9067008160550075504200695c380071502f00655c42006d7155007d8967
+00a1887a00c6987a00ce9d8400aea58400919e670071755e00585c4200444438
+003c382f00342b2500302825002c2c1c002c2c1c002c2c250030302f0034342f
+0034342f0034342f002c343800343838003838380038383800383c38003c3c38
+00403c38004438380040382f003c3c2f00383825003434250030302500302c25
+00302c2500302c2f002c2c3800283038002c383800303c420034404b0038484b
+00515555006961540079796700997d6700ae8c7a00c2948400be988400a18d71
+0085795e00716042005c503800443c2f003c342500342b1c0030231c0030281c
+003434250034382f00383c2f003c382f0038342f0030342f00282c250020241c
+0020241c001c201c0024241c0030302500443c2f0055483800715c4b00998167
+00b2997a00c6a59700c6a59700c6a58d009e9a710085855e00656142004c3c2f
+004938250040302f0040302f003c383800444442004859420061695500798167
+0091917a00c2a58400d2a58d00d2ad8d00dab59700dab4a000dab1a000c6a98d
+009d9171007d7d67006d6d4b004d4d4200484c420049494b00443c42003c3838
+003030380030302f002c2c2f0020242500181c1c0014141c000f141c000c1412
+000c1012000c1009000c140900101009000c1409001014090014140900141409
+0017140900181409001b1009001c180900181409001714120013141200181412
+001f14120023181c001c18120020181c001f181c001c1c1c001c20250018242f
+001c202f001c20250017181c0017141c00181c1c001c242500282825002c2c2f
+002c283800282838001f1c250014141c0013101c0010101c0010101200101412
+001018120010181200141812001714120014181200181812001c1c1c00282c1c
+00303c2500383c2f003848380040483800444038004440420040403800444042
+00444942004c4c420044595500546071007175670091897a00958d8400898d7a
+0069796700515554003c444200303c38003438380038382f0034342f0038342f
+003c2b2f0038302f00342c2f00301f2500281c1c0028201c00241f1c002c2012
+0024241c0024241c0024242500281f2500242425002824250030272500342825
+00402c2500402c25003c30250038302f0034303800383438003c34380038342f
+00383025003c3825003830250034302500303025002c2c25002c301c00202c12
+00182012001718120017101200141012000f141c000c181c000f1c1c0018181c
+00241c1c002c201c003028250034302f0034342f0034382f0038382f003c3c2f
+0044382f004c382f0055403800794c380099674b00ae885e00d2a48400debda9
+00e6c5a900eac0b200debda900cea99700ae9584007d705e0040402f000f1009
+"/>
+<palette number="53" name="etretat.ppm" data="0025362500384a330048593d005c664c006e685b007a72600082736300938169
+009c7b71009e7a6e009a75700080695600715f4e006f5844006d4b3500774936
+00715740006d5a4d0070635300776b5a00776a64006f726b006c6c77006f8475
+007a8c750083937a007d9474008092750081866a00777864007a7666007e6f5d
+00806953007f644f0074604400735f4700695d4b00605f4c005e584b005b5a54
+005968630054716900567473005e716f00637369005a6a61004b655a00426258
+0040534d0036504a00304a3c003f4d3d0035543c003a5444004a4e4d00575853
+0066645f0078706d008e807e009d968300ada08e00aca49700aba38c0098a681
+00929875007c7a6600776553006b574400624d3b005349380047463600404535
+003e413100333a2c002e352a002a37240029332400212e1d0020231900202119
+0020211a002221190031291c00352a20002e2e200023271b0023241a0021231a
+00212d210025322e002b313100273530002e3c390040493d004c534600625c58
+00786c670082778100857a82008c868d008c888c0095948100989e8a00a39b8e
+00a69e8b00a4968a00a0817500a47f6e00a0755500816551005f593c004b5338
+00394a360032482e0032422d00384234003b3d3400363d34002f3e2d0030392f
+002d3a2e002d3328003231230032302300373123003a332d00454137004c433b
+00554c44005a504200604b3a005f493a0054483d0053483e004c47410048443f
+0043413a003c3d35003542370034463f002f46400030413d002d422f00293a28
+00263a26001f2e1f001f221900212118002121180024241a002d2d21002f3123
+00313026003a392e00474231004a4739004b4a3f00464e40003f4d3c003b4333
+0036392600343428003b3932004540390050534400625c5100746b6400877a6e
+00958b7d00a8988900ada49200b2a69100bba18e00afa08b00a79c84009d927f
+009a7f6b0089674e0076594100614a37005e402e00514333004d4435004d4b40
+004b4f4a004556550051545800525c5600575d58005b6262005f706300646d62
+005c665c00566158005f635c006c6d6200777365007887660081916a007b8e75
+00798877006c756e00657665005c685900545f570053584a0055524a00525048
+00554f420059523d005f53380062513d00655044005c5145005a544a005e5652
+00625c560060635a00716e5e0077695c0078685800675e56005a5b4e004c5a4b
+004e534f0046544900425c4d004c5e57005e636400676c770069848200819c8b
+009ea29200b2ac9d00b2b0ad00a6a6a7007d968f006184870069818200687e7b
+00648078005f7778005f756b00677f6f006e897a00828d85008e8a7800899d78
+008b856e00837b6d007f70630078695f0074675a00675c4f00695c4c00726353
+"/>
+<palette number="54" name="the-hollow-needle-at-etretat.ppm" data="006a6e67006975740069777800758582007b9087007c908a007d958c007b928c
+007a9596007f9c9000809b8e0089978f008c948e008f978400969a8200979887
+00939e95008f9a90008b979000899693008f9895008995920089938e0086928c
+00838d87007d8c8a007b8f8a007b908c007b908c0080918e007f968d0078998d
+007d9d9000839f970086a193008fa097008ea6a30088aca9008ba3a500829d8e
+0082978d0083928d008694960082988f00829c8a00849b8900899e8400869981
+0086938100878f7e00858e7f008a877600847d6a007d715f0076655700675c48
+004e453700403b36003b3835003c3a360045403a00585653005f6561005d6c65
+005b6c65005b6d6b005b6e6d00597271005d706d005d6c690065706c006b7476
+0073807d00789384007d9a8600839683008a9387008a908400888b80008a8a7f
+008a8a73008986660084836600897c61007f785800786c5400726e5400706854
+007163530074695700766f5900797566007e7f70008383790088898000888882
+00878b8300848c7f0083847e00807977007a6e68006a5c5c005b4b4500463b35
+003c3734003b3633003b373000393632003b3534003a33330034333300343132
+003734330033353200373434003a353600373739003a3d3b003a4f4c0055655d
+005f6561006566610067686300606a68006c746a0074786e007d817900818d83
+00818d8700828b84007e808000727875006b6a6400645e550058504500443b37
+003c3534003733300035313000313430002f322d002f2e2f00312c2b00332b2a
+0034312d00383434003a3938003f514e005669640066797600637c7e00697c7b
+00757f770081877900858d7b00888b730085826d007f7d66007c766100747262
+0078716300797160007d6d6000786e5e00776a5c00706a5c006a5e5a005c544e
+00453c3d003d3735003a363500393635003436360034353300353732003c3934
+0047423b005b615900606a66006a7974007f8a8100808d87007b8b890074817b
+00677d6f0068796f006f736a0072726900796f670078736e007a7870007f7c70
+0083766b0082746900807c6600827c67008b7962008f746300938064009a7f63
+0093876d009d8066009e827300a294730096897700909179008f9484008d8e7e
+00878c8000868d850086908400848c8200838e8200848d8000868d7e00858d7b
+008887710086816b007f7a640079775e006b745a006a6f5b0069675d006b675c
+006c6f5e0070776b0072807900778b83007a9187007e948800809387008a9289
+008b9184008e8e7d008f85760090846f008e886e008c886e0087827300847b6a
+0082765c0084735c008e6a5b007b6d59006b6554005f5b560048403b00403a35
+003b3636003b3833003f3937004745440061645800707267007b877b00849180
+"/>
+<palette number="55" name="rouen-cathedral-sunset.ppm" data="0089817e00827d6f0078706200716d5700646553005b5d51004e544800525942
+00565847005f5f4500645c3d00725e35007d5b36007f6039007c633900736540
+006562440060655000646a570068685a006d6a5700736f5a007e736400857e6b
+008f87740090857a00958388009c86810091867d008d80760085816d00837d6f
+00817d6e007e7c63007e826b0080816f008581710088887b00949189009c9690
+009f9992009f969800a09891009c939300948f95008d8d90008a858200877f7d
+0086837c008c8378008c817e008a8984008a8a95008795a0008695a4008699ab
+008a95a400808c9600898e9300929091009e8d8c00a3928b00b09a8800b39f90
+00bba79700c6ab9a00be9e8400a6916b0091855b0092724f008a6c470077654c
+006b664e0062624e005e5c4e005d5a47005b583c005a523500584d3400494a34
+00545239005d593900695e47005e5b4500615e48006c624000736347006e654a
+00736b490080704b008e71490094754b00978056009c896a00a28d7700a3977e
+00a79c8500a39b8800989390008c938c00858b7f007e827d007c7d710073776c
+0070786f00667673006874740061756b006b716b006f6c6700696d6300686f61
+006a6a5b00696558006c6655006b664e0070694e0081705a008a7f5c0090876f
+008a8e8100959593009b98a100999eaa009b9fab00a39ea100a79b9900ad9f91
+00a99b8700a98d6900a27d5f0096755d008a745b00866d5500776d5000776c52
+007a6c4d007c694a007d6f4f00786d4d00766f5100747357006f71590072725b
+007479600086806c00998a7a00a9928400b59a8200a8998200988e77008f876c
+00857e5f007d7b5d0077705600746a5300796f5400806b5700816e5f008a785b
+008c7c5b00907e5d008d835b00807a5a0077775a00747066006d725f006d706e
+006d78770079817a0084837a00909187009e948d00af9e9000b49e9500bbab9e
+00bcb09e00b8a79100afa68900a297850099896f00907b640080775a00787155
+00716e500073684800746444007c65400086644300876d3f008b70430087784b
+0085785d00857f690084807b0084889200868f98008c99a4008d9aa8008e9ba5
+009d9c97009f9f8a00ada28d00b1a48f00b1a39600b5a69e00b5a9a200afaaa3
+00b3a4a200afa29b00a19b94009e9d9300969b930093999000888a7c00807e72
+0070706b00646a6300606863005d676000676659006f6854007066500076664a
+0077624600765f4300745e3d00705a3a00685a3c00675b3800625639005c5433
+0059543c006a5237006f5a380071553800675c41006d674d00686356006a6059
+0065655f00676962006d6e670066725e0070726b007e75630088826800968c6b
+009d8a6a009d8e68009a8b6d009b9280009a8e88009b91910094979c00879eaa
+"/>
+<palette number="56" name="the-houses-of-parliament.ppm" data="00695f850061567800515167004e4758004a424f004b4049004c444b004f414a
+0051474a00534a5100584a57005b516000625c7000655f7e006b5f88006e5f8d
+006d5a88006858880069598200675776006658750069576e0065546f00695a70
+0067637300696574006b627500685a780061577a00625a72005e596d005a5b67
+0058526000524c56004e4a4d004648450042483f0039433c003c433900444941
+004d534700555e5c005e66610061656a006565640063636a0064626d00675e70
+00675a70006557710068596f0064606b005f606b005f586a0061586c00635d70
+00625a690063596000615a6000605763005e58690061556f0065567100695875
+006d5d800074628700736287007167830070698a006c6385006b5f7c006d5e7b
+006a5b7a006a5874006b57740068547500695474006d5770006e5b72006b6075
+006f5c75006b5974006956760069507f00634b86006249810064508000624f7e
+00654a7f00624e7900614c7100604b67005c4c6300584f5a00574b5a005a4a5e
+00574b5c00584c5c005b476000634d6300605066005f4d69005b4770005e4575
+00624e750067577a00725a8d006d608600716588007e6b8c0077648400726071
+006c586d0063576a005c536600574f6000584c5f00554a610057456600584765
+00584961005a4f67005d516b005d52760063517b0060517d005d547d005e5281
+00645a800065617c00646374006b677000756a6800726a6c00756a73006c636c
+0068636b00676b6200676662005f6061005f5e5b0057575300574f5700514954
+004d3f4f004b3c4a00493d4b00483d4e004b3f4e00493e4e004e3f54004d3a61
+0055426400574166005248680051426900503c6000493f5200423f4c00393736
+0015181500171d14003037300037403c003f43450046424800514a5300594f59
+0060566000695669007560700076727c007e7b7e00878497007d738900777686
+006d6d85006d658000706b80006d687a0065677c006a637500706477006d6270
+006a6572006966720064636f00605e67005e595e005e585800585c5200525c49
+004f5949004854480046534400534b4d00594c57005b506700655472006c567e
+006e578b00735a8e007c558e006b5281006d5c81006452770061527000615366
+0059546100595360005c565e0060575f0063565c005f5460005e555d005b5455
+00565354004e55590049545600454c53004b4753004d4453004d4551004f4654
+00504552004d4453004e45550053485600524b5700544a5400534851004d424c
+00493c49003e3446003c343f0043413f0050444100544e4700574e560058525d
+005c5460006155660069526c0067546900625266005e4d6700584a6500584966
+00594a6800584b73005a5176005f537a00615276006453710061566d005b5965
+"/>
+<palette number="57" name="starry-night.ppm" data="00171a12001b1d15001e1d15001d1e160020231a00282a20002b2f23002d3626
+0034342400323626003338270032382a00323c2a00343f2f003c443300454937
+00434c3700444e35004552370046573b004d654100576542005c6c43005d6941
+005d6b41005a6e42005d6e41005f6f450066724900686e45006d6e3d00626941
+005e6c3d00526238004e563500514f390051523e00585b3c00635d3e005f6a40
+005b6e410054754d00597c510068805c0072825400788454008a94550094964c
+0086934c00838a4e006e6c4200605939005148310042412d003f3c28003c372c
+003a382b0038382a0035392a003a3b2a00393d290039412a0039412d003b3d31
+003f443700474d35004c5636005a5f3700656c4100727d4a0085924c008e9c52
+00a1a85c00b1b25e00b1ad5d00a79e560098934f008573480062644300505636
+00495035003d472f002c3a2600252e200023261b001d2317001c2419001c2618
+00212e1e00252f1e002c3022002f3124002e33240029331f002332220023301f
+002a3323002e352c00353e2b003c463100494d3b005058400053625400566563
+0064725c00656c50005d6a4c0051674b0057654b00557155004e6e5000536d4a
+00566b470056714100596843004f6542004d623f0046563f00444c430045523d
+0049523b0048543d00465a4500506253005b6a4d00666e500066784d00627e46
+00637a4e005e724800546543004b543a004c4e3500454d300040412c003a402b
+00333729002e332600282d23001e221d001d1d16001a1b16001a1c1800191b16
+001c1c16001f1e190025221c0029251d002a2722002f2c24002a2f2100262c1e
+0021241b001f1f19001d1b15001b181500181a1300171a120014120e00181912
+001e20170025281e002a2d2500333729003c3f2f00464b3400544e3100645c3b
+00706a3f007673420079834e007a8a59007d9562008b9d69007c986200718b53
+00677d4800697045005d673f0050583600494e35003d4c310039422f0036442f
+0032402800353c2a0038352c003a3627003a3827003539250035382600383624
+00343121002a2c1e0023261a001d2318001d231a00262a1f002c2c200035331f
+003e3e29004e4d36005b6143006d7a4d00888a530095955300a39a5300a79959
+009ca05a0091995400818e4f006d825000657b5500627b5e005b6657005a624f
+005e5c5100535c42004e543b004a4d3700404130003a382b00323024002d2a1f
+0025221900221e1500221c180026271c002f30230034342900383b2b003b4439
+00394e3a004459390045583800435036003d4d3300384a2f0038452c00353e2a
+0033382a0035352d0033342c0033363000363b3400403d350045423f003f4538
+004b4c3400504f34004e523300545b3b005c64410061683f0062633d005c5d39
+"/>
+<palette number="58" name="water-lilies-sunset.ppm" data="0047432e00474332004348390048543c00515748005c5d4a0054564a00586454
+00535449004d4a4400443e38003c3b30003c372f0039312600352d2600342c24
+00342e2400393125003a3126003c3427003f392b00463c2d0050413000554734
+00594c36005a533500605c3900665f3e006a623d0070643e00736b4100776a43
+00816f460084774a00827847007e764500706f540065645000575d5c005a6557
+00555e64006b6c5a0082766e0087766800999c7f00b7b77e00bdb87e00b1a564
+00ad995b00a294580091874d00867c4800746b4200675b3b0059493e004e4131
+00453a2b00433329003f322a0042333000453931004c3a350051413600564937
+00565135005f57370064573a00655841007057500075624900726a4400786e44
+007a6d43007a6b42007d684200745e3f00725a3c00695438005d4c35005d4b33
+005b4b3400544c310053493000524a30004d4c3300484a350044443600454236
+004242340041403000413e3100403a31003f3a2e003e3c2e003d3c2e003a392c
+0038372d0038342c0037332d0031322900332f260036312900322e26002d3127
+002c2f2400322f2200302c2100332c220033312500373325003831260036342a
+0037322800393327003a3527003c3526003b3628003d3729003d3a2b00403c2b
+004840300053412f00544830005d4b3300665737006a613d00716840007a6d43
+0085714500887445008e7b48008e7b4a0090764900826453008658470070563a
+006444340050362c0048342a00423126003f3729003f392a003f3c2c0046402f
+00484430004e472f004c4d33004e523400525134004f4a30004e462f004b432d
+0043402b003e3b2a003b372a003935280038352c003c373200433d31004d4433
+00544a3400595235006259380065583a00665a3b00655f45005f5f3d00605e3b
+0053584200544f44004c49430049443600443e3300423d30003d3d2f003c392f
+0039372c003936280039382800393627003837260034332500302e26002c2924
+002a2a21002c2b210030282200342c2400392f2a0039312a003e37290040372c
+0043382b00443a2c00453d2900473d29004e3f30004e483400564b3a005f553d
+006e634400776f4500867c4a0095844e00988d5400a18f55008f7a4c00817446
+00725a3c0062523700594230004f382d004a352c0047362e0042362a00403828
+003e382800403427003f3027003d302b003a322c0039332c003d352e00433531
+0044393000473c3400463f3100453d3000463e31004641300044442f00414330
+003e402e003f3d2b00403c2a00443b2b00483d2c004f382d0055412f00554734
+00524d3b004f4d3f0048474100464538003f4535003d4234003a3f2f00403e2d
+00433b3000473f33004a4036004a483400544d36005c543d0069603e0075664b
+"/>
+<palette number="59" name="gogh.chambre-arles.ppm" data="001811080019220400353848004b5e6c00566e9100638daf007d9aa300a6926d
+00b68e6700bf9f7100cebf7800eed88e00fce99c00f2e5ab00dce2d700d1d8dd
+00cfd5e000c7d7e000bdd0df00abc2d000b0bcbb00b79f7500ac825c00a3713e
+009f6d3500b06e0900bc740600c4760600ca7b0a00d17e0f00c87f2600c1915b
+00f0c17700fbeb9900fcf0aa00f6e7ae00e5e0dc00e8e8e000e0e6e600cedbe1
+00c2cfd700b1c1be00cdb18200c4956500bf866100c1926a00c4a87d00b0bebf
+00aac5d900bbccdc00bcced800b2c6cc00abbfb700ad936c00a27954009a6c46
+008c623a007455300074543800835d340094613100ab5f0900b7680700bc6e06
+00be6e0400c16d0200c66d0100c16b0100c26a0700c46d0400c46e0600c76c05
+00d06b0200d0720300d1760300cf740400cf760100cd740200cd730200cb7102
+00c8710300c7710400c8710800c66e0600c3700400c36f0800c5710900c17008
+00c16c0e00a9774300ac8f6d00abb8b200a9bdc600a8bbc600a8b9b400a99471
+00a9846000a77a5900a97c5b00a9835e00a69b660094aca20081acbb0088aac2
+00999da100a5835f00a0795400a1765500a37a5b00ab855e00b8987400b3b5a8
+00b1bccb00a9c1ca00a3bfca0095b2c20085a2b000888a6f0084903d00898635
+00c27d0f00be750a00bf760400c17a0400c87d0800cf820200d2860200d88608
+00db870600db910900cecd6300e8dc7f00ded87f00c9cd6200c4aa6700af8b56
+0097765300736666006e859400789cb00086a9c50088b1c700a1aeb200b6906b
+00b57c4400c9791000ce7a0a00d0770400d6760100dc840a00d4903700eab670
+00e4bc7400c2a56d00b98e6000bb855300b17e4f00b27f5600bb8b6800c6a479
+00d1b99b00d8d4c000dde0d900e3e6df00e6e9e200dee4e500cfdada00bdc6c9
+00c5a98200b5886300a97856009b754b0099724b00976e4800906a4800906844
+00946941009367400093644200916a43008d7048008977490086724d008b764e
+0096734f00a4774e00b98a5f00c3ab7600f3cd7b00fbed9600fdf0a600fceba4
+00e0d3a200bfb47800a2805600845e3800544d2500371e100040220700703d07
+00964e0c00b15e0600ba6b0500c0730500c8730700cf750500cd7c0c00d1820d
+00c4a35800ddc86d00f7dd9100efdfa600d9d3b100b0c3c20081a1b8005e7d94
+00495c790055556b00635e3c00615a3a006a481800854d0e008f500700803f0b
+00603b180064381f007d5028008e603b009e703e00ae855200b99e7000c9c09d
+00c4ced000c5d8df00cad4df00c6d4d700bec6d100bebca700b89e7000a9815e
+009b724d0092704e008e704e008e6b4b008e6b45008a68410090623d00996b34
+00a6610b00ae650500ba6d0500be6a0500be660400c5290100742107003a2005
+"/>
+<palette number="60" name="gogh.entrance.ppm" data="00020201000605080005080700080f0800091510000b1a14001b311e00234123
+00364d2f00456a34005e7d40007c895100949d5700a9b66800bec17400cfcf81
+00dbdc8c00dbd08e00d9dc8c00d7d67e00cfc77000bca95700b38e3a00b6842c
+00b98f1d00c6cb4100dcd66300e7de7500eee47f00eae58800fbf59c00ebeb90
+00f0eb9700f4ea9700f1e99500efec8800f1e67c00e9e87400dfd86900d5cc62
+00b3b35b0088913c005d8a35004a6f3a003e7135003b663e00345e43002b5e46
+002d573d0027533800265736003e642f00426c2f0059703400757f2c008b8b2c
+008b8b320083812a0066793c0050703a00445e2a002f581c00234427002a3836
+002d383d002940480025624500286f5000358b64004d856e0054887000517a75
+004d5f7900476167003b616400365a5a002c505c002c474f002a504c003f5d43
+005871420081803a009b9d4500b1b36300c2c56d00cec97c00ddd87800e9ec79
+00f0eb7600e7dd6800ddd06200c8c75e00b6ac3a00ab882f008e8539007c6c2e
+00516130004d5e2e00595c34007d542a009c632000866a290052632a004c5c28
+0041552500244b2d00174b3100214f2f001d5a350029684b003d704f004a8648
+006d975d0091ad7c00aec4a100baceaf00bdcfa100afbc8d008aa876006d846d
+0049656500375f52002e49390014372b00112427000c2524000d1c1c00141914
+00151217000b0f1c001e1e1100161d1a00151c1600132a16001e2517001f261e
+0019261f00181b2200191e30001f2e3e001f373600233f3c001d4c4d001f4e4f
+00245b52002d5a630031616f00406c6c004a7a7b00638f8b00a8ad8d00bed195
+00ccd79f00d1e2a000d1d69900c5cf8400b9b47300a99e66009095490066853e
+00496b3a00364a37002a4034001f342c00222d2600272f1e0031331d00373422
+002c352d00374c3c00515f4e00697c64008fa56200b6c88400cad69500d7dca8
+00e6eca500e7ebb500d8e5aa00cfd5ae00c2d2b900b4dbc9008cc6c9008ebcc1
+009fb89e006ea08f00529089005991710067895f008392620092976d009c9d6e
+00c4be8600cfc99000d0d19a00d0d39400c3c99200839d810061847e004d7e75
+0031786c003a715800415c4c00495f4200595e3e007b602f00a0642800a56b2a
+008f713a006b693d0058704600536142004a513c0039544000315a430036644c
+003c60540043735a00627c5b006976590084874800a3865400b5a76300c6bf69
+00d2d07400d4d47000dbd76c00dbdb7300dbdd8300e3da8900e7e48b00e4e487
+00e2e08600e9e48600ece98100ede98500f3e98a00f3e68600f1e88100ede67b
+00e2d96c00d5d36300c1bf5900a3af4a00959b300090983e00a79b3d00b6ad53
+00bab46800beb06400b2ab5900a88d3e00908940006b6f33004f562e00231f11
+"/>
+<palette number="61" name="gogh.the-night-cafe.ppm" data="0038241900482810004c2e1a0060371f007947290091582e00a15a3c00a86d3f
+00a8775300a97a5600a27b4f008b734b0066734900637b480069844b006c894b
+0085935e00928b8900b3ad8200c6b98c00cabb9100d0b4a200d7bb8d00e9bc7e
+00eac07c00d4b77200d6b06500deb55d00d6ae5300d2a55000cfa15300c79b4d
+00c59a4a00c2954300be903e00bb883e00bc854200bf7a4600c0814300be893f
+00c2893e00c48f4000c3954600c89b4600c9a24900cda54d00cea25500caa05b
+00c1966000b79c6200b6996a00b3a07000a39d6b00a5935b00a38f5800ac8953
+00b4864f00b5884d00b3844300af844800b2834900b27c4300b4864000b5833c
+00bc7e3b00b5743f00a8753c00ad653d00a1583a009e503a009053350080513e
+00705e390062683e005a66420059664700635d5300706455007f674c00906b45
+00986e450096703f009b713f00a2703c009d6e39009a6d33009a6537008e5b37
+00764f36006b4a3000694a2d00674324006c342700743829007a352500873c2c
+00954329009b432d00a3443000aa4a3200af513700b0622b00ad6d2500a77033
+00b0743000aa753900aa773d00aa743700a87b3b00ad813d00ae7c4100aa7840
+009c7e3b009d6e3d009e5d45008c643700845b2f006e4c30005d4f36004b3f2e
+004a342b00462d2b00413029004837290050392500583d250061422c0068422e
+0071452d007d462b008953300095552a009e522d009a5a2e009b4f31009d5132
+00a1503000a54c3700a54b3800a04631009f462d009c4a30009e482d009d442f
+00a3432e00a1402d009d422f00a23f2c00a23a2b009b3b2c009a432f009a4c34
+009350370086473a007b493100734e3900714e3b0074593c00775b4500775c41
+007b5c3a008161340092673900986d3d0097713d00a3723f00a37c3c00a47a34
+00ac853400a66f3a00aa653500a85f3300a35b3300a05b3300a05c3400a56134
+00a5602d00ab5d3100b05c3200b4693300ba703b00c7793600c98d4300c89247
+00cd9c4800cfa24c00d0a54d00d4a95600d7aa5900ddae5f00daac6400d7ac63
+00d1a65900cea55300cea55200c4a45600c3a25b00bea05a00bd9a5c00b19554
+00b48e5100ac85460098814d006d824c00647f4600617b4600627644005e7445
+005a7144005761370058503f005c503900564b3d0063493e0077533f00956243
+00a0714200ab804500b08e4c00be9c4b00ccaa5600d6af6400e1b36e00eec96d
+00efc46200e1b45900e0b25200da9f4d00d49e5100ca9b5200c8974f00c2954b
+00bc8d4500bc904500b18c4400bc8c4200b2934600b98d4500ba884d00c48a52
+00c88f6a00d3a46700d7ac6a00d0b48400caae8d00b4a97e00b5a37500a68d65
+00af836500956a55007b5c4600634a37004c372b00472f230044222100402d21
+"/>
+<palette number="62" name="gogh.vegetable-montmartre.ppm" data="00282b1d002c281c0042371e005b3d1e007041280089523100a4663500c47643
+00dc814500e3804d00e88d4800dd975300eca15000e1a15200e1a35000dda860
+00dd995800e9ab6000d2ae6900e3a16200ebac6d00eeb37400e8b06700e7ba66
+00e3b86e00d2ab7600bea16600b2a065009f9c6d008f9a7c0086957e00849278
+007f907600839076009098720090966800a38f6600b9935d00c19a6200c79b5c
+00c69b5a00c1925700c08e5a00b98e5700b68d5300a98b500091845c007d945a
+007f8a6a007b8979007888790074847600708679006a867500637a710060776d
+005b6b630057676600596756005f644d00616048005f5a400062594f00645f45
+00756240006d614800686448007360470078634a00856e46009c7b4d00a58b4c
+00b1924f00c2965800d2945700d59c5500d49e6100d3a06200d3a16400daa86f
+00deb67200ecc27e00e8c67d00e0bb7a00d3b77e00e4c68d00b6bd830097a98d
+0090a18600869b8900819888007f958800809487007c9184007b918300748e84
+006f8883006c8280006b7e7a00637a6f00666958006b7052006f6b4a00736a43
+007b663c00976f3e00a2633900a1674c00a17349009a794600947d42008b7b4e
+008f7a5800947c540087714d007f754c00726f4900726f4900756a5b00726e4a
+006f725300686f6100637a7000627c7700647f7600698077006a817900708479
+0072887f006f88820070898300758d8000799382007d917e007d8d7a007c8d78
+00818d6f009a896200a6935e00bb945a00ca935500d38d5400da8e5300db9559
+00e39c6000de9b5e00d2996100cc986000be945d00ac955b009c935d008f9567
+0089926a00808f72007d8d73007d8a70007c8362007a7b5b007778580069734f
+00676645005f5e3d0054573e00524e36004b4b2e0047453600534c280063441f
+00654221005f3012006b371a00693c2300673925006f381b0078281700753c1d
+0076502e008d63390095683600966236007e5825008044210079492200754116
+00854a22009e422300a85a3500a9613100c3663800c86e3d00cb764100d17c41
+00c47e3700b5803900ae7d4800ab794600a5724400a8643a00af693400b66e3e
+00b2784800bc834900c58b4f00c58f4f00c49b5900c3a36100c19f6e00c1ad7c
+00b9ad86009aa4860096a48300949f85008c9d840087958000829880007c927e
+0079907c00768e7d0074877600778266007c8362007d805f0079785900726d4c
+0072684600655f3b0067583b00555430005c4b2b00614f370055552800614a23
+0067482800624c2a00674e2d0065532f0069583c00735f3b00726337008a7037
+00977a4100ab824500af7d4a00c3874800d38f4900db894c00e08c4a00d79047
+00c68c4c00ba894600ad7e4400a76d3200936637006e552700573e250034331e
+"/>
+<palette number="63" name="matisse.bonheur-vivre.ppm" data="0003030300271f2e005b3b3f00a97d5100ce9f6900d0ba7300ccc46500dfbe55
+00f5cf4c00f7d24200f8d23c00f5c53e00deba4a00cfb05500bf9b6c00a17e66
+00696f6f00506266002b523c00243d2d001736280012332a00203c2600354a33
+004962430076875d00afa17800dba58400e2ab8c00e2c39a00e4ce8b00f1d573
+00efd07000eac76700dfbd5f00e3a14d00dc974700cd9e3000ca8e2900b87925
+00b1741900a06b240064742c0051423e0042343c004b5453004f5a6c005e6870
+007a787a00afa37d00d4b09100ddbea700e1c9a600e8c79e00e6c69300e4c76b
+00e4d06500e2ce4400e6cb3b00dfc52e00f3c71700e8cb2800d9bf2e00daad23
+00c9b22300e2ba1900d2a81d00ccb03b00d9962400bc771500d8a31300dc9109
+00e19f0100df9d0100db870000cc861500cc710200c1680200c3700000ba7312
+00ad750d00b7681300b7762000a49b2b008e9b4200618a45002f583d00304f33
+00234a3100274834002a4d390043565a005a5f65008e856800a88e5e00bb8868
+00c9876a00cf8a7b00d18c7900d9977a00d9977f00de967e00db988600dea788
+00e3aa9000dcae9200dcb79c00dbb09d00c0a99b008aa8800068956c00417756
+00265747001d463a00193b3600194538001d4238002b5840004975580076875d
+00998e4e00c1924800c6913d00c7a24600c49d3500db962f00dea33000d9c13b
+00dec93e00debd5200cfb45d00d3b96200cdb36400bea16100a99a5500759e5e
+00528366004b795d004e775e0058795a0083665700a2692600a0652100a3681c
+00a6581e00b04e0300a9470300a62b01009f0f08009a080800a5060300a00300
+009501000094090300320b0a00301d0c002e181b0030272100524620009b671e
+00ac772e00b8823600d29c4500e3a15b00dca96e00e09b6b00d2836800b86a5e
+00aa655600a65b51009c605500586f52004c7b5a003e77560036745b00427b66
+00568e74007e9e7b00a3a57600d1a87700deb29000e1c8a300e2d4a200ddc9a7
+00e1d1aa00d7d5bc00eacebe00e0d2ab00e3c9ae00dfcbb200e1b5aa00daa393
+00c48e8200b5846100b46f3f00c65d2300c8650300d5671a00d05e0400d15408
+00d2430100c3420100c24a0200b5460000bc410100bd350400b8320100b33503
+00aa290400ae0d0600b00d0300b2300500a6403400c55a3800bc635000d16860
+00de7a5c00ce837000ce977800c7a18300adb48a0088b39100629c8200539375
+0046866b0055846a006e906700a28c5800b2765400c07a5d00cc7a7100cb7e77
+00c4897600bf837100b6826b00a199780068916d004e80670035705700236650
+002860470034674b0061894f008a9f4300bbad4000c0b13b00d2be3d00dbb75b
+00e0c46800ddcd8b00e1ca9b00d1c998009cb0900073788000455760001b3a30
+"/>
+<palette number="64" name="matisse.flowers.ppm" data="000d0a1100421e0e008c352200a52c2100cd5e2d00b1794b00b69f5900b9af75
+00d1ba8200cbbd8c00d0c08d00d6c68e00dcc99600ddcc9700deca9700dcc68d
+00d8c58700dccb8e00d8cb9c00e0cfa800e3cea800e3d4a800e6d9ad00e8d9b5
+00ebdac100f1d5c800ebdac700e9dac600e7d9b900e7dbb000e4d5aa00ddd0aa
+00d3ccb200cecbbc00d1cdbf00d6cdc500d3cfc600c8c9c300c7c7bb00c6c5b2
+00cbc6a700cec5a400d5caa300d8caa400dac4a000e0bf9900e1bd8d00d7c282
+00d9bf7300dcc56800ddbc6800d9a35700d7a13300d3ac3200d5ae3b00cea658
+00d6a45700d0995700c5795d00d1522700c1150800a8261400aa4b3d00977f5f
+009aa59400b4bcae00b8bbac00b5bbaf00b2b8b1009db2b80098afb60085acad
+0082ab9f008baba5009cb1b700afbbb900b4bdbe00b6bdb700bdbeae00bec0a8
+00cac2a000cec59900d4c99e00dacaa900e1d1b300e2d8b700eddec100ecdec8
+00ebdfcf00ebddd200ecded500e9dfd600eadbd700eaddd600e9dcd400eaddd6
+00edded900efe2d800efe9d800efe6dd00efe5db00ede4d600e9ded300e7ddd0
+00e6dfcc00e8d8c900ded7bb00cfcdb900c7c8b900c3c5b800c3c4b600c2c3b2
+00babeb000b4b8b1009eaeb2008fac9c00749f950048676000374c4100152a2c
+0029262500463b2300956a6100af835d00d5b46300dbbc7100ddc37500e3cc7c
+00e2ce8f00e9c69700e5d3a300e6d7b200e9d8c800dcdace00d3d3cc00c3c6c7
+00b9c5bd00bbbdbb00bcb6bc00b5b1b600afb2b000a1afa200a38d9700b07076
+008d636d005250350035332800242833003c493f004e6f610083a17d009ab29a
+009cb5b3009db6bb00a4c0c500b4bcc500c0c2c800c8c8c600d1d0c700d7d6ca
+00d5dac900d4d7cd00cdcfcc00c6c6cc00c0c4c700b4c1c100b0bac000aeb8bd
+009eb5bb0097afb20087a99e00749c930039535600381f2000461c130079382e
+009b4b4100b26a7200c1856500b6ab7400a5a78c00bc8b8e00b87b7f00ba7275
+00c5926f00d0a88d00ddb8ab00d0c6b500d5cebf00dfd1c300e8d8c900e8d8cf
+00e7d9d000e8dcd500e2dcd700dbd9d100d9dad100d8d1d000cacaca00c0c5c3
+00c1c3ba00c0c1b900c1c3b600c2c6bf00cdcec800d9d2c300e7d7ca00e7dacc
+00ebdccd00ecdccc00eaddcd00e8ddcd00e7d9cf00e7d6cc00e1cfc400d6c8c0
+00cdbfbb00cca9a900ceada700c8c1af00c3c4b400c2c6ba00c6c8c400d7c9ca
+00e5d6cf00e7d9d000e9dbd100eadfd300eee3d300f0e5cf00f0e3d000efe2d1
+00ede0d000ecdccd00ebd7cc00e3d3c500d6d0c100c5c5b800bcbdac00a9b4a0
+0095a989007388550049422700331f1e0023200c00211c0e00262921003f3728
+004d644e00819b83007ba2970081a59f0087a79e008a968b007c798700383641
+"/>
+<palette number="65" name="matisse.lecon-musique.ppm" data="0011180d0019322500333c390038464700326c54003c7865004e6d68005b6e80
+00777b6700838d6c008b936b008c9066008182580081785a008e774500a27a38
+00ab7f4000b37f4500946b4200856746006b6544005c74370053663e004e7f36
+0045843f004d894c0055904800599a510067a1480062a34c00659c500062a472
+006bb14f006aa2760078a472008096860081a08d008aa39a008caa9d008eaaa0
+0081a7aa0098b4a800a0b39e00adbe9d00acc1ac00adc9b500b7cdbf00b4c6c0
+00bbcacc00bfcac400ced1bc00d3d5c400d1d6be00d3d0bd00c8c9b900c5c7b6
+00ccc6a200c4be9f00bec08800b3be7a00b5b27200b8a37a00af9c7800ac9c78
+00ab9c7e0093927f00849787008d9e8b00999a8d009a958300949e7200969671
+00888e7100807a60007a77620072795f0071755a006a6b5200705e5500825f57
+00965c5100a75b5c00b44e4800b54a4b00b9454b00b6433e00c2553200c47a1e
+00dd9f0700e2a10600dca30600eabb2500be843b00cf9c3b00ba802800bb8213
+00bc812400ba731c00a26c20009a6e2d00735b3000626441005d613e005a5d40
+0046513f00474a39004b4e3200604a28006b502b0096513700b25c3200bd5850
+00ba696600af8a7900c3977c00cd998700bbb38d00bfd2a200d1dfb600e4ead0
+00e4e1d000dbddcf00d2d4c500cecec300bcc6bd00bcc2b200b7bba000b7bf9b
+00baba9000b9b08d00bfaf8800bfa37c00a8aa6f009bb86b0091b1610078a84b
+0071954e0075a1500079ab520086b2600098be6f0091c2830096b48500a4b384
+00a7b18000b2b08b00a9a68400a29d81009c9277009a9276009a837500966d67
+00ab5d5a00b9665c00c5666000c1685f00b7545200ad474000ad413f00a03a2b
+009d30260078040500261e0900201a0c001f190e002f301c003f341a005e3f14
+006342160073581c00796221009e6f3000b0813d00b9791e00c0941d00ad7c22
+00c06b0200c0620300b95b0200a15909009e5916009a6020007a562e00715525
+006b5e290058533c004b50320044503600414e3a003f4735003b4228003a3328
+003c442500313725003f4125003e402a004249340046503a00505a4a00505f54
+00555d47005e6546006262430060644d00676f520068735f006f705b00686d57
+005d7153004c6e5400435d5e00455559004b5a4a004e514000484b3900464938
+00444732005c4821006c3b15008a4d0d00a1500500a04100009a3600008a2202
+00372a0500140e06000e09040018190c0021271e002d2d23002d302800333e31
+003c4a37003f4d3f003b6740004b80460059954f00609d690065af89007bbb93
+007cc2920089bd90006eb1880073b57f0070b0810077a295005baa8800549877
+0043987400348c7400318d79002e8675001c776b002a5845002f4b3d0021322d
+"/>
+<palette number="66" name="modigliani.nude-caryatid.ppm" data="001f181100392f2600594d3d0077585600976c6800ad808100b88d9800c494a0
+00c59c9e00c9a4a900c7abae00c8b0b300cbb2b500cbb3b600cbb2b900c9b2b7
+00cab1ba00c6b2b800c3b3b200cbadad00caa9a900cca7a300c79b9b00c89e97
+00cb9d9300c79d9400c4988b00ca907b00c88e7b00be827700af6f6600af5c4d
+00a85b51009e5753008b49480085473e0072393700563332003222200028201e
+00211f2100211f22002823220039352b00524642006c545900826b7000aa8687
+00b88e9100bf979100bd979600b5939200ac9b8400a9998200a8988100a89781
+00a7957f00958071008e7861008c6c57007f6954007f555000764d4e00734c50
+0070504a00604d3c00483930002c262400261d2200231d1f00251f1b0029211f
+003028260056383300744f4a007d5f5e00996e6a00b07a7f00b9878700c28f8e
+00c3918f00be918600b3817a00a47777009c6f6c008c6a6500806762007c6a67
+007d615f00915c59009c5d57009d5c5b00a4646000a56d6f00b67b7d00b57c7e
+00b4868200a9958000a9978100ab9b8200c1978b00c99a9600cc9c9800d4a3a3
+00d2a6a200d8afa900e1bcb300dab9bc00d9c0c400e0c3c400e0c3c800e1cdd1
+00e5d1d400e2d0d300dacbd400d9c2c800d7c4c700d6bfc200dab9b700d7b7b5
+00d6afad00cea7a400c59fa000c19a9900b1969400aa9a8400a8957f00a08b6f
+00987e670098806800a18e7600a8968100ae9c8600be9d9400c49fa100c4a4ac
+00c4aeb500c6b0b700cab4b600ceb4b400d2b2b400d6bbb700d1bcbd00d0b8c1
+00d3bdbf00d7c2c100d4c4c500cfbfc700c2bdc200b1b0b400ad9fa500ad959b
+00aa959a00a7889200a17d8000926d710084625c0080505100854d5000945c5c
+009c666300a5757100ae838000bb8f8c00b58e8b00a87a7a00906c6800795c5e
+006b5351004a3f36002d2b290029201f00251c1a002119190023191800261c1b
+003a2818004c3628006d44380068412c00433528002a222000241b1c0020171b
+001d1417001e1415001f1514001d141300150f0f000f0b0c000f0a0b00120709
+00120c0c00150c0e00150c0f00150f1100191415001d1718001e181b001f181b
+0022191a002823210033312e0044483d0069635e007b6d7400907674009d9588
+00a6967d009a866600977f6700937b63008f76600099686400a06b6800a67367
+00b5797000bb777000b17b6f009b706c008e7761008a7a61007e6a5500766351
+0067503c00503c3000352d25002a22200029211f002b262300423935005a4749
+00745051008765680098757600a88b8e00a4999b00999da800939eac00aa989f
+00bb9ea600baa3a600bca4a300c0a8a700c9a7a400cca8a800caa6a700c6a3a6
+00bea1a200b99a9d00bb959800b6939300a6878a008b727900685c5800453e37
+"/>
+<palette number="67" name="braque.instruments.ppm" data="000d09040016120a00231f1400302a0e00382d070044390b0053420f00655212
+0075590f007457130067531000585e1900485c2100405319003a4f1400394412
+0036420f003e450f0041490d0046440b004e3e0c00573d0b0067440b006f4614
+0080510c00845717008b551600866b18008a731e0092762c009d823800a58b3f
+00a1915200aaa47200bab17e00c3b98000d2c88900dcd58b00ead58500f0d585
+00efdc9100f9e39300f9e39900fae7a000f4e3a200f7e8a500f9f2bc00f5f2ab
+00fffcbe00fbf1a800f7f1b500f1e7aa00ede5a600ded9a100d4cd9f00d0ca92
+00cdc07b00c4ae6300b2964e00a88c4200967e340083752b007f5f2100786022
+006a5f29005f5a2d005d5732005d5b360061563e00766d500092845d00a9a17d
+00bdb78700cfc59100d5ce9400ddce8b00dfcb8900dfca8900e1cc8600e2cf82
+00eacf7f00decb7e00d8bc7200d2b36200dfac2e00d9ab2e00d3a62e00d09f1d
+00ca911600c7992100c4a13e00cbb35b00d3c07300d5c57f00dccc8200ddd081
+00ddc98200d4c47c00c8b37100c2ae6000af9a5300a6924800a7934c00b49c5a
+00cbb16e00d3c07300d5c67400dac77a00d1bf6b00c1a74d00ce9f2a00c29220
+00c18d1400ba870a00b38d1000b38f080099780700936e1400806e1900766725
+00736b26006e7a2e007578400084814a008c8559009185550087805000887043
+008b7435008a761f00886d1b0085650e00875c0400825002007b4a06006f4901
+005d430400503f08004f3d0e0052461600595d13006a641c00776727008b7d2a
+009f8a3b00b0945400bca26e00cfb88200d7c48300dbc18900d0bb7e00c9ae6d
+00b19e5300b39a3d00ad892700b18b1a00b191140096730b008b6c0700826509
+00724c05006743080064370500523b0800523a110047401600424a12003c4916
+003c491c0044551b004f582100576125005a6b250060613a0078713f00897939
+009f833900ab904000a5933f00a1883000a27d22009a7a2a0091711d007f660b
+006e5d030057570100533b00004f38050051350600472d06003d2402003c2201
+00361f0500331803002e130000270f040022100200210f0400240d0500271003
+00251d0300261b0800261b08002c140900381c0600391a02003d190200411d04
+003a1e090041260a00422d0d00492f0a004636080046370600383b0600303d0e
+00303707002b37050030370e002d44080030551400385618003c511600395119
+0037522800474a3300594b2e005a52350066524000786a5100827b4e008e8951
+00a3995c00b2a77000baaf7800b4a87800a49a5d0093904a0086844700827342
+00786c3c006d622c006e571d00805716007a520a006e4d0a00644105005b3702
+00513603004c360700403209002c340d00232a0800232908001d1a0900180c01
+"/>
+<palette number="68" name="calcoast09.ppm" data="0020202c0034384200444759004c5e670052747a0053728f005a7b9a005e7f9e
+006082a1006386a4006387a7006588a800678aaa00678bab00678bad00678bae
+00678baf00688cae006a8eb0006c8faf006c8fb0006d90b0006c8fae006a8dac
+00678bad00668aac006488aa006286aa006285a8006183a6005f81a4005f809f
+005f809c005e7e99005c7f910052768c004c737a0045646b0046595e003d545b
+00404c5800474b4e00464844004149490042414900383e4a00373b4700363b45
+0032374000292d3a002a2935002c2c35002e2c3a00303237003a383800394041
+0048443f00514d400060523e00675d4900645c4e005c59470058584700595449
+0057574d005e5e540063655900636b6300606e770055718f00557395005b7c9b
+006081a0006487a5006a8baa006c8fac0077929c007f95a00094a59d00a5bcbe
+00b3bfac00b8bd9a00bec29500ae9b680093836000908a6c0089876b008a8270
+00918e7300848983007280880065828e0066829d006081a2006082a5006283a6
+006385a8006386a9006486a9006488a9006486a9006486a9006386a6006081a4
+005e7fa0005c7c9d005a7b9a0054729300516d8b004b6581003e5b77003b5969
+003758630037576200395270003a5173003f577800435d7e004a6485004d6a8a
+00516e8f00506e90004e6b8d004b658600445e7f003e587900405a7800496280
+004b6888004f6e8c00516f900052709200526f8e004d6987004f6c7500516273
+00576067005b5f61005e5b5b0065665e00757464007d806b00768683007a9194
+0082a6a7008cb0ba009cc1c800a3ccd400a7d5d400a9cfd700a8cfd3009dc7cd
+0089afbd0082a6ae007698a40076999d00769ea0007ba4a60088b1b10092bfc5
+00a2c5c600a6c9cb00a1c8cb0099bdc80089afb90079a3a7006c9397006a8d99
+006283a1006083a10064889b006f8491007086900069868a0065868a0069828d
+006d7580006e736b00686b5f00716f580077705c007e7c67007974670077755a
+0075705500706652005f5f51005656500050545300515c650055707a005e7f84
+006a8c8f0074a2a0008eb7b900b8c9cd00bde0e500d6f8f700e0fbfa00c9e8f0
+00bbdade00aac2cb008aafb0007399a20065899700537e8400436a6f0046575d
+0049505200494c4e0047515000474e5100424b58003d516100465b750049627f
+004d6a8a00526e8f0053739400557697005a7b9c005a7c9d005c7d9e005d7e9f
+005d7e9f005e7fa0005e7fa2005e7fa2005e80a3005f80a3005f81a4005f80a3
+005f80a1005d7e9f005d7e9d005e7c99005b7a8c0051747c004e697200515b60
+00545450004d4e4700403e3600332b2300251d23001a171e000000000005020c
+00161b2e00232030002b2832002a313a001d384900233e5000262f3f001d2135
+"/>
+<palette number="69" name="dodge102.ppm" data="002f2a2e00585d5a00889896008cdae10082f2fb007bf5f3007abcc600638999
+004a716d004a5952003a493d00314036003a292000401e18003f1c1700411b16
+004c1e15004b2211004a200e004f1f0e0050200f00551f120052221700592a19
+00552d1b004e311d004d281d004d241b00592723007038270074452b00765933
+007c5c2500a07a2e00ab873800a89c6100999f66009096580089735500766c59
+006c5f4b005f573f005f4e3700584138005c3931005e3930005e352f0062332b
+00694332006d4a3c00745b51008c775900b3a16f00ebddaa00f5f68c00eddd66
+00e3c15b00d7b56a00c59d5800b8993e00a17c2e00956329008f542500824d2a
+0075493000764335007c513c008b6b5a009ca19300c0cfa100ddebba00d8f4ce
+00b2dfc800b3bba3009a867400926a4f008169340072673100777a4a00878d70
+0093a49500a5d5a800c7f3de00bbfbf800bef8e900a9d7c7009eb09600888b78
+007779680079785d0092986d00b49f6300b5bf6900b5cd9d00afe7d800a8f3f3
+008af1f7007ff7f7008af7f0008dbcae00708881005b67510045564300453b29
+003e3b15003b2411003d190e003d18100037190f002c1a17002f1f1700362116
+003c221e00352a3100333c42002e483c003554560036647d0054959b005cf3f9
+006cf4f90082dbe7007d9ba600476978002f5976001a324400181920000d0c15
+000c090800050404000502020004000100050100000c04020010070400150701
+0016050200120505001006060009050400050201000100000000000000000000
+0000000000000000000000000000000000000000000100000003000100060003
+001005050017090400160f0900120e0e0014141a001a1a17002b241d00342a2a
+003b433e004b5050004d746300618d990079dbe10079f6fc0088eef5008fb0ae
+00797d79006b625e004c5d48004d563300533931004e332c0046282900431f1f
+003f1c18003e1b14003a1d0a00371f0c00311c0d002a17070025130700261106
+002b0d05002f0e05003b0f06003d1106003f15050043170800451b0600421c06
+00421e0d004622120046281c004e2a2300583527005d453800715353008a7774
+00c4b58a00dee3d800f7f5df00faf9e400f7fbf200e6f7eb00c7ece700c7ece4
+00c1e7e300a5adb20099868c0080776e00705f57006c4e3900634f30005e4725
+0047341c00412f1a00451f1a003d1a16003818130038150f0037150d002f100b
+002d0b0300290a0400270a0600250b0500210e03001e0902001e0500001c0903
+001b0b02001b0b03001a0e0700180c0500160f05001b0c04001f100600241107
+0029150b0030140c0039120c003d160b0041170d0044170e00441609003f1307
+00391107002e11070025120500221106001e120e001e1a0b0019201100251f1f
+"/>
+<palette number="70" name="ernst.anti-pope.ppm" data="003c292c003f2c35003d2d36003e2b37003b2a38003d2737003d2b3900412c35
+00432e35004a2c36004c2c390050303f0057314000592b39005d2e3500602c35
+006a313500683838006c4440006f48430077464400814c4700854f4400854b4a
+008b41410086454c008f4d4c00aa4d4c00945c5100885c4900875a570095604b
+00ae724900cb825100ca895600c9a48800c9a48a00b0938700cb836500a79175
+00ba796c00ae6b590092755a008570620076707b00645f64007d66620071645d
+0066545100644a5600634d6100623f4c005e3546005634410051313f004b343d
+00473440004631400046323e0045343f0043323d0040323f0042333b003f333e
+003f363d003e323d003e303d003e303d00392d3b00392b3800392e3800372d38
+00352b3800352b39003628350035293700372b3900392a3b00392f3b003b313c
+00353044003a32420033314600313140003433460036334500393543003d3449
+0041354b00403446003e3343003d3244003c3046003a3146003a3143003c303e
+003d3240003d323f003e323e003f303d00412f3d00432d3b00412e3a00402e3a
+003f2f3a003f2d39003b2d3a003a2c39003d2b39003d2c39003d2b3b003e2a3c
+00402c3c00422d3d00432f3e004230430042324500483544004a3846004e3847
+0049444b0050374c00553a4e004f3c54005641520060444c0062484f006c554e
+007b58460071534e007a55510084685c007f6f5a00885d65008e53570089524b
+0079504d006e43550066434d005e4248005344420050474c0051495500575459
+00554554005a54600052545800505a5f0055546e005d485600524851004d4652
+004a3f4d0048384a004737440043334100413343004032410043324200483344
+004a32420050353f0056374400593f44005b4244006141410067423a00634040
+00663d47006f3a4800683f3f0076353b007f343b008d2f3400a1273500a42533
+008f293300882e3d00762f32006f2f3b006d2d3b006a2e3d006b2a3f006d293a
+006a2a35005f2c3b00582d39004e2b3d00462f3f00432e3d00422d3e00402e3e
+003e2d3c003e2e3a003c2d3a003a2d3b003a2f3a003e303e0040323f00423441
+0045374400473f440044414c0042424c003e3d4e003e3d4f004137500042364c
+0041354d003c345000393649003a3a4600393b4a003e3d50003b4356003f4456
+003f44580041465a0043415d003e465f003a4463003e4b5c003b4d61003d4c6d
+003d4d64003646690038466900354366003441630037416600364467003d495c
+0040445e00444c5f004a4f5900464d530042485700443e5c0046384d0048374c
+0044384b00483548004a3642004b3840004d353d0051323a005736340060333a
+005c2c3d00552d3e004b2d3a0047293600462938004629380045293700422935
+"/>
+<palette number="71" name="ernst.ubu-imperator.ppm" data="0024390c00576682007e94aa0089a6b20092aeb900a0b3ba00a3b7be00a1b4ba
+009aacb50093a5ae008a909b00906717007f4d03005d1406004e0a0600410402
+00350008001e0400000903020001010000000001000301030005000900150f04
+0020110000270302003005000036040000380303004103000042020200460303
+004c070100500401004f0300005004000051090000510f0000571a0100674408
+006c970b005d9f1f007b95a1008ba3af0095abb5009eb0b800a2b1ba00a6b2bb
+00a4afb900a1adb500a2aaad00ac7b4a00b2710300bb750100be7a0000b87a02
+00a57b08006c8f24007593a40081a1b00081a6b6006794ae005c69870048450f
+004c18030048110300491001004b0f02004d0e03004e0b04004e0903004d0901
+004a090100480a0200470a0400420904004206010040060200420a0100440c02
+004508010044060100450600004707000047080100490a02004b0c01004b0e01
+00510d0200540f01005a110200631702008b4f000097570600863f0900661504
+005d0f05005c0c0600650a02007d1b0300a3420200b34c0200be5e0500ce7404
+00d3790100d5820200d6880100d1890100c6830200b5700100a7640000965a01
+007e5707003a540700224002003e5a0a00835704009d530100a6570200a85802
+00a9580100af570100b45a0400b1620400b5660100b1690100b36d0300bc7001
+00c36b0100c56d0000c8740200c0790400bf790200b3710300ad6902009e6a09
+006b798e00728ba2006d88a20058658a005c2c210056100500540a0200520903
+0054070100590b00005b0e0100631101006e14000097390400a5440200aa4606
+00aa450200a8490200ab4e0000ad580000af5f0200b6690000bd720000c57b02
+00ce7f0200d1820200d4810300d07c0100ce7a0100c67c0400bf770200ba6805
+00b1590800a94a0500a44902009d3901007c190600661002005f1003005b0e02
+0057100200580f04005f160200833402009f430100a24c0000a2500200a85806
+00ad600600af600300ac610200ad620300ae660200a7660400a2711300919799
+00a2abb000a3acb300a9b2b700a8b1ba00a8b8c100a9b9be00b0babc00b6bfb7
+00b4bdbc00adbec400b1bfc800a9bfc6009fbec90094b0bb008aa6b200859eac
+006d7e92004a5825003a1b0500471302004e130300510f05005c21220057637c
+00667e9b005e697100825f040092630300986001009f5c0200a6670200b17100
+00af750200ab7910009885460092a3ad0096a8b1009aacb50099b0b80097adba
+009aabb90095a9b80091a9b1008a9a9d00ac7c1700c37c0600c57e0700c87f07
+00d4820b00afb0ac00afb7b800adb6b500a0aab3008ba1ae007d8aa0005b6269
+002b3a06001d1205000f0c04000306040001030400040302000b0b01001a1903
+"/>
+<palette number="72" name="fighting-forms.ppm" data="00020300000b0f0200161708002824170052352800853f240095601200a9640c
+00b67a0e00d68c2f00ebb24900e6b03f00dc9f2c00ae971d008d8b2b00816328
+00383d210023241200191806001112030012110000181300001b190300231d0c
+00642a10008c2d0e0090340e00783727004b3b380033282600221c0f00181305
+000d0d03000c0d0100070803000b0d0200090b00000c0b02000d0f0200161707
+001e1f0c0028281c00343f45003f6041004267490064727c00699b85008a9269
+00987d41009f7a37009e5e1e009c3c0700952e0e00872b28007c395100613a84
+005046950042538b00555e8c00617499006077970060667e0061574f00894d43
+00a4371800ae3c1000af2a0400af250700a4280c008e2f0e006f2f1e00412e2f
+002522160020220c001f2010002b211900582a25008c1e0900a4180100a91c02
+00ae220200a8260100a0290400832c070047351500221e0a001b160500120f01
+000d100100121303001e1b0b00252120002e2046003b267500423a7f00433c85
+003f3f7b003533470038324300372f40002d2e25002d281d00302b27003d323e
+004b5a4600515f78005964880063617c00825d4f009e3a1c00ae3f0900b83304
+00ba2e0800be251200bb281500b4300a00ae320300a6450200b5531500cd6102
+00cb730500d48a0300da8d0400ed900000e98b0500e1730400cf620400cc3a1b
+00c7341200c7311000c1270900c2230600bd240500ba230200ba210600b62505
+00b9270200ba1f0200b91e0300ba1f0300bb1e0300ba1e0200b7200200b31b03
+00b41f0300b81f0500b81d0600b51e0300b51c0000b51e0200b31d0200ae1d00
+00b0210300b21e0300af190100ae180100ad190000a6180100991a0700741e05
+002b1904001c1202001a0f01001b0f0100201708002b1c0e006f220200902704
+00a01e0200a32304009b290c008135420084476300636d84005f8d91006b878f
+00657d9c0064758f00576f800042724900486c3000616f1d006c783a008a9677
+00b7a59b00c3afa400a3a6b6007daac500839abc007875ac00566aaf0044518f
+00433d7b0055384200702530009a270f00b4301800bb3c4500bc767b00c192a0
+00ceaabc00a29dbe00908893008b669e00ad366d00a72d3100b12b0d00aa290e
+00992809007e240500371d0b001d110200150b0100120a0000191001001c1308
+00241c0a005b2c09008f260700922f06008e34050082490a004e3e1600282517
+002c1a10005a1b0400881e07009e1e0200a9210100af200700a6251100953324
+0081304a0063367e004c338100493a8900544a9400664f980077508e00ae3963
+00b2323200af313100ba3a3000ba396300b03b73007c6b7400748f930080a18b
+00bea97f00ebaf7200e9af51009492380097631e0078560c00784e1600383209
+"/>
+<palette number="73" name="fog25.ppm" data="000b0e02001e1c0a0023230e00342b1700343d16003d3f1d00433e1e00534627
+0071603f0095868300a39da200afa9ad00b2acb000ada5aa00a0959800a2774e
+009f6c4100875f2f0070532000585117004b481200483b1200493f1800463016
+0048391e0042341400403c150042471700483e1b00424915004b421a00504017
+006749210082582800a3632f00ac642f00ae6a3300b9783c00c2804900ce8d54
+00c9915e00b3a5a400bfb4b800cdc4c000d6d4d900e7e6ec00eef2f500eff2f7
+00e9ecf100e3e2e700d5d0d600c5c0c600b2acb1009690920082674400564c35
+004a3d2c00443a28003d351c003a3313003c350b003e2d05002d2b0600222704
+001f29030024240900202309001e24060011100a00151202001f0d05001c1407
+001c18040021180600232911002d2a0c0033241100352516003e2610004e270c
+00512e110053340c0059410d00674c120077501a0089551d00a05c2900a26736
+00ab6d3b00b8783b00c47c3c00c2834900c7926100b5aaac00c4babf00cbc6ca
+00d7d8da00e6e5eb00e7e7ef00e7e6ee00e1e1e500d3d0cf00c3bdc100ada8ab
+00918c8e0075673600624d2100563d22004e3f1e004c3f1f004b402200463a2a
+004c372400483a1e00433911003f370900353e0200322a04002f2807002e2806
+003327080034270a0037290c003a2d1300393014003f2f120046300f00473010
+005735130064481d006e5a270086773f00948a8900a7a4a300b6b1b100bab3bb
+00b8b1b900b2abb200a89b9e00bb8f6b00c0824f00b3773f00a56f38009f6d37
+00a06f3d00a0724800998d8e00a79fa400aca7ab00aba6aa009d979900978781
+008f6940007c56280070491f00583e1f005b4018005a401300593f12005c4514
+00664e1300704e1d007b5325008e6134008f7645009b929500b2acae00c2bebe
+00cbc7ca00d9d8de00e8ebef00f1f5f800f5f9fc00f7fbfe00f9fdff00fbfdff
+00fdfeff00fdfeff00fdfeff00fbffff00f9feff00f9fdfe00f9fdfe00f7fdff
+00f5fafd00f4f9fd00f4f9fc00f0f5f800e7e8ed00dbd8da00cbc4ca00bdb7bb
+00a9a0a400b4856200a9714200a36d3800a7693a00a7724100a2734b009b9094
+00ada4ab00b8b1b900bbb6bd00bcb6bb00b3adae00a69c9b00c68a5900b57b43
+00a3683700985f3200855b25007c511c0075511c006c4d1b006f4f2000765327
+00855c33009261380099673d0098683900946839008e653000865f2b007b541f
+006d461c00634216005f401c0061412400664e340078583a008f6e5100989093
+00aea5aa00c1b6bc00cdc3cb00dcd9e000e8ebf200f3f6fb00f5fafd00f8fdfe
+00f9fdfe00fdfffe00ffffff00ffffff00feffff00fdfeff00fdfeff00fafbfd
+00f4f8fa00eaecf300dedbe500cfc5cd00bcb5bd00aaa0a7008e8586004c432c
+"/>
+<palette number="74" name="geyser27.ppm" data="00000000001a0505004d110600622d1d007c4e42007281920073a8c10084b3d2
+0098badc0099b0ca008eabb5009da9b000a5a29e009a8367009568490098623c
+008c552e008a431700a3390600ad370800b3380300be3d0800d0560700d26e19
+00dd7f1d00de962c00e2a13500de9f3400de983c00d5944200c1864600a49271
+008a8d9f008590a5009a8b7a00946c54009e734500bd793900c67c3000d4882d
+00e0922700df8f2300de891f00de881800dd891200cd651300c64c0400b03c0e
+0094562b009a6e3d008d7359007da89c007eadc7006d9cd4006990c3006078a1
+00474a7900253a7d001a317700102a75001129730012266a00232a5f0035242d
+003b23230054190e0062230f00743012007938170087481c008e522400a36733
+00b26c3800c47b3d00d6914400caa56300b6a69500b1aea500afb0a5009da8ab
+008799a700787d81007e5745007d5240007e513f007f4b2e00895325008e5224
+008e50230086461400743309006b260b00611d070056190d00571a08005d1c08
+00671f06006e2806006f2b07008d1c08008f1f070091220a0094240600912703
+00803616007333190063321900632f1c00662c1b005f2a1a0035232b00172664
+000e226700121c59000400020001000000180302004b0f0600550f0200621704
+0065180200692002006a22020068250c0064210e005b1e0b00581d0b005d2612
+0060271800622f1e00453f4c0024367900313f76006444450072473700835639
+009f6d3d00ba702d00c87b2e00d98f3200dd953700dd933200d38b3600bc7731
+00af67260098552000a53d1700a02b0700a3290600991f03009c230700a22907
+00a42b0500aa350900b6430c00c36e2800d5863000e0983a00dfa14300de9a40
+00c3863d00b5773c009c6f3d0091684a007e5141005b5b7000727b9d0076a3b7
+007fb6c40080bad30084bbc0009ac1a400a7cca400aacaa300b4cbbc00a3c6e1
+008bc1de0088c0db0077b1e10073ade10070a6e1006d9aca0071769000774d48
+007043340066352000663521006f4336005a555b002c3f7f00203479001a2e77
+0012266d00101f5f0002041500000000000000000006010000210b15002e2534
+0037427800626b90008595b000899ebe007984a4004c568000283a7d001e3276
+001b2f790027326d006b3d2e00683924006e3c280082523700996c3c009b7242
+00ba844400d8b16200ddb67200dcd57e00dfcd9300c2c5b200aec6b100b7b89f
+00c0916600b26f4000aa511c00ad3a0700ad340700ad320500a7300200a02f03
+009e300200a3330600ae3a0800bd611600d17c2900db903400db943e00c88a3e
+00bb864800ab9c8500a7aca0008a96ad007e8b9d008e6a5100754737006c321c
+00622a1200591c0a00511706004e0e02004e0e01004b07010009000100000000
+"/>
+<palette number="75" name="gris.josette.ppm" data="0024292800474d52005a7277007898a4009ec0c800abc6cf00b0c7cf00b2c6cf
+00b0c7d000b3c8cf00b5cacf00b8ccd500bad1db00b8d1dc00b7d3d900b5cfd1
+00b3cdd200bbcfd500bcd3d800bcd3d900bcd3d900bed1dd00c2d5db00faf9e5
+00fffae300fff7e400e3e4da00c1cdd400bccccc00b4c3c600a2b2a700759293
+005a7c860051757b004c696d00476661003f595000283b3c00212f32001d2b2e
+001a242600121b1a000e171600131c1b001e2423001d24270020292e00202e31
+002a302f002a352e004952390048544800495b54004c5f60004f625e00526663
+00546864005d6a64005a6f720058737c005e7a85008b999800afbeb700b1c1be
+009dae9d005e7b8100526c6d00425d590025343a001a2627000b121600080b12
+0007091000090e12000d1417001a242600243237003d50520046605d004c6465
+004c676f004f6e7100526e780055707d0056738100577685005a7c8f008ba6af
+00abbbcb00b4c3ca00b7c6c900b4c6c700aec2c3009da0a50061777d00566a6a
+0045535200253435001c272400101918000a1215000a1016000c14170019272a
+00283b410045615e005a757a007d969a00adc1b900b9c8c300b8c8c800aec4c9
+0091b3b7005b858d005678840056747f0056747f005a747f0063808700a0b0a3
+00c1c3ba00becdc500d0d6cb00fffadf00fefce800fdfcea00fdfae700f6f5e1
+00bfd2d700baccd500b6cbd000b2c9d100aec9d100a5c5cf008eafb900577b90
+0055778a0057788d006c898f0091b5b500afc4c900b8c5cd00bdcfcf00c0cecf
+00c0d1d000d6e1d300f9fde700fdfdf300fdfdf400fdfcf300f7f9e100c0d1cb
+00a3b2ac0076888f005a777e005571780054707300566e6f005870740058757b
+005c7a840076949400a1b5b000b0c3c800b2c5cc00b2c6cd00acc8cc00a9c0c8
+007d9ca6005b7b87004d707400446161003547510020313b001e2e3900283c43
+0041585000485c5b004a5f62004b6461004d6663004f6865004e6764004e655f
+004e655f004e665f0050676200516665005165660052666700506869004c6a6b
+004d6a6c004f6d6c00506e70004f6f7200516f72005271730055737400557276
+0055717b0055737f0054747c0053757f0056777d00617e850095aeab00adc2c5
+00b1c5c700b3c8c800adc1c90090adb3005b7c8d00547682004c707900426a70
+0047686a004968670048656100445b53002e3d440027323400242e270022261c
+000d131300091211000914170018222500222b2a002a34360046514700495851
+004a605700485f5600465a520046544f002c3e43001d3036001e30340020333a
+00303f4600455b5900566c6f005f7c8200b5be9600e0cfbd00faf6db00fffbe0
+00fcfae500eef3e700bdd4d600b5cbc900aec1c200819c9a005c797800455a50
+"/>
+<palette number="76" name="gris.landscape-ceret.ppm" data="00100f0900262619004a402a00663b27007c4f2800885b2c00a05e3800ad5048
+00b6504600d24d4700d1524300ca302600e3583600d3663600e27f3200ea8f38
+00ee9c4100e4a74700bda64f0085b06b0077997a006f917c00608a7e00677c64
+0063645e004e606b00456484004079ad0062a5c4006ba5b6007aacb300abc9d3
+00bdd1d100c9d2cf00d2dbcd00c4d0cc00a3bdc70084a6ae00768a990086737e
+00a8826b00b4786c00b5657000d15a6100d75c5f00dc5f6000d9626400e2625f
+00e4695c00e8695800e5615300e0534900e3585500db644c00e3695300e56a5a
+00e06b6200e2746700e2797200d7989b00daa8a800d9aca700deb1ac00efb7aa
+00efb9a700e2ca9000fce76300fcdf5900f8da5200f9c84f00e4bf5300b4a05b
+0088b87e0070a28200719c84006f9c87007ca19a0080a3a7007e9aae00788da2
+00627b8a00657b830064846d0064786000606e5500585e460070572a0078552c
+00805638008b5636009f733e00b17a3400c67f3e00dd923200dda02f00d6a625
+00eab32000f8c22300fdc52200fcc62300f9c41f00f9c32b00f9a53000f29626
+00f1972000f2952400f1962300ed8e2100e18b1c00e58c2000e6852b00dc7e2c
+00df7a2000dd7f1d00d6872100cf852700d2902b00ce8c3c00c18d4300a48f52
+00818345006d733a005a744500556b44004c4f5100595d48004e55440042473e
+00383e3a003033330024231800190f10000a0d090008070500040203000e0d0b
+00100e0f0013120f00141213001c231800212220001d261f002d38280034392f
+003a362b00393b2e003c3531003e3c3a0045443f0046503c0053514600615751
+00705e560074685300816f4900827c37007d78390086702e00a3793000c68e3b
+00cd994c00daa38900d4a4a000d09ba200c77e8100c2717b00bd797c00ca7e68
+00c4744500c6702300c76c1f00cf7f2700d3832800e48c2800f4a02c00f8c22c
+00fdc72800fdc82300fdc92500fecc2900fbcd2900fcce2a00fed32700fece2c
+00fdca2c00f9cc3500f6c43b00f1c03600ecac4000c3a4540084bb7c007fbd77
+0073ab6a006fa15f00677e5f00617359005e7056005a6c4e006a6b4300735e42
+0068573b00644b38005c453100554d3d005d553e006259320060472e005d4a2e
+0057492b004f523f0045594500455f3e0034563c003c543f0040562f00414739
+00454632004c4531004a503400485f3d004e6947005f7b4b006c8a4700778a51
+00988e8b00c997a200d7adaf00dac8af00e3e4d300fefbf900fcfcfa00fafcfc
+00e4eae600dbdcd800edbdac00fde46100fbda4800fed53f00fbd34300f9d63e
+00fbd43800fcd53400fdd22e00fec92c00f6bf2f00f4a44a00deaa6400e79d8b
+00d6a5a600d59ca200c6879400b2768300a16a73007b4c48004b4438002a2a26
+"/>
+<palette number="77" name="kandinsky.comp-9.ppm" data="00511f1500791a0a009f150300c2390200d8660000d76f0000d77a0100dc8402
+00e3940300e9a71600fbbf2900fcc23c00fdc84800e1c06700d8cc8700e0cd99
+00e8c99c00fbd25c00fecf4400febf2a00f8b60700e7920200e17f0200dd6b00
+00c53e0600a91a04009d230c009a4c5c00a2506400ad8963008dba790092b77f
+00b3b78e00c0aa8900f0b15200fec64500fecf4400fecb4100fcc23e00fbbe38
+00f9b53900f3a92500dd810500d26e0000c33c0400a713010081140300601c14
+00541e170058211b00611d2a0054232e005c8873005aa17f007dba75008fbb76
+00cbac4d00c88a2800c4730900aa330d007b1d07006a230d005c2012005c1d11
+00771c05007d1e0700b6390e00d26d0300da7b0a00eda51b00ebbb3d00d7c267
+00adc5840092c57e008ac37f0086c27c0089c0820095c18600b2bc8a00c8cd8d
+00d4cdac00d8d5bb00d4d9ba00b4cdae009dc3a60070bbb20067b9b7005fb1b5
+0044a0b90045a6c9005bada70070ac8d0081be7b0083bc7b0080ba740079b66b
+005b95740066222f006b220f007b1c0a00aa310b00d6610100d96f0000de7c03
+00e38d0200ea9d1600f0b02c00f9c23600fac23c00fcca4000fec83f00fdc443
+00f6c04200dbb65c00a2c076008dbc7c0085bb7b0088ba790089bd800084bb84
+006cb0b60062b7bc0060b9c10051abc60043afd10044aecc0051b4c4005eb5ab
+0082c0810088ba780086765b007f3549005e1f3200551a2c0051192800511924
+004a1d2100491d1e001d291d001c261b000b110d0005100b000a0c08000c0c0a
+001a120700471a2100551e2b0060513500569d79007fb8780091ad8f00a3b09f
+00c5b8a900d7c6be00d1cab600b3c99e009bc88f008bc37f0086b8710094714d
+009e240d00a50f0300ae040500b2050100b50e0100a212030083130000771605
+007a1c0e00905f4000a1934c0088b873008abb760097ba7000d5be5600ebbe48
+00fccb4e00efd57500e7d6a900eadab300e4dcb500d2d6aa00a0cd950094ca8e
+0093c88a00a1c68b00b5c88600c6c37600eabb4600f1ae3300e6811200e37d03
+00e0790300e4770200de7b0400e07d0400df820100e5910100e8a61d00dbb545
+00b7b76e0099c17c0099c987009ecb9200bcd2a400cedac500cadbcb00c8d6c9
+0095c1ac0070c0b7007dc2ac0090c08400a6c07e00d5986200d5830e00da7907
+00dd710500dc6f0200df750200df750400de760100da770100da7a0000d97d01
+00d9860900e7a02000f1ab5500ceba8700e6d3ad00e3d8bc00e3d2c000e6dcc3
+00e2ddc200e1dbbc00dddac000dfe3c400dbdecf00cfddcc00d8dfc400d7dabd
+00dcdaad00ccbf9100c9879000da8e5300c47f1600ca570200a31500007c1301
+0065200600542f0e006f784300559b7b0059a58100539d7c00467a75004e2028
+"/>
+<palette number="78" name="kandinsky.yellow-red-blue.ppm" data="000801090012070c0029021100380e1a006112280065302d006e4c24008e7025
+007d7a2a00765a28006e48220068111d006f171b008d292a00a8585800b27465
+009c7680008a8272008b7e630084795a0081786500817674006e647b005c457d
+00554174006247690082624a00898236008c80370091762d00957b2600908032
+009e8d3800ac9737009f912f00ab9a3a00b8994200b99a4600b79b4400b1a346
+00aea04200a89d4700ac9f4100a89c4400a39b4300a0934500a4975500a49959
+00a2995b009c9b62009b8e6c009e95610098956000979371008f897c008b8087
+0080768700777e8e007380930074809a00756da700696ea500678bce00748ff1
+007684f200808af3008796f30094a1f4008c97ef008da0f200919bf0009e91e6
+00a192df009098df009e88e300aa87d800a992dc00bca5d600d2b3ee00dbc0f4
+00e9d1f500ecd3f300dabef500bfaaf600b29ef7009d90ed009380e6008f7de3
+00677ce9006473c8006657c0004b4a94001b3678001e2d64001e2742001c2533
+00211f210020212500272d330028435e003b347100474278004e429e005842b4
+006b4bd7007859d8007d54e2008465e4008d6bec009071ec008b6ce9007d68cf
+006e5fc600856eb1009b85a600a89aab00a395a2009186a6008184a1006d7984
+0060727a0056627c00434c7500383f68003c3a4500422345005f193800711d3e
+00902a4f009d416400814b82006251b5006155c700603dcc005e3bca005939c5
+005535c4005c3fbe005e3dc5005a3bbc004a2dad00462bb0004528a0003f2490
+001f2163001413430013103000110e270013141b000d09070005020900050007
+0004000600010103000100020003020200030404000302060003010a0008060e
+0016132000221d1f00221e1e002a1d26002c1a3000342530003c38420042424a
+00434b5f00807668009b8e6d00a89b7e00b2a39a00b1a7a500b7aaad00c1afc3
+00c9b7dc00d6bae300d7b2e800dbb4f000d0b4f400c6aff200b2abe700b1a0dc
+00b69cd200b89ccf00ba9bcf00b59ebb00b49fb900978dc9008f82cc009a7eda
+009378e8009473ec009e78ed009e89eb009c8bf0009598f600949dfa0096a0fa
+00a39efe00b6aefa00b5b1ef00afb1eb00b0a7d400a395c4009395b700888cbb
+007877ae007e7bbf00918abb008b93c4009581c4009d84bc00a45db100b75eb6
+00b96eae00b78590009e8a9500a68d9e009f9391009e968200a09b7d00a19c65
+00a89d5000afa04b00bb9f4600c0a24000e4c33000c6a54200c8ae5400caa956
+00dcab5a00d8ba3c00d3b55c00d3b16000ddac6400cfb26200dbba6100e4cb65
+00e1c57100dfc09400d5bc9500d1b39700c2a38d00b6a68900a2986b00a19657
+009f9141009e8238008a814b007d5f360068461f0038132c001b0928000d020b
+"/>
+<palette number="79" name="klee.insula-dulcamara.ppm" data="00170a04003f261b00906e55009483490090885600a3835a00b0926000c0a366
+00c19d7200c1a18200c1a89300b5a99c00a8a9960092a09e0082939b00789fa2
+0079a192007096980057798e005c748a00778a8e00838e83009a9e6e009c9a65
+00ab976300aa935400a6834c0098804b00957a3f006d5330001a080700180604
+00130706001103020009020200040b06001a1406005775550075977500918a71
+008f845700816b42001c0a0700160708001e0f0c005c6f6d0054758900546f92
+006e8b99007e9d8d0099a0840097a57800a4ab7a00aba76f00aaa96800b19568
+00ba8f5d00b0944d00a0974100af964b00a98d3d00a36c3d0084562300200901
+0022140500806d38009f724e00b1755300ba815300b8835900c1866300bb955b
+00c08f6400c79a6c00c99c7700c9a97900caae8000c9b28500d5b78500ceb389
+00d2b38900dbb48a00dbb68500d8b98600d8b98900ddb89000ddc19300ddc09e
+00dbbb9f00ddbea500ddc4a700dcc5ac00dcc8a500cec4a500c4bfa700c3b8a6
+00c0b2a700a6b2ad00a0b3a7009ea8a10095a5a40094a4a70090aaaa008ea5b2
+007999ab00718aa0005e779300596e8c0034313600170a07000e050000060100
+0009020100130807001a08060036220e00967a2800939439008f953d009b9145
+00b08f4500c2974200c7924000c5913c00b5914300b28b4800ba8e4c00b79348
+00b99a5000be9c5400bfa86300afb36800b5a87800c3a98500b7ae8900c5a582
+00cea67e00d3b08500d1bc8800d7b58500cab87a00cdc57700c3c07300cbbe6b
+00d2ac6e00d4bd6e00cfc06a00bfbe6500b6ba5c00aeb74e00a8b34f009eaf4b
+009da6450091a4400081a35b005e926a00433a1d00180b06001a0906005f4f2a
+007981600092a15c00a6b95800acb15200b9b84c00b8bb5500b3b15600bdaf61
+00cbb16400c7a86e00d3a47000d0a27b00caa67900d2a48600cfa79300cfa987
+00cfa98200d6ae7d00d2ad7a00cdac7d00cab27c00bbb27800b8b67500cbbb5f
+00d1ba5e00d9c16500d5af5d00d0ab5700d0a55000cd9e4f00c1a04f00c0a250
+00cbb45500c7bb5200d9c65a00dcc96200e2cc6900ddbe6700dec87800debf7f
+00eac88600deba7a00ddba8500dbba8700d7b98200cebd8200ccb98b00ceb792
+00c8ae9000cab19200c1b69600bbb89a00b5ae9900c2b89500d2b29800d1b59d
+00d8bc9200d6bf9200d8c49300dfc59700e2c69a00dfcf9c00d7cba600ddcca4
+00dec3b100edccb100dfc8ab00e6ddbb00e2dbbf00d9d0c300fffae800d2c9b5
+00d9d1a700e6d0a100e3d09e00e0cf9900e2ca9c00e3c4a100dfbfa500e0be9f
+00dbc4a200d7c6a300d4c0a700d3bfa000cec4a100cec3a500cfbaa500c8bea6
+00c7c2a000c6c58f00b3c88d00abab82009b93780093876f0086724a00221007
+"/>
+<palette number="80" name="nile.ppm" data="00062742001b3e630061444b009c432600d8750300eb8e0300feac0300fad4a3
+00fce7da00eee2f700efe5f900edddfa00dccff400cbc8f300c6c2eb00c6add4
+00cda2a700cb8a2a00e9910200f2940100fa9d0600d7af8c00cbafc300bea4c3
+00be948900d8871600d77d0a00ab66170081642f00795f9000808eae00ada1dd
+00b7aae400baade500bcafed00bcb4ef00bfb2f200bfb0f100c3abe600c1a6f0
+00c4a7e700c3a8e500b9a4dc00b1a0d200898b8d0086523c008d261200741801
+0070100100731c0600783d340067499f004024a6001d28af00182aa700082faa
+000226ac000722b2000930b9001336ba001743c200283bb900343db7004144bf
+004446bf004d56c7005459c900696acb007272df00b295dd00c19dd300d3aca4
+00f89e0b00fea50300fcac0800eabfb000dbc4cf00d4c1d800cfc0db00cdb1e3
+00cbb3e300c5b7ee00c4bdf400c2b8f400c8bbf500cdc7fb00d5d7fb00d9d6fe
+00ece9fa00f7e8fd00fbeefd00fbf2fb00fcf3fb00fbf0fc00f3e7fb00e9dbe7
+00ebd4d600d5b6da00cca4a900a16e6200733b2b00772803007c1f0500842708
+00ae490700df800500f39d0a00e8b3a700e0c4d200efcdd300f1ddda00eadfee
+00ece1f800e6d9f700e5ceea00dbcddb00d6c4d200d7b8a300f69e0700f9a503
+00f5a00400f1920300e9890200dc7a0700a1583300997f8200ac91c200bfa0d6
+00c0a4e100c0a2e600b99fe800b19ce2009093df006283dc00517cd6004073cb
+003d75b5003e6faf00456aa200426a940031649a00195796001e5091000d4282
+0011467900205067004452630058220b00691106006a13030077381f00724c53
+007665a700a196d900b0ace900b3b1e900b0b7f200abb1ee00a8b5f100b1b9f2
+00b2bcf100b2bef700bdc4fc00c2d0fa00cbcbf300c5c6f400c4c3f300c0c4f4
+00c4c1ee00c0bbef00b7bff000b6bef400bcbfe000b9b3e000b9abd200ab90b1
+00af815c00e18a0100ea8c0100f0920400f5970600dba88a00c19dce00ad9ddb
+006c7bcb00537acf00467fbd004074b4003d71a80038619e001e598e00235a80
+001e597d00164d780012446e00143758005d08060064090300760e0100882906
+00d9710300e3890100df840300a563140090371e007f200600741a0600702e2c
+006f4762005c5d98006b6eb0006673c8006e76d500928ede00ada3e000b6afe5
+00b8b3e900b8b1ec00b6acef00b2aaef00aeaded00aaa0e1006c78da00627dd2
+005477da005179d900477bda004873d4004f72d0005774ce00576acb005564ca
+004a5cc600395ad100375fce003d58c3003d4fba003353c2002150c3002057c6
+00205ac9003368d3003a66ce003d6ab5003e6eb2004873a500496ea0004b5f9b
+004b609100445b9500276094001f518f001d528900174f790019407800113c64
+"/>
+<palette number="81" name="picasso.jfille-chevre.ppm" data="001800000054020200b82e0000c33d0500c63d0200cb4c0300cf500300d35503
+00d1540200d04f0300cc490000cb3d0100c93b0400c73e0300ca4c0300cd4d07
+00cf550700cb5d0e00c25a1c00cb662e00cc642800b7612600b9601c00976633
+00c4662900ce773300e18e4e00de944d00e4944c00dc8c4d00c7884600d0722b
+00d16c2500c77c1f00ce7f1d00cf821e00cd871e00d0892000d6922400da9a37
+00dea25300e1b86300e4c58000e8ca9600e3caa300edd0ac00efd3ac00f1d6ad
+00f6daaf00f8dbb200f9dcb200f7dfb900fce2b400fce0bb00fae2bf00f9e1bd
+00f7e0bf00f9e2c300f8e1c000f7e3c000f7e0c100f5dec100f4dcba00f3ddb8
+00f5dcb600f5d8b800f4d7b700f2d8b400efd7b300eed5af00edd6ac00eed3a2
+00ecce9800eccc8c00e8c78000e5b37100e5a76100e1a35d00df9b5200d29355
+00c47e4600d0683000d7653100d36f2000cd7d1200d6850e00d68e0f00d7992c
+00dba84c00e4b85a00e7bc6300e9c27600f1cb7c00ebca8700ecc98500edba78
+00edb06b00e7ab6600e7a85e00e3a76500e1a87700d4a46900e8b27700f4c283
+00f1ce8c00eed09600eed2a100e9d0aa00e9d3a900edd7ad00f1d9b100f3d9b5
+00f6dab300f7ddad00fbdfae00f7dcac00f7dca900f3d8a100f5d19000f2c989
+00f1c97400e8bb6300e3a05000e1914900d97a3300d57a2100cc811500c87f14
+00c5790b00c4750700c16d0000c3780800c5841200d1891b00da911f00dca338
+00e6ba5f00e8c16900e9c88100edcf8d00f5d39600f2d79e00f2d5a400ecd4ab
+00ebd3ac00ead4b000ecd6b100eed5b700eed6b300e3cfb500f0d7b600f2dbb6
+00f1ddb600f3ddb700f4dcb700f2dab700f0d8be00f2dabf00f6dbc300f5e0c6
+00f3e2c700f6e4cd00f6e2ca00fae6cd00fae5ce00f8e7cd00fae4c500f8e6c2
+00f8e4c400f6e3c300f4e0c400efdfc500ecd6c100eddabc00f0d9ba00efd7b5
+00f1d4ad00eed3a600edd49b00e9ce9100ebc98600dcb37800d4aa7900ceaf6c
+00d3a27500d29c5d00df9a5900e09e5100e4a35100eaa75a00edb06800f0c17f
+00edcc8d00edce9800edd09f00eed4a500f1daaa00f0d7ab00f4d8aa00f6d7a0
+00f2d5a900f5d2a000f9d79a00f7d49200fbd58900f5d38900efcf9200ebcb97
+00e0c99a00ecca9700edcb9a00e9ce9e00efd2a600eed3a900f0d3a700f2d4a8
+00efd4a400f1d39d00ecd09600eccd8e00ebca8b00e7c07a00e3bd6600e2a858
+00e09f4800d3902800c9882100cc841500cd851000d0840e00cd830a00cc8209
+00ca780800cc7c0200c3770600c1750c00cd6d1b00d5621e00cb591b00cf5c1d
+00d45f1700cb5a1800c9591900cb5a1700ca5a1400cc5c1000cb550b00bd5205
+00c4500f00c14e0c00bd440500c24e0400b7460200b641090093310b002a0103
+"/>
+<palette number="82" name="pollock.lavender-mist.ppm" data="00030502002521170041442400605f3f0080705300987f5600a88d6400b59b68
+00b79d6f00b39d7700af9d7900af9f7a00ac9d7900a89a7200a1956f009a8c6a
+00968b6b0095876700908466008c826800898067008c7c6600887e6600857c61
+00877b5e00897b60008c7b5e008e7e6200927d6300968865009d916600a4926b
+00ac967900ac9c7e00b49c7b00c4a47700cfab7800d0ae8000d4b58800d2bb89
+00d1b58300cea88100cba97f00c4ab7900b8a67a00b19c7500a49269009c835d
+00887959007970520069684b0066664d005e5a4a00474c3e00494d39005e5a41
+006c6042006f6247006e635100736f560079725f007b725e0081755e0082785a
+0082795a0082775600827551007d6744006b583800605435004a3e2800373024
+00291f1d0028221800252619002a271c0038311c003b392400454933005e503f
+00635f4f006a635000766f55007e715c00857b5f0084805f0089845f008c8567
+008d8468008e876a0090876d00948b7000948e710097927600979079009c917c
+0098978200939c8200969f86009e9d8400a29e8800a4a08900ada58f00b3ab9a
+00bdb39b00c2bba100c0baa400bcba9e00bcb49500b9b19200b3a78b00aaa484
+00a79d8100a29b7e009b9578009e8e77009c8e73009d9372009f947300a49873
+00a7997b00a99b8100ada08300b0a38200b9ac8700bfb58e00c5b99500c6bc9f
+00cabba000cfbe9c00d4c49800d4c29b00cfc1a400d1c4a500d5c5a500dac2a0
+00d7bd9800cfb99800c8b39600c5b19100bcaa8900aea08300a99d7f00a6a277
+009b99740093916c00918a72008b8672008a8473008185710081806d007f8266
+0077765d007770570072654d0072664800756a4a00756f4d007b74570078735b
+007e795c0086805c0091805a00958a61009a8c6800a28a6700a3896600a78f6c
+00a7906f00ac957600af9d7900b1a37a00b4a67700baa78000bfae8200c8ad83
+00c9ad8400c0b08800bcae8d00bdb18f00bfac8800b9a68000b5a17e00bb9d7a
+00c2957100b68c5e00a6764c0083643d00655138004a46340047382600423723
+003a312000453f31004d4938005e5447006261500067675800657562006d8f7d
+008a8e7a008a8e7900918f7b009b988000a19e8500ac9f8900b8a98f00c5b295
+00c9bb9200cebc9800d7bd9300d5bc8700deb57b00d5b57c00cba37000c0996e
+00b9916300b18e6a00a88e6900a28e69009a8b6a0097876d0095886e00968972
+00978f78009e927a00a79b8200b5a88600c2b68f00d0ba8f00d2c89100e0c691
+00e1c49600e5cda100f3dfae00f5deb700e8d3b100e1d0ab00e0dbbd00e0d9c8
+00decdba00cfcba900cbc49c00c4ba9d00bdb29500afa48500a39d8100979778
+008d8d70008481680079806a00646e5e0054584b0049453c0032382a0012130d
+"/>
+<palette number="83" name="yngpaint.ppm" data="00140f0a00342f2d00146968003f827b005b907200688c7b007e8d8200899783
+00a09d8000aaa57e00b6ad8000bcba8100bec09000c8cc9d00cccda300d3d1a6
+00d4d5a700d8daab00dbdcae00dddfad00dee0b000dee0b100e0e0ae00dedeab
+00dddda700dcdca400dbdca000d9db9a00d7da9900d4d39400cacb9900c2c298
+00b9b68d00aba78100a5a77900a6997100a28662009e8c6600ab9e6900aca374
+00a5a37500afab6b00b3a96f00bba68200c0bb8300c5c18c00cac99b00cdcf9e
+00d2d69b00d3dfa200dcdea300e2e0a600e1deab00e0e0ac00e0e0ae00e0e2b0
+00e1e2b600e1e7b900e1e3b100e3e3af00e4e3b400e5e7b800e4eabc00e2e8bc
+00e4eabe00e5e7c000e4e9bf00e3e8c000e5eac200e4e9c400e5e9c800e7ebca
+00e9f2d600f4f7db00ecf1d200eeebcc00eaeec900e5ecc900e5eaca00e7ecc7
+00eaeac400e9e7bf00e9e7be00e5e6bc00e5e5bc00dce0bd00dadebd00dbdfbe
+00dce0bc00dce0bb00dee6b700e0e1b500dce2b400dce2b200dbe2b200d9e2ae
+00dae2ac00dcdeac00ddddab00dfdda900e0dda800e0dba900dedaaa00d9dba9
+00d8dba500d8d8a200d5d5a100cdd09d00c9c79200b8b88100a5a46d00989261
+008f915900898f5f0091956f007e8265006b8956005973650074735300757361
+007a837300737a69006c7c7d00858f68008b9074008e9a7800a6ac7600b6bb79
+00c3c67700ced09200d4d29100d4db9a00d6da9d00d7d99d00d8d99d00d8d99f
+00d7d59f00d4d4a200cdcea200cbc7a200c8c89d00b8b99000ada68b008d9b85
+007294840063938c005a8e92006e958e007d9d910081929300a4a58900b7ba8c
+00c8caa100cbcbaa00ccd2ad00cdd0b100d3d2b400d4d7b800d4d6be00d9d9bd
+00dbdabb00d9ddbd00dddcbe00ddddc300dbdebf00dde1c000daddc300dadec6
+00dadec500d7e2c200dae0be00dadfb700dae0b400dae0b100d9e0b400d8ddb5
+00d8dcb700d5dab700d5d8b900d5d8b800d6d5b700d5d2b400d1d5af00d5d7a8
+00d8d7a800d8d8a600d7d4a500d6d4a300d6d6a000d9d9a300d9d9a700d8daaa
+00dadcad00dddcae00deddaf00dddeb300d9e0b400d9ddbb00d6dcba00d8dbbc
+00d8dbbc00dadabe00dcdac000d6dabe00d8dbbc00d7dabb00d9d8b900d8d7b8
+00d8d7b800d9d6b800d8d8b800d9d9b700dcddb600dbdbb800dcdcb800d9deb7
+00d9dfb300d7ddb000d5dbaf00d7ddad00d7deab00d5dea900d7dead00d8dead
+00dbddae00d8deae00d7ddaf00d7deb200d7dcb400dbdbb500d9d8b700d7d6b7
+00d3d6b500ced5ad00c9cfa100cacd9400bbba7c00b5ac6b00a69e5600a68a51
+00a28e5700968c4b0088854400847b42007a752d00775c090085713800666034
+0063373200746c42004a3d07004b321800372933002e2b140054090800200305
+"/>
+<palette number="84" name="cl-gold-orange-green from classlady1.ugr" data="00004000002c40000042400000584000006f490000875200008a5b00008e6400
+009d890000a3990000aaaa0000b8b80300c7c70600d5d50900e4e40c00ebeb0d
+00f3f30f00e9d30e00d3a70b00be7c0800a85005009224020089120100800000
+00ac582c00c1834200d7af5800ebd76c00ffff8000f4f47500e9e96a00d3d354
+00bebe3e00808000008a8a0000949400009d9d0000a7a70000acac0000b1b100
+0099a40000798f00005a7b00003a6600001a5100000d480000004000002c6118
+0058822f00afc35f00d7e17400ffff8a00e9de7200d3bd5b00c8ad4f00be9d43
+00925b1300865009007b460000764c0000725300006f5600006d590000685f00
+0064640000818100008f8f00009d9d0000aaaa0000b7b70000b7b70000b7b700
+00b7b70000b7b70000b7b70000ada20000a48e00009f8400009b7a0000916500
+008851000096611800ab812f00c1a24700ccb25300d7c35f00ede47700ffff8a
+00d3d35b00bdbd4300a8a82b009d9d1f00929213008080000096961600acac2c
+00c1c14200ffff8000fff48000ffe98000ffe48000ffdf8100ffd48100ffc981
+00ffcb6c00ffd55500ffe03f00ffe53400ffeb2900fff61200ffff0000e9d300
+00d3a70000a85000009d3a000092240000800000006a0b0000541600003e2100
+00123700001f4c0b002c6116004271210058822c0083a24200afc35800ffff80
+00e9de6a00be9d3e00b38c3300a87c2800925b12008040000080400000804000
+008040000080400000804000008b4c0e0096591c00ac723800c18b5500d7a471
+00edbd8d00e4be8800d6b47a00c9ab6c00ae984f009385330078721700626200
+0098982600a5a52f00b3b33900cece4c00e9e95f00ffff6f00ffff6f00ffff6f
+00ffff6f00ffff6f00f4ee6500e9de5c00d3bd4900be9d3600a87c2300925b10
+00905b000098690000a1770000b1920000c1ad0000d2c90000dfdf0000cfb900
+00be920000ae6c00009e4600008d1f00008000000090260000a14d0000b17300
+00d2c00000d8cf0000dfdf0000cfcf0000bebe0000aeae00009e9e0000808000
+0096960000acac0000c1c10000d7d70000eded0000ffff0000f4f40000eaea00
+00dfdf0000d4d40000caca0000c1c10000b0a800009f8f00008e7600007d5d00
+006c4400005e2f00007a53160095762c00b19a4200cdbe5800e8e26e00ffff80
+00f2f27100e6e46200d9d75300ccc94400bfbc3400b5b12800b5b12800b5b128
+00b5b12800b5b12800b5b12800969e2100778a1a005877130039630c00195006
+0000400000265b00004d7700007392000099ad0000c0c90000dfdf0000cfc400
+00bea80000ae8d00009e7200008d560000804000008040000080400000804000
+00804000008040000080400000905b0000a0760000b0910000c0ac0000dddd00
+"/>
+<palette number="85" name="cl-gold-rose" data="0000000000fcc00000fabe0200f8bc0400f8ba0400f8b80400f8b80400f8b804
+00f4b40400f4b20600f4b00800f2ae0800f0ac0800f0aa0800f0a80800eea80a
+00eca80c00eca40c00eaa20c00e8a00c00e89e0e00e89c1000e89c1000e89c10
+00e4981000e4961000e4941000e2941200e0941400e0921400e0901400e09014
+00dc8c1400dc8c1800da8a1800d8881800d8861800d8841800d8841800d88418
+00d4801c00d47e1c00d47c1c00d27a1c00d0781c00d0781e00d0782000d07420
+00cc742000cc702000ca6e2200c86c2400c86a2400c8682400c8682400c86824
+00c4642400c4622600c4602800c2602800c0602800c05e2800c05c2800c05c2c
+00c0582c00bc582c00bc562c00bc542c00ba522e00b8503000b8503000b85030
+00b44c3000b44a3200b4483400b2463400b0443400b0443400b0443400b04034
+00b0403400ac3c3800ac3a3800ac383800aa383800a8383800a8343800a8343c
+00a4303c00a42e3c00a42c3c00a42c3c00a42c3c00a02c4000a0284000a02840
+00a02440009c2440009c2242009c2044009a1e4400981c4400981c4400981c44
+0094184800941648009414480094124800941048009010480090104800900c4c
+00900c4c008c084c008c084c008c084c008c044c008804500088005000880050
+008800500086005000840050008400500084005000840050008000500080004c
+0080004c007c004c007c004c007c004c007c004c007c00480078004800780048
+0078004800760048007400480074004600740044007400440070004400700044
+00700044006c0044006c0042006c0040006c0040006c00400068004000680040
+0068003c0066003c0064003c0064003c0064003c0064003c0060003c0060003c
+00600038005c0038005c0038005c0038005c0038005c00380058003400580034
+0058003400560034005400340054003400540034005400300050003000500030
+0050003000500030004c0030004c0030004c002c004c002c0048002c0048002c
+0048002c0046002a004400280044002800440028004400280040002800400028
+0040002800400024003c0024003c0024003c0024003c00240038002400380020
+0038002000380020003400200034002000340020003400200030001c0030001c
+0030001c0030001c002c001c002c001c002c001c002c00180028001800280018
+0028001800280018002400180024001400240014002400140020001400200014
+0020001400200014001c0010001c0010001c0010001c00100018001000180010
+0018000c0018000c0014000c0014000c0014000c0014000c0010000c00100008
+0010000800100008000c0008000c0008000c0008000c00080008000400080004
+0008000400080004000400040004000400040000000400000000000000000000
+"/>
+<palette number="86" name="cl-lavender-purple-blues-black" data="00676966004b1d7f00371a630023174700191434000f1221000c121f000a121d
+001d291f0029362c0036433900514742006d4b4c006a5d57006870630063675a
+005e5e520054535b0046467800383995003637920035358f0034348e0034348e
+0034298500451f810057167e0059167f005b16800057157e0054157d0053127a
+00501277004c2c5100362c3d00202c2a001e2b21001c2b18001e2c1e00212e25
+00474246005451510062615c006f4878007d2f94007f2c9300812a93007d2792
+007b2892003a318e00332f8c002d2e8a002d2d89002d2c89002c2b88002c2b88
+002f2e8b002f2e8b00302f8c00332c88003629850036278300372682003e1b77
+004b1376005d1883005a17800057167e0051157a004b1577002d1d4e00261945
+0021193e001a17300014162200111421000f1221000f1220000f131f000b121a
+0008111600040b1100030b1200030c1300050e14000710150007111300081214
+0009121700091118000a1119000b1219000c1319000a131a000a131c0009121b
+0009121900091217000a1319000b141b000d151c0010171d0016201f00233026
+003a42330040473b00474d4300484e4200494f4100465b3c003e513d003d4c35
+00444a3c004142440038413d0030403600213327001d2b1e0017241d00161e21
+001522190016241d0017262100192425001c23290021173a00211940002e2737
+00383931003148340032493200334a3000384c330038503600354d350037443b
+004a475000403f6b003637870037368c00393691003b3c9600513e98005a419c
+0060429c00563995004d349000442f8c0055167e00501277004f1377003b2556
+00323c31002f3b2f002c3a2d00242f2b0023322b002a3c2c002d402a00384732
+00474e3c0050505a004c3f7200492e8b0050369100503994003a3f9a00393e99
+00463c95004c3d9500533f9600646963007e6662009064610091725e008f6966
+008b676700822b9300802b9300723487004f465b00454152004137500032224f
+001d16490029196000361c770037268400322d87002e25820037207b00392d51
+002e2a4500292a2e0015221900121d17000d1716000e151b00091315000b1016
+000b1016000912170008111a000a131a000c131b000f141a0011191c00192420
+00242f270033452f003e523900495049004a4e4d0057575500514d5b00562286
+0056319000523994005541980054419a004d38930038318e00362d8a00332886
+004c16780056157b005c178100621b8500633190006b499d00564aa000554c9f
+004d479d0041419900373b9600393993004d389300523e97005c379400743093
+007b2d93006e4196007553a000645ca7006968ae006a6fb3006468b100615aa7
+005556a6004b4ba100414a9700535b5d00535e50004b554d00415a3d004a5942
+"/>
+<palette number="87" name="cl-yellow_mixed-brown-gold" data="00c1806400f5b18000f8b78000fbbd8000fdd18900ffe69200ffe89000ffeb8e
+00fcffaa00fbffb900fbffc800fdffe100fffffa00fffffc00ffffff00ffffff
+00ffffff00ffffdf00ffffc400ffffaa00fbfda200f8fc9b00f7fb9400f7fb8d
+00fff35900ffd94a00ffc03c00f0a75500e18e6e00df8f7200dd907600e1a082
+00e8a68600f1b18300f0b08900f0af8f00e7a88c00dfa18a00d69a8600ce9383
+008b70810082687b007a6176007663770073667800716779006f687a005f607e
+005a5d7e0049577c00293e610009264600151a2a00220e0f002e1514003a1d19
+0084422c00904e36009d5a4000b0684b00c3775700c0785c00bd79620099767d
+00886d7e00625e7f00555a7e0048567d00294670000a3663000c2239003f1d1b
+008c4f3d00a05e4900b46e5500c0785e00cc826700d2866c00d88b7100df916d
+00f19c6600f9b15f00f2a05700ec904f00e1895400d7825900d5805900e18e70
+00d38a7700bd847900a77e7c00a0797d0099757f009c787c00b06d5300ce753d
+00dca12100ffde4100ffeb6400fff88800fffb8b00ffff8f00fbf88f00ffe68c
+00d7998200b6878100967580008b707d00806b7a006b6581005e5f7e00575a7d
+0053597d0047557c002c446a0011335900111a2300100708000d0208001a0701
+004e2f1b00683b230083472b00904c2f009d523300a4592f00ab5a2d00af6341
+00cd774800c8846d00b47e7400a1787c00906c78008a584d007b3d2e004d2724
+00200b0a00250a08002b09070031141400381f220078473800804f4100a7827c
+00d3957c00feee8e00fdf6a100fdffb400ffffe800fffef200fbfaf500f4f7dc
+00ffec8d00fbe37d00f7db6e00f19e6800d67c4800b6632f00ac552000a24a0b
+00ac510000621c00005d1e060058210c00491d12002d232400264468004a567c
+004c597c004d597c004f597d004f597c004c597c004c597c004f577c0050587c
+0050587c004f597d00525a7e00545a7c0055597e0064617c006f503c00736876
+00877487008f778800977b8900b3878400dea28800f6b98300fae96700ffef68
+00ffff7d00ffff9000feff9d00ffffa900fffda200ffff9d00ffff8e00ffff80
+00ffff6d00fffe6c00fefb7a00feff8500fffc8c00fffd8f00ffff9800fcff9a
+00fafe8f00ffff8100fffa7800fef57600fff16400fff05a00f3c63500e4c934
+00c9836900a57b7d008a718400837181007f6c7f00846d7d00866e7e00866e7c
+007a677d0076687f0073657e00716677006d637e0066677c006d657c0073677f
+0078688200806d800088737a0097758300a57a8100bf847e00c98b8000e09173
+00d58b6e00c97c6000a9695000a0543400853c1b005b2815005b2b1d00624734
+00575a7b00595e7e00606a850073698200877082009b7a8300f0b08a00ca9285
+"/>
+<palette number="88" name="cl-dark_reds-white-grays" data="007f28170030070f001a040d0005020b0002010b0000000c0000020c0000050d
+00090810002a0d0e004c130c0057130700621302004e1208003a110f002e0f0e
+00230e0d00342623004b1d150063150800631405006413020063130100621400
+0062150100631300006512000065120000651200006512000065120000651200
+00641302006415040066170700691a0b0064221d005f2b2f0059303200533535
+004b4247004a42480049424900473e4600453b4400403a43003b3a420034323d
+0032323e002e2d350031303700343339003e333700483435004f313100572f2d
+0067190c00651e1b0064232b0052262f00412a3400382b33002f2c330028292e
+00342d270060130900621406006415040064150400641504005b180700471c16
+0022222a002d2d340039383e00443f43004f46490054484b005a4a4d006a514c
+007553520097554500ab533c00bf523300ba4d2f00b6492c00b0543b009b4a35
+008a3d2d00862916008216000079170200701804006815030067110200661305
+006c1703006e180900882a1700a23c2500ac482e00b6543700d5744a00f3f3f3
+00ffffff00fffffb00fffff800fdfcf100fcfaeb00e1774f00b2584f00934946
+006e4845005a414400553a3c005033350054231c0066180c0066140800631606
+00340807001e040600080006000600060005000700060006001b010a003a0d0a
+00601a0e00813e2d007a403300744239006a4743006e505000685559005a535b
+00644f5600684f52006c504f006d514f006f534f00893f4000953d3100943b2d
+009a33240071190b006e170b006c150b006a1b0c00782e25006e383800653f4a
+005335350058302e005e2b28005f1c0c00671a0a006516070061150700471b1c
+003a2e2e003a3438003c3437003f35360041363a004b3736005a3836006e2e2c
+00691c0c0067190a00661708006516070067180900681a0e005b393700584944
+00504448004d4145004d363c004e2631005e1912006415060064150400651200
+0065120000651200006512000065120000651200006512000065120000651200
+006512000063140300641506006415060065180800691c0c0074271d006d403b
+006f4d4e007c5e5c00a8614d00ad604c00b35d4400a9513d009a443500834038
+006b4947005b474600514048004c3839004d3938004b3635004c2f2b005e1e12
+006417070064170500641506006516070066160b006a1b0c0080332100933b27
+0095423000884f4400725253005f5057004c4a4f003d414c00403e4900413f44
+003b3a4000353a4000353944003734470041384d0047444b0053464d00675354
+007c696500a0837f00fcfdf800ffffff00ffffff00fffef900fffaf700e27851
+00b85a40009a3f2c008f382700772a1a006a1c0f0062211f00544445005a3836
+"/>
+<palette number="89" name="cl-gold-dark_reds-browns-blues" data="00ef8d7000ffbd9600ffcc9300ffdb9100ffeba000fffcaf00fefdb300fefeb8
+00ffe29200ffd88d00ffce8900ffc98700ffc58600fcb58300faa68100f8a37b
+00f7a07500a0616a0082465000642c37004b242c00331c2200301926002d162a
+001914280017173200151b3d00171c44001a1e4b001c1f4d001e2050001d2053
+001c204f001c204500191d4100171b3e00171a3b00171a3900171b3a00171c3c
+0021245100362e53004b385600764b6100a15f6d00a35f6c00a6606b00ac6470
+00ae5c600087343c006c273100521a27004f1b25004c1d23004b1920004a151d
+00341e2b00261e3400191e3e00191d3f001a1d4000181c3f00171b3e00121a41
+00121a3f00181a3100201f3000282530002f242e0037232c003b212c00402433
+0049223f0058304800683f510084434d00a1474900a5484500aa494200a23c38
+00762f370026254f00202251001a205400191e4f00191d4a00181d4300151b3b
+000f14310012182d00161c2a001b1d2b00211f2c00341c2a004f152400561513
+0073141200bf535000db646200f8767400eb6c7800de627c009c546a006f3947
+004c243f00632d3d007b363b00963e4000b2464600d0655f00fa726600fe7c6f
+00fd7b6d00b15d5d00954c50007a3b430053262d004f1f2b0048213c00432c3c
+0037283d002e27440026264c0026265000262755002426590021245b00202356
+00212555001f244e0021224b0023214800201d38001c172d0027142800290d1b
+00181422001616270014192c0013182e001317300013173000161c3400131b3f
+00151a44001d2043001f1f3f00211e3b00322a37003e2239004126370039212f
+00301623002e121e002d0f1900280c1a00271018001c0c16001315240013152a
+0012142d0019182800201626002715250037181e0047192400471d29004a222b
+0035314000322d3a002f2935001f1f37001a1c33001f212e0027212f002f1a29
+002f18220029141b0023131d0018152000121327000f16290011162a0012172a
+00141b2e00181c30001c1d3200302233004321420052274500752f3a00883e4d
+00b8696f00f6917300ffa47800fec28400ffc68600ffb78000f2997b00b06f77
+00985b6a006a42650053344300492d39004c2f4100603c56007344640096586f
+00b1646a00c86e6300fe777300f6927200fa9e7700f8967100f2947000b96d71
+008752660061424a004b3340003b30400026264c00242659001e235a001a2260
+0018205e00192259001d225900181f56001b224e001b1f44001e1f3e00191631
+0016122300160a14000e040c0019040d001b0a1200270d160032131b002e0d20
+0039132c00371c2d0031192f0026192a001c192a0020142800230e1700240d15
+001d091400170a140023091400280d14003e0c0d00611114008f322b00bb635f
+"/>
+<palette number="90" name="cl-golds-browns" data="0080540d008c5c1000946312009d6b1400a9791d00b6882600be902200c7991f
+00c2901f00b9801a00b1701600b36d1300b66b1000b66d1200b7701400b47114
+00b1721500c2922600bd841f00b8761800b2721700ac6e1700ac6d1300ac6d10
+00ab6d0800a4680c009d63110096610e0090600c0091620c0092640c009e7010
+00a5790e00a76f12009c6412009259120084521100764c10006e480f0067440e
+005a3b0f00643f0c006e440a0072490d00774e1000784f1100795012007c4f14
+007e5012008852160084561b00815a21007b541f00754f1e006e4a1b00674619
+0054370d0052350800503404004f3206004e31090051320a0054340b0058390d
+005f3b0b0071490e00734a0d00754c0c00754b0d00754b0f00754d10006e4914
+0075491c007b4e1a00815318008c5a150097621200a0641200a9671300af6e14
+00b26c1600b8721200be811700c5901c00c6941f00c8992300c7992900b4b3a1
+0087622d007f572200784d1800734916006e46150064421200624012006b4611
+00754d10008c5b0e0092621100986a14009b6d13009f7113009b691200986313
+008b5f1e00845818007e521300794c11007447100061380c005b360c00593610
+005b3a0f006c4210006a420f0068430e0067440e005e400e00593a0e0051350d
+00472f0b00462e0d00462d0f0048300e004a340d0051391500543813004f3510
+0047310c00452f0a00462f0800482f060050330700563708006a4109007b4a0f
+008e5917008c591b008b5a1f00865b2600825c2d0070532b0071512200664816
+00674613006e4213006f45120071481200764c10007b4d11007e511000815411
+00875d1500895b14008c5a130088581000805010007a4c0e0072480e006a4510
+00644212005f3c1400613c1500643d16006d3e140067420d005e3c0c0055350f
+004d2f09004c2e07004b2e0600492c0a00472a0800432b0900442c0800442c06
+00472b0600452a00003e270500412809003d2a1900432c0c00432c0a00412a08
+00442c0a00462d0a00482e0b00503309005c370b0066410c00724a0d007a510f
+0083531100865312008556100084550f00854f0f00814f10007e5110007e5110
+007b4d11007e4c0f007c4b1000774a0f0076470f0076450a00744a0e00724a0f
+00724a0d00714b0c006e45030067420b005e3a080057360b0051340a004c3008
+00452d0900442c0800482c0700492b0500492d06004d2d06004c2f0700513408
+0057340a0056370b005c3e0c006a450e00754b0f007f520f008d5c0f00a05b00
+00a3660900ac6c1200a36f1b00926428008b5d2c006a523000644b2200674c1f
+0078541a007c521600815411008657110087570f0087570f0085580700845608
+007e4c0d007d470700794300007f490900905c1000a6681300cb9f2600b4831c
+"/>
+<palette number="91" name="cl-purples-browns-blues-tans" data="003d31490031285300362c51003b305000362b48003127400031243e0032223d
+002d1e330037283e00413249004933530051355e004e3a60004b40620051405e
+0057405a0043334d004b304900542e45005d3a4300674641006b4943006f4c46
+007c5256007a585e00795e6700825f65008b616300936567009b696c00ac706f
+00bb706b00cb827c00cd806d00cf7f5e00d5866a00dc8e7700d1897c00c68581
+009a56650079486100583a5e00422a43002d1b290021142100160e190008060b
+00010000000000000008060b00100d1600261c2e003c2c4700433356004b3a66
+006d5184006b4c79006a476f0065456c006143690062466800634a67006d545a
+00765455008b5d6000915e5f0098605f0099605e009b615d00a15b5300a16658
+009f676800996c7e009371940091669100905b8f00965b7e009c5c6d00986466
+009d67650093625e00895a56007f524f00794e4a00734a4600703d2800553131
+00402c4f0049325b0052386800553d67005943670075586a0089636e008a5991
+00986c9f009e6cab00a973b300b57abc00bc80c400c386cc00c58aca00c488c6
+00ba8da1009a687e007a445c00703d5100663646004329440031213c0024152a
+0021182900321f35003e253c004b2b43005a4446006b384b006d3b5800794f50
+0097564200a75d3a00b7643200af633c00a8634600ac6e6300b6758d00bf86a6
+00d398ac00c8849900cc899500d08e9200db9ea600e8a5ae00f4c7cc00f6c6d4
+00ffffff00f9fede00f3fdbe00f6f0ad00fae39d00dedce700f8bee400d190d2
+00b276b200946972008e646d0088606800845f660089636e00976469009b696c
+00c3878900c88a8c00ce8e8f00cc969600cf8e8a00c78b8b00b28187009e6e6c
+0086666b008859610089595b008b5a55008a584d0089594b0085594e007c5254
+0079504e0076504f0074505000704d49006e4f4c00694e55005e496800614669
+0067435d006b5258006d4c43006b4a4100614748005b454800604953005d4662
+007e606a0090697100a2737900bf8a9c00db8f9900f2a7a100f2d68300f1bd67
+00d1918800bb717000955e5b006f4b4b004d3739003b2e280036232700241728
+001a131b00110f12000b0811000d0a1300160b190032182300391f2a00412740
+004a2e4500432944003f28450043304300493445004e354a004f354e005d4346
+005c4241006a3748005d415000533c560049344700372638002e212a00301b2c
+00351b2800311a2c002a18260027182d0028202f002618290025162b00211227
+00180e1900170e0f00170d160015121b001f1422002f1f3a00352540003f2d53
+00483869004b3a6e00553c7600574172004e3b690048315d004b2f570040304a
+0038263600241625001a1221000310210013101b001a1221002e1c32003f2747
+"/>
+<palette number="92" name="cl-oranges-browns-whites" data="00ff933900ff7b3d00fe7e3d00fe813e00fe873d00ff8e3d00ff9b3b00ffa93a
+00fdb93c00feb73900ffb63700ffac3500ffa33400fea13700fd9f3b00fda03a
+00fda23900ffb63600ffcd3b00ffe54000fff15900fffe7300fff66c00ffee65
+00feb93a00fea33800ff8d3700ff813900ff763b00ff733b00ff703b00ff6a3f
+00ff6d3e00fe784300fe7a4000ff7d3d00fe7a3a00fd783700fe7c3800ff8039
+00fe833d00fe8e3c00ff9a3b00ff8e3900ff833700ff813700ff7f3700fd7f35
+00fa982b00ffbe3600ffd64b00ffef6100fff56700fffb6d00fdfb5800fcfc44
+00ffd03d00ffc03900ffb13500fd9a3300fb843200fa7b3500fa733900f46739
+00e55d3700ca513c00b84c3d00a6483e00aa4a3b00af4c3900c44f3b00d55636
+00f1673800f5693a00f96b3d00f2653c00ec603c00e45e3b00dc5d3a00cf5637
+00c14a3200b14b3400bc4d3700c7503a00d1563900db5c3900eb673600fc7734
+00f8ca4100f9e48300fbfec500fdfdd000fffddb00ffffff00ffffff00ffffff
+00ffffff00fffff600ffffe800ffffda00ffffd700ffffd400ffffd100fffba4
+00febe4200fe9f3d00ff803900fd7b3500fc773200ff722a00fe733200fe6c39
+00fe6a3a00fe6c3d00fb6e3f00f8714100fa744100fb734300f4694200ea5e3a
+00d4573900c04f3800ad473800a346390099453b0095403d009f473b00a84830
+00bd513700d4523800d8533800dc553800de5c3800ea5e3b00f2603900ef663a
+00d3563600c44b3100b6412d00af3d2a00a93a27009a3930008f3a3300893c34
+0089413300a64b3900af523a00b95a3c00bbb23d00f1ff9000ffffa700ffff98
+00fdc44300feb73e00ffab3a00fe893a00f8723d00ee644000db5c3c00cb5233
+00bf472e00ae351a00ac341c00aa331f00a8382400a83b26009a3928009a3926
+00842c2000813124007e36280088412b00903e30009e433000a7423000b45132
+00d1563700e35d3700f5683a00fd693b00ff6d3a00ff733800fc743600fd7537
+00ff753a00ff733a00ff723a00fe6c3900ff683900f6683a00f0673300fd6631
+00f76f3300f7702c00f87b2700ff9c2f00fdae3800ffbc3a00fecf3b00fee83d
+00fffe3d00ffec4100ffe34000ffd44000ffbf3d00ffb63600f0ab2200dda824
+00ee7c1c00ff762800f76c3500f2683700e65e3800da573b00c2503800a6462d
+00893f32007f3f3d0075433c006a344200754038007840330079472e00783f34
+00703c31006a3c2f00612c2400703a3000753e2a00813e35009b3e2d00ae3927
+00c03d2100cc462900d64a2700dc532f00d6533700cf472f00cf482b00b8432f
+00b23c2e009c4534008f453c00844540007f4a46008b527300bf675900d2563a
+00d8593600e45c3600f2572900f75f2e00fd5c3000ed563b00df593c00c34e3a
+"/>
+<palette number="93" name="cl-blues-greens-whites" data="00ffffff00bed0f800a3baed0088a4e300849fdc00809ad5007e97d5007c95d5
+007091d4006d88c4006a7fb40061719c00596484005e626c0064605500636652
+00636c4f005959350055561d00525305004c4f0800464c0c003c480800324505
+002c3b0000293b0500263c0b0033432300404b3b004449440048474d00464447
+0045483500404725003b423100373d3d002630430015234a001c294f00232f55
+00484d6a00414657003a3f4500343f2d002f4016002d3f0d002b3f0400293e05
+002b3d0d004952370052563f005b5a48005d5d4f006060560062634e00656647
+0055533e004c4a460044424f004b4b4300525538005156330051582e004e4d1f
+00505833005b5b6300595f7900576490005b6a970060719f007989bc00a0a9d0
+00e8eff900f3f7fc00ffffff00e8f3ff00d2e7ff00c8d4f200bec2e500a1afd4
+009fa4c4008f9dc40095a3c8009ba9cc0097a2c700939cc3008b99c0007587af
+005b5b67005155410047501b00454f1500434f0f003749150046512700555f3d
+006d6d5500656f93006474a400647ab6006278b2006176af00596ea700576a95
+003a486f002b3b62001c2e56001c2c54001d2b52001b2d5500243563002f406e
+00304073001b2d55001b2d55001b2d5500293a680037477a0042589400556ba7
+007c95d500869fdd0090aae50095afea009ab4ef00a0baf5009bb8f2008caeeb
+008daae400a3adc600a9b1cb00b0b6d000aeb3d3009daad4008b97bd006a7aad
+0069695f006060650057586c00525778004e5684004b5b8e004661a6004c67ae
+00506eb6005c7dca005f81cb006385cc006881c4006881c4006a82c0006b84bd
+0063769e005f729b005b6e9900575f6c006867620077765a00747c53007e806a
+007b767200505d87004d5b8a004a5a8d0040517f003343760029396c00233462
+00353442003635400038373f00413f4c004f4e53005a555100524d53004d4b61
+004a537a004d5e8a00506093004e629f004059990041568f003f4f82003a436e
+0019253b001c283d001f2c3f00323b4c004b536a005765880066749b007482a9
+007687b3008495c10096a8d00097a8d40091a7d8008499ce007e93c8007484b7
+007586b4007384b2006b80b9006478b5006074b100506ab4005169af005069ac
+004c67ae005068ae00506ab4005374bb00677db9007086c200758ec6008093be
+008496be008197c8008397cc007c92ce006d89d200708ac7006c86c1006b81bd
+00657bb7005f74ad00556aa9004d66a6004b66ab00415ca1003f589800435995
+003c518a003647730032437100394a7800495b8300475d99005167a3006c7caf
+007787ba008c9dcb00a0acd200b5bad700bcc7e500bdcdf100b7c8f400a9c0ec
+00adbeea00acbadf00b8c3e100bdc4d600bcc7e500ced4ea00dce3f300e3e7f3
+"/>
+<palette number="94" name="cl-tans-yellows-browns" data="00a88b6d009f938700a2978d00a69c9300aaa49e00aeada900b2b1b000b6b6b8
+00c7c6c400d3d0cf00dfdbda00ebeae400f7f9ee00eeece500e5e0dd00ddd8d5
+00d6d1ce00c4b9b700c4bbb400c5bdb200cac1b900cfc6c100d8cbbe00e1d0bc
+00e5d2b400eed2a500f7d39700f7d38b00f7d48000eccd8200e2c68500e6bf88
+00e0c68d00cdbfa500ddcdb400eedcc400f3e6c900f9f0cf00f5eece00f2edcd
+00e5d7ca00d7cabb00cabdad00c1b8a600b8b3a000b5b0a500b3aeaa00b2ada9
+00b1adaa00b3a49d00b5a59700b7a69200b4a49500b1a39800afa39900ada49b
+00b8b3b000c0bbb700c8c3bf00d8cec200e9dac500eddec500f1e2c500fbebb7
+00fdecb600fafa8a00fbfb8700fdfd8500fdfd8400fdfd8300fcfc8200fcfc78
+00fce68100f2d38000e9c08000deb27c00d4a57900e0aa7800edb07700f7c370
+00f7d57b00e3d9a400d5c8a300c7b8a300c6b4a300c6b0a300b7a99e00a8a19b
+00a0969500a19b9800a3a09b00a5a19c00a8a39d00adabac00bbb7b600c7c6c4
+00d5d1ce00f4e2cc00f6ddb100f8d99600f9d59400fad19300f1b38000caa076
+00b8a38800b49c8600b0968500af968100ae967e00aa998700a3978b0097928c
+00958c83007d706700786f5600746f45006f6154006d6660007a726700969080
+00c1b29f00e0c69d00ffda9b00fdd89200fbd78900fbe18d00fff78200fdfd8b
+00fdfb9400f4dfb400eedcb400e8dab500e3d2b800e2ccb400cbc5b700c4b8ac
+00c2a79c00bdaaa400b9aeac00b9b0ae00bab2b000b5b1b200bab6b300beb4ab
+00bbb1a800b5aba100b4a89f00b3a69e00b0a19a00b39f9400b1a19100b19c89
+00a9978300ab9f8100ada88000ada46b00af996700b6906b00b9957100b79a7c
+00b6a48c00c0b7b000c2bbb500c5c0ba00cec0bd00d0c3bb00dfccae00d9c087
+00b1946a00978065007d6d600076685d007b6f63007d7a710092898400ac937d
+00c6976b00d0a37c00ebbd7200f9cb6900fbd96e00f9e76b00fcf17100fad773
+00ffe69c00fde6a600fce7b000fae5ae00f7db9c00fbde8e00fdf27e00f8f781
+00ffe49300efe9ab00e5deb000d5c2b100ccbaac00bdb5a800b5a6a300ada2a0
+00aea49b00aea19900aea29600a89c8e009f918e009e918b0097939000a19393
+00a89e9c00b5aca700bbb2ab00c1b8a900c6b9a800cebeae00cac3b000c9bfb5
+00c6bcb300c7bbad00c5b8b000c4b9b500c1b6b200bcb7b300bdb8b400c1b8b3
+00c0bbb700c1beb700c4c0bd00c6c1be00c5c4c000c7c7c700c8c7c500ccc7c3
+00d1c8c100e2d1bd00e5d7b200e9d6b800e6d0c300d9d0cb00d2cdc900ccc8c7
+00d3d2cd00dcd9d000e1e0de00e1e0de00e1dcd900d9d9cf00d0cbc700c9c0bb
+00bbb7b400b6acaa00aba7a400a99f9d00aa9f9b00a99a9500a6988b00a59482
+"/>
+<palette number="95" name="cl-golds-browns2" data="00a6511800834919007e481e00794724007a4929007b4c2e007a512f007a5731
+009b562c009b5728009c59250094521d008c4b150088480e0085450700824208
+00803f09007d40130081461a00864d220099542400ad5c2700b75d2500c25f24
+00d06d2a00de722d00ec773100e97a3c00e67e4700e27c4600df7a4600d6825d
+00c97f5c00b17960009b6c5b0085605700895f4e008e5f4500895d4000855c3c
+009c5623009c5222009c4f21009e4e1c00a14e1800a04f18009f501800954d1b
+00934d1100a24e1200b0581300bf621400d3691f00e7712b00e9752f00eb7a34
+00ff893900ff944900ff9f5a00ffce7800fffe9700fffea800ffffb900fffecf
+00feffc300fff88f00ffcc6c00ffa14900ffa04900ff9f4a00fd9a4700ff9146
+00e2732b00c3672800a55c250093532300824b22007e4821007a4621006c4323
+0067442e006b4835006d4833006f49320072482b0075472500764826007a4d30
+0074524600785243007c5341007f51380082502f00905327009f572500a4571f
+00ac572000be581600d15f1d00e4672400e96c2600ee722800fe7f2e00fb8434
+00fd813900fb7b3f00fa764500f9793c00f87c3400ff742f00fe712c00ff732b
+00fe783100ff8a3600ff883700ff873900fd864200fe824400fd895000ff8957
+00f1864e00eb7c4900e5724500dd744400d6764400c2713c00a16b3c00996540
+0095663c00995a2f0093562d008e532b007f4d2a00744622006f412000674021
+006d3f1b006d3e17006e3d14006d3c13006c3b120063360c0055310f00633c1d
+00674017006f522a0077562f00805a350093603100b2663500c0794b00d18053
+00b6683800b3663500b0643300ac623100b26b3700c37c4e00d3856100d78b6b
+00fea06300febb6200feb25c00ffa95600ffa34f00f89e3e00f8884000e7803b
+00c86a2c00c0672b00b9642b00a55d3500a15a2e009d5a2f009c5a2a00a05e2c
+00a4612a00b1612c00b3613100b8613400ad603400a8602e00a25a2800995c25
+0093573200975c34009c613700a9644300ba6a5100c7725d00c3815f00c6825d
+00cb815c00de794100db753500d56e2c00cc6c3000c86f3300ca6d3000b66321
+00ad591900a7581500a45417009c4f1900944e1b00914e1700914e1a008d4d1d
+00874f20008b512300854e27007d492400724420006b431f00683f1f00683f1f
+006a421f0073411c0073421900703e190072401b00764814007b4916007e481c
+007c491e00804b2300834d2900854f2b00815226007f5024007a46210072401d
+0076451c007d4a15007f4a140089471300904f17009f582400bd673400d9803c
+00fe9a5c00ffb27000feda8400ffd27d00ffc05f00ff9a5800ea874600d07336
+00bd6c2b00b26122009f5c2500925a2900845d36007e5e38007f56400085573d
+"/>
+<palette number="96" name="cl-pastels" data="00ecceb000e7ceae00e5cead00e3ceac00e0cdab00decdaa00ddcda900dccda9
+00d7cda700d4cda600d2cda500cfcca400cdcca300cbcca200c9cca100c7cca0
+00c6cca000c1cb9e00c3caa000c5c9a300c7c8a500c9c8a800cac7a900cbc7aa
+00cfc6af00d1c5b100d3c4b400d5c3b600d7c3b800d8c2b900d9c2bb00dbc1bd
+00ddc0c000e1bfc400e3bec700e6bdca00e2bfcd00dfc1d000ddc2d100dcc3d3
+00d4c7d800d1c9db00cecbde00cacde100c6cfe400c4d0e500c3d1e700c0d3ea
+00bcd5ed00b5d9f300b1dbf500aeddf800aadffb00a6e2ff00a8e1fd00aae1fb
+00b1dff200b5deed00b9dde900bddbe500c1dae100c3d9de00c5d9dc00c8d8d8
+00ccd7d400d4d5cb00d8d4c700dcd3c300ddd2c000dfd2be00e3d0ba00e7cfb6
+00ecceb000eccdb100ecccb300ebcbb400ebcab600ebc9b600ebc9b700eac8b9
+00eac7ba00e9c5bd00e9c4be00e9c3c000e8c3c000e8c3c100e8c2c200e8c1c4
+00e7bfc700e6bec800e6bdca00e5bdc900e4bec800e2bec500e0bfc300dec0c0
+00dcc1be00d8c2b900d6c3b600d4c4b400d3c4b300d2c5b200d0c5b000cec6ad
+00cac8a800c8c8a600c6c9a400c5c9a200c4caa100c1cb9e00c3cba000c5caa3
+00c7c9a500cbc7aa00ccc7ab00cdc7ac00cfc6af00d1c5b100d3c4b400d5c4b6
+00d9c2bb00dbc1bd00ddc1c000dec0c100dfc0c200e1bfc400e3bec700e6bdca
+00e2bfcd00dcc3d300dac4d400d8c5d600d4c7d800d1c9db00cecbde00cacde1
+00c3d1e700bfd3ea00bcd5ed00bad6ee00b8d7f000b5d9f300b2dbf500aeddf8
+00aadffb00a6e2ff00a6e1fc00a7e1fa00a9dff400aadeef00acddea00addce4
+00b0d9da00b1d8d700b2d8d500b3d7cf00b5d5ca00b6d4c500b8d3bf00b9d2ba
+00bbd0b500beceaa00becda700bfcda500c1cb9e00c3cb9f00c6cba000c8cba1
+00cdcba300cecba300cfcca400d1cca500d4cca600d6cca700d9cca800dbcca9
+00ddcdaa00e0cdab00e2cdac00e4cdad00e7cdae00e9cdaf00ecceb000e8cfb4
+00e1d1bd00dfd1bf00ddd2c100d9d3c600d5d5ca00d1d6ce00cdd7d300cad8d7
+00c6d9db00c2dae000bedbe400badce800b6ddec00b3def100afe0f500abe1f9
+00a7e2fe00a6e2ff00a7e1fa00a9dff400aadeef00acddea00addce400afdadf
+00b0d9da00b2d8d500b3d7cf00b5d5ca00b6d4c500b8d3bf00b9d2ba00bbd0b5
+00bccfaf00beceaa00bfcda500c1cb9e00c3caa000c5caa300c7c9a500c9c8a8
+00cbc7aa00cdc6ac00cfc6af00d1c5b100d3c4b400d5c3b600d7c3b800d9c2bb
+00dbc1bd00ddc0c000dfc0c200e1bfc400e3bec700e6bdca00e6bec900e6bfc7
+00e7c0c600e7c0c400e7c1c300e8c2c100e8c3c000e8c4bf00e9c5bd00e9c6bc
+00e9c7ba00eac8b900eac9b800eacab600ebcbb500ebccb300ebcdb200ecceb0
+"/>
+<palette number="97" name="multi_color_1 from ron1.ugr (classylady and ron)" data="00ff000000ad00370076005b004000800032379b00246eb7001d89c40017a4d2
+0000ffff0000ffc80000ff910000ff480000ff000037ff1b006eff370089ff44
+00a4ff5200ffff8000ffe39b00ffc8b700ffadd200ff92ed00ff89f600ff80ff
+009180e4004880d2000080c0001b64970037496e00443b5900522e44006e121b
+0080000000b7373700d2525200ed6e6e00da847700c89b8000aca9800091b780
+0000ff800037e372006ec86400a4ad5600db924900ed894400ff804000c89b32
+0091b7240024ed090012e1120000d61c0000ad37000084520000626900004080
+00375cb7005269d2006e77ed00776de1008064d6008056c1008049ad00802e84
+0080125b009b004e00b6005b00d2006900e8007400ff008000ff1c6400ff3749
+00ff6e1200e3770900c8800000918000005b8000003f80000024800000008000
+0000800e0000802900007249000064690000567d0000499200002ebb000012e4
+000000eb000000d6000000c2000000b7000000ad000000a0001c009900370092
+0052008b0080009b008000b6008000d2008000df008000ed008000ff00801cc8
+0080525b0080692d00808000008080070080800e0080801c0080802900808040
+009b806900d280bb00df80cf00ed80e400ff80ff00e49bc800c8b79100add25b
+0080ff00009bff0000b7ff0000c4ff0000d2ff0000ffff0000c8e41c0091c837
+005bad5200008080001b727200376464006e494900a42e2e00ff000000ff1c0e
+00ff522900ff693400ff804000e38d4000c89b400091b740005bd2400024ed40
+0000ff400037c8920044baa60052adbb008080ff009b64e400b749c800d22ead
+00ff008000ff0e8700ff1c8e00ff379c00ff52a900ff6eb700ff80c000c880b2
+009180a400008080000e8d8d001c9b9b0037b7b70052d2d2006eeded0080ffff
+0080c8c80080baba0080adad008092920080808000649b640049b749002ed22e
+0000ff00002ff50b005fea15008ee02000bdd62b00dccf3200d6af5500d18e78
+00c64dbf00c442ca00c238d600ce5bc600da7db700e6a0a700fad98d00eec871
+00e3b75400d7a73800cc961c00c48b0900ba9f2300b0b33d00a6c757009cdb71
+0096e8820081d66c006bc3560056b1400033931c00578a48007b8174009f779f
+00c36ecb00db68e800d258e000ca48d900c138d100b928c900b31ec400ab4bce
+00a377d8009ba4e2008deef30082e9dd0078e5c7006de0b10062dc9b005bd98d
+0078c27a0096ab6800b3955500d17e4200e46f3600df7e3b00db8d3f00d69c44
+00cfb54b00c2b84d00b4bc5000a7bf52009ac3540091c5560085c4660079c476
+006cc3860060c3960058c2a0005ab8a5005caeab005ea4b0006294b9006483c0
+006671c6006860cd006b4ed4006c43d8007848d300844cce008f51c900a359c1
+"/>
+<palette number="98" name="oranges" data="00ff000000fd0a0200fb0f0300fa140400f9190500f81e0600f7200600f72307
+00f42d0800f3320900f2370a00f13c0b00f0410c00ee460d00ed4b0e00ec4d0e
+00ec500e00ea5a1000e85f1100e7641200e6691300e56e1400e4701400e47315
+00e17d1600e0821700df871800de8c1900dd911a00dc931a00db961b00da9b1c
+00d9a01c00d89d1e00d89b1f00d89a2000d7982000d7972100d7962100d79622
+00d6922400d5912500d5902600d58e2600d58c2700d48b2700d48b2800d48a29
+00d4882a00d3852c00d2832c00d2822d00d2802e00d27f2f00d17e2f00d17e30
+00d17a3100d0793200d0783300cf763400cf743500cf733500cf733600ce7237
+00ce703700d1713400d2713200d4723000d5722f00d6722e00d7732d00d9732b
+00dc742800dd742600df752400e0752200e2762100e2762000e3771f00e5771d
+00e6781c00ea791800eb791600ed7a1500ed7a1400ee7a1300f07b1100f17b0f
+00f47c0c00f57c0a00f77d0900f87d0800f97e0700fa7e0500fc7f0300fd7f02
+00ff800000fa7e0000f77c0000f57b0000f47a0000f37a0000f0780000ee7700
+00e9750000e6730000e4720000e2710000e1710000df700000dc6e0000da6d00
+00d86c0000d36a0000d1690000d0680000ce670000cb660000c9640000c66300
+00c1610000be5f0000bc5e0000bb5d0000ba5d0000b75c0000b55a0000b25900
+00b0580000b55f0800b6600a00b7620c00ba651000bc681500bf6c1900c16f1d
+00c6762500c8792900cb7c2d00cc7d2f00ce7f3200d0833600d3863a00d5893e
+00d88c4200dc934a00dd944c00df964e00e19a5200e49d5700e6a05b00e9a35f
+00eeaa6700efab6900f0ad6b00f3b16f00f5b47400f8b77800faba7c00fdbe80
+00ffc18400ffba8000ffb87f00ffb67f00ffb27d00ffae7b00ffab7900ffa777
+00ffa07400ff9e7300ff9c7200ff987000ff946e00ff916c00ff8d6b00ff8969
+00ff866700ff826500ff7e6300ff7a6200ff776000ff735e00ff6f5c00ff6b5a
+00ff645700ff625600ff605500ff5d5300ff595100ff554f00ff514e00ff4e4c
+00ff4a4a00fe4d4b00fc4f4c00fb524c00fa544d00f8574e00f75a4f00f55c4f
+00f45f5000f3615100f1645100f0675200ee695300ed6c5400ec6e5400ea7155
+00e9745600e8765600e6795700e57b5800e47e5900e2805900e1835a00df865b
+00de885b00dd8b5c00db8d5d00da905e00d8935e00d7955f00d6986000d49a60
+00d39d6100d39e6300d49f6400d4a06600d5a16800d5a26900d6a36b00d6a46c
+00d6a56e00d7a67000d7a77100d8a87300d8a97400d9aa7600d9ab7800daac79
+00daad7b00daae7d00dbaf7e00dbb08000dcb18200dcb28300ddb38500ddb486
+00ddb58800deb68a00deb78b00dfb88d00dfb98e00e0ba9000e0bb9200e1bd95
+"/>
+<palette number="99" name="multi_color_2" data="00ff000000d3161600bd212100a72c2c00913737007c42420071474700664d4d
+003a6363001d71710000808000008b8b000096960000a1a10000acac0000b1b1
+0000b7b70000cccc0000d7d70000e2e20000eded0000f8f80000fbfb0000ffff
+002cf0ff0042e8ff0058e0ff006dd8ff0083d1ff008ecdff0099c9ff00afc2ff
+00c5baff00ffa6ff00e9a2ff00d39fff00bd9cff00a799ff009c97ff009196ff
+00668fff00508cff003a89ff002485ff000e82ff000781ff000080ff000b80ff
+001680ff002c80ff003780ff004280ff004d80ff005880ff005d80ff006380ff
+007980ff007785f400758be9006a96d3005fa1bd0059a6b20054aca70049b791
+003ec17c0028d750001de23a0012ed240009f6120000ff000016e900002cd300
+0058a700006d910000837c000099660000af500000ba450000c53a0000db2400
+00f10e0000e90b0000d3160000bd210000b2260000a72c0000913700007c4200
+00505800003a630000246e0000197300000e790000008000000a750000146a00
+001e5f0000324900003c3e0000463300004b2d0000502800005a1d0000651200
+00810000008c000000980000009e000000a4000000af000000bb000000c70000
+00d2000000ea000000f0000000f6000000fd000000f2160b00e82c1600dd4221
+00c76e3700bc834200b2994d00aca45200a7af58009cc5630092db6e0087f179
+0080ff800080e9960080e39b0080dea10080d3ac0080c8b70080bec10080b3cc
+00809de200808ef0008080ff007a80f4007580e9006a80d3005f80bd005480a7
+0049809100338066002d805b00288050001d803a001280240007800e00008000
+002c841a003784200042852600588733006e894000838b4d00998d5a00af8e66
+00c5907300ff959500ff939300ff929200ff909000ff8d8d00ff8b8b00ff8888
+00ff838300ff818100ff808000ff7e7e00ff7b7b00ff797900ff777700ff7783
+00ff768e00ff769a00ff75a600ff75b100ff74bd00ff74c900ff73d400ff73e0
+00ff72f800ff71fb00ff71ff00ff6bed00ff65db00ff5fc900ff5ab700ff54a5
+00ff4e9300ff488100ff426f00ff3c5d00ff374b00ff2d2d00fa293a00f62548
+00f1215500ed1e6300e81a7000e4167e00df128b00db0e9900d60aa600d106b4
+00cd02c100ca00ca00cc00b900ce00a700cf009600d1008500d3007300d50062
+00d7005000d8003f00da002e00dc001c00de000b00df000000d90c0600d4180c
+00ce241300c82f1900c33b1f00bd472500b7532b00b25f3200ac6b3800a6773e
+009d8a48009d7e42009e723c009e6635009f5b2f00a04f2900a0432300a1371d
+00a12b1600a21f1000a3130a00a3080400a4000000a00000009c000000980000
+0094000000900000008c0000008800000084000000800000007c000000750000
+"/>
+<palette number="100" name="rw-yellow-orange" data="00ff800000ff860000ff890000ff8c0000ff8f0000ff920000ff930000ff9500
+00ff9b0000ff9e0000ffa10000ffa40000ffa70000ffaa0000ffad0000ffae00
+00ffb00000ffb60000ffb90000ffbc0000ffbe0000ffc10000ffc20000ffc400
+00ffca0000ffcd0000ffd00000ffd30000ffd60000ffd70000ffd90000ffdc00
+00ffdf0000ffe50000ffe80000ffeb0000ffee0000fff10000fff20000fff400
+00fffa0000fffb0100fffc0200fff90300fff60400fff40500fff30600fff008
+00ffed0900ffe70c00ffe40d00ffe10f00ffde1000ffdb1200ffd91300ffd814
+00ffd21600ffcf1800ffcc1a00ffc91b00ffc61c00ffc41d00ffc31e00ffc020
+00ffbe2100ffb82400ffb52500ffb22700ffb02700ffaf2800ffac2a00ffa92c
+00ffa32e00ffa03000ff9d3200ff9a3300ff973400ff953500ff943600ff9138
+00ff8e3900ff883c00ff853d00ff823f00ff813f00ff804000ff834200ff8643
+00ff8c4600ff8f4700ff924900ff934900ff954a00ff984c00ff9b4e00ff9e4f
+00ffa15000ffa75400ffaa5500ffad5600ffae5700ffb05800ffb35a00ffb65b
+00ffbc5e00ffbe5f00ffc16100ffc26100ffc46200ffc76400ffca6600ffcd67
+00ffd06800ffd66c00ffd76c00ffd96d00ffdc6e00ffdf7000ffe27200ffe573
+00ffeb7600ffee7700fff17900fff27900fff47a00fff77c00fffa7e00fffd7f
+00ffff8000fffb7e00fffa7d00fff97d00fff77c00fff57b00fff37a00fff179
+00ffed7700ffeb7500ffe97400ffe87300ffe77300ffe57200ffe37100ffe170
+00ffdf6f00ffdb6d00ffda6c00ffd96c00ffd76b00ffd56a00ffd36900ffd168
+00ffcd6600ffcc6500ffcb6500ffc96400ffc76200ffc56100ffc36000ffc15f
+00ffbe5e00ffba5c00ffb95b00ffb85b00ffb65a00ffb45900ffb25800ffb057
+00ffac5500ffaa5400ffa95300feaa5100fdab4f00fcab4d00faac4b00f9ad49
+00f8ae4700f7af4500f6b04300f5b14100f4b14000f2b23e00f1b33c00f0b43a
+00eeb63600edb63500edb73400ebb83200eab83000e9b92e00e8ba2c00e7bb2a
+00e6bc2800e5bd2600e3be2400e2be2200e1bf2000e0c01e00dfc11d00dec21b
+00ddc31900dbc41700dac51500d9c51300d8c61100d7c70f00d6c80d00d5c90b
+00d3ca0900d2cb0700d1cb0500d0cc0300cfcd0100cece0000cecb0000cec700
+00cec40000cec10000cdbd0000cdba0000cdb70000cdb30000cdb00000cdad00
+00cca90000cca60000cca30000cc9f0000cc9c0000cb990000cb950000cb9200
+00cb8f0000cb8b0000ca880000ca850000ca810000ca7e0000ca7b0000ca7700
+00c9740000c9710000c96d0000c96a0000c9670000c8640000c8600000c85d00
+00c85a0000c8560000c7530000c7500000c74c0000c7490000c7460000c64000
+"/>
+<palette number="101" name="rw-multi-color-2" data="008040400099343400a52d2d00b2272700be202000ca1a1a00d0171700d71414
+00f0080800f70a0400ff0c0000ff190000ff260000ff320000ff3e0000ff4400
+00ff4b0000ff640000ff720000ff800000f27a0000e6740000e0700000da6d00
+00c1610000b45a0000a85400009b4e00008f4800008744000080400000744600
+00674c00004e590000415f000035660000286c00001c72000016750000107800
+0000800c0000801900008026000080320000803e000080440000804b00008058
+000080640000807d0000868400008c8c000098980000a5a50000abab0000b2b2
+0000caca0000d6d60000e3e30000f1f10000ffff0006fff9000cfff30019ffe6
+0026ffda003effc1004bffb40058ffa8005effa20064ff9c0070ff8f0080ff80
+0067ff99005affa5004effb20041ffbe0035ffca002effd00028ffd7001cffe3
+0010fff00000f3ff0000e6ff0000daff0000d3ff0000cdff0000c1ff0000b5ff
+00009cff00008fff000083ff000081ff000080ff000c80ff001980ff002680ff
+003280ff004b80ff005780ff006480ff006a80ff007080ff008080ff008074ec
+00805ac700804eb4008042a200803b980080358f0080287c00801c6a00801057
+0080004000991959009f1f5f00a5266600b2327200be3e7e00ca4b8b00d75898
+00f070b000f772b500ff74ba00ff6db700ff67b400ff5aad00ff4ea700ff42a1
+00ff359a00ff1c8e00ff168b00ff108800ff038200ff008000f3008c00e60099
+00cd00b200c100be00b500ca00ae00d000a800d7009c00e3008f00f0008000ff
+00740cec005a26c700542cbd004e32b400423ea200354b8f0028587c001c646a
+00008040000c80400019804000328040004b804000648040007d804000958040
+00ae804000e0804000ef804000ff804000f3743a00e6673400da5a2d00cd4e27
+00b5351a00ae2e1700a82814009c1c0e008f10080083030200800000008c1919
+0099323200a54b4b00b2646400be7d7d00ca959500d7aeae00e3c7c700f0e0e0
+00fafafa00f7f7f700f5f5f500f1f1f100ececec00e7e7e700e2e2e200dedede
+00d9d9d900d4d4d400cecece00babad300a6a6d8009292dc007e7ee1006969e6
+005555eb004141ef002d2df4001919f9000000ff000c06e600190ccd002613b4
+0032199b003e1f82004b266a00582c51006432380070381f007d3e0600804000
+0074460c00674c19005a5326004e593200425f3e0035664b00286c58001c7264
+0010787000008080000080860000808c00008093000080990000809f000080a6
+000080ac000080b2000080b8000080c000198cad0032999a004ba5880064b275
+007dbe620095ca5000aed73d00c7e32a00e0f01700ffff0000fff30c00ffe619
+00ffda2600ffcd3200ffc13e00ffb54b00ffa85800ff9c6400ff8f7000ff8080
+"/>
+<palette number="102" name="rw-blue-with-red" data="000000ff000000f3000000ed000000e7000000e1000000db000000d8000000d5
+000000ca000000c4000000be000000b8000000b2000000ac000000a6000000a3
+000000a0001000ac001800b2002000b8002800be003000c4003400c7003800ca
+004800d5005000db005800e1006000e7006800ed006c00f0007000f3007800f9
+008000ff008010ff008018ff008020ff008028ff008030ff008034ff008038ff
+008048ff008050ff008058ff008060ff008068ff00806cff008070ff008078ff
+008080ff007080f7006880f3006080ef005880eb005080e7004c80e5004880e3
+003880dc003080d8002880d4002080d0001880cc001480ca001080c8000880c4
+000080c0000080c8000080cc000080d0000080d2000080d4000080d8000080dc
+000080e3000080e7000080eb000080ef000080f3000080f5000080f7000080fb
+000080ff001080f7001880f3002080ef002480ed002880eb003080e7003880e3
+004880dc005080d8005880d4005c80d2006080d0006880cc007080c8007880c4
+008080c0009080c0009880c000a080c000a480c000a880c000b080c000b880c0
+00c780c000cf80c000d780c000db80c000df80c000e780c000ef80c000f780c0
+00ff80c000ff80c800ff80ca00ff80cc00ff80d000ff80d400ff80d800ff80dc
+00ff80e300ff80e700ff80eb00ff80ed00ff80ef00ff80f300ff80f700ff80fb
+00ff80ff00ff70ff00ff6cff00ff68ff00ff60ff00ff58ff00ff50ff00ff48ff
+00ff38ff00ff30ff00ff28ff00ff24ff00ff20ff00ff18ff00ff10ff00ff08ff
+00ff00ff00ff00ef00ff00eb00ff00e700ff00df00ff00d700ff00cf00ff00c7
+00ff00b800ff00b400ff00b000ff00a800ff00a000ff009800ff009000ff0088
+00ff008000df109000d7149400cf189800bf20a000af28a8009f30b0008f38b8
+007048c700684ccb006050cf005058d7004060df003068e7002070ef001078f7
+000080ff000080fb000080f7000080f3000080ef000080eb000080e7000080e3
+000080dc000080da000080d8000080d4000080d0000080cc000080c8000080c4
+000080c0000880c4001080c8001880cc002080d0002880d4003080d8003880dc
+004080e0004880e3005080e7005880eb006080ef006880f3007080f7007880fb
+008080ff007878ff007070ff006868ff006060ff005858ff005050ff004848ff
+004040ff003838ff003030ff002828ff002020ff001818ff001010ff000808ff
+000000ff000000f9000000f3000000ed000000e7000000e1000000db000000d5
+000000d0000000ca000000c4000000be000000b8000000b2000000ac000000a6
+000000a0000800a6001000ac001800b2002000b8002800be003000c4003800ca
+004000d0004800d5005000db005800e1006000e7006800ed007000f3008000ff
+"/>
+<palette number="103" name="rw-blue-with-red-2" data="000080ff001277ed001b72e400246edb002d69d2003665c9003a62c4003f60c0
+005158ae005a53a500634e9c006c4a930075468a007d418100863c79008a3a74
+008f387000a12f5e00aa2a5500b3264c00bc214300c51d3a00c91a3500ce1831
+00e0101f00e90b1600f2060d00f6050b00fb040900f8060d00f6091200f20e1b
+00ed122400e41b3600df1f3f00db244800d6285100d22d5a00d02f5e00ce3263
+00c53a7500c03f7d00bc448600b7488f00b34c9800b14e9c00af51a100aa56aa
+00a65ab3009d63c5009867ce00946cd7008f70e0008b75e9008877ed00867af2
+008480fb008880f6008d80f2009180ed009680e9009880e6009b80e4009f80e0
+00a480db00ad80d200b180cd00b680c900b880c700ba80c500bf80c000c380bc
+00cc80b300d080ae00d580aa00d980a500de80a100e0809f00e2809d00e78098
+00eb809400f4808b00f8808600fd808200fe808100ff808000ff808400ff8089
+00ff809200ff809600ff809b00ff809d00ff809f00ff80a400ff80a800ff80ad
+00ff80b100ff80ba00ff80be00ff80c300ff80c500ff80c700ff80cc00ff80d0
+00ff80d900ff80dd00ff80e200ff80e400ff80e700ff80eb00ff80f000ff80f4
+00ff80f900f67cff00f179ff00ed77ff00e472ff00db6eff00d26aff00c965ff
+00b75cff00ae57ff00a553ff00a050ff009c4eff00934aff008a46ff008141ff
+00793cff006734ff006231ff005e2fff00552aff004c26ff004322ff003a1dff
+002814ff001f0fff00160bff001108ff000d06ff000402ff000000ff000900fb
+001200f6002400ed002800eb002d00e9003600e4003f00e0004800db005100d7
+006300ce006700cb006c00c9007500c5007e00c0008600bc008f00b8009800b3
+00a100af00b300a600b700a300bc00a100c5009d00ce009800d7009400e0008f
+00f2008600f8008300ff008000f6048400ed098900e40e8d00db129200d21696
+00c91b9b00c0209f00b724a400ae28a800a52dad009c32b1009336b6008a3aba
+007944c3007446c5007048c700674ccc005e51d0005556d5004c5ad900435ede
+003a63e2003168e700286ceb001f70f0001675f4000d7af900047efd000080ff
+000981fb001282f8001b83f4002484f1002d85ed003686ea003f87e6004888e3
+005189df005a8adc00638bd8006c8cd500758dd1007e8ece00868fca008f90c7
+009890c300a191c000aa92bc00b393b900bc94b500c595b200ce96ae00d797ab
+00e098a700e999a400f29aa000ff9b9b00fc9b9f00f89ba200f59ba600f29ba9
+00ee9bad00eb9bb000e79cb400e49cb700e19cbb00dd9cbe00da9cc200d69cc5
+00d39cc900d09dcc00cc9dd000c99dd300c69dd700c29dda00bf9dde00bc9de1
+00b89ee500b59ee800b19eec00ae9eef00ab9ef300a79ef600a49efa009f9fff
+"/>
+<palette number="104" name="rw-blues-3" data="000000ff000909ff000d0dff001212ff001616ff001b1bff001d1dff002020ff
+002828ff002d2dff003232ff003636ff003a3aff003f3fff004444ff004646ff
+004848ff005151ff005555ff005a5aff005e5eff006363ff006565ff006868ff
+007070ff007575ff007a7aff007b7bfd007c7cfc007979fa007777f8007272f5
+006e6ef2006565eb006060e7005c5ce4005757e1005353de005050dc004e4eda
+004646d4004141d0003c3ccd003838c9003434c6003131c4002f2fc3002a2ac0
+002626bc001d1db6001818b2001414af000f0fab000b0ba8000808a6000606a5
+000009a3000012a600001baa000024ad00002db1000031b2000036b400003fb7
+000048bb00005ac1000063c400006cc8000070c9000075cb00007ecf000086d2
+000098d90000a1dc0000aadf0000b3e20000bce60000c0e70000c5e90000ceed
+0000d7f00000e9f70000f2fa0000fbfe0000fdfe0000ffff0000f8fb0000f2f6
+0000e4ed0000dde80000d7e40000d3e20000d0e00000c9db0000c3d70000bcd2
+0000b5ce0000a8c50000a1c000009abc000097ba000094b800008db3000086af
+000079a6000072a100006b9d0000689a0000659800005e940000578f0000508b
+00004a86000042820000438300004484000047870000498900004b8b00004e8e
+000052920000549400005696000057970000599900005b9b00005d9d000060a0
+000062a2000066a6000067a7000068a800006bab00006dad00006faf000072b2
+000076b6000078b800007aba00007bbb00007dbd00007fbf000080c0000080c2
+000080c4000080c9000080ca000080cb000080cd000080d0000080d2000080d4
+000080d8000080d9000080db000080dd000080df000080e1000080e3000080e6
+000080e8000080ec000080ed000080ef000080f1000080f3000080f5000080f7
+000080fc000080fd000080ff000484ff000989ff000e8dff001292ff001696ff
+001b9bff00209fff0024a4ff0028a8ff002dadff0032b1ff0036b6ff003abaff
+0044c3ff0046c5ff0048c7ff004cccff0051d0ff0056d5ff005ad9ff005edeff
+0063e2ff0068e7ff006cebff0070f0ff0075f4ff007af9ff007efdff0080ffff
+0080f6ff0080edff0080e4ff0080dbff0080d2ff0080c9ff0080c0ff0080b7ff
+0080aeff0080a5ff00809cff008093ff00808aff008081ff008079ff008070ff
+008067ff00805eff008055ff00804cff008043ff00803aff008031ff008028ff
+00801fff008016ff00800dff008000ff008004fd008009fb00800ef8008012f6
+008016f400801bf2008020ef008024ed008028eb00802de9008032e7008036e4
+00803ae200803fe0008044de008048dc00804cd9008051d7008056d500805ad3
+00805ed0008063ce008068cc00806cca008070c8008075c500807ac3008080c0
+"/>
+<palette number="105" name="rw-reds-pinks-blues" data="00ff000000ff003700ff005b00ff008000ff1b8e00ff379c00ff44a200ff52a9
+00ff80c000ff80b200ff80a400ff809200ff808000ff808e00ff809c00ff80a2
+00ff80a900ff80c000c89b970091b76e005ad2440024ed1b0012f60d0000ff00
+006ec86e00b6a4b600ff80ff00fe86e500fd8ccb00fc8fbd00fc92b000fb9896
+00fa9c8500fc594c00fd372f00fe161300fe192500ff1c3700ff295200ff376e
+00ff80ff00ff80e300ff80c800ff80ad00ff809200ff808900ff808000ff6480
+00ff498000ff128000ff177900ff1c7200ff376400ff525700ff694b00ff8040
+00ff495c00ff2d6900ff127700e3098900c8009b00ac00a9009100b7005b00d2
+002400ed00371ce4006d37c800a452ad00d1699600ff808000ff648000ff4980
+00ff128000ff097200ff006400ff004900ff002e00ff002000ff001200ff0000
+00ff1c0e00ff522900ff693b00ff804e00ff805500ff805c00ff806900ff8077
+00ff809b00ff80b600ff80d200ff80df00ff80ed00ff80ff00ff9be400ffb7c8
+00ffd2ad00ffc86400ff914900ff5b2e00ff3f2000ff241200ff000000ff1c37
+00ff52a400ff69d100ff80ff00ff80f100ff80e400ff80c800ff80ad00ff8080
+00ff648000ff2e8000ff208000ff128000ff008000ff1c7200ff376400ff5257
+00ff804000ff806900ff809200ff80a600ff80bb00ff80ff00c89bff0091b7ff
+005bd2ff0000ffff001bf1f10037e4e4006ec8c800a4adad00ff808000ff809b
+00ff80d200ff80e800ff80ff00ff72f100ff64e400ff49c800ff2ead00ff1292
+00ff008000ff379c00ff44a200ff52a900ff80c000ff80b200ff80a400ff8097
+00ff808000ff807900ff807200ff806400ff805700ff804900ff804000d77468
+00ae6891004347fc00574de8006b53d400945fab00bc6c8300e5785a00ff8040
+00ff809200ff80a600ff80bb00ff80e400ff80ff00ff64e400ff49c800ff2ead
+00ff008000ff1c8000ff378000ff528000ff6e8000ff808000ff809b00ff80b7
+00ff80ed00ff80f600ff80ff00ff80f100ff80e400ff80d600ff80c000ea9bb5
+00d4b6aa00bfd19f00a9ec94009bfe8d00b0c76f00c6915000db5a3200f12414
+00ff000000ff001c00ff003700ff005200ff008000ff1c8000ff378000ff5280
+00ff6e8000ff808000ff809b00ff80b700ff80d200ff80ed00ff80ff00ff64e4
+00ff49c800ff2ead00ff008000ff1c6400ff374900ff522e00ff6e1200ff8000
+00e4720000c8640000ad57000092490000804000009b4e1c00b75c3700d26952
+00ff808000ff648000ff498000ff2e8000ff128000ff008000ff1c8e00ff379c
+00ff52a900ff6eb700ff80c000ff80b200ff80a400ff809700ff808000ff6464
+00ff494900ff2e2e00ff121200ff000000ff1c3700ff376e00ff52a400ff80ff
+"/>
+<palette number="106" name="rw-browns-greens-reds-bule" data="0080ff000049c81c0024a42e0000804000378d5b006e9b770089a28400a4a992
+00ffbfbf00ff999900ff737300ff414100ff0f0f00ff272700ff404000ff4c4c
+00ff585800ff808000c8807200918064005a8056002480490012804400008040
+006e807700b6809b00ff80c000ff65b200ff4ba500ff3d9e00ff309800ff158b
+00ff048200c8026600ad015700920149007b1c44006437400056524000496e40
+0000ff400020c8420040914400605a4600802449008a12490095004a0093153b
+00922a2d008f5410009a5e2500a6683b00be6e7000d775a600eb7ad200ff80ff
+00d0759300b8705c00a16b2600986316008f5b06008d5507008c4f090088430d
+0085371000803815007d4017007b491a0078501c0076571f008d6e3500a3844b
+00d0b17800dba47000e6976900ed6d4c00f4443000f72f2100fa1b1300ff0000
+00ff1c0000ff520000f65b0000ed640000e3560000da490000c82e0000b61200
+00bc050500ce0a0a00e10f0f00ea111100f3141400ff171700f9301d00f34923
+00ee622800e6944100e89c5000eaa55f00eba96600ecad6e00edb37800dc9f63
+00b9783800aa6826009c5814009d501a009e482100a0372e00a2273b00a50c51
+00b7296800da629700e270a300eb7eaf00f791be00ef7fba00e76cb700df5ab3
+00d23cad00c23cb400b33cbc00ab3cc000a43cc4008b3dd1009d46af00ae508c
+00c0596a00dd693100d4634300cb5d5600ba517b00a844a1008b30de009d30cd
+00c030ab00ce309d00dd318f00e0349400e3389900e93fa300ee46ad00f44db7
+00f852bd00fb668700fc6b7900fd706c00ff804000ff8e5500ff9c6b00ffaa80
+00ffc1a400f8b39200f2a58100e68a5e00d96e3a00cc521700c4400000cb520f
+00d3651d00e6954400e8924a00eb905100f18c5e00f6876b00fb837800ff8080
+0091b7b70076c4c4005bd2d20024eded0000ffff0037ffe4006effc800a4ffad
+00ffff8000e4ff9200c9ffa500aefeb70094fec90082fdd50097e3de00acc8e6
+00d693f700dd8afa00e482fd00cf9de800b9b7d400a4d2bf0081fe9d009cf097
+00b7e29100d2d38b00ecc58500febc8100faca8100f6d88100f2e78100eef581
+00ebfe8100d4fe8500bdfe8900a7fe8d0081fe940081fea70081feb90081fecc
+0081fedf0081feeb009bf4d500b6ebbe00d0e1a800ebd79200fcd18300e3da84
+00c9e28600b0eb870086f9890091f37e009ded7300a8e76700b4e15c00bbdd55
+00a5d472008fca900079c1ad0062b7cb0054b1de005da6e500679cec007091f3
+008080ff007995d30072aaa8006bbf7c0064d4510060e2340077d936008fd039
+00a6c73b00bebe3d00cdb83f00d5b64b00deb35800e6b16400f4ad7900c0bf6d
+008bd0610057e2540022f3480000ff400000ff690000ff920000ffbb0000ffff
+"/>
+<palette number="107" name="rw-browns-pinks-reds-blues" data="0080000000930000009c000000a6000000af000000b9000000bd000000c20000
+00d4171700da2e2e00e0454500e65c5c00ec747400f28b8b00f8a2a200fbb0b0
+00ffbfbf00ff949400ff7f7f00ff6a6a00ff545400ff3f3f00ff343400ff2a2a
+00ff1d1d00ff2a2a00ff383800ff454500ff535300ff5a5a00ff616100ff6f6f
+00ff7c7c00ff808f00ff809e00ff80ae00ff80bd00ff80cd00ff80d400ff80dc
+00ff80ff00ff80f700ff80f000ff80e800ff80e000ff80dc00ff80d900ff80d1
+00ff80ca00ff71b800ff62b000ff53a900ff44a100ff359a00ff2d9600ff2693
+00ff048200ef037a00e0037200d0026a00c1026200b9025e00b2025a00a30252
+0093014a00800040008f1251009f256200a62e6a00ae377200be498300cd5b94
+00ec80b600ef82b800f285bb00e572ab00d8609c00d2579400cc4e8d00bf3c7d
+00b2296d0095004a00940c420093183a00931e350093243100922f2900913b21
+008f5310008e570b008d5c07008c5908008c5709008a510a00894b0b0088460d
+0087400e00843411008536100086390f00863c0e0087400e0089460c008b4c0a
+008e590700906005009267030091630400906005008e5907008d5308008b4c0a
+0089450c008538100084331100832f120081341400803915007e3e17007d4218
+007a4c1b0078511d0076571f007c5d250083642b008f7038009c7d4400a98a51
+00b6975d00cfb07600d5b67c00dcbd8300dfc08600e3a97600e7926600eb7a55
+00f24c3500f6342400fa1d1400fc0e0a00ff000000ff151500ff2b2b00ff4040
+00ff555500ff808000ff8a8a00ff959500ffb0b000f59b9b00ea858500e07070
+00cc454500c63a3a00c1303000b71b1b00aa000000b4030300bf060600c90808
+00d30b0b00e8111100ed121200f2131300fc161600ff171700fc251a00f8331e
+00f24f2400f0562500ef5d2700eb6b2b00e8792e00e48b3200e5903a00e69543
+00e79a4b00e89e5400e9a35c00eba86500ecad6d00edb37800e3a86c00d99d60
+00c6874800c1814100bc7c3b00b2712f00a86623009c5814009d4f1b009e4623
+009f3c2a00a0333200a12a3900a3214000a4184800a50e4f00a50c5100af1c5e
+00b92c6b00c33c7900cd4c8600d75d9300e16da000eb7dad00f791be00f387bc
+00ee7cba00ea72b800e568b600e15eb400dc53b200d849b000d23cad00c93cb1
+00c13cb600b83cba00b03cbe00a73cc3009e3cc700963ccc008b3dd1009542be
+009f48aa00a94d9700b3528400bd587000c75d5d00d1624900da683600dd6931
+00d3624600c95b5b00bf547000b54d8500ab469a00a140af009739c4008b30de
+009530d4009f30cb00a930c100b330b800bd30ae00c730a500d1309b00dd318f
+00e0359500e4399a00e73da000ea41a500ed45ab00f149b000f44db600f852bd
+"/>
+<palette number="108" name="rw-reds-greens-blues-pinks-yellows-browns" data="00ff000000d7280a00c33c0f00af5014009b64190087781e007d812000748b23
+004cb32d0038c7320024db370012e8400000f54a0000eb540000e15e0000dc63
+0000d7680000c37c0000b9860000b0900000a69a00009ca4000097a9000092ae
+000080c0001480c5002880ca003c80cf005080d4005a80d6006480d9007880de
+008b80e200b380ec00c780f100db80f600ed80fa00ff80ff00f580ff00eb80ff
+00c380ff00af80ff009b80ff008780ff007480ff006a80ff006080ff004c80ff
+003880ff001080ff000885f500008aeb000094d700009ec30000a3b90000a8af
+0000bc870000c5730000cf600000d94c0000e3380000e82e0000ed240000f710
+0000ff000028ff14003cff1e0050ff28005aff2d0064ff320078ff3c008bff46
+00b3ff5a00c7ff6400dbff6e00edfa7700fff58000fff08000ffeb8000ffe180
+00ffd78000ffc38000ffb98000ffb08000ffab8000ffa68000ff9c8000ff9280
+00ff808000eb807b00d7807600cd807300c3807100af806c009b806700878062
+0074805d004c80530038804e00248049001a80460010804400008040000a7b3b
+001e713100286c2c0032672700376424003c622200465d1d00505818005a5313
+00644e0e00784404007c4202008040000080450f00804a1e00804f2d0080543c
+00805e5a008063690080687800806a7f00806d8700807296008077a500807cb9
+008080c000946ca20099679a009e629300a8588400b24e7500bc446600c53a57
+00d9263900e31c2a00ed121b00f6090d00ff000000ff0a0000ff140000ff1e00
+00ff280000ff3c0000ff410000ff460000ff500000ff5a0000ff640000ff6e00
+00ff800000fa800a00f5801400eb802800e1803c00d7805000cd806400c38078
+00ba808b00a680b300a180bd009c80c7009280db008880ef008080ff008989f6
+009a9be4009e9fdf00a3a4da00abadd100b4b6c800bdbfbf00c5c8b600ced2ad
+00d7dba400dfe49a00e8ed9100eff48a00f0eb7f00f2e27400f3d96a00f4d05f
+00f6be4900f7b94400f8b53f00f9ac3400faa22900fc991e00fd901300fe8709
+00ff800000eb8a0500d7940a00c39e0f00afa814009bb2190087bc1e0074c523
+0060cf28004cd92d0038e3320024ed370000ff400014ff450028ff4a003cff4f
+0050ff540064ff590078ff5e008bff63009fff6800b3ff6d00c7ff7200dbff77
+00efff7c00ffff8000fff57b00ffeb7600ffe17100ffd76c00ffcd6700ffc362
+00ffba5d00ffb05800ffa65300ff9c4e00ff924900ff884400ff804000ff804a
+00ff805400ff805e00ff806800ff807200ff807c00ff808600ff809000ff809a
+00ff80a400ff80ae00ff80b800ff80c000ff76bb00ff6cb600ff62b100ff58ac
+00ff4ea700ff44a200ff3a9d00ff309800ff269300ff1c8e00ff128900ff0080
+"/>
+<palette number="109" name="rw-greens-light-to-dark" data="0000ff000000ed120000e41b0000db240000d22d0000c9360000c43a0000c03f
+0000af510000a65a00009d630000946c00008b7500048a7600098977000d8d72
+0012926e0024a45c002dad530036b64a003fbe410048c738004ccb330051d02f
+0063e21d006ceb140075f40b0076f5070077f6040072f106006eed090065e40e
+005cdb12004ac91b0041c01f0038b824002faf280026a62d0021a12f001d9d32
+000b8b3a000a8a3f0009894400129249001b9b4e001f9f500024a452002dad56
+0036b65b0048c7640051d068005ad96d0063e271006ceb760070ef780075f47a
+0077f877006ef16e0065ea65005ce35c0053dd53004ed94e004ad64a0041cf41
+0038c8380026ba26001db31d0014ac14000fa80f000ba50b00029f0200009d00
+0013a705001dac070027b20a0030b70c003abc0e003ebe0f0043c111004dc613
+0057cb16006ad51a0073da1c007de01f0083e3200089e6220089e325008ae028
+008ada2d008ad730008bd533008bd334008cd236008ccf38008dcc3b008dc93e
+008dc641008ec147008bc0470088c0470084c1460081c245007ac5420073c740
+0065cc3b005ece380057d1360053d2340050d4330049d6310042d92e003bdb2c
+0034de29002ddf2c002edd2f002fdc320031da380033d83e0035d5450037d34b
+003bce57003dcc5d003fca630040c8660041c7690043c56f0045c3760047c17c
+0047c07d0050c5710052c66e0055c76b0059c965005ecc5e0062ce580067d052
+0070d5460074d7400079da3a007bdb37007edc340082de2d0088e1260082e324
+007ce5230070e81f006ce91e0069ea1e0063ec1c005ded1a0057ef180051f117
+0045f4130042f512003ff6120038f8100031fa0e0034f5170037ef20003aea29
+003de4320042da440043d7480045d44d0048cf56004bc95f004ec4680051be71
+0056b4830058b088005aad8e0054aa89004da7830047a47e0041a078003a9d73
+00349a6d002e9768002794620021915d001b8d5700148a52000e874c00088447
+0000884400008c46000090480000984c0000a1500000a9540000b1580000b95d
+0000c1610000c9650000d2690000da6d0000e2710000ea750000f2790000f47a
+0008f57e000ff6820017f787001ef78b0026f88f002ef9930035fa98003dfa9c
+0044fba0004cfca40054fda8005bfdad0063feb1006cffb6006cf9b1006cf3ac
+006ceda7006ce7a2006ce19d006cdb98006cd593006ccf8e006cc989006cc384
+006cbc7f006cb67a006cb075006da96f0072ae6a0077b266007bb7610080bb5c
+0085c058008ac453008ec94f0093ce4a0098d245009dd74100a2db3c00a6e037
+00abe43300b1ea2d00a5eb2a0098ed27008cee24007ff0200073f11d0066f31a
+005af417004df6140041f7110035f90d0028fa0a001cfc07000ffd040000ff00
+"/>
+<palette number="110" name="rw-blues-reds-purples" data="000080ff002090ff00359aff004aa5ff0059acff0069b4ff0071b8ff0079bcff
+0093c9ff009dceff00a7d3ff00b4d9ff00c1e0ff0097cbf1006eb7e40059acdd
+0045a2d6000080c0002794cd004fa8db0077bbe8009fcff600acd5fa00b9dcff
+00a5d2ff0097cbff008ac5ff0081c0ff0079bcff0074b9ff0070b7ff0068b3ff
+0062b0ff0053a9ff004ca5ff0045a1ff003f9eff003a9cff00379aff003499ff
+002492ff001c8eff00158aff000d86ff000583ff000281ff000080ff00007bf5
+000076ec00006cd8000068d1000065ca000061c200005dbb00005ab4000057ae
+001874d1002382e2002f91f400399af70044a3fb004ba7f90052acf7005fb4f3
+006cbdef0061b4e1004da6d6003a99cc002a8ec3001a83bb001e8ebd002398be
+002badc10032b3c4003abac70045bfcc0051c5d10057c7d4005dcad70065ceda
+0057c2cd003ca9b4003ea7b10040a5af004dadb7005ab5bf0075c6cf008fd6df
+0086d2db006bc3cd0051b4bf0044acb80037a5b100269ba80045a4b40064adc0
+0083b6cc009fb3d60087a0cb00708ec1006484bc00597bb7004a6fb0005578b5
+006a8ac0007391c4007c99c9007693c400708ec0006383b7005777ae0042659f
+00617fb0009fb2d100aebed900becbe100d2dcec00b1c8d60090b4c0006f9faa
+00397e8600529198006ba5ab0077aeb40084b8bd00add8dc0096c8cd007eb8bd
+0067a8ae00408e950051989f0062a3a90085b8bd00a7cdd000e0f0f100b9d0d1
+006b9092004b7578002b5b5e00346669003e72750051888b00649fa20077b5b8
+0083c4c700729cd7006e92db006a88df005c67ed006771ee00717bef007c85f0
+008e96f2008189eb00747de5005a64d800404bcb002631be001521b5003338bd
+00524fc400a28cd9009f88d8009c85d700977fd5009178d3008c71d000886dcf
+007155ba006b4eb4006548af005a3ca50052349e006f55af008c77c100a898d2
+00d8cfef00d5c8e900d2c1e300cebadc00cbb3d600c9aed200ba9ac500ab86b7
+008e5f9d00895898008452940092697b00a1806200af984900c7be1f00abaf3b
+008ea158007292740056849000437aa3005789ae006b98ba007fa7c50093b6d1
+00a0c0d800b497aa00c96e7b00dd444d00ff000000e9063100d30c6200bd1292
+00a718c300991ce300a93fe800b962ec00c986f100d9a9f500e3c0f800d39cf3
+00c379ef00b355ea00981ae3009b27d2009e35c000a042af00a34f9d00a55892
+00b26fa100be87b100cb9ec000d8b6d000e0c5da00d4cce200c8d3e900bcdaf1
+00a8e6fd0085d4f10062c1e5003eafda001b9dce000491c6000b95bc00129ab2
+00199ea80020a29e0025a598001fab8d0019b1820013b7770009c165000aad78
+000a998b000b869e000c72b1000d65bd00416bbe007571be00a976bf00ff80c0
+"/>
+<palette number="111" name="rw-multi-5" data="0000ff800000c8800000a48000008080001b9b9b0037b7b70044c4c40052d2d2
+0080ffff0064d6e30049adc8002476a40000408000374e8e006e5c9c008962a2
+00a469a900ff80c000e380c000c880c000ad80c0009280c0008980c0008080c0
+00b780db00db80ed00ff80ff00ff64e300ff49c800ff3bba00ff2ead00ff1292
+00ff008000c81c6400ad2956009237490089503d0080693200807d2b00809224
+0080ff000064e30e0049c81c002dad29001292370009893b0000804000006469
+00004992000012e4000e10d6001c0ec800371b910052295b0069342d00804000
+00805c6e008069a4008077db008d89ed009b9bff00a9a9ff00b7b7ff00d2d2ff
+00ededff00fbeed200f7dca500f3cb7900efbc5400ecae2f00deae3300d0ae37
+00b3ae3e00a5b24f0097b7600083be7f0070c69f0066caae005dcebe0050d3d3
+0069bace009c88c500af82b300c27ca200c08a9400be998600bab76a00b7d54e
+00baea4c00c0eb5c00c6ed6c00c9ee7400ccef7c00d0f08600a3d8850077c083
+004aa88200378282006d838300a4858500bf868600db878700ff888800e29885
+00a9b77e0091c47b007ad178007ace81007acb8b007ac59d007abeb0007ab4cf
+008ab2bf00aaaea000b2ad9800baac9000c4ab8600acac9e0093aeb7007bafcf
+0052b1f80059bdd70061c9b70065cfa70069d5970075e9610075e5700075e17f
+0075dd8e0074d6a70083cd9c0092c49100b0b17b00ce9f6500ff804000f58749
+00e2965c00da9c6400d2a26c00d49a7900d6938600d9839f00dd74b900e165d2
+00e35be300d141d100cc3acc00c734c700b81fb800c645c600d46bd400e192e1
+00f8d1f800eacddf00ddc9c700c2c19600a7b965008cb034007aab1400699f2f
+0059934b002d7293002a788600287e790024895f001f9546001aa02c0017a81b
+00176e5800175f670017517700173495001621a900353e8900545b6a0073794a
+00a6a91600a6892a00a7693e00a84a5200a92a6600aa1573008a357f006a558a
+002b94a100209ea50016a9a9001f9ca000288e970031818f00406b80004e6d72
+005c6e64006970570077714900807240006f7847005e7e4f004c8556003b8b5d
+00308f6200437a6c005666760069518000892f91006e4899005361a000387aa8
+001d94b0000ba4b5002d81b7004f5eb800713cba009419bc00aa02bd00ad2a95
+00b1536c00b47b4400babe0100babc0200baba0400b9b80500b9b50600b8b407
+00c7c33300d6d36000e4e28c00f3f2b800fdfcd500f4fcde00ecfce600e3fcef
+00d5fdfd00d5fdf400d5fdeb00d5fde200d5fdd900d5fed300d5f5dc00d4ece5
+00d4e2ef00d4d9f800d3d3fe00dcd5f500e6d7eb00efd9e200ffdcd200ffc6cc
+00ffb0c500ff9abf00ff83b800ff75b400e281c400c58dd300a798e30077acfd
+"/>
+<palette number="112" name="rw-blues-black-purple" data="0080ffff0067cdda005ab4c7004e9bb4004182a100356a8f002e5d850028517c
+00101f570008124e0000064600000c4c000013530000195900001f5f00002262
+000026660000327200003979000040800004488c00085199000a559f000d59a5
+00156abe001972ca001d7ad7002182e300268bf0002890f7002b95ff002786ff
+002378ff001a5bff00164cff00123eff000d2fff000921ff000719ff000512ff
+000c0cff001919ff002626ff003232ff003e3eff004444ff004b4bff005858ff
+006464ff007d7dff00787eff007480ff006780ff005a80ff005480ff004e80ff
+003580ff002880ff001c80ff000e80ff000080ff00067aff000c74ff001967ff
+00265aff003e42ff004b35ff005828ff005e22ff00641cff007010ff008000ff
+008032ff00804bff008064ff00807cff008095ff0080a1ff0080aeff0080c7ff
+0080e0ff0074ffff0067ffff005affff0054ffff004effff0042ffff0035ffff
+001cffff000fffff0003ffff0001ffff0000ffff0000f5f50000ebeb0000e1e1
+0000d6d60000c2c20000b8b80000aeae0000a9a90000a4a40000979700009d9d
+0000aaaa0000b0b00000b6b60000b9b90000bcbc0000c3c30000c9c90000cfcf
+0000d7d70000c3c30000bebe0000b9b90000afaf0000a5a500009b9b00009191
+00007d7d0004757e00086e7f000c6c8600106b8d0018689b002065a8002962b6
+00315fc400415ae0004558e7004957ee005154fc005353ff004b4bf6004343ed
+003333db002a2ad2002222ca001e1ec5001a1ac1001212b8000a0aaf000000a4
+001313ad003838bf004141c3004b4bc8005d5dd0007070d9008383e2009595eb
+00bfbfff00b5b5fe00acacfd009a9afb008787f8007474f6006262f4004f4ff2
+003c3cef001717eb000b0be9000000e8000000ea000000ec000000ef000000f1
+000000f5000000f6000000f8000000fa000000fc000000fe000000ff000000f6
+000000ec000000e3000000da000000d1000000c7000000be000000b5000000ac
+0000069d0000099b00000c9a000013970000199400001f900000268d00002c8a
+0000328700003884000040800000468600004c8c000053930000599900005f9f
+000066a600006cac000072b2000078b8000080c000008cc6000099cc0000a5d2
+0000b2d90000bedf0000cae50000d7eb0000e3f10000f0f70000fcfe0000ffff
+000cf3f90019e6f30026daed0032cde6003ec1e0004bb5da0058a8d400649cce
+00708fc8008080c000808cc6008099cc0080a5d20080b2d90080bedf0080cae5
+0080d7eb0080e3f10080f0f70080ffff0080e6ff0080cdff0080b4ff00809bff
+008082ff00806aff008051ff008038ff00801fff008000ff007a00f3007400e6
+006d00da006700cd006100c1005a00b5005400a8004e009c0048008f00400080
+"/>
+<palette number="113" name="rw-multi-colors-6" data="00ff804000ff9c6c00ffaf8900ffc2a600e3a69000c88a7a00ba7c6f00ad6e64
+008040400090545400a1686800b7828200cd9c9c00a1b1880075c774005fd16a
+0049dc610000ff400025ff5c004bff780070ff940096ffb000a2ffb900aeffc2
+009aad6f008d763700804000009b581500b7712b00c47d3500d2894000eda156
+00ffb164009165a7005a3fc8002419e900241ef4002424ff003636ff004848ff
+00a8a8ff00ba9fff00cd97ff00e08eff00f386ff00f983ff00ff80ff00f664f6
+00ee49ee00dd12dd00d509d500cd00cd00c300c300b900b900b000b000a800a8
+006037b2003c52b700186ebd00177fc5001791ce002299d4002ea2db0046b3e9
+005dc4f60055b7e6003d9ecd002686b40013729f00005e8a00217aa3004395bc
+0085ccef007fcbdb007acac80058b5910037a15b0026973f00168d2400008000
+00039b030008d2080018e8180028ff280035ff350043ff43005eff5e0078ff78
+006ce26c004ec54e0031a93100229a2200138c130000790000377b0e006e7c1c
+00a47e2900ff773400ff6e2700ff661b00ff611400ff5d0e00ff570600ff6d26
+00ff986600ffaa8000ffbc9b00f8ae8a00f1a17a00e4865800d66b3700bf3f00
+00cd612b00e8a48200efb49800f6c5ae00ffdbca00eab79f00d5937300c06f48
+009d330000a3480b00aa5d1700ad671d00b1722300bc943600c29c4400c8a452
+00ceac5f00d8ba7600dabf7f00ddc48900e3cd9b00e8d7ae00f1e7cd00f4d1ca
+00faa5c500fc92c200ff80c000ff7abd00ff74ba00ff67b400ff5bad00ff4ea7
+00ff46a300ff2e9700ff289400ff239100ff0f8700f40c8000e9097900de0572
+00cc006600c7006300c2006100b8005c00ae005700a40052009d004f0096004c
+008f0048007d003f008b1b460099374d00b56e5b00d1a46900eddb7700ffff80
+0091d28a0076c78c005bbc8f0024a69400009797000092ad00008dc4000088da
+000080ff002a8fc800549d91007eac5b00a8ba2400c4c40000bdbd0000b6b600
+00a8a80000a6a60000a4a400009b9b0000929200008888000079790000918536
+00a9916c00c19da200d8a9d900e8b1fc00df96fb00d77afa00ce5ef900c643f8
+00c031f700aa28dd00951ec2007f15a8005b057c007a2c98009954b300b87bce
+00d7a2ea00ebbcfc00b9b7d70086b2b30054ad8e0021a76a0000a4520022b86d
+0043cb870065dfa2009dffce007bfaba005af4a70038ef930016ea800000e673
+000aeb7b0014f182001ef68a0028fb92002fff970025e183001bc46f0011a65b
+0000753a0029935e0053b081007ccea500a6ecc900c1ffe000b3c8be00a5919b
+00975b7900892456008000400096086400ad0f8800c317ac00e824e800e527d2
+00e329bc00e02ca600de2e9000dc308200e3589a00ea7fb200f1a7ca00fce9f2
+"/>
+<palette number="114" name="rw-multi-reds-oranges" data="00ff000000ff373700ff5b5b00ff808000fb938400f7a78800f5b18a00f3bb8c
+00eddb9200e8b97c00e4986700de6b4a00d83f2e00db4d3d00de5c4d00df6355
+00e16a5d00e6827700da766b00ce6b6000c25f5400b6544900b2504500ae4d42
+00b56f3b00ba853600bf9c3100c87c3000d15c3000d64b3000db3b3000e41b2f
+00ea062e00e50b6a00e20d8800e010a600dd12a600db15a600d9179c00d71993
+00ce225f00ce346900ce467400ce587f00ce6a8a00ce708d00cf769100d589a0
+00dc9baf00e9c1cd00e9b1cb00e9a2ca00e577bd00e24cb000df28a500dc059b
+00dd17a300dd20a700de29ab00e2299b00e6298c00e9257b00ed226b00f41c49
+00fa152700fc2b1400f9441700f65e1a00f3731c00f1881f00ec7c2400e86f28
+00de563200da5a3500d75f3900d2703d00ce824200cc8a4400ca934600c79e49
+00c1944f00b6805a00ba7e5600be7d5200c6844900cf8b4100e19a2f00f2a81e
+00f8a81800f29f1d00ed972300ea922500e88e2800e4882c00de8d3200d99237
+00d3973d00c6a14a00c2a34e00bea55200bca65400baa85600b7a95900be915e
+00cb616800d04d6c00d63a7100d43c7600d23e7b00cd438500c9478f00c24e9f
+00ca469900d9378e00dd338b00e1308800e62b8400ea277900ee226e00f21e62
+00f9175000ea255800dc346000d53b6400ce426800b65a7600c0708900ca879b
+00d49dae00e4c2cd00dfb0bf00db9fb100d27b9500c9587900ba1d4b00c42c59
+00d74a7400df567f00e7638a00e05b8200da547b00cd446d00c0355e00b32550
+00ab1b46008b163900831435007b133200600f270082275500a4408400c658b2
+00ff80ff00fb76ee00f86cde00f158bd00ea459c00e4317c00df246600dd3e5a
+00dc574d00d89b2c00d4982b00d0962a00c9902800c18b2600ba862300b58222
+00be6e1900c0691600c3641400c85a0f00cb540c00c64e1100c1471600bc411b
+00b3362400c2572900d2782d00e1993200f1b93600fbcf3900f4c44000ecba48
+00dea45600dba05800d99d5b00d5a05f00d1a26400cda56800c6a96f00a8b88d
+0089c8ab006bd7c9004de7e70039f1fb005fc4e3008697cb00ac6ab300d33d9b
+00ec208b00e6268500e02c7f00da327a00d03c7000cf3d8300cf3d9600ce3ea9
+00cd3fbc00cc40c900d735ae00e12b9200ec207700f7155c00fe0e4a00fa2b41
+00f6483800f2653000eb952100e4832800dc723000d5603700ce4f3e00c94343
+00d05e3c00d87a3400df952d00e6b02600ebc22100efb91d00f2b01a00f6a716
+00fc981000ec922000db8c3000cb854000bb7f5000b07b5b00ba8b6f00c39c83
+00cdac9800d7bcac00ddc7b900deb3b000dfa0a700e08c9e00e16c8f00e6678b
+00eb638800f05e8400f5598000f8567e00fa7a9a00fb9fb500fdc3d100ffffff
+"/>
+<palette number="115" name="rw-yellows-browns-goldish" data="00ffff8000f6f67100f1f16900eced6100e7e85900e3e45200e0e24e00dee04a
+00d5d73a00d0d23200cbce2b00c6c92300c2c51b00c0c41800bfc31500c0c416
+00c2c61800c9cd1f00ccd02200cfd32500d2d62800d5d92b00d6da2c00d8dc2e
+00dfe33500e2e63800e5e93b00e6e93c00e7e93e00e6e73e00e5e63e00e4e23d
+00e2de3c00ded73b00dcd33a00dbd03900d9cc3800d7c83800d6c63700d6c537
+00d2bd3600cfb93500cdb63500cab33500c8b13600c7af3600c6ae3700c3ac37
+00c1a93800bca43900b9a13900b79e3a00b49b3a00b2993b00b0973b00af963b
+00ac9a3a00ada13800aea93700aeb03500afb83300afbb3200b0bf3100b0c730
+00b1ce2e00b3dd2a00b3e42800b4ec2700b4ef2600b5f32500b5fa2300b6fc23
+00b0e72700addd2900aad32b00a7c82d00a5be3000a3b93100a2b432009fa934
+009c9f3600968a3a0093803c0091763e008f6f3f008d694100946d3f009b723c
+00a87a3800af7e3500b6833300b9853200bd873100c48b2e00ca902c00d1942a
+00d8982700e6a12300eaa62500eeab2700eead2b00eeb02f00eeb53600edbb3e
+00edc54c00ecca5300eccf5b00ecd15e00ecd46200ecd96a00ebde7100ebe479
+00ebe98000e6eb8500e3e88300e1e68200dde27e00d9dd7a00d4d97700d0d473
+00c7cc6c00c2c76800bec36400bcc06200babe6100b6ba5d00b1b55900adb156
+00acb05500b7b55c00bab65d00bdb85f00c2bb6200c8be6600cdc06900d3c36c
+00dec97300e3cb7600e9ce7900eccf7b00efd17d00f4d48000fbd78400fad37f
+00f9d07a00f7c97000f7c76d00f7c56b00f6c16600f5be6100f4ba5c00f3b757
+00f2b04d00f1ae4a00f1ac4800f0a84300efa43d00eda23c00eb9f3c00e99d3b
+00e79b3a00e3963800e2953800e1943800df913700dd8f3600db8d3500d98a35
+00d5863300d4843200d3833200d2893200d08f3200cf943200ce9a3200cca032
+00cba63200caab3200c8b13200c7b73200c6bd3200c4c23200c3c83200c2ce32
+00c3d82e00c5d92d00c7da2c00cadd2900cee02600d1e32300d4e52100d8e81e
+00dbeb1b00deee1800e2f01600e5f31300e8f61000ecf90d00effb0b00f0fc0a
+00edf80900e9f50900e6f10800e2ee0800dfea0700dce70700d8e30600d5e006
+00d2dc0500ced90400cbd50400c8d20300c4ce0300c0ca0200c0c40500c0bf08
+00c0b90c00c0b30f00c0ae1200c0a81500c1a21900c19c1c00c1971f00c19122
+00c18b2600c1862900c1802c00c2793000c4792e00c7792b00c9792900cc7926
+00ce792400d0792200d3791f00d5791d00d8791a00da791800dc791600df7913
+00e1791100e4790e00e07f0f00dc851100d98c1200d5921300d1981500cd9e16
+00c9a41700c6aa1900c2b11a00beb71b00babd1d00b6c31e00b3c91f00aed121
+"/>
+<palette number="116" name="rw-multi-blues-with-gray" data="000000a0001111a9001a1aad002323b2002b2bb6003434bb003838bd003d3dbf
+004e4ec8005656cc005f5fd1006868d5007171da007979de008282e3008686e5
+008b8be7009c9cf000a4a4f400adadf900aeb1fa00b0b6fc00acb5fa00a8b4f9
+0096aef3008dabf00085a9ed007ca6ea0074a4e7006fa2e5006ba1e400629ee1
+005a9cdf004896d9003f93d6003791d3002e8ed000268ccd00218acb001d89ca
+000c84c4000a83c2000882c1001084c2001886c3001c87c3002088c4002789c5
+002f8bc6003f8fc8004791c9004f93ca005694cb005e96cc006297cc006698cd
+00769ccf007e9ed00086a0d1008ea2d20096a4d3009aa5d3009ea6d400a5a7d5
+00a8a8d500a5aad800a4aad900a3abda00a2abda00a1acdb00a0addd009faede
+009cafe0009bb0e1009ab1e30098b2e40097b3e50096b3e60096b3e70094b4e8
+0093b5e90090b7ec008fb7ed008eb8ee008db8ef008cb9f00086b4ed0081b0e9
+0076a6e20070a1de006b9ddb00689bd9006599d8005f94d4005a8fd100548bcd
+004f86ca00437dc3003d78bf003873bc003571ba00336fb8002d6ab5002865b2
+001c5cab00195ba800175aa600185ca600195fa7001c63a7001e68a800206ca8
+002271a900277aaa00287caa00297eaa002b83ab002d87ab002f8bac003290ac
+003699ad00389dad003aa2ae003ba4ae003da6af003fabaf0041afb0002babab
+0044b5b1004aaeb5004bacb6004daab70050a6b90053a3bb00569fbd00599bbe
+005f94c2006290c400658dc600668bc7006889c8006b85ca006e82cc00717ece
+00747ad0007a73d4007b71d5007d70d600806cd7008467da008166dc007e65dd
+007863e0007662e1007562e2007261e4006f60e5006c5fe700695ee800665dea
+00645dec005e5bef005c5aef005b5af0005859f2005558f4005257f5004f56f7
+004954fa004753fb004553fc004554f7004555f1004456ec004458e6004459e1
+00435adb00435bd600425cd000425dcb00425ec500415fc0004160ba004062b5
+004064aa003f64a7003f65a4003f669f003f6799003e6894003e6a8e003d6b89
+003d6b870043708b0048748f004e799300547e98005a839c005f87a000658ca4
+006b91a8007096ac00769ab0007c9fb40082a4b80087a9bd008dadc10093b2c5
+0098b7c9009ebbcd00a4c0d100aac5d500afcada00b7d0df00b0cfdc00a9ceda
+00a2ccd7009bcbd40094cad2008dc9cf0086c7cd0080c6ca0079c5c70072c4c5
+006bc3c20064c1c0005dc0bd0056bfba004fbeb80048bcb50041bbb2003abab0
+0033b9ad002cb8aa0023b6a70021adab0020a5af001e9cb3001c94b8001b8bbc
+001983c000187ac4001672c8001469cc001361d0001158d4000f50d8000e47dd
+000c3fe1000a36e500092ee9000725ed00051cf1000414f500020bfa000000ff
+"/>
+<palette number="117" name="rw-greens-multi" data="00008040000098400000a4400000b0400000bb400000c7400000cd400000d340
+0000eb400006ef3d000cf33a0018e7340024db2e0030cf28003cc3220042bd1f
+0048b81c0060a010006c940a0078880400768a0800748c0c006e921200689818
+0050b0300044bb3c0038c748002cd3540020df60001ae5660014eb6c0008f778
+0000ff800015ff8a001fff8f002aff950034ff9a003eff9f0043ffa10049ffa4
+005effae0064fcad006afaac0066f4a10062ef96005fec90005dea8b0058e580
+0054e075004bd55f0046cf540042ca490043c7460044c5440046c4450049c347
+0052c04b0057be4d005cbc500060ba520065b8550067b756006ab657004bd560
+0072b35b0084c166008cc86b0095cf700099d272009ed67500a7dd7a00b0e480
+00c1f18a00c6f48800ccf78700c8f17a00c4ec6e00c2e96800c0e66200bce055
+00b8da4900b0ce3000acc82300a8c31700a6c11300a5bf0f00a4c51000a4ca12
+00a2d61500a1db1600a0e11700a0e31800a0e619009fec1a009ef21c009df71d
+009dfb1e0097f4190094f0160091ed14008feb12008eea11008ae60f0087e30c
+0081dc07007dd705007ad2030079d0030078ce030076cb030073c7030071c303
+006fc003006bb803006ab6030069b4030066b0030065ae020062a902005fa402
+00599a02005695020053900200518d0200508b02004d8602004a800200477b02
+0045780100578b0c005b8f0e0060941100699e160072a71c007ab0210083ba26
+0095cc310096d5390098de410091df45008be049007fe2500072e4570066e65f
+0059e8660040ec74003aed780034ee7c0027f083001ff1880020f0820022ee7d
+0024ec720025eb6f0026ea6c0027e9670028e861002ae65c002be556002de664
+002de34d004ade4c0051dc4c0058db4c0066d94b0074d64b0082d44a0091d14a
+00adcc4900b9ca4800c5c84800b3c14d00a0ba52008eb458007bad5d0069a662
+0056a0680044996d00319272001f8b77000c847c00008080000c8c8000189880
+0030b0800036b680003cbc800048c7800054d3800060df80006ceb800080ff80
+0080f37a0080e7740080db6e0080cf680080c3620080b85c0080ac560080a050
+0080944a00808844008080400089894d0093935a009c9c6700a6a67400afaf81
+00b8b88e00c2c29b00cbcba800d4d4b500dedec200e4e4cb00cfe0b800b9dca5
+00a4d792008ed37f0079cf6c0064cb59004ec6460039c2330024be200000b700
+0000be000000c4000000cb000000d1000000d8000000de000000e5000000ec00
+0000f2000000f9000000fd000000f10c0000e6180000da240000ce300000c23c
+0000b7480000ab5400009f600000946c000088780000808000108c8400209888
+002fa48b003fb08f004fbc93005ec796006ed39a007edf9e008eeba200a8ffa8
+"/>
+<palette number="118" name="rw-browns-orange-yellow-with-blues" data="00804040008c4c4c0092515100995757009f5d5d00a5636300a8666600ac6969
+00bb777700c2787100c9796b00d07a6500d87b6000df7c5a00e67d5400e97d51
+00ed7e4e00ff804000ff834500ff874b00ff8a5000ff8e5600ff905900ff925c
+00ff996700ff9c6c00ffa07200fe9c6d00fe996900fd946200fc905c00fb8850
+00fa7f4400f76d2b00f5641e00f45c1200ef540900ea4c0000e64b0000e24a00
+00d2440000ca410000c23f0000ba3c0000b23a0000ae380000aa370000a63600
+00a33d03009d4a09009a500c0097570f00945d1200916415008f6716008e6a18
+0090791d00957d1e009b821f00a0862000a68b2100a98d2100ac902200b19423
+00b7992400bfa02600c3a63200c8ac3e00caaf4400cdb24a00d2b85600d6bf62
+00dfcb7a00e5d28900ebda9800ecdb9000eedc8900efdc8500f0dd8100f1de7a
+00f3df7200f6e16300f7e25b00f9e35400f9e35200fae45000f5de4800efd940
+00e4cd3000dfc72800dac22100d7bf1d00d4bc1900cfb61100c7ae0500cd9c05
+00d3890400df650300e4520200ea400200ed370200f02e0200f61b0100fc0901
+00f0000000e1000000d3000000cc000000c5000000b6000000a8000000990000
+008b000000841414008b1e1e0092292900a13d3d00af515100be666600cc7a7a
+00e9a3a300f4b2b200ffc1c100fbc1bc00f8c1b700f0c2ad00e9c2a400e2c39a
+00dbc49000ccc57c00c8c57700c5c57300bac66400bdc86b00c0cb7100c3cd78
+00c9d28500ccd48b00cfd79200d0d89500d2d99800d5dc9f00d6dda200dad1ac
+00dfc5b600e7acc900e9a6ce00eca0d300f094dd00f488e700f97cf000ff6aff
+00ed79f200e87cee00e380eb00da87e500d18ede00c896d800bf9dd100b6a4cb
+00acabc400a99dba00aa94b600ab8bb300ac79ac00ad67a600af559f00b04398
+00b31f8a00b4118500b5048000b6147a00b8237300b9336d00ba436600bc5360
+00bd625900bf725300c0824d00c1914600c2994300c69f4e00caa65a00cdac65
+00d5b97c00d7bc8200d9bf8800ddc59300e0cc9f00e6d5b000e0d0a700dbcb9d
+00d5c69400d0c18a00cabc8100c4b77700bfb26e00b9ad6400b4a85b00b1a656
+00b89d4d00be934400c58a3b00cc813200d2782900d96e2000e0651700e65c0d
+00f04e0000f2550a00f35c1300f5631d00f66a2600f8713000f9783a00fb7f43
+00fd874d00fe8e5600ff915b00ff976400ff9d6e00ffa47700feaa8100feb08a
+00feb69400febd9d00fec3a700fdccb500f0bda900e3ae9c00d5a09000c89184
+00bb827700ae736b00a1655f00945652008647460080404000874747008d4e4e
+00945454009b5b5b00a1626200a8686800af6f6f00b5767600bf808000c38787
+00c68f8f00ca969600ce9e9e00d1a5a500d5adad00d9b4b400ddbcbc00e2c7c7
+"/>
+<palette number="119" name="rw-reds-blues-greens-pinks" data="00ff000000d3161600bd212100a72c2c00913737007c42420071474700664d4d
+003a6363001d71710000808000008b8b000096960000a1a10000acac0000b1b1
+0000b7b70000cccc0000d7d70000e2e20000eded0000f8f80000fbfb0000ffff
+002cf0ff0042e8ff0058e0ff006dd8ff0083d1ff008ecdff0099c9ff00afc2ff
+00c5baff00ffa6ff00e9a2ff00d39fff00bd9cff00a799ff009c97ff009196ff
+00668fff00508cff003a89ff002485ff000e82ff000781ff000080ff000b80ff
+001680ff002c80ff003780ff004280ff004d80ff005880ff005d80ff006380ff
+007980ff007785f400758be9006a96d3005fa1bd0059a6b20054aca70049b791
+003ec17c0028d750001de23a0012ed240009f6120000ff000016e900002cd300
+0058a700006d910000837c000099660000af500000ba450000c53a0000db2400
+00f10e0000e90b0000d3160000bd210000b2260000a72c0000913700007c4200
+00505800003a630000246e0000197300000e790000008000000a750000146a00
+001e5f0000324900003c3e0000463300004b2d0000502800005a1d0000651200
+00810000008c000000980000009e000000a4000000af000000bb000000c70000
+00d2000000ea000000f0000000f6000000fd000000f2160b00e82c1600dd4221
+00c76e3700bc834200b2994d00aca45200a7af58009cc5630092db6e0087f179
+0080ff800080e9960080e39b0080dea10080d3ac0080c8b70080bec10080b3cc
+00809de200808ef0008080ff007a80f4007580e9006a80d3005f80bd005480a7
+0049809100338066002d805b00288050001d803a001280240007800e00008000
+002c841a003784200042852600588733006e894000838b4d00998d5a00af8e66
+00c5907300ff959500ff939300ff929200ff909000ff8d8d00ff8b8b00ff8888
+00ff838300ff818100ff808000ff7e7e00ff7b7b00ff797900ff777700ff7783
+00ff768e00ff769a00ff75a600ff75b100ff74bd00ff74c900ff73d400ff73e0
+00ff72f800ff71fb00ff71ff00ff6bed00ff65db00ff5fc900ff5ab700ff54a5
+00ff4e9300ff488100ff426f00ff3c5d00ff374b00ff2d2d00fa293a00f62548
+00f1215500ed1e6300e81a7000e4167e00df128b00db0e9900d60aa600d106b4
+00cd02c100ca00ca00cc00b900ce00a700cf009600d1008500d3007300d50062
+00d7005000d8003f00da002e00dc001c00de000b00df000000d90c0600d4180c
+00ce241300c82f1900c33b1f00bd472500b7532b00b25f3200ac6b3800a6773e
+009d8a48009d7e42009e723c009e6635009f5b2f00a04f2900a0432300a1371d
+00a12b1600a21f1000a3130a00a3080400a4000000a00000009c000000980000
+0094000000900000008c0000008800000084000000800000007c000000750000
+"/>
+<palette number="120" name="rw-reds-browns-golds-tans" data="00ff000000fd0a0200fb0f0300fa140400f9190500f81e0600f7200600f72307
+00f42d0800f3320900f2370a00f13c0b00f0410c00ee460d00ed4b0e00ec4d0e
+00ec500e00ea5a1000e85f1100e7641200e6691300e56e1400e4701400e47315
+00e17d1600e0821700df871800de8c1900dd911a00dc931a00db961b00da9b1c
+00d9a01c00d89d1e00d89b1f00d89a2000d7982000d7972100d7962100d79622
+00d6922400d5912500d5902600d58e2600d58c2700d48b2700d48b2800d48a29
+00d4882a00d3852c00d2832c00d2822d00d2802e00d27f2f00d17e2f00d17e30
+00d17a3100d0793200d0783300cf763400cf743500cf733500cf733600ce7237
+00ce703700d1713400d2713200d4723000d5722f00d6722e00d7732d00d9732b
+00dc742800dd742600df752400e0752200e2762100e2762000e3771f00e5771d
+00e6781c00ea791800eb791600ed7a1500ed7a1400ee7a1300f07b1100f17b0f
+00f47c0c00f57c0a00f77d0900f87d0800f97e0700fa7e0500fc7f0300fd7f02
+00ff800000fa7e0000f77c0000f57b0000f47a0000f37a0000f0780000ee7700
+00e9750000e6730000e4720000e2710000e1710000df700000dc6e0000da6d00
+00d86c0000d36a0000d1690000d0680000ce670000cb660000c9640000c66300
+00c1610000be5f0000bc5e0000bb5d0000ba5d0000b75c0000b55a0000b25900
+00b0580000b55f0800b6600a00b7620c00ba651000bc681500bf6c1900c16f1d
+00c6762500c8792900cb7c2d00cc7d2f00ce7f3200d0833600d3863a00d5893e
+00d88c4200dc934a00dd944c00df964e00e19a5200e49d5700e6a05b00e9a35f
+00eeaa6700efab6900f0ad6b00f3b16f00f5b47400f8b77800faba7c00fdbe80
+00ffc18400ffba8000ffb87f00ffb67f00ffb27d00ffae7b00ffab7900ffa777
+00ffa07400ff9e7300ff9c7200ff987000ff946e00ff916c00ff8d6b00ff8969
+00ff866700ff826500ff7e6300ff7a6200ff776000ff735e00ff6f5c00ff6b5a
+00ff645700ff625600ff605500ff5d5300ff595100ff554f00ff514e00ff4e4c
+00ff4a4a00fe4d4b00fc4f4c00fb524c00fa544d00f8574e00f75a4f00f55c4f
+00f45f5000f3615100f1645100f0675200ee695300ed6c5400ec6e5400ea7155
+00e9745600e8765600e6795700e57b5800e47e5900e2805900e1835a00df865b
+00de885b00dd8b5c00db8d5d00da905e00d8935e00d7955f00d6986000d49a60
+00d39d6100d39e6300d49f6400d4a06600d5a16800d5a26900d6a36b00d6a46c
+00d6a56e00d7a67000d7a77100d8a87300d8a97400d9aa7600d9ab7800daac79
+00daad7b00daae7d00dbaf7e00dbb08000dcb18200dcb28300ddb38500ddb486
+00ddb58800deb68a00deb78b00dfb88d00dfb98e00e0ba9000e0bb9200e1bd95
+"/>
+<palette number="121" name="dg009" data="00130b170027182f00361a2f00461d2f00511b2c005c192a00650c26006e0023
+00711c31005d1c2d004a1c29004821320047263b004d3a5e00534f82005a5d8b
+00626b94007366ab00625c8d00515270004e4f6c004b4c68004a4b6700494a66
+006138600059294700521b2e003e1c32002a1e3600271b310025192d00221a29
+001d192800191b2800171b2800151b290011222f000d29350013363d001a4345
+002b464f002c3c4c002d3349002c293b002b202e00331d2b003c1a2800351928
+0029113100251d3200251f35002622390025203700241f3600241c320025192f
+00251a2b0025192a0026192a0025192900251a280024192700241927001f1927
+001d1425001a1f32001b2739001d304100222f4600282f4b0031305a00313e5e
+0042436100454663004849650046486200454760004547600045476000444561
+00413f6700434a7400464e7a004a5281004f59880054609000556f8600526e72
+00494a66003d4a5a00324b4f00324843003345370026293a002c294600323151
+003d3b62002e5d6300365b69003e5a700043606f0048666e00516f7900747ca1
+00707ba9005f6491004e4d7900494d7800454e770049676f00586e8600747ea1
+006e8bab007080bb00737fb100777ea8007b6fa100916298008b5c9200624887
+004a4b6700444465003f3d640039375d0033315600272646001b183700151a30
+0010163000151b2b00161e2c0017212d0019232f0018222e00191f2d001c1b2d
+00231b2a00241a2a00251a2a00251a2a00251a2a00251a2a00251a2a00251a2a
+00251a2a00241c2900241d2a00241e2c001b2c360017343c0019383d001a373d
+0022283e0019293e00112a3e000a2735000f172e000000190000001900000019
+000f1521001c1b2b001e1c2c00211d2e00201e33001a1f32001322350014212a
+00161c2a0017192900181729001a152b001e152a0020192b00231b2a00251a2a
+0026192a002b14260032121f004c012000500f250057182900541f3300631e31
+00b53c5d00b13f5c00ae425c009d4e6d00c5668e00c97d9b007e899f00777c9a
+00585280004c4d69004c4d69004a4b6700494a660046476300444561003d3f65
+003c3e64003f3d64004445610044465f0046476300484965004a4b6700474864
+00474864004549620042435f0056294600762138008c1e270095263700841c41
+00872b440098465d0093476500864950006d364b004f506c006b789800878bbb
+008d8cc500d6dcff00cad6ff008893cb00727dab00546b8d004d4e6a00434760
+002e375600212f4c00293d46002a454e00314452003f405c00424361003f3f61
+0038375900312b4f0026263e0027253b0026243c0025273e0028324b00353a57
+003a3a5e003d316100352853002a2b4a00242841002423450033355b0028255a
+"/>
+<palette number="122" name="dg016" data="00191e2200333d46002e353e002a2d3600222c2b001b2b20001b2a1e001c2a1d
+001627170014211500121c130012181200121411001113100010120f0010120f
+0010120f00101511000e1712000d1a1300132218001a2a1d00182c1f00172f22
+000b2e2a000b3528000c3c2600063d2c00003e3300074135000f45370019403f
+00222f4000282b3c00282b3b00292c3b00292c3b002a2d3c00292c3b00292c3b
+0021353e001a403b00144b38000f583d000a6542000a6945000a6e4800126b4f
+000d5a3a00263b3e0027333a00282c370023272e001e2225001c2225001a2225
+0015243700123240000f414a000c595d000a72710009796200098153000d6847
+000b52340000250e0005180a000b0c0700090d0700070e0700000e0400001105
+0013161b00161c25001a222f0021263500282b3c0029333f002b3c4300354b3e
+00305f550046675c003d574d0034483f002f4137002a3a2f0024362600212d1f
+0022272300262a30002b2e3d002d303f002f324100353c56003d4a6c00454d72
+00454c6900232c4b0014254100051f38000620330007212e0007242a000a2826
+00091c23000410200000041d00000517000006120002121200061711000b150d
+0011170900121411001114110010151100101518000e2022000d2a30000d2c27
+000f3b200010422300124a27000f4c2b000c4f30000a4a32000b472d00104124
+001c3b2b00282b3a00282b3a00282b3a00292c3b00292c3b00282b3a00282b3a
+0026293800192b37000c2d36000b2c38000a2b3a000c2a3400112d3100202d33
+00272a3900292c3b00292c3b002a2d3c002a2d3c002a2d3c002b2e3d002e2f41
+00292a3e00292a3d00292a3c00292c3b002a2d3c002a2d3c002a2d3c002c2f3e
+002e353f002c3e64002f3f690032406f002c4073001c4362001f334b0018324d
+000e2f3800162c3a001e293d0026293a00272a3900282b3a002b2c4000222e44
+000e384400094760000a5f84000c6992000975b3000f9cad0033c6920038a681
+000a5536000b492f000d3e280014251d000c1b180010191800161f1a00151d20
+001c2124001a25290017222800141c2f00131c2d0016151b001e100d00121411
+001115140012161900171a1f001e23270025242c00292b3700282b3a00282b3a
+00282b3a00272a3900272a3900282b3a00282b3a00282b3a00282b3a00272a39
+0026293800232935001f242800152a25000b3430000a364300133d4d00104a62
+000b536b00194e70001c5465001b4253001a3546002a303e002a2d3c002b2e3d
+002d3a4b003443640037466d0035497c0049517f00374d86002c898e00558b74
+005e76680057616000434c550035425500293a4a002b2e3d00242a36001f2a26
+0014251f00161a1b0015161a00161a1b001a211a001e2724002d3f330028352e
+"/>
+<palette number="123" name="dg031" data="00040908000a1312000c1314000e1316000e1516000e1716000f161700101518
+000b161c000a1225000a0f2f00101e3700172e4000294c5a003b6b7500497987
+005887990075a9be0079a7bf007ea6c000949fa200aa998500b7a27b00c4ab72
+00ac965a008676540061574e004c4d48003743430047414100573f3f007c5c36
+00b0914e00c1dff900c4e4fa00c8e9fc00bee1f400b5daed00b2d8ed00b0d6ed
+005398a700386d78001d424a001b3b420019343b001b383e001d3c41001d3b46
+00215562003d7c8b0046747f004f6c740063645400785c350084663e00917047
+00bea46700cea86a00deac6d00c5975e00ac834f00916e4100765a33005f3d21
+00431f2100241625001f202b001a2b32001a2d32001b3033001b323a00162836
+000e1d22000e1d21000f1d2000101c1f00111c1e00111d1e00121e1e002b2115
+003b2b1b007254320085542c00985427009b6336009f734600ad7c3a00b2763a
+00b18f4f00b3945300b6995700b99b5600bc9e5600c1965100cb934600ab6a2a
+00985125004e341d002f261b0010181a000e1516000c1212000d1112000a1010
+000d0d0d000c0e0e000b0f10000b1012000c1114000f191a00101f2200182933
+001a373b001e3d52001a405500174459001d55640020424c001e3b43001d3c41
+00112c330010232800101b1d0010191e0011182000101d230011242a001b3337
+001b3a3f00276476003e637d0055628400545f7d00775935005c4126001b3029
+000e1618000b0f0f000908060004050300000201000a0e0f0012171a001c1b2b
+0017343c003c748100467f8f00508a9e00528fa2003e819200376972002e6977
+00224851002b545e0035616c0068858900807f8500939fb500abd6e600b3d6ea
+0089b7ce005891a400467e9200356c8100194a6b001a373f00132c31000e1c1f
+000504090002020500000002000000000001010100080000000b000000170a00
+000d0d0d000d1110000f0e1400100f14001f110800261908002f190400210f05
+0011171700101919000f1b1b00101f2200182c2b00252e2b00282d31001b2e32
+001a2e2f00162e3000132527000e191b000f131400190d0f002e121100461a27
+0055222700612723006c303a0056213d00303338001c34360019343b0015383e
+00193a43001a4e5c003a7887005998aa005e9dac0078b1c200599bab0036798a
+00225260001b343800182327000d121500080705000101010000000000000002
+00080a09000a0809000c070d000b090a00030406000101010000000000000000
+0000000000000000000a0000000b0a08000e121300101b1f002120280030243a
+00673735007a3c310086442400643a2200452f18003825140027190e001c1208
+000e0f11000e1213001014150021101800372010005d320f00a0531f00914418
+"/>
+<palette number="124" name="dg085" data="0052320800a6651100885213006b4016005c3818004d311b00442e1d003c2c1f
+003b2b1e003a2a1d003a2a1d0039291d0039281e003c281d003f291c00442715
+004a260e004f2d11004a2b120045291400412817003e281a003c281a003b291b
+003b2b1e003b2b1e003b2b1e003a2a1d003a2a1d0039291b0039291a00392919
+00391e0b00311c09003422120038281b0038281b0038281b0038271a00392719
+00281504002f1302003711000037170400381d08003a1f09003d210b0048260d
+005534130072421e007f4c23008c562800a75d2500c2652200ca6a1a00d37012
+00b6621a00a7602000995e260092551f008c4d18008c4c1c008c4c20008c5628
+0093542b00995c2d00854d2300713f1a006e3d1a006c3b1a0058381f003f2f22
+003c2c1f003c2b20003c2b210048322200553923005c3d210064421f00764f28
+009d5f3800e4975300f1ad5400ffc35500ffcd6f00ffd78900e8cd5a00e6bc50
+00e49b5600ed974900f6943d00ee933700e6923200d28a4200cc7e3c00c06b2a
+00a86a410081552e0084522600874f1e00824c21007e4a25006e491d00834619
+0092521500a2541b00b2572200ad5a1800a95d0f0097480d00723f1000683e14
+00673b1400823b0700863c08008b3e0a0099581400a5731e00ba741500cf7713
+00b77129009e64320085583b007d54370075503300704e33007f5a3d00a67145
+00c6955a00cfac9000ba947500a57d5a008d5b3a00744e2a006b401e0053341f
+003b2b1e003f2918004327120045281100482a10004d2c00004828000043240f
+003d190b004127100041271100422712003a281a0039291a0038281b0039291c
+003a2921003a2920003b2a20003b2a20003c2b21003e2c2000402e220055351e
+005b391e00522c1500502b13004f2b11004b1d0e004821000067250000792800
+00864400007e400000763d0000652c000053280000421b00003b0a0000390b00
+003c1400004d2909005e37100082450600924703009340000097480300a25304
+0086552c00825331007e52370071585100675748006e54430064493e0061402d
+0067442400683c1f005a381f0047321f003e2e21003c2923003c2821003b2a20
+003c2b21003a2c2100382c200039301f0038301900392b1e0037291e00352820
+0036292000392b2000392b220038292400362c22003c2e23003f2e2400402b28
+00553c3500543f2c00623d230070432200794d2800805c3c0091694600966844
+009570550096755200a4735200a77b4c00ae723e00b16c3300a7642d00bb671f
+00c9691300c7660800ac620900854a06007a4205006c360a00552e07004d250b
+0041200d00431f09004e2801005e2a00006a350b00753b09005b3715005b3a1b
+004b3013003f2c1d003c2c1f003d2a1b005230170067381c0082421200a04f17
+"/>
+<palette number="125" name="dg086" data="006c686300dad1c800e0d4cf00e6d8d700e2d4d300ded0d000dacdcd00d7cbcb
+00d0beba00d1b3b500d3a8b100d5b2b800d7bdc000d7c3c400d7c9c800d8ccc9
+00d9d0cb00e1d3d200e3d2d300e6d2d400e4d3d400e3d5d400e3d5d300e3d5d2
+00dfdbd000e0d3cf00e2cccf00e0c7ca00dfc2c600dcc1c500dac1c400dabfb6
+00d3b8af00cda2ab00c99ca500c6979f00bd7a8600b45d6d00ab536500a34a5e
+00954256008a3e51007f3a4c00863d50008e4155008d4155008d4256007a6760
+007a726700857b6f008479730083777700847c7600858175008b867a00918b7f
+00afa6a700c1abae00d3b0b600d8b7bd00debfc400dfc2c600e0c6c900e0cccd
+00e5d7d700f4e5e200f9ece500fff3e800fff5f100fff7fa00faf2f000f3f0eb
+00eddfde00eee5e300f0ece900f1e6e400f3e1df00f1dfdf00f0dddf00f2e0d6
+00f6dbd000e3d0cc00d3c7c300c4bfbb00c0b9b400bdb4ad00b3aba0009f978a
+00817b7b008a7c7f00937e83009a848400a28b8500ab9a9000b7b0a800cdb4ad
+00d8bdb400d9c5be00d8c6c300d8c8c900d8c8cb00d8c9ce00d9cbcb00d9cbc8
+00d6bbb200cdaaa800c49a9e00c0889200bd768600ad526400a8475a00aa4a58
+00b0576900c5819000c0889200bc8f9400b99a9500b59a9300ae968c00a39b90
+00928a7f0097877f009d848000a3818000a97f8100aa7b83009f7d73008d7867
+00907061007d3d4e006942460056483f0057585000695d5d00716c66007d7568
+00a1959500b9a6a200d2b7b000d7bcb500dcc1ba00e0c3c700e3d3d300f1dbd0
+00eed6cc00e2c7be00dec4bc00dac1ba00d5bab100d1b6ad00d0b5ae00c6aa9f
+00b79c9500b2979000ae938c00a38b8700a4868400a3888100a58f7700a69e93
+00c2a7a000ceb3ac00d2b7b500d6bcbf00d6c0c200d7c1c300d9c5c600dfcbcc
+00e4d2d200e4d4d300e4d6d500e4d6d500e2d0d000dccecd00d8d1c700d3c4c1
+00d4b9b000c8ada600b89f9a00ae938c00a78a8600b08d7a00aca08a00b9ab9e
+00bebca700bdb8ad00bdb5b300cbb0a900c6aba400baa69b00b2979000ac908c
+00a2868200a3878300ae8f8c00c699a000d4a6b000e6b9b600e9cec500edd2c9
+00f0d5ca00ecd1c600dbc7c800ccc7c300c6c6be00c5bbb200b7aea500b89d96
+00ae938c00b1968f00b99e9700bca19a00c4a7a100cda8af00dbaeb300d7bfb5
+00cbc9bc00c8c7b500aca39c009b858700826d6a00674d500057463e00332c22
+002c231a00523e3f00585c4e006b625d0076685f00796f65007a706f00736767
+007361610094435600984358009b435900a0415500ac516300b96a7d00c58d98
+00c99aa400c79ca300c4959b00b9848c00b35f6f00a84c6300a5465a00a14d5a
+00a8566400b0807400977e7a0090837d0087797600888075008c887c008e8478
+"/>
+<palette number="126" name="dg089" data="0039393900747474006f7174006a6f7500636a78005d657c0058627700536073
+004e5c690041607a0034648c00486780005c6a750067717a0072797f00767c7f
+007b7f800082858c00858586008986810087877a0086897400888779008a857f
+0085898a00a6a1a000c8bab700c8bebf00c8c3c700ccc3ca00d0c3cd00d4c5c8
+00d6c3b400bbbb9f00a39d8d008b807c007f7b7a00737778006e737700697076
+005f6676005a617000555d6a0054586100535458005b4d5000644749007d3a43
+00892f2e00952c2600912b29008d2b2c00723b3b00574c4a0055535700545b65
+00636e7400666c7100696a6f00746a6400806b5a00825f4f00855445008d4a2d
+0087342e00812824005b2c280035302d002f31340029323b0030334600333945
+0045515d00595550006e59440081614e00956a5900a3706200b2766b00c3ab91
+00c6b6a9008a89870080807e0076787500707272006b6c700059636d004d5b68
+003b485000273a5300142d560013264100131f2d00101125001c1c1c001e1a1b
+001f1b1c002b211700242328001d253a00212b3800263137002632420026364f
+00393e42004f3e3500653f2800733426008229250084272200812726007a2f36
+005a2e3b003e475000464f58004e586100545c69005d677100616f7200616e77
+00586170004e5a6a00445464003f5663003a5863002d446400354f6000465663
+00595d6600757671007a787300807b7500817e79007f7f7d007e7f7a0076777b
+006670790070777f007a7f8500848487008e8a8900c1b0a600d3b9ba00d2c2c2
+00d3c3c300d1b7a800c6b4a800bcb2a9008c8d88008887830085827d0080817b
+007874710076746f0075756d006c774d006a7940005f7a47005e7837004a713c
+00515c62006162670062676500636d640079746e007e807d00888d8700969c9c
+00d1bcb900d0bfbf00cfc3c500d3c7c700d5c9c900d6cccd00d0c8d300c4b9c7
+00b1a6b400868a8d007b7b7b006a6d7200585e6a004b526500435265003c4c63
+00434f5d0046546100495966005e5b62007b624e00934d41009c453c008c4849
+007568570067656600696a6f006c707100746f73006c6b7100676a6f0059626b
+00525c68005258640054495100534b3e00565d3e007a463b0092383700963928
+009b3d3e00914b49009c837f00bfa5b200cdadb800bda3b0008c8b8600808686
+007b7b79006b6f72005f6273005b627400575d6d00545b6b00555c6c00566270
+00585e6c005e63690060636a0061646b005c6272005961740057607100585d70
+0059616e0061666a006f7072007b7b790087868b00bda4aa00ccbcaf00cdc3c2
+00c2c2cc00b1aebf00868a8d008085880075817f006e7776006a7378006c7175
+007371740077746b0076786d00797a750080837c008a878000d6b09b00a89a99
+"/>
+<palette number="127" name="Apophysis-040426-1crabgrass from pat phillips patrx.deviantart.com" data="00ed846d0094494c0070374b004c264a002f174e00130952000f0654000c0457
+00000554000025470000463a0000622900007f180000790f00007306000d4003
+001b0e0000472304003d1e1800341a2c001a471d0000740e0000770900007b05
+00007e080000790b0000750e00006d190000652400005a330000504200003c5b
+002211560062323700773c2f008c46270046622100007e1c00007e1c00007f1c
+00006148002b456400562a810063327d00713a7a007b3f7f0085448400954a84
+009b498000af576e00a9547c00a4518b009d4e9000974c95008d46910084418d
+00572a4f00492447003c1e3f003f1f2f004321200052282900613033007f404c
+00a7524600db6c5300df6e5e00e4706a00e4706a00e4716b00ec756900fd6f69
+00dc6d8f00e06fa900e572c300c764ae00aa569900925286007b4e74003f693a
+0000792f0049732b007b642d00ad552f00bb5c2b00c9642700e47b5000f17752
+00fd7e4a00f3794e00ea745300dc6d5300ce665400b35b4f0088445700643052
+002f4a4c0000763100006e29000067220000612800005c2e0000425900003e59
+002e353e004e3659006e3775008140820095498f00ba5ca700db6cbd00e771c4
+00ed77c800f57ed300ee79cb00e774c400d369b700c9638e00cd548a00b95b97
+00b0589d00a3519600964b8f00884387007a3c80006434840033196c00321862
+002d143b0013082a00110830001008360003005100000f580000215a0000145a
+000402330002011900000000000b050b00170b17002211160014092000002046
+0000413600007f1b00007f1e00007f2100006f43006a6077008d4689009b4c93
+00b75ba400b85ba300ba5ca300a451980091488f00723773005a2a5500502b54
+005329500066343c00773c420088444900b1585000b95c6c00b65a7a00b45a9e
+00a854b400b75cbf00c764ca00e371c200ee76c800f47acc00e4c3b700ff8b95
+00ff8b6800ff8d5c00fd7e5600fd7e4500f67a3500f5802e00d1681d009d4d18
+00763b1c006d3621006431270047221a005a2c230063303a00823f4c009a4c5e
+00c1615200c8645400c9645300c4615300bf6452009a4b630080406d009b4d68
+00a3518d00a04fa100a552a5009f4ea100954da7008f489f006b3598004a2475
+00231063000905580000075500001f5b00002f5b0000335b0000465c00005254
+00005c4f00005b52000047520032162c003c1e1c005324270092492100c5633c
+00d8605a00d2696200d1686500c7648a00ce6a8d00de6dbe00e272ce00e46be2
+00dc6ecf00b95ba8009d4c9a00804182006b35640066335a00673353007a3c65
+007c3d6d0088455200a4572b00be5e2d00d0683800d9725400f17b6e00fc7e8f
+00fd7e9800f379ca00fc7ed200fb7dd000f076cd00db6dbf00ac558000c060a1
+"/>
+<palette number="128" name="Apophysis-040426-12bs1fl" data="00eef2d700105b2c003b731b00678c0b007ba2160090b8210094bf270098c72d
+00b5cc2d00afbf4e00a9b37000b1b39e00bab3cc00cbcdd000dce7d400deead9
+00e0eede00f4ede900eff0e400ebf3df00e1eede00d7e9dd00d3e4d900d0e0d5
+00bac4bb00b3c99800adcf7500a089480094431b008544170077451300602e01
+00492324003d6c8800528e9b0068b1af0089b2a900abb4a300c1b59500d8b787
+00f4d08800f7e17f00faf37700faf47800faf57a00f4eb7f00efe28500efdaad
+00e2e5cb00e8edd700d8e2b000c8d78a00a8cca10089c1b9008ebbbc0094b5c0
+00a8adc400a7aac200a6a7c1009c5c990093127200812a64006f4356006f5a2a
+00656722005f656d00667e8b006e97a90080a5b30092b4bd00b1cdcf00d1ccda
+00dfd29f00dabe8300d6ab6800a57b6a00744b6c006540680056366400362a56
+00171540000c224800133350001b45590026446100324369004a37630048325d
+00788b6d009ba17400bfb87b00c3af7800c8a67500c6a57700b6938200a9887c
+00a47981006b93a6005682980042718b00396f8000316e760038668300507992
+008c89ad00b9959b00e6a28a00e8a68200eaaa7a00f5a87800fc7e7700fb8785
+00fbaa8000ecd8a700e8e0ad00e4e9b400cfdbcc00bed7d400adcbcd0090b3be
+006a93a6004f7c940034658200236a7f0013707d000c6b770007697500126877
+00285576003d5074004f59780062637d00a5717c00c3998700dec09000e5e6a9
+00fcf2ce00efe3ab00e3d58900ecde8700f6e88600fceec200fcf3d000fafad5
+00f4f7df00f8f9e700f1f6e400ebf4e100e8f2e000deede000cde5d500c2d9d7
+00a3adc3009a9fbb009192b3008e80750091774c00796c53008e6247009f703c
+00a3744000c0c38100c8cda300d0d7c500d7e2c800e8ecd700f1f1d800f4f9ce
+00d7d19100c4c97900b2c262008aab260093932300a2860d007f4f1c0062631f
+0031310e0029311100000000000000000000000000000000000b0c0b0022342f
+00598099006c93a70080a7b5009dbec500a5c3c900b1c2cd00a6c4ca00a2bfc7
+00a6a99300928b5b00958e3e0080813c0066674000302d54000c182900000000
+00000000000000000002023a000a1d470020345e002b2f6400433a7200543966
+004b3c5400313c4d00475727006a61200054372d00484b2e002740450018482c
+00024f340016482d001e3333001b2421001d24310012113b000d0c3b00050337
+00060e430026204a003e396f003f6174006b6e970090808e008f8d7d009b9975
+009fac6c00c8dc3d00e4ea4d00f0f66000d7e26a00d3ba8000cd9b6600be5a45
+00c73e2d00ab7f4a00b69d7000c9c78100d7e38a00eef47800f7f27100f9f871
+00fbf96f00f8f57100fcf07e00f2e5c000f3e3d700f2f5dc00f4f3d900e4e6b1
+"/>
+<palette number="129" name="Apophysis-040426-1cometnuc" data="00cd071200cd071200c9091300c60b1500c60c1500c60d1600c40d1600c20d17
+00ca091300cb081200cd071200cd071200cd071200b0151b00942424007e2f26
+00693a29006fa623005a9c2300469224005d6325007434260096242100b9151d
+00ca091300cb081200cd071200cb091300ca0b1400c60d1600c21018007f2e27
+004c482a007bac77008ab497009abcb80070a7980047927900589a4d0069a322
+0099bb2600b1c72d00c9d43400cdd53500d1d73700cbd43400c6d23200bece2f
+00a8c32a006fa623004e9623002e8624001e7e25000f7626000e6e25000e6725
+00156426001e5f2600275a270055432600842c2500a31c1e00c20d1700c60b15
+00ca091300c60b1500af631e0099bb2700afc62c00c6d23200f5e95b00fded80
+00d5d9b200b7cab5009abcb9005e9e9800228077001b7c4e0015792500086a26
+00026d2500097325000f76240015792300186d24001b612500275a2900464b29
+00b5131c00bf0e1700ca091300ca091300ca091300ca0b1400c60d1600992122
+005d3f28001b61270011652600086a2600056b2600026d2700026d2700086a26
+00156426001e73240028832200318723003a8c24004c9523007faf230085b278
+00b6cab900f5ea9600f9eb8500fded7400f9eb6200f2e85400e1df4300d1d737
+009ebe270086b224006fa62200609f2300529824003489230021802500157925
+000f76240015792300217f22002e862200469222006fa623008ab4240099bb26
+0074a923005a9c2400408f25003d8d23003a8c22004c95210074a923009ebe27
+00ced66600dbddb000e1dfad00e7e2aa00fdee7700e6e24700acc52b00c60d16
+00ca0b1400ca0b1400ca0b1400c60d16009e282c00693a2700464b2700215d26
+00215d26003a512a004b482a005d3f2a007f2e2700c60d1600ca091300cd0712
+00cd071200cd071200cd071200c60d1600992123006e372700633c2a003a5128
+0034892300408f23005e9e21007faf24009ebe2800c2d03100dbdc3e00f2e854
+00e1df4200d7da3c00cdd63600b5c92c008ab426005e9e210034892300288322
+002180230015792500157925001c7d81002f868d002f8678002e8626001b7d24
+0015792500097325000270240002702400026d2500086a260015642800215d28
+00464b29006e372900793127009424250074342900633c2700464b29002d5726
+00335429005742290094242400c60d1600ca091300ca091300ca091300ca0913
+00ca091300cd071200cd071200cd071200cd071200cd071200cd071200cd0712
+00ca091300c60d1600b11c2200bece2f00f0e74f00f7ea5d00fded7000fdee7b
+00f9ec8e00f9ec9000faec8d00f7ea9300f8eb9400f4e99a00dedeae00cad4b6
+00a4c1b900cd0a7b00c60d1600ca091300cd071200cd071200cd071200cd0712
+"/>
+<palette number="130" name="Apophysis-040426-1passionscross" data="00347d1800ac5da4008d3b90006e197d0057166e0040145f00361c59002d2554
+003b5b7b00674e870094429400a2529d00b163a600b568a900b96dac00b96dac
+00b96dac00a3529e009341940084308b00792484006e197d0068137900630d76
+0057026e0051056a004c086700490b6500460e6300490b65004c0867005d0872
+00741f8000a3529e00aa5aa200b163a700b568a900b96dac00bb6fad00be72ae
+00d18bbb00d28dbd00d490bf00d08bbc00cd86b900c981b600c67db300be72ae
+00b96dac00a3529e009341940084308a00701c7e005d0872005d0872005d0872
+0052026a00550268005802670082304400ad5e2200bd722b00ce873400fd9039
+00db9a3e00be72ae00c277b100c67db400c87fb500ca82b600d895bf00f2be4c
+00f8ed5300f7da5100f7c84f00da9d7e00be72ae00b567a900ac5da4009e4d9a
+009442940084308a00766b470069a6050066a4030063a202004c900a00216d23
+002d2554003c165d004c08670051056a0057026e005d08720069137900741f80
+007f2b870094429400a4559e00b568a900bb70ad00c278b100ca82b600d490be
+00cd86b900c57cb300be72ae00b96dab00b568a900b568a900b96dac00b96dac
+00b96dac00c278b100c47ab200c67db300ca82b600cd86b900d490be00db99c2
+00e7abc900f0bcbe00f9ceb400e1d9a000cae48d00cae48d00f7c8b100fdddb4
+00fde75500f7ed5300f5ed5200f3ee5100f0ef5000dbeb4500b9db3200a3ce26
+0063a202003f8514001b6827001b4f38001b374900331f5800331f5800331f58
+00272b500002533600025336000253360009583200095832000f5d2f0015632b
+00095832000555340002533600024d3a0021314d003a1a5c00460e6300630d76
+00741f800084308a00792483006e197d004c08670040146000272b50000e4241
+00287320003d841300529507005e9e000069a6050069a6050069a6050074af0c
+00a3ce26006faa080069a60500347d180015632b0021314d00331f58003a1a5c
+00272b50001e334a00153c4500025336000958320015632b00216d2300408711
+005899030069a605007ab20f00badc3300d4e84100e6ee4b00deec4700d1e73f
+00bedd350090c26400a8d17600d490be00d895bf00de9ec300de9ec400d895bf
+00d490be00cd86b900b96dac009e4d9a008f3c910079258300630d7600460e63
+003a1a5c00272b5000153c45001c5804007b5b17005e4060006e197d00691379
+005d08720057026e0057026e0052026a0052026a0052026a004c086700460e63
+003a1a5c00272b50000e424100216d2300468b0e005899030069a60500b66927
+009e4d9a00ac5da400b163a700b96dac00b96dac00be72ae009ac86c00c2e037
+00deec4700f0ef5000f3ee5100e9ee4c00d1e73f00a3ce26006faa080008473e
+"/>
+<palette number="131" name="Apophysis-040426-1butterflyflower" data="001b1342001b1342001b1342001b1342001b1342001b1342001b1342001b1342
+001b1342001b1342001b1342001b1342001b1342001b1342001b1342001b1342
+001b134200352832003528320035283200352832003528320035283100362931
+005e5315004d461f003d3a2a002c2636001b1342001b1342001b1342001b1342
+001b1342001b1342001b1342001b1342001b1342001b1342001b1342001b1342
+00352832004c402100645910006d640a0076700400807508008a7a0d00847523
+006c69300071773f00736f3800766832006c60210062581100605512005e5314
+005e5314005f55130061571200675b0f006d5f0d0078670a00836f08008b8a0d
+00a1a42b00d0c95100cdc54e00cbc14b00cac34900c9c54700b3a84300787524
+0063581100605513005e5315005e5315005e5315005e5315005e5315005e5315
+005e5315005e5315005e5315005e5315005e5315005e5315005e5315005e5315
+00544a1c003c342a00241f39001f193d001b1342001b1342001b1342001b1342
+001b1342001b1342001b1342001b1342001b1342001b1342001b1342001b1342
+0021164000392e310051472300574d1c005e5315005e5315005e5315005e5315
+005e53150035283200281d3a001c1342001b1342001b1342001b1342001b1342
+001b1342001b1342001b1342001b1342001b1342001b1342001b1342001b1342
+002125390050441e00574b19005e531500655b0e00695d0d00685d0d005f6411
+003f4427002e2f30001d1b3a001c173e001b1342001b134200352832003c302e
+005c4c16005e5315005e5315005e5315005e5315005e5315005e5315005e5315
+005e531500493d230035283200352832003528320053442d005c632900715b2a
+0082771600afa72e00b8b43500c1c13d00b6ad3400ad9c2e009d941d007e7804
+006f6406006e6107006e5f0800726505007f72020083730700837109007a790c
+0079900800848b08007e7f370074766d00666d4d00554c370036293200352832
+00543f210059491b005e5315005e53140068420d00432f2a00352832001c1342
+001b1342001b1342001b1342001b1342001d1342003528320043342b005e5315
+005e5315005e5315005e5315005e5315005e5315005e5315005e5315005e5315
+005e5315004d432500352832001b1342001b1342001b1342001b1342001b1342
+001b1342001b13420035283200403e390060523400665e2c005b5530003b2f2f
+003528320035283200352832001b1342001b1342001b1342001b1342001b1342
+001b1342001b1342001b1342001b1342001b1342001b1342001b1342001b1342
+001b1342001b1342001b1342001b1342001b1342001b1342001b1342001b1342
+001b1342001b1342001b1342001b1342001b1342001b1342001b1342001b1342
+"/>
+<palette number="132" name="Apophysis-040426-1Watcher" data="0041070000160a160013131d00101c2400102a3400103944000d4041000a483f
+002e573d004c492e006a3c1f007c3816008f340e00b32a0c00d8200b00e6260f
+00f52c1400f4401d00e45f1d00d57f1d00a89c1e007bb920006f8b1900645e13
+00c6502e00ca372d00ce1f2d00a42a1f007a3512006f35150064351900583a1d
+003a3a27001c4b4200155748000f634f000c6a56000a715d000c7a55000f834e
+001c622800344f26004c3c24006038190075340f0082320e0090300d00c9420e
+00f24d3500db4b3200b0432500853b1900802b1c007b1b20007d291b00803716
+00753e1f00673f2f0059403f003739470016334f00131e4c0010094a003a0440
+0040033b002e1c16002b28200028352a0025392f00223e340022544800216b53
+00286a5500316554003b6153003d5a45004054380049503400524d3000594e42
+006448450047502300614720007b3e1d00783a18007537140075301200852005
+009a0b0400b9051a00d8003100e1023000eb053000f7052900fd033600fd0137
+00fb053700ed072c00c31a1b009a2e0b00952f130090311b00853c1d007f3b18
+007a2804007a1d04007a1304007a1106007a0f0800800b090085031700740925
+006a060e005e090000580d040053110800410f0b002910080022070d001c0d17
+002f1e1a003b1d0d00471c0000581700006a1301007510040094210200b11d09
+00d4250000ed0a0100e0080700d4060d00cd181300b1210800ac260000be1914
+00d51a3800cd286600c6369500dc62a200f38eb000a8b7c60063b0ae004d9e72
+0074a65e00851d25008c1a200094171b00c91a0d00d8130f00d80d0e00d1100a
+00b1250100b1230300b1220600c9170900db0d1400e9072000f7062700fd0040
+00fe036200f7143500ed113400e40f3300b8222f008a391c00801d1500ac081c
+00e10e2000e70a2600ed072c00f0022400e90d1b00cd040700a3120d007b0907
+006a0e010070030b008b031700b9012500de043700e90a2600e1161500f72b0f
+00f7160500f9100300fc0a0200f90f2900f0223400f8353400f9483400f94e36
+00f56d3900f3c49000f3f8f100fee4ca00e7c58c00d8a63b00fc6e3300fc6433
+00fa4c2300fa433400f8423500f83f3600fd323000fc283300fa253300fd1933
+00fd102f00f7092700e7023600be0a310095061c009014250075332c00535136
+0063472c00162d2b0047452e004d442b005e45260064272500531f1000472003
+005322040070391a0075412200948a2a00a3b66900fed27f00f2f78200fdf85f
+00f9d74700fa763300fd682e00e9673100d5663400926257006a475500595237
+0046593e003a604600345b4000294759000a576900155062004346810059504e
+0059464600533a3400402b35003531300034251b0040130b0041070d004d0011
+"/>
+<palette number="133" name="Apophysis-040426-1knotted" data="00972c4e0088344a008834490088354900883549008835490088354900883549
+0088354900883549008836490088354900883549008834480088334700883347
+008833470088344a008034650079348100882f6f00972a5e00972b5700972d51
+0088314700823529007d390c0082372a00883649008836490088364900883347
+008830480088114e008f204f00972f5000a52c5600b3295d00c44f4100d57526
+00fdfc5900b6d733006fb30e00618e120053691600395e17001f5419000c1f23
+000a4c0a00216a000029630e00315c1c004c50250067442f006f403800773d41
+0088384800883748008836490088354900883549008835490088354900883549
+00883549008834460088354700883649008837480088394800883a48007d3e4a
+00555332003d715b00258f8500406f61005b503e00614d3c00674a3b00774040
+008839480097325300972f5200972d51009e2c5500a62b5a00a6285b00b32461
+00b3246100b31f5f00b31b5d00b41c6000b51d6400c41b6600e9037d00fe0280
+00fe008300e3097900cb166d00b3246100ac275d00a62b5a00972c4e00972e4d
+00883247008832470088334700883448008835490088354600773c42005b474f
+0055395600883a4b0088394900883948008839480088394800883a4800774240
+00555228004c502500434f23003a561d00315e1800315f1f00554c2e00773e41
+00883a4800883549008834480088334700883147008831470088314700973248
+00972d4e008f304c0088334a0088334a0088344a0088344a0088354900883549
+00883649008836490088364900883649008835490088344a0088344a0088344a
+0088344a0088344a0088344a0088344a00883549008835490088354900883549
+008836490088394b008839490088394800773d3e00692c180031300800253c04
+00464b250056452c00673f340088344600972b4e00a61f5300a6215700a62157
+00b3215b00b31e5c008835490088354900883549008835490088354900883549
+008834460088344600883446008835460088354900883549008835490088344a
+0088344a0088344a0088344a0088344a0088344a008833470088334700883347
+0088324700883247008832470088314700883247008833470088354600883948
+0077424300674a3b0055532f0031642100288e0900007e0800007128000e6828
+001f6c1100256a1b004358240055482f0067463500773f410088384800883a4b
+00883a4b00883a480077424300773f4400883a4800883a4b0088394b00883649
+0088344a0097305000972e5100972b4e0097284f00a6275400a62a5700a62459
+00a6215700a7245d00b3245d00b3245d00b31e5c00b31a5d00b3175b00d01655
+00f3000000eb3421009c2d4400972e4d00972d4e00972c4e00972b4e00972c4e
+"/>
+<palette number="134" name="Apophysis-040426-1artdeco" data="009e8e1100f93c6100fb3d8400fd3ea800fd3ea800fd3ea800fd3ea800fd3ea8
+00fd3ea800fd3ea800fd3ea800f83b8100f4395a00f83b8100fd3ea800fd3ea8
+00fd3ea800fdd5e200fdd5e200fdd5e200fdbf9400fdaa4600fd873400fd6423
+00fd492700fd436700fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fdd5e2
+00fdd5e200fdd7e500fdd6e300fdd5e200fdd5e200fdd5e200fdd3e100fdd2e0
+00fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea8
+00fd3ea800fd3e6d00f0775500e4b13d00dcad3700d4aa3100d4aa3100d4aa31
+00fdad4900fd757800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea8
+00b91c7900461b560054145b00630d610085106b00a8137500cd267c00fd3ea8
+00fd3ea800fd3ea800fd3ea800f83b8000f4395800e4314700d52a3600a84c14
+0063710c00cab94300e3cf6e00fde59900fdefb200fdf9cc00fdf8c800fddf8b
+00998c0e008e8708008482030093890b00a3911300d1a82f00fd892e00f73b5d
+00db2d7d007f006a005a12540035243e002f274100292a45002e284d003a2152
+00a8137500d2288e00fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea8
+00fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea8
+00fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea8
+00fd3ea800f0375400f63a3c00fd3e2500fd3e2500fd462700ec4f2b00757712
+00576b1200366c1800156e1e001e68230027622800335923003a5831009e1967
+00be1e7900c6230400cb250200d1280100de2f0900f2381700fd522400fd8f31
+00fdc15e00f7ce5d00f2dc5c00fdb85500e4b13d00dbad3600fd5a2400de2f41
+00c2207b0058135c00401e5000292a4500093a3e0021502b00576b12008ac432
+00fdf3b600fdf8cc00fdfde200fdfde900fdd9e600fddfec00fdf3f700fdf9f4
+00fdfdec00fdfbd500fdedaa00fdcd7000e4b13d00d1a8300069740a004c6518
+000a3a59000d38560010375400222d490053152a007b012a008b052300900700
+008b0502007b010f007b012a00591225002f431500335923003a5c20006a3f03
+00a8141200ba1d0b00ba1d0b00b1181000a41117009a0c1c009a0c1c00ad1616
+00b61a0d00ca250200db2d3e00e6337d00fd3ea800fd3ea800fd3ea800fd3ea8
+00fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea8
+00fd3ea800fd3ea800fd3ea800fd3ea800ed367d00e9344c00f93c1f00c22106
+006a6f0b00405f1d0029401800223a1c0035243e006f076400b51a7700e41b90
+00fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea800fd3ea8
+00db148b00b90577008a046c005e0f3700471b3200354911005268150069740a
+"/>
+<palette number="135" name="Apophysis-040426-1expl_orange2a" data="009ecd2c009e8414009e7e12009e7810009e7810009e7810009e7810009e7810
+009e7e12009e7c11009e7b11009e7b11009e7b11009e7c11009e7e12009e7e12
+009e7e12009e7e12009e7e12009e7e12009e8113009e8414009e8514009e8715
+009e8c16009e8c16009e8c16009e8815009e8414009e8414009e8414009e8113
+009e7b11009e750f009e6d0c009e660a009e5d07009e5404009e4404009e3504
+009e0f11009e0a17009e051d00c21e2300e7372a00e9482000eb5a1700b97515
+009e6f0d009e6008009e6309009e660a009e6a0b009e6f0d009e720e009e750f
+009e7810009e7910009e7b11009e7b11009e7b11009e7910009e7810009e7810
+009e720e009e660a009e6108009e5d07009e5b06009e5a06009e5d07009e5d07
+009e660a009e6a0b009e6f0d009e720e009e750f009e760f009e7810009e7b11
+009e8113009e8c16009e9d1c009eae220080ad3c0063ac56004ca08b00349258
+009e8f21009e7c16009e690b009e6008009e5705009e3e02009e2723009e1d29
+00cc1127009e0c01009e1008009e150f009e2509009e3504009e5404009e5d07
+009e6c0c009e6f0d009e720e009e700d009e6f0d009e690b009e5a06009e4700
+009e2723006f1e7c00543a6b003a575b009c8b3e009e8f20009e8a16009e8a16
+009e8f17009e8d16009e8c16009e8c16009e8c16009e8a16009e8414009e8a16
+009e8a16009e8414009e8414009e8414009e8715009e8a16009e8f17009e9419
+009ec02300b3b33e00c8a65900dcb56300f0c56d00f3d9d600fddbe600f74186
+009e722c009e7b28009e7e1d009e8113009e7e12009e7810009e750f009e750f
+009e750f009e730e009e720e009e720e009e720e009e720e009e6f0d009e6c0c
+009e690b009e690b009e6a0b009e6c0c009e720e009e750f009e7b11009e7e12
+009e7810009e750f009e720e009e690b009e6008009e5d07009e5d07009e6008
+009e6008009e6309009e690b009e720e009e7b11009e8113009e8715009e8c16
+009e9121006c9337003a954d002e953f0021873a00253e2300081d4000210756
+002d2038008d371a009e4202009e5705009e5705009e5a02009e5a06009e5d07
+009e6008009e660a009e690b009e6c0c009e6c0c009e6c0c009e6c0c009e6f0d
+009e720e009e720e009e720e009e750f009e7810009e7b11009e7e12009e8414
+009e8414009e8414009e8414009e8715009e8c16009e9218009ea11d009eb420
+009ec321009ebf22009eae22009e9c1b009e9218009e8f17009e8a16009e8715
+009e8414009e8414009e8414009e8715009e8715009e8715009e8414009e8414
+009e7e12009e7e12009e7e12009e7e12009e8113009e8414009e8a16009e8f17
+009e9218009e9419009e9419009e9419009ea71d009eb022009ec922009ec92a
+"/>
+<palette number="136" name="Apophysis-040426-1heartFlowers" data="0062a04c00cff72c00d4f93200dafb3800defa4400e3fa5100e0fa4b00ddfa45
+00dace2d00e3b12400ec941c00f5771600ff5a1100f0590800e2590000dd5700
+00d9560000e24f0000d84b0000cf480000b235050096230a00871a0a0078110b
+00541b0300522e140051412500523d1500543a050053370200533400006f1900
+007f1f1a00b82d0000c33a0000cf480000c17c0d00b3b01b009fba1a008cc519
+00d5fb2e00d6fb2f00d7fb3000b9db48009cbc600098b37a0094aa9500c5b8c7
+00f5ced700f5ddca00dde99d00c6f67100b3ec5b00a0e346009de245009ae245
+0083c1200073ba120064b405005c810300544f02007449080095430e00a64400
+00ca460000cb320000bc1b0000ad040000ad040000ad0400008b110c00543c03
+00247f03002689060028940a002c7505003156000032560000335700003f4d00
+003a571400514f000075450200993c05009f400200a6440000a4410000873c0f
+00363a49001d3a5800043b6700044a5600045a450006611800228802001a9e02
+0019a8150046887700698a81008d8c8c008d8c8c008d8c8c0045838a00449488
+002ea93a002f9a3300318c2d003476250038611e005141250061372a00771d18
+00980e0c00ae000000ae000000ae000000ae000000ae000000ad04000095120a
+00514125004d462e00494b380045563b0042613f002d7c7b00438e9d00449b80
+008eb55f0065b017004f871800395f1a00514125006b480c0099410c00ad4a00
+00ad4a0000ab470300aa44060092400f007b3c180051412500502d3000561b45
+00650b5800e5004a00f2084600ff114200ff114100f9002000fc001000e2001c
+00b5060400b70a0700ba0e0a00bd290000b9430000ad4a000098624900978c74
+008d8c8c00dac4ca00e6cfca00f3dacb00f0d8c900beb4c5008e9ca400b1797e
+00a429220093391f0083491d006ab218005db8240052b8210031940c0008651d
+00185a2f0033424400403c420062305600681b710060337f0047698700458393
+0077726200635e50004f4a3e00494b36003f501a0038570c003f501a00514125
+007a231a009f272100a4292200a4292200ad040000ae000000ae000000ae0000
+00ae000000ae000000c9001e00f1001200ff231100ff2d0e00f9410000f43700
+00ff240a00f6300000e6330000a82a230061372a004c4a46004a6c5900398081
+004385a500438da5004286a600476e8700681b710060135200521c2f0054031d
+00701c1700701c17007f1f1a008e231d00a4292200a82a2300a92a2300a92a23
+00ad040000ae000000ae000000cf001b00ee002100ff131000ff190e00e2382f
+00c7555200cb828000dc808000e5445900d9375100cb002300aa0027009c1c23
+00621656006622750046438b001d4b6200045e4b00405f37003f643b003b6456
+"/>
+<palette number="137" name="Apophysis-040426-1H-bird1g" data="0099cb30003a57410054764e006e965b008b7d3f00a8642400b0621c00b96114
+00a84c0200a82b0600a80a0b00a8130e00a81c12009e351400944e1600945420
+00945b2a00b97a3500c1813500c9883600d0823000d87d2b00d07f2d00c9822f
+00b97a35007c85330040903100307f2500216e1a0021651c00215c1e00214018
+000e5003003a5705003a5723003a57410030624700276e4e00306149003a5544
+0069375f0081276d0099177b008e147e0084128200791270006e125f00401b72
+003a7c80000e625c000b5b4e0009554100096720000979000018860000279300
+006eb61b0076891f007f5d23006853380052494d003c545700275f61000e7665
+00278c4a0084bf190098ca2600acd53300c2b53b00d8954300c97c4600a82a36
+00ac388d0098348d0084308e0084398e0084438f0084528d0084628c006e5186
+00693d560094343200a61b6000b9028f00c8079100d80d9300d8105a00d81154
+00c9121300c91a0c00c9220500c93f0a00c95d1000d8642e00c96f1e00a85e18
+00943c05006935160045422c002150430024564e00275d5900407f5000579c3d
+006ea54700938f4300b97a4000b9804200b98644007f9165006e965b00578654
+00408a4100278c2100278b1b00278b15000e8417000e7f150027861800278017
+0052520600306614000e7a23000e7b22000e7d210009771c0009652900096135
+002155270069450f007e491200944e1600a8521400944e1b007f3c1600693511
+00691a1f006b0f20006e0521006b06260069072c004008460040084700270843
+0027033f00270e4500180b480009094b00210249002704420027083e00210248
+00270e5300271156002714590021204c00273f4a00275f5c00275f6400276055
+0040554a00a8642e00b0723200b9803700b9a72000acd53100accc4700acac70
+0069b2a10076ab7e0084a55b006eb527006eb5270057aa200040933200409037
+00408a41007f6e2400a85e1d00944e160069481d0057351b0057301e00270432
+00271130002714260027181d00270f010027142f0027043200270e4100092056
+00092c52000e322c0009790400097900000e7d200027813000408d3c006e9e51
+0084a15f0099ab6300aca76f00ac829100ac3e7c00942d5a0084224400570e4b
+00401445002726410027354000403375006e637c00577d5d006e9a500099ca33
+0084c120006eb51000409e0000278f1200278b1500278e1c00278c2100278c21
+00278e1c00278916003a6c230069631900695d0d00694406007f2b0f007f2a09
+00942b04007f2b08006944060069380c0069311a00691728006e051d007f0723
+0084181800941c0a0094180e0094121a00990b5800b9079100b90b9400c9189d
+00ac268e00ac3e9200ac44a300ac3e8b00ac447f00b98f5900acc45400acd044
+"/>
+<palette number="138" name="Apophysis-040426-1Emergence2" data="00d29f7400af978b009f857800907365007c69680068606b00625e6c005d5c6e
+0063546b0065466900673968007a4175008d4982007c5d84006b7187005e6a84
+0051648200576274005b6059005f5e3f003c3920001a1502001a1502001a1502
+00151402001513010016130000181402001b1505004114180068142b009e1c24
+00c5152200c71a20008e19210056182300361613001714030018150400191605
+0076453e007f484c00884b5b00704e6a0059517a002e498a0004419a002f708e
+004a8c9800059afe002a94cd004f8e9d0064886d0079833e00817f2700897b10
+00b3ab0200c8ba0500deca0900ddc80900dcc70a00dcb31900dca02800cf9c0d
+00a4801f008153460079535400725363006c64560066764900737a2c00887330
+00be2c2d00982e4b00723169006d249c006818cf008337a9009e578300be944a
+00cf9c0f00d09b0d00ceb30d00cccb0e00a1e0080076f603005ee7110019e43b
+00707f08006a69040065530100534b0100424301001a1502001a1502001a1502
+001b1603007a343e008d2d4400a0264b00b61b3d00cc113000d40f2a00bc0730
+004f172000341611001a1502001a1502001a1502001a1502001a150200523a0c
+0083561300e3760d00eb660e00f4571000f6541300fe551400f7541100f65511
+00c09c2400c0a14000c1a75d00caa56c00d4a37b00beb37100978057007b6558
+00635552007b4c5c007b5260007c586400905a7100aa445900b01a4a00d41950
+00d4051500e41c1400f5341300f5341200f5351100e9241400e11a1500d0162d
+00a2232c008b2648008e363d0091463300835114007b630d006f6621006b6541
+00685a51006e60550075675a00b3ae760076a47500a42328008a4572007d6682
+00697a8c004f8180003d8680002c8c8100388f7c004e8c7d00658c4b00887516
+00bfa40b00cac80a00d6ed0900dbf10800dcef0a00d6ed0b00ccd00a00b9ad03
+009a8b0e0062a9430000a15d000fe9af0006e3c20019e7e7001cf9d80013fac4
+008d9a880098946600a48e4500b3883900bc761e00ac611d00684f0f001a1502
+001a1502001a1502001a1502005c4f25007c60310091925000c0bb5d00f2d344
+00e6de3d00cebc3400ac8b24008d8f4e00639c3e0075a53f0089ac3600cdcd0b
+00d8ed0c00dbed0b00deef0a00f7e80900f9e70b00f8e30c00f1e20b00e5e002
+00dbc80a00ccb61500af7b2f009179310062705f005d7f6f0050797b00477d59
+003b7159001e1d08001a1502001a1502004313110072193700b62b2800e73d0c
+00f5541000f6550f00f45b0b00e4770e00e4770e00e37a1100e17b0f00d2990c
+00ce9b0c00bf782000c6703700a858330094453400801b5f00b2186e00dc1951
+00e1432000e3780e00d09c0b00ddcb0900ddef0d00e7e93d00d4bb6100d8b36f
+"/>
+<palette number="139" name="Apophysis-040426-1Egg" data="00742f3c006f32190071302a00742f3c00742f3c00742f3c00742f3c00742f3c
+00742f3c00742f3c00742f3c00742f3c00742f3c005a4f6400406f8d00497792
+00527f980079a2b1007ea7b40084acb800aabfc600d1d3d500b0c2c9008fb2bd
+006ea1ad005d98a3004c909a00605f6b00742f3c00742f3c00742f3c00941f04
+0085270700742f3c00742f3c00742f3c00685c6e005d89a0006590a5006e98aa
+0084abb80087adb9008aafbb008aafbb008aafbb008aafbb008aafbb008aa8b9
+0084acb8007fa6b4006e97aa005d89a0003f6e8d0021537a001b386800151d56
+00340041003a053d00400b390037083f002e054500240e4b001b1752000f235a
+000e416e00336485004e7b96006993a7006993a7006993a7005d89a000467491
+00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c
+00742f3c00742f3c006629330058242a00521e2d004c183100400b3900400b39
+00280b4a0015205800023566000b3e6c001547720015477200154772001b4d76
+001547720009295e001b1751002e05450037083f00400b390046123500521e2d
+00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c
+00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c
+00742f3c00742f3c00742f3c00742f3c00742f3c005e2a260058242a0058242a
+00521e2d0046123500491533004c18310028554e00406f8d005d89a000749dae
+0084acb80087adb9008aafbb008aa9b9008aa4b7008a96b000742f3c00ac131a
+00be0a2b00db024a00ec0a6800fd138700ee0c93008a5280004c7a9500467491
+00157579001b64790021537a0021537a0027587e003a698900467491004c7a95
+0046749100277e8400277e8400277e8400468d9700638ea3006993a700699faa
+00468d970036858d00277e84000e717400026b6c001b4d76001b5c5700464638
+00742f3c00742f3c00742f3c0058242a00521e2d004612350021114e0009295e
+0021585300394c410052402f005e2a26005e2a26005e2a26005e2a26005e2a26
+0058242a00521e2d004c18310046123500400b3900400b39003a053d003a053d
+00400b390046123500521e2d0058242a005e2a2600742f3c00742f3c00742f3c
+00742f3c00742f3c00742f3c00742f3c008a6e9500749dae007fa6b4007faab6
+007fa6b400699faa004c909a002d5e8200344f4600742f3c00742f3c00742f3c
+00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c
+00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c00742f3c
+00742f3c005e2a260058242a00344f460027587e003a6989004c7a9500527f98
+004c7a9500406f8d003364850047465100742f3c00742f3c00742f3c00742f3c
+"/>
+<palette number="140" name="Apophysis-040426-1PenEgg" data="0080235600802356008023560080235600802356008023560080235600802356
+00802356007e2553007c2851007d5d52007f9353009ead6300bdc77300acbb83
+009bb093007f80a7007f6481007f495b007f3658008023560080235600802356
+008023560080235600802356007f2443007f25300095241e00ac240c00ce1601
+00de000000b622090099190f007c101600741625006d1d34006d1c34006e1b35
+0080235600802356008023560080235600802356008023560080235600802356
+00be1e3c00fe693c00f88c4500f2af4f00b4af690076af8400649f8f0052909b
+007f2457007f2356008023560080235600802356008023560080235600802356
+0080235600802356008023560080235600802356008023560080235600802356
+007f2b4d0073443c00685d2c005e762300558f1b00477020003a512600126f76
+0018737a0006635500083346000a0337000a0439000a063b00100a3f00281648
+007c224f007e225200802356008322590086215d00d2007200f543bb00e5007f
+007f017a00802356008023560080235600802356008023560080235600802356
+0080235600802356008023560080235600802356006c2d4a0041214500221548
+00160d42001f1145002d1746003b1d4800512644005c284000722e31007f3b14
+007f3d1300772d2a00701d410078204b00802356008023560080235600802356
+007c255600370c4700370a380038092a002301170020011700350306004d1116
+006a1b3800751f47008023560080235600802356008023560080235600802356
+007f4276001a78840019767f0019747b0009615300364a48004b3640007b2851
+0080235600802356008023560080235600802356008023560080235600802356
+00801f53007f0f1300851d11008c2c0f00a02c0200a52b1200822e3900802356
+0080235600802356008023560080235600802356007f2455005e293f005a3c29
+002e5a0800364a140046232d0053141d00593e20005e6120005b911400639a1a
+0065403e0069363a006d2d3700735e440081783200a5974b007f8b3c00fbe483
+00f1b44e00e3d74a00d4d45100d2d6520090ac4a007f954d007f7e60004d8d99
+0057929d00669ba0009fb7bd00c5c69e00eadec700d9d59300fce68500f0b34f
+00fa934800fd884600fd673a00fb533100f5262200b0240c00592d1400464200
+001d3e1b000d27200010042f00120042001b00430042114b0066205300802356
+0080235600802356007b204e00451649002f184800211245002c18330053141f
+005e162a007f1c080085301b008d2f1500b3250b00c7331d00aa2a14007f0524
+007f0429007f0339008023560080235600802356008023560080235600802356
+0080235600802356008023560080235600802356008023560080235600802356
+"/>
+<palette number="141" name="Apophysis-040426-1kaosGothic" data="00991a1600e9dda400abbe86006ea0680052524400370421001e042100060421
+00257b4300257b4300257b43001a6d3500106028001f5820002f5019002f5019
+002f5019002f5019002f5019002f5019002f5019002f5019002f5019002f5019
+005e38010046440d002f5019002f5019002f50190046440d005e3801008b2213
+008f2015008b2213008b2213008b221300742d0a005e38010067340300703005
+008b2213008b2213008b221300852510007f280d006e3007005e3801005e3801
+005e3801005e3801005e3801005e3801005e3801005e3801005e3801005e3801
+005e3801005e3801005e3801005e3801005e380100742d0a008b2213008b2213
+008f201500b10f2600c2082e00d4013700d4013700d4013700e4083f00e4083f
+00f9134900e60a4000d4013700af1125008b221300742d0a005e3801005e3801
+008b2213008b221300852510007f280d006e3007005e3801005e3801008b2213
+008b221300742d0a005e38010049430b00344e16002f5019002f5019002f5019
+002f501900257b430057945c008aad75009db77e00b1c18800e9dda400f0e1a8
+008aad75006098600037844c0037844c0037844c005d4e39008b221300b50d28
+00d4013700fb144a00fb144a00fb144a00fd154b00dbd69d00f0e1a800fce6ae
+00f0e1a800f67b7900fd154b00fb144a00f9134900eb0c4200d4013700b50d28
+00b10f26008b221300742d0a005e3801005e3801002f5019002f5019002f5019
+00106028000b652e00066b3400066b3400066b3400106028002f5019005e3801
+005e3801005e3801005e3801005e3801005e3801005e3801005e3801005e3801
+002f5019002f5019002f5019002f5019002f501900414710005e3801008b2213
+00b10f2600b50d2800b30e2700b10f26008f2015008b2213008b2213005e3801
+008b2213009e181c00b10f2600b50d2800b50d2800b50d2800b10f26008f2015
+008b2213005e3801005e3801002f5019002f5019002f5019005e380100703005
+008b2213008b2213008b2213007f280d005e3801005e3801008b2213008f2015
+00b10f2600b50d2800d4013700d4013700c9033200b10f26008b2213005e3801
+00414710002f5019002f501900106028000e703800066b3400106028002f5019
+005e3801005e3801008b221300b50d2800d4013700d4013700d4013700be082c
+00b50d2800b50d2800b10f26008f2015008b2213005e3801002f5019002f5019
+002f5019001060280002662f0010602800106028002f5019005e3801008b2213
+008b221300633600005e3801005e3801002f5019002f5019002f5019005e3801
+008b2213008f201500a8142100b10f2600b50d2800d4013700e4083f00f91349
+00fd154b00fd154b00fd154b00f9134900eb0c4200db043a00b50d28008b2213
+"/>
+<palette number="142" name="Apophysis-040426-1KQNova" data="0052532700c65c6000c85b4d00cb5a3a0094521f005e4a0500554610004c431c
+00022c2a000e2e36001a31430039243500581828005b232b005f2f2f0056302c
+004d3229007db3150091b62100a5ba2d00b3b83300c1b63a00bdad3700baa435
+00a7993000b98a2400cc7c1900e5571700ff321500ed1e1200dc0b1000b2050b
+00a7170e00c21f0000de370d00fa4f1b00f4633200ee784a00ef754900f17249
+00a82d0c00a32210009e171400a00d0a00a3040100a50a0200a7110300c51b02
+00d80d090099121800971c370095275600bc135d00e4006400e6045a00e80851
+00eb2c1000f22d1b00f92e2700f93f2d00f9503300fb5c5b00fe688300ec797c
+00f56d6100f69b3000e99a4000dd995000eb9d9500f9a1db00e6cfd500dacbb4
+00dedcc700dee0d700dfe4e700eceee100faf9db00f8f7d900f7f6d800fdeab2
+00fbcfa200fd83bc00f7947e00f1a64100f2b23f00f4bf3d00fbee5200fcfd73
+0095bfbd0064a5a500348c8d00308884002d847c0062af450064b010004aa404
+00348a0d0020643300306b400040724d005d7144007b713c0081753b005c6139
+007a334100954c4500b1664900a8773700a088260099570000805300008a3e00
+00862f1c006f392f006b512200686a16008b9f2c00cc834e00e6545400f71374
+00e50b9600bc227500933955007548610057586d004c5a6300455e5a003a2b4c
+00152e42000e5e7500146e7c001b7e83001a8784004a6d5900345f4c0056414a
+007f1023007b121f0078141c00750e1700730812004c021d0021013200071343
+001a3b5a0098489d00ab48a200be48a800b92d9600b11d7b00a42677007e2263
+005610560050135b004b1761007a428b009a4d9f00857091008da3b000a8c7c1
+00d4e1b600fcd2a200f0e29b00e5f39400e1ef4400e8c14000e6b23800e1b83a
+00d1c34900c3ce7000b5da9700e2edb100e1eabd00f5f7d200fcf4f200fcc2e8
+00fab5e200eebcdf00e7bad700dbaec500aba1a9007e8d7a0084892b00696c15
+00a87c1900ad811c00b3861f00cd651000e78b2600f8953000f4ba3c00ecc441
+00f6db5000f7f64e00eccd4100f8ab3500f8734600fd125d00e8077100d80578
+00d50d9400db0f9200df55b400fd84ba00fd91cf00f3a5cd00cc9ec30091adae
+006fa2a600749b6f008e9b31007aaf2300649923003fa01b000f671900034718
+00033a27001a541900335813002944010034250400401b010056070a00641b36
+008a3d5100838438009fb3500092a13c0062703300274f440009362f00022d24
+0009361f0016291500161a19001c001b0056070d005608080069010c007a2423
+0084363400701443005c0235005d0919006910020074350c004f440c00574c1f
+002f751d00449d07005ca50000568900002f6d22001e572c004c3b4100988c28
+"/>
+<palette number="143" name="Apophysis-040426-1kaosframe" data="00f9fab9009ecca800728d7900464f4a003e434700373844003e434500464f46
+005da7900068ae940074b698009bcb9e00c2e0a400d2e08b00e3e17300d5d766
+00c8ce5900e3006300cd066200b80c6200cd766a00e3e17300e8e57900ede97f
+00fbf5a000fbf5a000fbf5a000efeb8900e3e17300d5d96600c8d15a00a6115f
+00a6115f00b1230400b1230400b123040092301800743d2d00684134005d463c
+0037334600324753002d5b6000458278005da990005da892005da7940074b49c
+009eccb100d1e8bd00e1f0bc00f2f8bc00f8f9b500fefbaf00fefbaf00fefbaf
+00fdfaae00f7f9af00f2f8b000e1f0ae00d1e8ac00c9e4a800c2e0a400b1d69c
+008ac098005da4930068706000743d2d00743d2d00743d2d00743d2d005d4638
+002d5932003e423f004f2b4c00662451007d1e570087185c0092136200c80769
+00ed016100e9092b00dd0f1f00d1151400d1151400d1151400d1151400de0f20
+00fd004700e70a2d00d1151400b72012009e2b1100c8ce5900e3e17300ede97f
+00ede97f00d7d55600b0ca71008ac08d0094c69a009ecca800c2e0b000d1e8b2
+00e9f4b200f3f7b000fdfaae00fdfbaf00fefcb000fdfbb500f2f8bc00deeebe
+00deeebe00f2f8bc00f5f9ba00f9fab900fdfbb500fdfbb500fdfbb500fdfbb5
+00deeebe00d0e7bc00c2e0ba00b9dbb300b1d6ac008ac0a20074b49c0074b497
+0074b49c009ecdad00b0d6ae00c2e0b000d1e8b700d1e8bd00d1e8b200c2e0b0
+0074b49c00508669002d593600336223003a6c1000464f09005d4638005d4638
+005d463c005d4638005d463a005d463c00464f46005da4930074b49c009ecca8
+00deeebe00e3f1be00e9f4be00f2f8bc00f9fab900fdfbb500fdfcb500fdfcb5
+00fdfbb500f2f8b600edf6b400e9f4b200deeeb200deeeb200deeeb200e9f4b2
+00f2f8b000f5f9ae00f9faad00fef8a800f9f9a600fbf7a000fefba300fefba9
+00fef8a800fbf5a000fef89c00f5f28b00f5f08a00ede97400d7d86700f50364
+00fd004700f3043900e9092b00d1151a00f2c84900ede97900f5f08a00f5f096
+00deeeb200deeebe00deeebe00deeebe00deeebe00e9f4be00f2f8bc00f9fab9
+00fdfbb500fdfbb500fefbaf00fef8a800fbf59900f5f07900e3e17300d7d861
+00b8c24b008a341f00b1230400c21c0800c21c0800d1151400d1151400de0f20
+00e9092b00f2043c00fe024f00fe035500fd004700de0f2000d1151400c21c0d
+009e2b1100743d2900743d2d00743d2d0092175c00a6115f00c8076300ed0161
+00fb035a00fe035500fe024f00fb035a00fb036000ed016100b80c6200a6115f
+00672452004f2b4c006724560092176000b80c6700e3006900f5035e00fe024f
+00fe035b00ed016100b80c62007d1e57004f2b50004f2b50006724520092175c
+"/>
+<palette number="144" name="Apophysis-040426-147KaosRing" data="0052510400524c060052341700521d2900521e290052202a0052302f00524135
+00525e3f00526140005264410052573c00524a38005236310052232b0052202a
+00521d2900521d2900521b2800521a2800521a2700521a2700521a2700521a28
+00521a2800521d290052202b00523d3d00525a4f005257460052553d0052292d
+00521d290052142600520d24005207220052061f0052051d0052041f00520421
+00520a2300520b2300520c2300520e1e0052111a005212190052141900521819
+0052270f00525204005252040052520400524a070052420a0052311a0052202a
+00521d2900521b2800521a280052182700521727005217270052172700521727
+0052172700521526005216260052172700521727005217270052142600521426
+00521426005212250052102500520e2400520d2400520d2400520d2400520a23
+00520a2300520e1a0052151700521d150052320e005247080052510400525403
+0052550300525503005255030052550300525503005255030052500500494c2c
+0052232b0052202a00521d2900521a2800521a2800521a2800521d290052202a
+0052553c00525e3f005268420052694300526b44005264400052503900754533
+0052232b0052172700521526005214260052102500520b2200520b1b00520e1a
+0052081c0052091f00520a2300520b2300520d2400520d2400520d2400520d24
+00520d2400520d2400520e2500520f2600521025005214260052182800521d29
+00524e050052490700524409005232190052202a00521d2900521a2800521727
+0052142600520d2400520b2300520a230052072200520421005201200052001f
+0052001f0052001f0052001f0052001f0052001f00520120005201200052051d
+0052081c005214190048180c003f1d0000524807005251040052540300525503
+0052520400524b0600524408005219190052111a00520b1b0052051d0052051d
+0052051d0052051d0052052000520a2300521025005217270052202a00524737
+0052774700527a4700527d48005293500052a3530052ad580052b45e0052ad59
+0052a5560052925000526d440052613c005246370052202a00521d2900521d29
+0052202a00523a3400525d3e00527c4800528d4f00529d4e0052814a00526d44
+005e571500525304005255030052550300525503005254030052510400524209
+0052202a00521d2900521a2800521727005214260052102500520a2300520421
+0052031e0052031e0052031d0052051d0052081c0052081c0052081c00520b1b
+00520e1a00520e1a00520b1b0052081c0052081c00520a2300520d2400521025
+005214260052172700521a2800521b27005229140052470800524e0500524e05
+0052420a0052232a0052232b0052533b00526d4400528d4f00af9a6b00af774f
+"/>
+<palette number="145" name="Apophysis-040426-147Fighting_Fish" data="00acd4c800d4e25c00d4d34800d4c53500b2c5350090c6360062af220035980f
+003b722d00769a5a00b1c38800aecba800acd4c800acd4c800acd4c800acd4c8
+00acd4c800acd4c800acd4c800acd4c800c0dc9800d4e46800d4de5800d4d849
+00d4c53500d4d24500d4e05600c0da8f00acd4c800acd4c800acd4c800acd4c8
+00acd4c800acd4c80070b66b0035980f0035980e0035980d0035980d0035980d
+002f95100032822000356f3000356f2700356f1e00328218002f95120035980f
+00d4be3100d4be3100d4be3100d4be3100d4bf3100d4c13200d4c33300d4c535
+00d4d63c00d4dc4500d4e34e00d4e04a00d4dd4700d4dc4400d4db4100d4d33a
+00d4d43c00d4e35f00c0db9300acd4c800acd4c800acd4c800acd4c800acd4c8
+00acd4c800acd4c800acd4c800acd4c800acd4c800acd4c800acd4c800acd4c8
+00acd4c800acd4c800acd4c800acd4c800acd4c800acd4c800acd4c800acd4c8
+00b6c78b0093af6b0070974b0055843f003b723300477a340090ad5d00acd4c8
+00acd4c800acd4c800acd4c800acd4c8009ec09e0090ad7500356f49002f6933
+002f692d002f7f1f002f9512002f9510002f950f002f950f002f9510002f9511
+00356f1e00356f4f006c946100a4ba7400acd4c800acd4c800acd4c800acd4c8
+00acd4c800c0d98e00d4df5400d4d84900d4d13f00d4c73700d4c13200d4c132
+00d4c13100d4be3100d4bf3100d4c13200d4c13400d4cd3c00bac97400acd4c8
+00acd4c800acd4c800acd4c800cee2ad00f0f09300e9f36500d4e75c00d4e555
+00d4e15b00d4e55d00d4e66300d4e86a00e4e79800acd4c800acd4c800acd4c8
+00cad49600cfd88000d4dd6a00d4cb3d00d4be31006a923b003b722d00356f30
+003b723300acd4c800acd4c800acd4c800acd4c800acd4c800acd4c800acd4c8
+00acd4c800acd4c800acd4c800acd4c800acd4c800acd4c800acd4c800acd4c8
+00acd4c800acd4c800f5f99e00fcf9a600fdfb9b00f4f39500d4e25d00d4c334
+005e8a4100497c3c00356f3700356f3000356f3000356f3000356f3000356f30
+00356f3000356f3000417731009fb66500acd4c800acd4c800acd4c800acd4c8
+00acd4c800356f6000356f4900356f3700356f3700356f37002f694500356f65
+00acd4c800acd4c800acd4c800acd4c800acd4c800acd4c800acd4c800acd4c8
+00acd4c800acd4c800acd4c800acd4c800acd4c800acd4c800acd4c800f3f8a3
+00fdfbad00fdfca700fafb9a00f2f8a200acd4c800acd4c800acd4c800c2cf73
+007b9e3f00477a17002f691400356f0800356f03002f95000035980100359804
+002f9508002f950f0035980e0035980c003598040035980c0035980c0035980d
+0035980f00d4be3100d4c93b00d4e25d00dbe19300acd4c800acd4c800acd4c8
+"/>
+<palette number="146" name="Apophysis-040426-147ReachingMoon" data="00271164002e2b2d003d2c29004c2d2500432f26003a3128002d2b2c00212531
+00080250000b0151000e0053000e0053000e0053000e0053000e0053000e0053
+000e0053000e0053000e0053000e0053000b015100080250000b0b48000f1540
+00524317008f6d2800cd983900d7a64c00e1b55f00e7bb6600edc16d00edc16d
+00f5bf5e00f7c86a00facd7100fdd27800f7cf7800f2cd7800f7d17800fdd578
+00fdf8f600dfe5c900c2d39d00b2a85d00a37d1d0096771a008a7118006f5406
+00584c0c0069520800836511009e781a00ae882700be993500cca34400dbad53
+00b5892b00896c1b005e4f0b0042303700271163002711630027116300271164
+0027116400271163001a085b000e0053000b0151000802500002094b00091242
+002125310027282f002e2b2d00343126003a37200037322500342e2a002e2b2d
+00212531000f1540000c1341000912420009124200091242000f1540000f1540
+0028282f00212135001b1b3b0015183d000f1540000f15400009124200091242
+000912420002054e0005034f0008025000080250000802500002054e00091242
+001b1b3b0012163e000912420009124200091242000912420002054e0002054e
+0002094b001b1b3a00242333002e2b2d003a372100463d1c00584316005e4f0a
+006f5d03007a650b00856e14008f761c00997e24007baf6d00ac969f0075b6b4
+006ab49b00592b3a00401e4e0027116300271164002711640027116400271163
+000e0053001a085b002711630027116300271163002711640027116400271164
+00271164000e0053000e0053000e005300080250000f1540002125310034282d
+006f57050086670f009e781a00b1903700cda146009abd7a0063af900035998f
+00108774001b1b3a001e2035002125310021253100342e2a00463d1c00524018
+00695b0100695b0100695b0100584c0c00584316003a31280028282f00211e38
+001b1b3a0009124200091242000912420002054d0002054e0008025000080250
+000e0053000e0053000e0053000e0053000e0053000f15400021253100342e2a
+00463d1b006f5705008f6b0d00a37a1b00c2681300de641600f2772300f9973a
+00f89c4200fda54a00f9973d00f78f3700ce7b2300a37d1c00745a0300584c0c
+00463d1c00411216000f1540000802500008025000080250000802500002054e
+0002054e00080250000802500008025000080250000802500008025000080250
+000e0053000e0054002711630027116300210e61000e0053000e0053000e0053
+000e0053000e00530008025000080250000e0053000e005300080250000e0053
+000e005400210e610027116300271163002711630027116300210046001b1b3b
+0028282f003a312800463d1b00584316006f57050099761900d16a1700f72918
+"/>
+<palette number="147" name="Apophysis-040426-163KaosScepter" data="00e6822400d95d2900c4601d00af641100a25e2200965833007f4d2f0069432c
+0069432c0069432b0069442a008a541e00ac641200bc6c1700cd751c00d97b1f
+00e5812300e6822400f0782600fb6e2900fa6d2400fa6c2000fb6d2300fd6f27
+00f6882700f2862f00ef853700ed757600eb66b500eb66b600eb66b700d35bb4
+008b526300392e2c00202121000715160004101400010c1200020c1100030c11
+000a07100018140a002722040030180e00390e18003a0d17003b0d1700350b0c
+002a070e00390e18003a1d1f003b2c2700623f4500895363009d5c7500b16687
+00ea81bc00eb837a00ec853800e2713100d95d2a00c9562900ba502800ac6412
+009458340069432c0069432c0069432c0069432c0069432c0069432c0069432c
+0069432e0068342800672622007d3e2a00935732009457320096583300bb6b36
+00b2678800eb84cd00f287d000f98bd400f287d000eb84cd00eb84cd00f98bd4
+00ff70cc00e966c000d45cb500c3539a00b34b80008e3660005d3d3e00335a25
+00376e1a0036980f00707f1100aa661300bb6d1700cd751c00d95d2a00ba4e2a
+00945833007e4d2f0069432c007f4d300096573400ac641200ad651300cd731b
+00cd751c00d87b3800b78d6100969f8a00e6e1bb00eef1c400fcfcca00fcfbcb
+00f78acb00c260a4008d377e00772c5c0061213b00352844003a2c29003b2c27
+002e2516003d2c25005337280069432c0085500a00a9651200ae621400965833
+0069261e00622212005c1e07004b2517003b2c270035442d00345b240069432c
+0096583300e5812100e5812200e6822400e6822400f68a2800e6822400e68224
+00d35a9d00d469ad00d578be00eb84cd00eb84cd00d37abe00b1668700bb6b36
+00cd751c00e6822400e6822400e6822400f7892a00f78a2f00fa8a3400fb8b35
+00fb8b3500fc8c3300fe8d3100f7892a00e6822200cd751c00ac641200883503
+00883501005839000035241200352414003a0f1900320b3800320b38000c1323
+00000e1500000e1300000e1100010c1000030c11000c121e00251c3b00271c3e
+0034274300342d34003b2c27002d26160028230500282208002e2516003b2c27
+005f3d3e0090568900d378be00eb84cd00f98bd400fa8cd500f98bd400f98bd4
+00f98bd400fb8bd500fd8ed300fd8ed300ff8dd300fd8ed300fb8acc00f96ec1
+00eb66b500ec853800ef853700f7892a00e6822400cd751c00ac641200865006
+00593a03003b2c270033294400653f6800b44da000d45cb500d578be00eb84cd
+00ff70cf00ff6fce00ff70cc00fa6dcb00ec67c400d35bb400b34c8300895363
+005f3d3e0035442d002d26160027230600090911000b081100320903005b1d06
+00593a0100583a0000573a0000342512003024140027220500272306003a4606
+"/>
+<palette number="148" name="Apophysis-040426-163KSphere" data="00b6ba8c0080bb4e005aa7530035945900387959003b5f59004760590053615a
+00955f57007c534d00644743005b45370053442c0053421c0053410d005b3f0b
+00643d0900533b0b00372a15001c1920001c1718001c1611001c1c09001c2201
+000a250000132303001c2207001c2717001c2c27001c2c27001c2c2700223519
+000a3d1e000a4226000a3c1b000a3710000a340f000a310e0016341300223818
+00227a1d002b7e150035830d0044730900536406005b5e130064592100804e3e
+0095656500a4cea200adc99f00b6c59c00beb57b00c6a65a00c6a65a00c6a65a
+00c6a05900958d5100647a4a004c6e470035624500385b44003b55430053615a
+0053675c00646a380067552c006a4020005e4229005344320053442c004d531d
+008075190094951e00a8b52300a8b12400a8ad2600a8a62a00a89f2f00958a22
+00806f1c007b480600724112006a3a1e006a3d1f006a40200080572f00955542
+00a8724500a8803c00a88f3300b7932a00c6982100b6781100b66f2000c66819
+00c6712200e18e2500d3943800c69b4c00be944700b68d4200a87e3e00a46c22
+007b450300674f0200535902005b6f0100648601004d8b03004d6c15004d693d
+0053615400535b4d00475b4e003b5b50003b554900534a45003b381a003b381a
+003b220100472e0600533b0b00473912003b381a0035471d00354c1f00354717
+0035471d002268450022654d0022635600225e54001c5639000a523d000a523d
+00224328003a3a1e00533114005e351c006a3a240080483c0095655f00956b6d
+006a7ca000358173002b766d00226c68000a6057000a5d31000a622e00225126
+003b503b003b523f003b554300355d370022493600224022003b410d00534705
+006a6a090080bf34008ac22d0095c52600a4c45100a8d24d00e1c94700e1a34d
+00e1be6b00e1cc8500e1dba000e1efda00d5c5db00d5deb900b6d47400d5cb55
+00d5c75300d5a85500e1913600a8833a00a4783500b6691e00a46015007b5215
+007b4e0000725607006a5e0f008063220095683600a47e3c0090804200a86f75
+00a8625f00954f4000906222007b4b0e00643707004d310c0035350500353b0d
+001c4621002249360022594d003b655900537f7800649c940090c6c000c6b5d0
+00a8bbb90095a58a0064b14e004d6e4500534a34006a432d0080483600b61c43
+00a8198000a4467000a44d78006a676400537682003b497b00224361000a4d35
+000a2228000a1024000a1024001c1c0f002219080022250000352808003b2201
+003b2c0a00353505001c2f0100224210001c4621001c4b29001c672600226845
+00225e540022596000225e4f00225948003558350035651f004d531d006a461c
+006a4c1f0080632200806f1c00957f280095683600908b4b00909a6300d5e390
+"/>
+<palette number="149" name="Apophysis-040426-163KInterseed" data="0005050500020202000101010000000000000000000000000000000000000000
+0001010100010101000202020002020200030303000404040006060600060606
+0007070700080808000707070006060600040404000202020002020200020202
+0002020200020202000202020002020200020202000202020002020200020202
+0002020200040404000505050007070700070707000808080008080800080808
+0006060600040404000303030002020200020202000202020002020200010101
+0000000000000000000000000001010100020202000404040005050500070707
+00250510006c313500b45d5b00d9a85400fff44e00fff94c00ffff4b00ffff53
+00ffff5b00e2e159008ff040003dff270079d73c00b5b05200f4e35f00a39153
+0043351700251e0f000707070004040400020202000101010001010100000000
+0000000000000000000000000000000000000000000000000000000000010101
+000404040006060600090909000a0a0a000b0b0b0030301f0074663b0073b988
+00ffffb400d5cc430077bc2a0019ac1100188d2c00186e4700272f2a000b0b0b
+0004040400020202000101010000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000101010002020200060606
+000b0b0b00a3079c00ac4f9300b5978a0097a6a200b7ffff00fff2fc00ffffbb
+00f6ef5100b79a3c007846270056391900342c0c000a0a0a0006060600030303
+0001010100000000000000000000000000000000000202020003030300050505
+0006100000094405000c790a0015ac110037fc20001cb4180014950d00164d21
+0003140900030303000202020002020200010101000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000010101
+0002020200050505000808080009090900110a2300294c460042725100128768
+00014b3a0012091e000909090007070700040404000202020001010100000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000001010100020202
+"/>
+<palette number="150" name="Apophysis-040426-163XmasFlwers" data="00dcfd2e00fe8e2200fd611100fc350000fd250800ff151100fd0a2200fc0034
+00f0003600f3002c00f6002200d1001500ac000900711217003724260042292c
+004d2e33001f4f4f002b59360037641e00345d0f003156000033580100365a03
+004e4026006d3e1b008c3d1100b4310800dd260000ee160700ff060e00ff000b
+00f0001600ac0009007d1504004f2b00004f3e02004f5105004f4e0900504c0d
+004e1f33004f0f2a00510022005119110052330100413b040031430700284605
+000058130044a0100034a51f0025ab2f00339f670041949f004195940041978a
+00465246003f59300038611b003b5814003f500d0048420b0051340a00500d0f
+004b001000ac000900c3152e00da2a5300dd355a00e1416100ed4c6800ff114f
+00ef003900d3004500b7005200940f4900721f40005f2639004d2e3300464c37
+0045513d004e4026004f421700514509005f430b006e420d00ab420000ab4200
+00ac000900ac000900ac000900af000c00b2000f00ac00090092360b004e4026
+004e43250038611b0028810d0018a100001b9700001f8e00002f6e0b00385e16
+004e4026004e4026004e4026004e4026004e4026004e402600414f2b0038601d
+00385e16003f4f000048450500513b0a0052260000ab000500ab00050051001a
+0051002200731d1100953a0000a7320000ba2b0000cf002200e4002f00e01a00
+00dc1c0000ab4200008a3e0f006a3b1e004b483c002d38510000374e00024d4f
+00023d6c00322c6700621c63005e2c73005a3c84008493b800bcb9c200ceff62
+00e0f35f00e4ff3a00ddfa3a00d6f63a00d2f72e00cbf12b00b9e42a0095c824
+00449f13003d821a003765220037631f0037631f0044684c0057965f005ba048
+006fa75600d2d89700dddda100e9e2ac00d2ebc300f3e4b900f5e0cc00f0d0da
+00b1b0c600a7a9c3009da3c0007a8db300408da8004087a1001d797600107570
+00035e6e00044c5a00265267003c394e00444f3700534e29008c3d1200ab4200
+00e7480000f34b0800ff4f1000ff6a7a00c38c8d00d0d69500cac1c700a8aeb6
+0068798100494b49004b4a42004b453b0045503b0065a25b00a4c16500b7e229
+00acda280094aa2300ba5a0200b23c0400a61829006700610042458e004086a3
+00408fa7004087a3004373860049515400533652005b295b0056315600526575
+004387840043898a00447d7400485655006a3f3500a43d0000d5400000f62100
+00ff151100ff160f00f12f0000e2340000d1400000ab420000703b190058322e
+00373d42002b403600025130000078000016a80b0017a90e00348e0000505100
+00933c0000ab420000b85000009ba319008fc7230084b0610085b064004f8d8a
+00548a9000498a8d00437c8b0042498e00631964008b113900c2002400ac0009
+"/>
+<palette number="151" name="Apophysis-040426-163Shield" data="007f7401007f740200847605008a790800a1770f00b8761600d35f1600ef4816
+00f0431500ec441400e9451300b95f0c008a790500847603007f740100797400
+007474000074740000746e0300746906007469060074690600746e0300747400
+0074740000796e01007f6803007468050069690800636909005d690a005d5d11
+00525d140052521d0057511a005d5117006e5c0d007f6803007f6b01007f6e00
+008a7303008a7303008a7303008a7303008a730300847302007f7401007f7401
+007f7401007f7401007974000074740000747400007474000074740000747400
+00747400007476010074790200797601007f7401007f7401007f7401007f7401
+007f7401007f7401007f7100007f6e0000796b030074690600695d020052461f
+00153338000b393600024034001e3d2f003a3a2b004841240057481d005d5145
+00525d4100695d87003f456500152e44000b30510002335f0002335f005d578f
+00fa3db200fb46b800fd4fbe00f551bd00ed53bc00d82ca100f7461800f74c1a
+00db781c0094840f0094810d00947e0b00947e0b00947e0b00947e0b00947e0b
+00947e0b00897b07007f7904007f7904007f7904007f7904007f7904007f7904
+007f7906008a840b008a840c008a840d008a840d007f7f0a007f7f08007f7906
+0074790200747601007474000074740000747400006974010069740100747400
+0074740000697401006974010069740100697401006974010069740100697401
+007f740100847302008a7303008a7303008a7304008a7906008a7f0a0094840d
+0094840d008a840b008a810a008a7f0a007f7f08007f7904007f7903007f7903
+008a7905008a7906008a7908008a7f0a007f840a007f840a007f7f08007f7906
+008a7905007f7f08007f7f09007f7f0a008a7f0b00947e0b00947e0b00947e0b
+0094840f008f840e008a840d008a7f0b008a7f0a008a7f0a008a7906008a7304
+008a7303008a7303007f7401007f740100747400007474000074740000747400
+0074740000747400007474000074740000747400007474000074740000697401
+0069740100696908006969080069690800696e050069740100747400007f7401
+007f7401008a7303008a7303008a7303008a7303008a7304008a790800947e0b
+00947e0b00947e0b00947e0b008a7906007f7402007f7401007f7401007f6e00
+0074630900745d0c005d5117005b11340046113e005d056d0061012e00971615
+00aa250a007f6803008a730300c62d0000cd310400c43201008a7303008a7303
+007f7401007f7401007f7401007f7401007f7401007f7401007f7401007f7401
+008a7303008a7303008a7303008a7303008a7303008a7304008a790600947e0b
+00947e0b00947e0b00947e0b008a7906008a7303007f7402007f7401007f7401
+"/>
+<palette number="152" name="Apophysis-040426-163AlienFlwers" data="0088acdc00b3fc1d00c9f21f00dfe92200c5e33200acdd43009fd7460093d24a
+002aa13700168b2b0003751f0001ba540000ff890022d57e0044ac74005f9178
+007b777c00a66f5200b4604100c2513100b3342e00a4182c00a6272400a8371c
+00e0320e00cd1c2f00ba07510086227100523d920044419e003746ab002147c2
+001d49c900016abe000062bf00005bc0001a5ccf00355ede003983de003ea9df
+007fcae3006bbee20057b2e2004f74ec004737f7003937ef002b38e8001a41cb
+00173cc5000634e6000c36d7001238c8001d48c9002958cb002d6ed0003285d6
+00a4b19700babb7a00d0c65d00bfda5400aeee4b00a8e94900a3e5480087cf48
+0095d9480093cebe0049e3de0000f9ff0000fcff0000ffff003de8e30076c5c4
+00ffee7300f3ee6600e7ef5a00cec05600b6925200b0b24300aad2340099e620
+0081d62f0044b611002e900a00186b03002a6015003c562700a5670d00e09627
+00ffea0000fff40000ffff0000ffff0000ffff0000ffff0000ffff0000edfd00
+00d3ff0400d6fd6e00c5efb400b5e1fb00a4ccf50094b7f0003f84e9002f49e2
+000920c6000f16cd00160dd500100cd3000a0bd1000c09cd002807a5003a0b94
+005f0d7500874b5f00c05c6d00f96e7b00dda33500ffae0700e6ec1e00e3f45a
+00a0a17f00727c93004558a8004652a300474c9f00384aac00244ac200224bc4
+002349c5001d4ecc001e4dcb00204cca002b5bc6001375bf0023a0d0004cf793
+008dd64d009bde5400aae65b00a0d26b0096bf7c003f8dbc003260c6003e3899
+003e149200000000000000000000000000000000000000000037524d006f6d84
+00951b5700b9226000de2a6900d91ab300761ede002323dc001333c5001231c5
+001c1cb300450a88002205440000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000007d331c00f15b7b
+00eb628a009dae9f009cc1d20067baec005586cb003c63c000224fc9001645cd
+001c45c6002a47b800384aab004a41970050378e00553e8c00693273005b4183
+004348a100202cd700220bf9000000ff000000ff000000ff000000ff00001dce
+001032c8001639c4002142bd001f6377003c5527000000000000000000000000
+0001786100056b9900047bb1001e66a4001065950003876800088d40002a5f10
+000000000000000000000000003b0293002206a8000a20c5000c26c6000920c6
+00000ecc00010cc900071dc6000f2bc500193cc4001151b9001a6184001f7d48
+00338c51002872650069678f0091847300a0986600d2bf6600fbc88100ffff86
+00fdf0d800fff5df00e4f7e000b8e6ea00e3e6d500d5c98100a1826200315919
+00000000000000000000000000000000000000000032594e00596194009ee2ff
+"/>
+<palette number="153" name="Apophysis-040426-163AlienFlwers4" data="00c18e1d007212e6007131d9007150cc009b56a400c65c7d00c3577800c05374
+00c48e3000db9f3b00f3b14600e1cc7a00d0e8ae00a5f3a0007bfe93007ee488
+0081cb7e0047d699003cdab20031dfcb0056efc5007cffc00088f4c10095eac3
+00a1ff3b008bdd520076bc69007fa1750089868200af8d9b00d694b400f18bb6
+00ff8d9400ff835800e28c3500c59513009aa217006faf1c006190240053712c
+001c740f0018a1210014ce33002ebc2b0048aa24005eb11a0074b81100b89502
+00c77e0100c48818009e99320078aa4d00639f56004e94600050826200537164
+00a8244f00ce1a5900f4116400ef325600ea544900cc633f00af733500965b28
+00828c4e0051af520053b2330055b514005cb3110063b20f0080c30d009bc343
+00e8cacd00e0b7dc00d8a5eb00e697ec00f58aed00f88bea00fb8de700f290d1
+00dc85d300d2368500d6408900da4a8d00de5a9900e26aa500de95cd00cc98e7
+00d0bbb300c89d7a00c17f4200ac864200988d42008184670080648d009358d0
+00c75cde00c951da00922b9d005c0561002e0230000000000000000000000000
+0000000000223d2b00447a560057715f006a686900732b6c009e127e00d522a7
+00ff20c400cd76d200cc78da00cb7ae200ba98d900b3a5c100c6c2b40098bfb3
+007bb68700728ba2006a60be005955d400494bea004d1bfa005a27ee00983ef9
+00c97eff00c07dff00a17afd008377fc008647e5008838f0008d4cea00ae6cdf
+00e480d000e26db200e15b9400dc378700d8147b00e0007100fc116500f30b5d
+00de005700951c49004a0e240000000000000000000000000000000000000000
+000d4779002e5388004f609700776cd100c780e200d682fc00d885f000c298e0
+00bf98bf00884a28009f4b2200b64c1c00f35f0400e76c0200ec863900ea8d64
+009579eb007663e300584edb003106fb001f20eb000739ea004e9ad0003ec2cf
+0051a69a002d8e9c0007cda0001498b7002d83e1000317c2001403a000000000
+0000000000000000000000000000000000000000000000000000000000003692
+000f52a9002890a90030c185005eb082005bb35d0075b66100cd953100f69543
+00d3b77d00f2c19f00e29ca400e973ac00e079c300d076ca00cb49a700d14b90
+00ca2f8800d4247f00c8328b00b82098009908aa006317a300360dd7002f17ef
+004d1ab600653b98006b31760036587900375c58004c796700795ea9008b4bcb
+00ac21d400af16dd00af22f700c157e700c17aff00da95fd00de97fd00e19afb
+00e896fa00e99ff700e5a6f900f0abfc00f4e3c700edf59800f3ec7300face5b
+00fdc22700fda94500f2d47200e1ee9500edf59800ebf69800ddfdaa00d5ebd0
+00e0dedf00e9cdf400ecd1ca00e3f39a00dff68c00b5e73200b5d42200bdcb0f
+"/>
+<palette number="154" name="Apophysis-040426-163butterflyflwer1" data="009e8bee009e8bee009e8bee009e8bee009e8bee009e8cee009e8dee009e8eee
+00a191f100a294f200a398f300a195f1009f92ef009f91ef00a090f0009f8fef
+009f8fef009f8eef009f8def009f8def009f8def009f8def009e8cee009e8cee
+009e8cee009e8bee009e8bee009e8bee009e8bee00a078f000a365f3009d52ed
+009d2ded00b556fa00aa72f500a08ef0009f8def009e8cee009e8bee009e8bee
+009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee
+009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8cee
+00518ca1003a92660024982b0031ac1d003fc110003fc60f0040cc0f0070f420
+009db4ed009f93ef009e90ee009e8dee009e8cee009e8cee009e8bee009e8bee
+009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8cee009f8eef
+00a191f100aba1fb00b2b2f800b9c3f600bdd1f100c2dfed00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ced8e100bfbcf000a59df5
+009e8bee009e06ee009e20ee009e3aee009e62ee009e8bee009e8bee009e8bee
+009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee
+009e8bee009e8bee009e8bee009e8bee009e8cee009e8dee009f8eef00a091f0
+00a89bf800b0abf700b9bcf600bfc3ef00c6cbe900ddead200ffffff00ffffff
+00ffffff00bfe1f000b4d2f500aac4fa00a1a6f1009e97ee009f97ef00a19ef1
+00a2b2f200a6c2f600abd2fb00b0cffa00b6cdf900b6c8f900afcaff00a6bbf6
+00a2a6f2009f93ef009e91ee009e8fee009e8dee009e8cee009e8bee009e8bee
+009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee
+009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee
+009e8dee009e8eee009f90ef009f94ef00a19ef1009ebbee009ecfee009edbee
+00afcdff00b4c7fb00b5b5fa00a69ff600a090f0009e7aee007947c9005620a6
+00231c7300242f7400254375006a54ba009e8bee009e8bee009e8bee009e8bee
+009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee
+009e8bee009e8bee00675cb7003657860020317000252975006147b1009e8bee
+009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8cee009f8eef
+00a091f000a093f000a399f300a5a9f500aec5fe00b4d0fb00baedf500ffffff
+00ffffff00ffffff00c7dfe800bcbff300b1a8fe00ab9ffb00a798f700a799f7
+00abacfb00b3bffc00b4c6fb00b7c3f800b1b9fe00aaa2fa00a599f500a291f2
+009f8eef009e8cee009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee
+009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee009e8bee
+"/>
+<palette number="155" name="Apophysis-040426-163ButterflySherbert" data="00db782b00fcc68d00fcb46b00fda24a00fc973b00fc8c2d00eb872b00db822a
+00b9712300704f1a00282e110014170800000000000000000000000000000000
+000000000000000000542f1300a85f2700ba652b00cd6b2f00cf6d3300d17038
+00cd6e2d00d2712e00d8742f00d9773700db7b3f00d7783e00d4753d00c67727
+00a868200047180400230c02000000000020481100419023006d9d30009aaa3e
+00e1824500ef853d00fd893600fc893100fc892c00fb852b00fa822b00e67b2f
+00c97329005e5806002f2c030000000000000000000000000000000000000000
+00000000001d0807003a110f0073372200ac5e3500b2663c00b96e4400be7955
+00b575590064b09a0072b68f0080bd85008dc289009ac78d0075b780005ead71
+006a9f32007f9c210094991000ad8e1500c6841a00c27b1f00be732400ac771b
+00708a0f00000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000341c160069392c00a85f2700b16627
+005e4617002f230b00000000001d0a08003a1410008a6b1000b9742100d18027
+00d4812800e1783800de7b3d00db7f4200d4885900e4c46a00eed28800fcd49c
+00fdd39c00f6be8800f0aa7500ee9c5f00ed8e4a00ed853f00f9883000fc8331
+00f27e3300de743400de773000de7a2d00db782d00db752e00d8713000d87130
+00cd6b2f00ab5d35008a503c00553a2900212516000000000000000000000000
+000000000028095c0060335100995e4600cd6e3700ce992c00e1b83900f5cc7f
+00fde9d000fdedda00fdf1e400f9f9e200d8ead900add4b80075b5b100357b8a
+001b224b00000000000000000000000000000000000000000009340c005e921e
+00ada36c00c49e6d00db9a6f00fdc17c00fdcc8f00fdd09d00f3c7a900e1bbac
+00b1a0af004d7d9600402e430000000000000000000000000000000000000000
+006a012700862b2d00a3563300cd6b3200db722f00e67b2f00e67e2f00ed7b30
+00ed7f3700ed853e00f0894300fd933d00fc953a00fd963f00fd9c4700fda24d
+00f2c16800f9ca7d00f4ce8100fdc78900f5d18a00fdf98e00e9da9a00fdd5a9
+00fdd19b00fdc17a00f39d5b00ed8b4600e9823e00de7d3f00db783b00db7b3f
+00de804400de8f5d00e4986600f7c19400fddcb100fde7cd00f8f2e000f5f0dd
+00eeddbe00d8e3b800cedba900cedaa100d1ce8100d1d59000adbfb500d5add0
+00cdc4cf00c6e1dc00e1eadf00ebebee00f0f0f100f7f8f300fbe8dd00fcddaf
+00fbc67a00f8a56000fc983e00fd8a2e00fc8f3500ed8e4800d8956d00f079bd
+00d590c700ba77ab00be73a9008f717300a3664c00b5622b00cd722b00e6842d
+"/>
+<palette number="156" name="Apophysis-040426-163BFlyGate4" data="001315100000000000270116004e022d00801b5f00b3359200aa5caa00a283c3
+00969896006a6c7f003f4168002e3153001e213f0010172e00030e1d0001070e
+0000000000000000000000000000000000000000000000000000000000000000
+000c0e100008171b0005212600102131001b213c001f214000242144003d211d
+003921180040211f0041172000430e2200240a4a000607730018045f002a024b
+001f123f0013192c00072119000a2115000e2112000e2111000f2111000d0b10
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000808080011101000202118003032210042442100545621008c8a4b
+00f4b76100b1810600a96a1500a1542400823a3300632142002d0e4e001e023f
+0001021000000108000000000000000000000000000000000000000000000000
+00170e09003230210019512000007320001e661e003d5a1c00414310002f210e
+002d210c003b340e0049471000653a0e00822e0d00a0571f00a05a1c00716f02
+005f5d1000562935005d253c00642143006421430065214400692148006a2149
+0061ef810067ccbd006ea9fa005b7af200494beb002c2eea00946ab500dd79bc
+00efa4ce00e8e6f600e6e6e700e4e6d900f7d8d600ebb9a7009f757e006c244b
+00222421001d211400181f070022260b002c2e10003c4b1b0054521000676502
+00985e0000a3631500a15c1b00a056210058562900562135004e212d00462125
+003621150026212600162137001b21400020224a00044c74001a7d80003a3c98
+006062ad00cd83ed00d67ef600df7aff00dfd0ff00f8facf001c1e10002d2f10
+005f5d020062600200656302005f5d0200514f1000444510002f340e00262105
+001a1c020000000000000000000000000000000000000000001f0e01003f211e
+0062214100682147006e214d00772b9800846aa5006f5a8f00585a690045473e
+00552135004d212c003721160028210800180e08000000000000000000000000
+00000000000000000000000000000000000000000000000000260e05004d212c
+006f214f008c6aad00b199d100a9f1ca00aaedf20090c9d8007c999d00747795
+007b7d89007476790049776a0049776a00474979001e5a3f00145a3500274d33
+002d2b21001e1d21001a182100150e3600150e3600090b210002041000000000
+000000000000000000200e00002921080033350200494b10004d4b10004c4a10
+0048461000462125002b214c002c214d002e214f0057113600570e360050012f
+00420e2100350e1400250e040020120000202100001f2102001821070011210f
+000d21130001211f00062127000821290004063e000e109800201ea200322153
+0062214100692148006a214900642143005c213b004f212e00412120002e210d
+"/>
+<palette number="157" name="Apophysis-040426-163BFlyGate4Inv" data="00d1def200ffffff00f1f8fd00e3f1fb00baf5d70092fab3006fe290004cca6d
+00464469006f6d770098968600b2ba9900cddeac00dfe6c500f1efde00f6f0e0
+00fcf1e200ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00feeeef00fedee000f5ded600eddecc00e8dec700e4dec300dbdebb
+00c2dee200c5dee600c1dee200bddede00cae7ca00d7f1b600e8f4a100f9f88c
+00d9f1b800e1e7c000eadec900eddedb00f1deed00f1deed00f1deed00f0deee
+00f2f4ef00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00fefffe00fdfffd00eef0f600e0e2ef00d7d7e600cfcdde00aba9de
+007375b4004e93d6005192de005592e600599ee0005eabdb009cdebd00d2f1b1
+00f1f1d000f8f8e700ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00dedcef00e6bfde00eea3cd00f697d600ff8cdf00c2a5e300bebcef
+00d4def500ccd2f800c5c7fc00bdbff500b6b8ef007dd1f2005fa8e0005fa5e3
+008e90fd00b9b7ce00abcac6009edebf009cdebd009bdebc009adebb0096deb7
+008580a60095577800a52e4b009b42280091560500b6b41400d3d115006b954a
+0022864300002920000b211400171909001b1926000827290014465800608a81
+00b1ded100cfdee100eddef100eadff400e7e0f800d3d1ef00c3b4e400abadef
+00989afd005b98ec005b9aeb005c9cea005fa9de00a7a9d600a9deca00b1ded2
+00c6dee700d2dde200dedcde00e3ddd300e9dec800dfddb500fbb38b00e5827f
+00c5c36700678847004c822c00327c120020850000202f000007053000e3e1ef
+00b6b4ef00ababf600a0a2fd009a9cfd00a0a2fd00aeb0ef00bbbaef00d0cbf1
+00d9defa00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00e0f1fe
+00a6dec700a1dec2009ddebe0091deb20088d467007b955a0090a57000a7a596
+00bab8c100aadeca00b2ded300c8dee900d7def700e7f1f700ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00d9f1fa
+00b2ded30090deb000739552004e662e00560e350055120d006f362700836662
+008b886a00848276008b898600b6889500b6889500b8b68600e1a5c000eba5ca
+00d8b2cc00d2d4de00e1e2de00e5e7de00eaf1c900eaf1c900f6f4de00fdfbef
+00ffffff00ffffff00ffffff00dff1ff00d6def700cccafd00b6b4ef00b2b4ef
+00b3b5ef00b7b9ef00b9deda00d4deb300d3deb200d1deb000a8eec900a8f1c9
+00affed000bdf1de00caf1eb00daf1fb00dfedff00dfdeff00e0defd00e7def8
+00eedef000f2deec00fedee000f9ded800f7ded600fbf9c100f1ef6700dfe15d
+00cddeac009ddebe0096deb70095deb6009bdebc00a3dec400b0ded100bededf
+"/>
+<palette number="158" name="Apophysis-040426-163CeltCross" data="00ada74600fa8f4000ee7b3c00e3673900b5392100880b090044050400000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000001d2300003a4700006f632600a57f4c00c6774500e7703e00fa7833
+00f1824200c39f4000a28e3a00827d3500606a36003e5838001f2c1c00000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000290c1e0053183d0080213600ae2a2f00b52b2b00da683b
+00d2b43e00c1bd3000b1c72200649c270018712d000c38160000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000002d7b240086ab0b
+00c6d03700b8c33200abb62d008e9f1a00728907003650060000000000000000
+0000000000000000000000000000000000000000000000000000000000156001
+0075af59009fa35400c9975000d5894d00e27b4b00c4504300a82e3600603343
+001b17450054310800785621009c7b3a00da683b00e9753f00f78c4100fb8d3c
+00fc923e00fc953e00fd993f00fb9c3900f5b94100d5d63900dbe14000dfe43b
+00e8e54300e7e42f00dee12d00d6de2c00e1d23200f5b94100f5b64000f5ba41
+00d3d43900dbc13b00e4ae3d00e1875a00cc755100c5867400888f4900459816
+001f5f0300000000000000000000000000000000000c82120057ab240083af52
+00e8b13c00efb53f00f7b94200fcaa4800fab45b00e6cf6200ecc37a00d4b466
+0074888b00414e42000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000601f0100a3132300c50715
+00c50715008e0001000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000275701003a791900768341
+"/>
+<palette number="159" name="Apophysis-040426-163Egg4d" data="00a8804e00fcf7dc00fcf4d700fcf2d300fbeecd00fbebc800faebc800faebc9
+00e3efd800e5efd800e8f0d800f1ecce00fbe8c400f1dcb600e8d1a800e7c89d
+00e6bf9300c9996a00c48e5e00c0835300ac91630099a0740092b08e008bc1a8
+0097cabc00b3d8c900cfe6d700e3dec100f7d6ac00f7cfa300f7c89b00e4b98b
+00c1a87b0099a0740099a0740099a0740099a0740099a0740099a0740099a074
+0099a074009b8d5e009e7a4800a06b3a00a35c2d00b2322700c2092200b50826
+006d0125008a4f21009b643400ac794700be976700d0b58700d8bd9100e1c59b
+00f8e7c300f0ebce00e9f0d900e2ebd200dce7cb00dfdbb900e3cfa700d4bc8f
+00b99c6e006f4718004b271e0028082400310f1a003a17110046230600512f03
+008f4c1d00aa592a00c6673700dc865600f3a57500f7ad7d00fcb68600f7c999
+00fad1a700edd8b100f2dab200f7ddb400f9e1ba00fce5c000fae7c200fcecc8
+00f7f9e200f1f5e600ebf2ea00e4efe400deedde00daece100cee3da00c0dbd7
+0099c4c50085b5bb0096c1c300a8cecb00b4d5d100c1ddd800cae3d800cae3d8
+0095c5c10083b4b80071a3af0085a1910099a0740099a07400bea47600da996a
+00ef946200d48d5b00c9956400be9e6e00bfa47600d8ab7d00ebb08000faac7d
+00de734500ed392800fc000c00f4011100ec021600de021900d3011e00b9051e
+008d481a00855023007f52230079542300795f3100617347003f4819003e3204
+00794716006b6e42005d956f00469475002f937b004b6f430026281d00020823
+000d0825008b6b3b00a2825200b9996a00d0b08200e0c59a00ebd8b100f7e8c4
+00f0f6e200f1f5df00f2f5dd00fcefce00fce6c000f2d9b100e8c99e00d8c297
+00cdb6890099a074007ba27d005ea4870047999c003a9395004c8a9b005799a3
+0064a7ab005ea4a80059a1a50054a6a0006ba27e0099a07400b9a47600cdb689
+00dec79e00e6d2ab00f2deb600fbe3bc00faefcf00fcf2d000fcf2d400fcf5d7
+00fcf2d500fcf2d400fcf2d300fcf0d000faeccb00fceac700fce0b900f8d8af
+00f2d2a800e3c39700d4b98c00c9af8000c6aa7d00bea47600be9c6c00c98553
+00d8815000da996a00e1b08000f5c59900fcd4a800f2d9b200f5e0ba00f7e0b9
+00fadab000fad3a700fbbb8a00f2b38200f8ab7900fab48500e8bf9100dac399
+00d0bc9000c9b48700a4af850099a0740099a07400ac8a5b00b97d4b00b57447
+00b9764700c97f4f00be7f5000b9815000b1875800b18f6000a6785f009c6154
+008f6b3b00745425006942130074421400795a28008f673700b1764600c68f5f
+00cdae8000e1b58500e8bc8e00d7bf9300cdb88d0090b8970059a58a002e9588
+00105227000000000000000000000000001e201700583606008f67370099a074
+"/>
+<palette number="160" name="Apophysis-040426-163FlowerFerns" data="0093e74b008cdf44008fe5390093ec2e0096f428009afd23009bfc27009cfb2c
+008cfa390089f4290087ee190080d0140079b310005b892a003e5f4400275146
+0011444900014c770006448e000c3da600194f890027616d00306268003a6463
+00694a5800a34a5200dd4b4d00d37f5400cab35c00c7bd5f00c4c8630095e84d
+0089dc420067d21b0073cb220080c42a0081c82e0083cd33007ede3f007af04b
+0078ca31005b9839003e674100395d450034534900284a59001d426900164c6a
+000a625c003c98230051901300668904006c651500724226007f3527008c2928
+0053670b004b6e0600437501003b770400337908003275060032720400446f03
+0035561000374c28003f32160047180400301505001912060035021300530403
+006112230042183100241f3f00213939001e54330020672f00237a2b003fa832
+0065cd4100369a3900287f4c001a655f000d796500018e6c00004d7500084d69
+00083e5f000b2f5a000e20560008224f0003254900141b4100221a4200152f4a
+000e4c67003f50c9006346cf00873cd5008038dc007a34e4007e10dd004927d2
+0004218c000c377700144d62001e4f5a002851520048713f005d9f2c007bb625
+0092ce33006fbe12006ac50d0066cd09005dd1090061be04005fba04006eb50d
+0065b01f0067a514006a9a0900639306005c8d0300508a1000718e12006bad13
+0070a82000555fda00675ae4007955ee008457f200925af900b54bf700b05dda
+008fcb98008bde770088f157009fe36600b7d67600c8dca4008fb4b10078a5bf
+0050a8a1006a9a770066a94f0062b8280085c92f0094dc4100afb16600beae72
+00669809005e8c070057810600497808003576240033463f00253626000d3f09
+00072e2500000000000000000000000000021d2e000d36240015343700254840
+0025702f002a8523002f9a17004193180076b52f007ec930008cc52b0089dc41
+0076f0560081de8500629d8500236a620001524c0002303b000d203a00001440
+00160a3600190b30001c0c2b0019001a001b0a1a00351731004e1d1d00751e1b
+007c0313007c090500760f03004c030800190211001600190005061f0004041f
+000a0431001c105b000a0769000f0777000427ad001b1aa6001d0d9800130b6c
+000f174c000c0c2c0005052b001010350022254d00265257003f817900527866
+00ac6a6400d4536400782d6d00251d6600231a5c001f404700415d48007b6b4a
+007eb72f0087da400084f0560087f258008deb530090e3480095dd34008bdf21
+0083f43a0087fc600080e2820087b7ac00707cf5008488fb0061eff900c9f9eb
+00e4e5b500d894cd0086a1c400536ff3002e4bb90026179a0038034b005a0036
+0087174f007d4045008b6a5e00a7bf44008cdf430091e74c0096ea4f0095e94d
+"/>
+<palette number="161" name="Apophysis-040426-163FlowerFernsInv" data="006a16b2006e1bb5006a20be006626c800681acb006a0ecf006708d5006502dc
+006f03bf007004cd007106db007712e1007d1ee7009454e400ab8be100b695ce
+00c1a0bb00fcb8ae00f6bf8900f1c66500deb47300cba28200d1a08a00d89e92
+00b491a1007e9fae0048adbb002d9c9500128c6f00236c8900354ca3003b379c
+006a17b2009510df009420e8009431f2008c33e0008436cf008034cd007c32cc
+008122bb00954ec400aa7bcd00b089bd00b797ad00c1a1b100cbacb600e2bd96
+00e9b39500e185c200c480d600a77bea009877ed008974f1008b98e5008dbdd9
+0092beee009da7f500a991fc00b48bf800bf85f400c585f500cc86f700cd8dfb
+00bb90fc00ceaef400c1c3e400b5d8d500b6dfe800b8e7fb00e6edf900cafdec
+009df3f600b0f9d500c4ffb500cbdabe00d2b6c800d9b0ca00e1abcc00dc85d4
+00c057cd00a448d800b071c600bd9bb500d19aaa00e59aa000fe719300ffb28a
+00f4bba000f0c6a600ecd2ad00eed8ab00f1dfa900fcdab600ebe4be00dde5bd
+00ead0b500eaad6700b8b0400087b319007fbb210078c32a0085cb1b0081ef22
+00e2d76000eecb7800fac09000f2b99600ebb29d00d7aead00b78ec000a260d3
+008449da007b42dc008541e4009041ed009932f600a22ef6009e41fb00a045fb
+00834be4008d4fec009853f500965cf5009565f600a372fc00af75ef008e71ed
+009452ec008d818b009b905800aaa0250086aa11007ba80d006da506004ab408
+00626123006f3a5e007d1399007a10a000770ea8004829890037235b00704b4e
+00875a4000bf748700aa6c8700956588009d47d7007a36d0006b23be00504e99
+004c4ea100725acb009967f600a87ef900b687f700ca89db00ccb9c000dac9d9
+00f2c0f600ffffff00ffffff00ffffff00ffffff00fde2d100f2c9db00eacbc8
+00d2b3c300d6a1c900da8fd000d065e800be6ce700894ad0008136cf00733ad4
+007623be00890fa9007e217a009d627a00dc959d00feadb300fdcfc400f2dfc5
+00f6f8a700eff6b800e9f5c900e3f3d400e6ffe500e4f5e500cae8ce00b1e2e2
+008ae1e40083fcec0083f6fa0089f0fc00b3fcf700e6fdee00e9ffe600faf9e0
+00fbfbe000f5fbce00e3efa400f5f89600f0f88800fbd85200e4e55900e2f267
+00ecf49300f0e8b300f3f3d300fafad400efefca00dddab200d9ada800c07e86
+00ad87990053959b002bac9b0087d29200dae29900dce5a300e0bfb800bea2b7
+008494b5008148d0007825bf007b0fa900780da7007214ac006f1cb7006a22cb
+007420de007c0bc50078039f007f1d7d00784853008f830a007b7704009e1006
+00360614001b1a4a00276b3200795e3b00ac900c00d1b44600d9e86500c7fcb4
+00a5ffc90078e8b00082bfba007495a1005840bb007320bc006e18b3006915b0
+"/>
+<palette number="162" name="Apophysis-040426-163FlwrFernsInv" data="00841a24009a3e1700945a21008e772b00a2823100b78d3700c0903500ca9434
+00e58c2400f07a2d00fb693600e3613500cb5935007b544d002c50660017576b
+00025f710004023300240d2d0045192800601927007c1a270077172600731525
+0061072d005d062e005a052f006b0d29007c162400851a1e008e1f1800b12b06
+00f03c2d00fd5b4600fc5b4200fc5b3f00f4523200ec492600e1552c00d76133
+00ac753f00b86c3a00c4633600d7354c00eb086200ef056500f4026800f8016a
+00f00e72009f0b63008a263a00754112004f680b002a8f050024880d001f8216
+0086823800959c3400a5b7310090913f007b6c4d004b6a66001c687f00146b7e
+00337f8d006eafb10080bcbb0092c9c6009acbc800a3cdcb00b0d4d200d2e3db
+00fce89200fcd26900fcbc4100e4c14e00cdc65c00c0ce6a00b4d77900cbe290
+00f3f39b00e4ebd900e0ebe000dcebe800d6d1d700d0b8c600b1968f00b77b61
+00428796005a96a00073a6aa0073acaf0073b3b5007fbbbb0089b4ba009acbc8
+00a2d0ce00b0b4a500a5907b009a6c52007f634800655a3e00533e2300641727
+0081384300a4585700c7796c00e0ac8c00fae0ad00fdf7e900f5f2ed00f2e3aa
+00fcf58000e9c43f00e0ae3300d8992700ee555a00ec107400f50d7300fd0870
+00fc097300fb0a7300fa0b7300f30d7200ec107200e0137000bf136900911b58
+0069042c00540439004e0a3d00481041004c0e3d004c15280056083000790e2c
+009f450600b56c2600cc934600c8994000c59f3a00c3ab3d009da03500f63138
+00ec076200fc026e00fc016e00fc006f00fd036f00fa0b7300fb0c7400f01073
+00e0106e00d4146b00c8196800a68db400acd3d000d2e7e200dfc6c900bd966d
+00bd7e5200ec7b3900f46d3f00fd5f4600fe594600fd474600e1156e00d4136c
+00b61a6300b8176400ba146600c80a6c00c90b6f00be116a00ba1466008e085d
+00920e1c00a70f0e009917170093231700a32a0d00b11a0700c5280700e33421
+00fe5e4400fd5e4500fd5f4600fa564d00dd156d00b916670081175500532542
+003e0e40001f271a000a2f03001635370018465e0011617800216f83004d939b
+006fa4ac0080a9af0071616e006f3430006d1732008b062100b1166400d10f70
+00e7176d00fb584f00de8a4400fbb33d00eab93800cca63700c9a43c00b6af3d
+00b2cf3500aec45800cee47f00c4e08900b5da8d0097c36a00a06f6100813752
+003b41610029395d002a295100501e4100791c5300b9166700cb156a00ef0566
+00fa0e7300eb117000dc146d00ba474e009574410078ae6200519ca2004e9fa2
+0034848b0037698200685e29009f520200cd5c0e00e84d2100ed3e2900f64533
+00fb553b00fc583f00fc494400eb086200ef056600cc0e6e00a01e5c00841b54
+"/>
+<palette number="163" name="Apophysis-040426-163FloralCascade2" data="0081591e00c19e8000baae8600b4be8c0087a493005b8a9a005f9aa30064abad
+00acc9c500caded500e9f4e600eddbce00f1c3b600d5aa7b00ba914100aa7c2d
+009b681900593c1c00612224006a092c0069092c00680a2c0065092d0063092f
+003e0238007b085000b90f6800cb116b00de136f00e3126f00e8116f00eb0663
+00cd091f0096311300c0571b00ea7e2300f1963200f8ae4100fa994200fc8543
+00f6423300ee3e2a00e63b2100da5d3400cf804700d08e3f00d19d3700f0c63e
+00dcca3800b2792000b83d1200be010500c5130c00cd261300da2d1c00e83425
+00a7404300902c370079182c0060273f004737520037425700284d5d0015506e
+001b677e002f838e0051969e0074a9af007fb3b5008bbdbc00d1d4c100f0f1cf
+00adc7ae007aa8a100478995002b6c8200104f700009466900023e63000a2f59
+001e3809002792080038701d00494f33004a403d004b32470072175200b91166
+00e00c7300e60e7200ed117100ed117200ed117300f40f7400f40c7200f30368
+00f4026800fd077200fc087200fb0a7300fb057100fb016f00f4026800f30368
+00e8274200e8323300e93e2400f2453000fc4c3d00e9813800ce904700b09c3d
+00aa9d3500409e0a0037970b002f900d004748260035372a00341a4900282a51
+002f436600463862005e2e5e0086326300af366900c2146900a4020d008d021f
+007d16290064727f00627c8a00618696005c96a10046959c005ca97500659f62
+00918a80008b9a990086abb300a2b0b300beb6b400e0c29e00cb9b8400bc5f58
+00c7156900d50d7000dc106f00e3146e00d54e4800dd945000e7cc7d00faf98f
+00cce37b00bed26600b0c151006695370027535e00146078000f6c7d0007556c
+0008546c00434c51004d4b5700584b5d007d59670080736d0099695b00756b38
+009c3f1d00953117008f241200851d1c006e0a2c005d173b0061433900648f3d
+00a0a42c00adb74700e6ed6c00fcfc7600e8f17400e9ac7500e3804700fb604e
+00fd5c4000fc674300fc734700e2983500fbb03900e9d03f00dfd94500b6ca5b
+00a2c42f0099af280081961d005b971d006669220064462e007b503d0090676b
+009e6e4a00b0753100c9754600f7645000fc564a00fd573f00fe554000fd5147
+00fc473c00eb117000e7117100d8166d00be116a006d155100361740002c3056
+0019496d00154b65001a385e00062d58001728540033174700520a3a00660634
+0050033900360940002c05340010134800121c4d00261a4a00271e210013220f
+00332022003d1c25004041080069650c007b893400afab3000b8963400b17f2a
+009e4a4000955b4300b4844600c6a65d00fbcd9c00f3ebbd00fdfad100f5f8e3
+00f9f6ef00f8f8d600d6b0c700d15b7d00e0137000eb117000f8413900ea4623
+"/>
+<palette number="164" name="Apophysis-040426-163FlowerBurst" data="000000000077091800b8050f00fa010700c20e07008a1b08006e1c0800521e09
+00000000000000000000000000580f0300b11f0600b1210500b1230500842914
+0057302300000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000003a3f29
+007a826900d5b0d000e8bda400fcca7800f2d15d00e9d94300ead64100ebd33f
+00e8db6c00e8d2a700e8cae300f2cde700fcd0eb00fcb1d800fd93c500d15db8
+009e1c8f00ac28440060424100155d3f000a2e1f000000000000000000000000
+00000000000000000000000000000000000000000039050d00720b1b00c43b06
+00db751d00deb43200a7a63f0070994c0048903200218719001c7a1f00127822
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000310d3400631a69007e187b0099178e00ca0b9400e945a9
+00e77bbb008a6381002d4b470016252300000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000001b160100372d0300523602006e400100d7972900fdc44300000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000003a28060074380000d4621300fe6e26
+00bc590b00000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00025c0700027e260021871900288c150058981f007f96200097a22900a3a627
+00a6b523008fc642007fbc2d0067aa270053a7220075b91100c9d93800cdda4e
+00d0bc3400b9a229008085440034670e00000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000004c3247
+008f026f00991a8e00e77e9c00e982aa00b93fa3005d2267001b583d00000000
+"/>
+<palette number="165" name="Apophysis-040426-163MaltesePurple" data="009a5e9400c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00d02cf600de31ee00de3cd8
+00df47c2009a5e94009a5e94009a5e94009b5d95009d5d9600af57a200c151ae
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c629fe
+00e734e800f73fd200f53bd900f338e000e734e800db30f000c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c428fe00c629fe00d32df500e132ec00eb43ca00e545c6
+00f141ce00e739de00de31ee00d02cf600c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00b854a800aa589f009d5d960091618e00946090009d5d9600c74fb2
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00d22df6
+00d34bba00a05c98009d5d9600d04cb800cc2bfa00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff
+00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00c328ff00b256a4
+"/>
+<palette number="166" name="Apophysis-040426-163Mycelialg" data="00eca4d10031021c0018010e0000000000000000000000000000000000000000
+00003877004d2f6a009b275e00aa294400b92b2a00841e1c004f120e00360920
+001e00320000005500050e42000b1d2f00050e17000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000005120f000b241e00334537005c6750008eb389
+00c5d3d400ffc6ff00ffb3ff00ffa0ff00fea7e900feafd400fab0d400f6b2d4
+00eebbd400e6bfd400dfc4d400e4c1d400e9bed400f4c7d600ffd0d800ffdbb5
+00cdd0d300b5d6ff008ea0b700676a6f005c5b7200524c750028088700230988
+00783fb300a762c700d786dc00b877c4009969ad008f64a60086609f008863a3
+00a76bc800de93d400e89ad400f2a2d400f8a6d400feaad400f8a6d400e792f0
+00d484e400d68bdc00d892d400d78ed400d68bd400a6849200567f5a00006750
+00002c310000000000050a00000b1500001b1500002b16000070783e00a8b167
+00fcabd400e89ad400d58ad400b77db7009a719b005f527b00313e5100003724
+0004272d0060517e00715e9700826bb000ad7fff00c27cf900c85bff00d15bf3
+004528910022148e0000008c00000170000002550000065600060c60001c1a68
+003e2e8100593d91005c468a005f4f84003c4852002c39500000292600000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000001f043000412551005e2e59
+00765b9100ff3e8200fd377000fc315f00fb150000c52f00008a130c00581f0e
+00130c0000090600000000000000000000000000000000000000000000000000
+00000000000000000000000000101432000c105e003f2d8000704a8f009166a5
+00de96d400e399d400e99dd400f2a3d400e89bd400de92d400cd8cc900b56969
+0050515d001529490006143f00000a4e000a085800303b56007a5b6900af81a3
+00d48cd400da91d400e195d400e09ad400e79dd300ff7c7600ff676e00ff6877
+00ff5b9900e396d400f587f200ff97ff00ff9fff00d9b6ff00e1a5e900cb88d4
+008262a1004c476f00142e3c001f1b0a00000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000001d0338
+00271f72004a358c006b489f006c46a0006f4aa0009064a700d28ad400dd95d4
+00f5a9d400ffc6d400ffe3d500ffffff00ffebff00ffc6ff00eebbd400f2b5d4
+"/>
+<palette number="167" name="Apophysis-040426-163MyceliaInv" data="00135b2e00cefde300e6fef100ffffff00ffffff00ffffff00ffffff00ffffff
+00ffc78800b1cf940064d8a10055d6bb0046d4d5007be0e300b0edf100c8f6df
+00e1ffcd00ffffaa00f9f0bd00f4e2d000f9f0e700ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00f9edf000f4dbe100cbb9c800a398af00714c76
+003a2c2b0000390000004c0000005f00000057150001502b00054e2b00094d2b
+0011442b00183f2b00203b2b001b3e2b0016412b000b382900002f270000244a
+00322f2c004a290000715f480098959000a2a48d00adb38a00d7f77800dcf677
+0087c04c00579c37002879230047873a00669652006f9a5900799f6000779c5c
+0058943700216c2b0017642b000d5d2b0007592b0001552b0007592b00186d0f
+002b7b1b0029742300276d2b0028702b0029742b00597b6d00a980a500ff98af
+00ffd3ce00ffffff00f9f4ff00f4eaff00e4e9ff00d4e9ff008f87c100574e98
+0003542b0016642b002a752b0047814700658e6400a0ad8400cec1ae00ffc8db
+00fbd8d2009fae81008ea168007d944f00528000003d83060037a400002ea40c
+00bad76e00dceb7000ffff7300fffe8e00fffdaa00fff9a900f9f39f00e3e597
+00c1d17e00a6c26e00a3b97400a0b07b00c3b7ad00d3c6af00ffd6d900ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00e0fbcf00bedaae00a1d1a6
+0089a46e0000c17d0001c78e0003cea00004eaff003ad0ff0075ecf300a7e0f1
+00ecf3ff00f5f9ff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00efebcd00f3efa100c0d27f008fb570006e995a
+0021692b001b652b0016622b000d5c2b0017642b00216d2b00327336004a9696
+00afaea200ead6b600f9ebc000fff5b100f5f7a700cfc4a90085a49600507e5c
+002b732b00256e2b001e6a2b001f652b0018622c000083890000989100009788
+0000a466001c692b000a780d000068000000600000264900001e5a160034772b
+007d9d5e00b3b89000ebd1c300e0e4f500ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00e2fcc7
+00d8e08d00b5ca730094b7600093b95f0090b55f006f9b58002d752b00226a2b
+000a562b0000392b00001c2a0000000000001400000039000011442b000d4a2b
+"/>
+<palette number="168" name="Apophysis-040426-163MrryGRnd" data="0006401700064017000640170006401700064017000640170006401700064017
+000c370c000e360d0010360f003b4e18006667210084641e00a2621b009a5716
+00924d12004c3219002939180006401700064017000640170006401700064017
+0006401700064017000640170006401700064017000640170006401700064017
+0006401700064017000640170006401700064017000640170006401700064017
+000640170006401700064017000b3b130010360f0010360f0010360f00192a0a
+00301800004f0e08003b160b00281f0e00191511000b0b1500220d1e00390f27
+00921f6200ae0f5500cb004800d6152700e22a0600cf522300bd7b4100c6af51
+00d1ce8700deceb400c4c6bd00aabec700afbc9700b5ba6800a4786f00635554
+00392f3a005f2c4b00862a5d00a0455400bb604b00d2527700e944a300d7037c
+00a2285b002c2207001e2c090010370b0010360d0010360f002a2e1f00422a28
+006d7d700087867800a28f81008c867300767e6600676d53003a5a6700145944
+00025d32000a323400484f3300876d3200a47e2c00c28f2600d6a32d00d5b13f
+007a9a1f0048891d0016791c000b76230001732b0000732a000d6f2400125f19
+0005421800508e0700618f0c00739012007c9a180099581600c6334600064017
+0006401700064017000640170006401700064017000640170006401700064017
+000640170010360f0013310e00172c0d005d2f1700833a1100981d15008e1d0f
+005e241800511214004400110045020a0046050300421100002924060010360f
+00064017001c34340015283a000e1c41001c323d00493a2500806f2100c99b2b
+00bad65d00a4c35a008eb15700968f5b00b78f2f00c48a2900af772000a8681e
+00c0413200953d56009648500097544b00896454009374550090715200797051
+00193b16001438120010360f0010360f0010360f000640170006401700064017
+0006401700064017000640170006401700064017000640170006401700064017
+0006401700064017000640170006401700064017000640170010360f0056300c
+00791f1e00a5000600d7030000c20018009e1414006a1f080035190400112f09
+000d360e00064017000640170006401700064017000640170006401700064017
+0006401700064017000640170006401700064017000640170006401700064017
+0006401700064017000640170006401700064017000640170006401700064017
+0006401700064017000640170010360f0010360f0010360f0006401700064017
+0006401700064017000640170006401700064017000640170006401700064017
+0006401700064017000640170006401700064017000640170006401700064017
+0006401700024116000640170006401700064017000640170006401700064017
+"/>
+<palette number="169" name="Apophysis-040426-163SprngFlwrs" data="00b1845200ba4ea700a04d8f00874c77008651700086566900885868008b5a67
+00935f69008b596800845468007d516500764e6200694b59005d485100594650
+00564450004c3c510049395200463653003a2f50002e284e0031275200342756
+0053306300563a5b005a4553006b4b5b007c5164008154650087576700986269
+00bc786f00f88ca000f2918a00ed977500d4916300bb8c5100b7895100b38651
+00c4925100bb8c5000b2865000ab805100a47b52009b76500093714e008b6b4f
+007e605100785c5100775b5100775b5200725751006d5450006c5351006c5252
+006c5252007151580076505f00805463008a5967008f5c680095606900ab5b87
+00bb609100ee61c200eb4bd000e836df00df2bee00d620fe00db25fc00e242e7
+00ff68c900e970a800d4798700be6f7d00a8667300a0646e0099636900966169
+0096616900af618200c36b8700d7768d00e0779500e9789d00fe81aa00fe6fc0
+00de70e200da79d900d682d100cd73b200c4649300b76289009e6270009b6569
+0097626800925e6900885e5d007e5f52007e5f52007e60520080615100836352
+00945f6900935f6900935f6900905d69008e5b6900875866007e5462007a545e
+007a516300754d6300734c6200714b62006d496000623b68005a3766003e1d6c
+00371471004a266d005e38690069406900744869009430a700c630a500d330b3
+00f130d400fd4af400f15aea00e56be100bf87e100c894c700c896c300da93b6
+00e1966900d18b6900c1806900be7f6700bb7f6500a078510091704e0080634e
+007a5e5000785d4f007a5d50007c5e52007d575c007c4e69007d309000b633c6
+00dc13ec00d821ec00d530ed00ad74f2009593fc007f8be3008f97fc00a08bfb
+00be82e900dd4acf00c842c400b33bba009e30b200743086007a4d68007a575a
+007f61510081625100846452008c6a520093704f008f6d51007b604e005f5343
+004f404f002830380003301300003010001f302f0045374f00513f52005c4851
+00685051006a5151006c5252006c544f006a5151006a495d006d39760079308b
+00b335c100d830f000ff42fc00ff3cfc00f430f100e020f800dd30f600f05ce9
+00cc6bfa00cd7edf00da87c600b5519e008b458400734967006f515800644d51
+00614b510065504e0069534e006b544f006f565100765c4e007e615000886850
+0098725100b0687a00dc759400f070b000f868d200e574d400e57dc900f374ae
+00e8779f00c6708400b66e77009d666800925f67007e5f5200775b5200725752
+00705652007559510078565a00785b53007c5e52008262520094705000aa7462
+00bc7f6600be7f6700bf6e8100ba6d7d00a1656e0098626900956069008e5b68
+00805563007b5a56007d5f52007e5f52007f62500084664e0095734f00c89451
+"/>
+<palette number="170" name="Apophysis-040426-163SprngFlwersInv" data="0093adad0093adad008eaea60089afa0007faa9c0075a698006fa297006a9f96
+00449f6e002a9e5500119e3d0014b32e0017c920001dd1110024da030020cb0d
+001dbd180000973600158e57002b867800418f820057998c005e9a9100669c96
+00699e96005c9e8900509e7d003c937700288972001f886a0016876200017e55
+0001903f00218f1d0025862500297d2e00388d5200489d7600549d8200619d8f
+00689d97006a9f96006da1960077a0a10081a0ad00819fad00819fad007f9eae
+007c9cad006ba096006ba096006ca0960072a3970078a799007ca99b0081ab9d
+0085ae9c0087b09c008ab29c008eb49d0092b69f0097bd9b009dc49700a5c899
+00c1e29300c8eb8e00b4d99200a1c7960096bf96008bb796006bcf580039cf5a
+000ecf2b0008c21b0002b50b002196140040781e003b712b00376b380037693c
+00256c49001e6996002e7496003e7f9600417f980044809a005f87ae006e8fb1
+0085a1af0086a1af0087a2b00085a1ae0083a1ad0082a8a30083b1960082cf6f
+0049cc390023ec13003abb1000528b0d005e7b08006a6c030080741c00706803
+00417d16003199230022b5300037bc3a004cc4450061cf4d008bcf790085b297
+0085a8a500809eae007d9cad007b9bad007395ad006c8fb0007092ae00849fb1
+00b0bfb000d6c7ce00fccfec00fdcfed00ffcfef00e0cfd000bac8b000aec0ad
+00a3b7ae0097afae0095aead0093adad0093abb00095aeae0095b6a20092c689
+004cca3e0026c3200000bd030000c0030000c303000bcf0e001fdf070022cf09
+000fa31600328120002b7c2c00257839004aae610074ba7b008cb6980090aea7
+009eb4ae009cb1af009aafb10096acb10094abb00090a9ae0089a3b100819eaf
+007797af004f97850039907800238a6b000f8f4f0007972d001a8b2b001a8236
+0017886000288b6d00398f7b0049918800629997006da0980081a0ad0088a4ad
+008da8ad008fa9ad008aa6ae0087a9a50087a4ac0083a1ad007d9dad006b8faf
+0043809900428098004180980040917e00459282005e9a9100679d96006a9f96
+0071a497007faa9c0084a5a90082a0ad0081a0ad00809daf007b99b1006a8cb0
+00376bae004e7bad002e8c150045b158005dba640078b3880079aa960079a996
+0074a5980071a496006ca096006da196007bab97007fae960089b19d0098b0ae
+00a2b7ae00a9bbaf00b2c3ad00b3c3ae00b4c7ab00b9c9ac00c4d0ad00d1d7b1
+00cbd8a900c0de9600accf9c00aacc9800a5baac0093b4a20083ae9b0078a898
+00679d9600438790001d787f0007735f000870730012688a00276e96004473ae
+004c79ae004877ad003b6dae004473ae004d79af00537eae005b84ad006c8eb1
+007494b000819fae0085a2ae0087a3ae0087a3ae0088a4ad008fa8b00092abaf
+"/>
+<palette number="171" name="Apophysis-040426-163DemMask" data="0001010100000000000000000000000000000000000000000000000000000000
+00050704003f4a3100798e5f00a6917400d4958a00886863003c3c3c0020201f
+0004050200000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000060503000c0b070031261700574128
+00cdb74200dfd04700f2ea4c00f7f35800fcfd6500fafa6300f9f86100faed4c
+00f2df4600faaa5e00e8c96b00d6e97800dee38c00e6dea100e1ebc700fadab5
+00fdfc8300f2f26700e7e94b00b7ba4700878b44006868300049451d000a0a05
+00010100000707040061121e00bc1d3800d7243100f22b2a00ff561900fc5b28
+00b0ad3600b2ad5e00b5ad8600b59f8f00b59298008776760022618100021d11
+0000010100000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0003010200c1193000d91f3400f2263800f20a6700f2028900f2049100f23b96
+00cea94c00d3c34400d8dd3c00b0cc380088bb34005959300021211200030302
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000101010004040200080703002d2e2e00a2485000ee2d3f00e0395700b85167
+008f535e0033261a00040302000e0005005106360072426300995d7300523f50
+0002020100010100000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000101000006060400303246000f5b76
+00163b5f000a0a09000101010000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000030101001707020072483600bc954a00e4c27400ebe18900e1beac
+00d8819800fc629800ee39a800e9019500d80c5c00b51a6700000000001c332b
+"/>
+<palette number="172" name="Apophysis-040426-163ResurectTree" data="006786ff005f7ef8005978f2005372ec004867e1003e5dd7003554ce002d4cc6
+0006189200142ca6002241bb003150ca004160da005b7ae5007695f0007f9ee7
+0088a7de00a1c0c500a4c3c100a8c7be00aecdb700b5d4b100b9d8ac00bedda8
+00ceed9800e4e98200fae66c00f8df6500f7d85e00f6d75d00f6d75d00f4d55b
+00f4d55b00d7b83e00e1c24800eccd5300efdd6300f2ee7400ecf37900e7f97f
+00cfee9700d7f68f00dffe8700ddfc8800dcfb8a00d9f88c00d7f68f00d6f590
+00c7e69f00bcdbaa00b8d7ae00b4d3b200aac9bb00a1c0c50098b7cd0090afd6
+007695f000708ff5006b8afb006685fb006281fb006584fc006988fd007291f4
+007d9ce90096b5d000a4c3c200b2d1b400b8d7ad00bfdea700c1e0a500bddca9
+00b2d1b400a7c6be009dbcc90098b7cd0094b3d20098b7ce009cbbca00a9c8bd
+00b8d7ae00c6e5a000cbea9b00d0ef9600cceb9900c9e89d00c7e69f00c6e5a0
+00b9d8ad00b5d4b100b1d0b500adccb800aac9bc00a4c3c20099b8cd008baadb
+00809fe6006d8cf9005c7bef004c6be5004766e0004362dc00405fd9003352cc
+002c4bc5003857d1004564de004f6ee8005978f2007695f0008cabda00a4c3c2
+00b7d6af00cdec9900e1eb8400f6ea7000a6870d00a182080097780100907108
+00553643003c3c80002443bd002948c2002e4dc7003d5cd6004160da004463dd
+004766e0004b6ae4004d6ce6004f6ee800506fe9005675ef005776f0005a79f3
+005d7cf6005877f1005372ec005170ea00506fe9004a69e3004564de004160da
+003655cf003352cc003756d0003c5bd5004362dc004b6ae4005372ec005b7af4
+005a79f3005776f0005574ee005170ea00506fe9004f6ee800506fe9005574ee
+005c7bf5006a89fc006b8afa006d8cf9006f8ef7007190f5007291f4007392f3
+007695f0007796ef007897ee007d9ce9007c9bea007897ee007695f0007695f0
+007695f0007695f0007a99ec007e9de800809fe6008aa9dc0097b6cf009ebdc8
+00afceb700b1d0b400b4d3b200b8d7ae00bad9ac00bddca900bfdea700c4e3a2
+00c7e69f00cdec9900dbfa8b00e7f97f00f2ee7400f9e76d00ffe16700fbdc62
+00fbdc6200fae66c00eaf67c00e9f77d00e6fa8000ceed9800c2e1a400b4d3b2
+00a4c3c20092b1d4007f9ee7007695f0006f8ef7006c8bfa006786ff006584fe
+006786ff006988fd006a89fc006b8afb006988fd006685ff006685ff006685ff
+006584fe006584fe006584fe006887fe006b8afb006e8df8007291f4007594f1
+007594f1007695f0007695f0007695f0007695f0007b9aeb007e9de80087a6df
+008eadd80091b0d50096b5d0008faed70087a6df0081a0e5007f9ee7007e9de8
+007e9de8007e9de80083a2e30091b0d500a0bfc600a8c7be00d0ef9600bad9ac
+"/>
+<palette number="173" name="Apophysis-040426-163GldBlue" data="0098790000a0810700a6870d00ac8d1300b6971d00c1a22800c9aa3000d2b339
+00f9e76d00ebd25800ddbe4400cdae3400be9f2500a3841a00896a0f00806118
+00775821005e3f3a005a3b3d0057384100503147004a2b4e0045265200412257
+00311267001b157d000519930006209a000827a1000827a1000928a2000b2aa4
+000b2aa4002847c1001d3cb6001332ac0010219b000d118b00120b8500180680
+0030116800280970002001780021027600230475002506720028097000290a6f
+003819600043245500472851004b2c4d00543543005e3f3a00664731006f5029
+00896a0f008e6f090094750400987904009d7e0400997a0300967702008d6e0b
+0082631600694a2f005b3c3d004d2e4b0046275100402158003e1f5a00422356
+004d2e4b005738400062433600664731006b4c2d006748310063443500563742
+0047285100391a5f00341564002f106900321365003617620038196000391a5f
+00462752004a2b4e004e2f4a0051324600553643005b3c3d0066473200745524
+007f60190092730600a2831000b3941a00b7981e00bc9d2300bfa02600ccad33
+00d3b43a00c6a72d00ba9b2100b0911700a6870d00896a0f00735425005b3c3d
+0048295000321366001d147a0009158f005978f2005e7df7006887fe006f8ef7
+00aac9bc00c2c27f00dbbc4200d6b73d00d1b23800c2a32900be9f2500bb9c22
+00b8991f00b4951b00b2931900b0911700af901600a98a1000a8890f00a5860c
+00a2830900a7880e00ac8d1300ad8e1400af901600b5961c00ba9b2100be9f25
+00c9aa3000ccad3300c7a82e00c3a42a00bc9d2300b4951b00ac8d1300a4850b
+00a5860c00a7880e00aa8b1100ae8f1500af901600b0911700af901600aa8b11
+00a3840a00957603009374040092730600907108008e6f0a008d6e0b008c6d0c
+00896a0f008869100087681100826316008364150087681100896a0f00896a0f
+00896a0f00896a0f0085661300816217007f6019007556230068493000614237
+00503148004d2e4a004b2c4d00472851004526530042235600402158003b1c5d
+00381960003213660024057400180680000d118b0006189200001e980004239d
+0004239d0005199300150983001608820019057f00311267003d1e5b004b2c4d
+005b3c3d006d4e2b0080611800896a0f009071080093740500987900009a7b01
+009879000096770200957603009475040096770200997a0000997a0000997a00
+009a7b01009a7b01009a7b01009778010094750400917207008d6e0b008a6b0e
+008a6b0e00896a0f00896a0f00896a0f00896a0f008465140081621700785920
+00715227006e4f2a00694a2f0070512800785920007e5f1a0080611800816217
+0081621700816217007c5d1c006e4f2a005f403900573841002f106900452653
+"/>
+<palette number="174" name="Apophysis-040426-163WrldBndr" data="00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700370c0900360b0900360b0a004c21150062372100a57a6400e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00623721006237210062372100a57a6400e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700623721
+006237210049494900305b71003d687e005e899f00b7e2f800e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700623721
+00623721005f341e00592e1800592e1800592e18005c311b005f341e00623721
+00e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda700e8bda7
+"/>
+<palette number="175" name="Apophysis-040426-163GrnPrpl" data="00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b52004d134a00450b42003d033a
+00251422000534020005340200053402001d1c1a0035043200390336003d033a
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00854b8200854b8200854b82006d336a00551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b52002a642d
+001a541d001a541d001a541d00225c25002a642d002a642d002a642d00551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200652b6200793f76008d538a009d639a00ad73aa00bd83ba00dda3da
+0092cc95007ab47d00629c65005a945d002a642d001a541d000a440d00053402
+0015241200350432003d033a004d134a00551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b52004d134a003d033a001d1c1a0015241200152412001d1c1a
+003d033a00450b4200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+00551b5200551b5200551b5200551b5200551b5200551b5200551b5200551b52
+"/>
+<palette number="176" name="Apophysis-040426-163SphPart2" data="0051531a0048501400434e11003f4d0e003d4c0d003c4c0c003c4c0c003c4c0c
+00394b0a00394b0a00394b0a00394b0a00394b0a00374a0900364a0800364a08
+00364a0800364a08003a4b0b003f4d0e00454f12004b5116004c5117004e5218
+0054541c0055541d0057551e0057551e0057551e0055541d0054541c004e5218
+00485014004b5116004e52180051531a0052531b0054541c0054541c0054541c
+0054541c0051531a004e5218004b51160048501400464f1300454f1200424e10
+00424e100048501400495015004b5116004c5117004e5218004e5218004e5218
+004b511600495015004850140048501400485014004850140048501400485014
+0048501400485014004850140048501400485014004850140048501400485014
+004b5116004e52180051531a004e5218004b5116004b5116004b5116004e5218
+0051531a0051531a0052531b0054541c0054541c0054541c0054541c0051531a
+0051531a0052531b0054541c0057551e005a5620006c5c2c0090684400ba7660
+00bea3ba0049caf70077bae000a6abca00afa8c400b8a5be00d09dae00fd8e90
+00ed878200b5745d007e623800725e3000665a280057551e0051531a004b5116
+004850140048501400485014004850140048501400454f1200424e10003f4d0e
+003c4c0c003f4d0e00424e1000434e1100454f1200454f1200454f1200485014
+00485014004850140048501400485014004850140048501400485014004b5116
+0051531a0057551e005d5722006a5b2b00786034008d674200ba766000d09dae
+00c7a0b400fa8f9200fb8e9100fd8e9000f1929800c1a2b800aca9c600a3accc
+00b5a6c000bea3ba00c7a0b400e1837a009f6d4e00786034006058240057551e
+0057551e00635926006d5c2d007860340025d6df0022d7dd001fd8db001cd9d9
+0022d7dd002bd4e30034d1e9009369460081633a00ae725800db817600f08884
+00f68a8800c7a0b400bea3ba00bba4bc00c1a2b800b4745c0084643c006f5d2e
+005d572200645927006c5c2c0087653e00b4745c00ea868000ea868000ab7156
+0084643c006c5c2c005a56200051531a0048501400424e10003c4c0c003c4c0c
+003c4c0c003c4c0c003c4c0c003f4d0e003f4d0e003f4d0e003f4d0e003f4d0e
+00424e1000454f12004850140048501400454f1200424e10003f4d0e00424e10
+00454f1200454f1200454f120048501400485014004850140048501400485014
+00454f1200424e10003f4d0e003f4d0e003f4d0e003f4d0e003f4d0e00424e10
+00454f1200454f1200454f1200454f120048501400485014004b5116004e5218
+0051531a0054541c0054541c0054541c0051531a004e5218004b511600485014
+00485014004b51160051531a0057551e00695b2a007b613600d8807400966a48
+"/>
+<palette number="177" name="Apophysis-040426-163StAmF" data="0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000004224080085481000736054006279980064849e
+006790a50072b2be0076bac7007ac2d10075bdc90071b9c20063abae00569e9b
+0079851e007d7d140082760a00826c15008263210084682000866e20008c6f25
+009278970081a8c4008ab8d10094c9df0077aabb005a8b97006b7f5d007c7424
+008d582200895e63008664a400836ca9008174ae00836ba8008563a2007b5c98
+008a4b2400000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000008d3d1f008d4828
+006d719e006980a1006690a4005e949f0057989a00599d9e005ba3a30059a6a3
+005eaaa9006aa6b10069a0ae00699bab006c97ac007093ae006c92aa006891a6
+00588c960030714b0009570000042b000000000000000000008c461c00885527
+006a6c9900608099005c7f9500597e92008266270087511f0000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00873d1500a9698e00b6729900c37ca400966fb40096779f009c859d008b9333
+00864e160043270b000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000777b220065825a00548a92005b929b005c929c00617f9a00696f9a
+008b421a0045210d0000000000000000000000000000000000903c2300903d24
+008a4f2700755a94007d6ca700956eb300a67ac400aa79c000b88fbe00b99eb7
+00bac49d00b5c19800b1bf9300739db5007181a8006169910037222600000000
+000000000055671400747313007f7d1e00acac9c0099a3d200a9c2fe00b0e0fc
+009fc3fb00a5c3fe00b4b3f600cd99d500bb98c400b49cb100b5ada900b5b7a3
+00c7b99b00cbc09900d9b3b400d8cab600d7d3b700d6e1de00e1eaed00dacefd
+00d5cbfd00d8a2de00b68abf008c73b4008277b0006781a0007d87b300979dce
+00aeb8e600bcd7f600d1e5f100eedfe100f1b6f400fdb1fe00e49df300d396df
+009ba2d30077a5bb005f9ca300578e9600738524007d711e007d7327006a729c
+007a67a2007a5b97008d452700903c2300000000000000000000000000000000
+00000000000000000000000000000000000000000043262600705a93008a6999
+"/>
+<palette number="178" name="Apophysis-040426-163StCosOwl" data="005a8f81002b5d45002d454d00302d560035316b003a358000332a97002c20af
+0019145700170a390016001c000e02130006050b00150c0800251405002d1302
+00351300004b1e0800463125004144420049486900514c91005e57b5006c62d9
+00b8acff00d6c8ff00f4e4ff00f1e1ff00eedeff00eadaff00e7d7ff00d3c4ff
+00b1a5ff00695bff005e54ca00544e9600625baf007169c9008278df009387f6
+00b9acff00d1c2ff00e9d9ff00f3e2ff00fdecff00feeeff00fff1ff00fff9ff
+00fffeff00ffffff00fffdff00fffbff00fff5ff00fff0ff00fbebff00f7e6ff
+00b8abff008d83d600625bae0084749b00a78d8900bf9e9000d7b09800f5c4a2
+00eceae900c9bbff00a398ee007d75de00625caf004843800028254f00171a1f
+0004040700180a07002d1107004c220c006b341200673b2300644235004c433f
+003d4a4b0044407a003c386c0035315e002c294e0023213f0019172d000f0e1a
+0015060000210904002e0d09001e0615000f00210008034f0003035000060050
+000c065000251a1c00421f22005f252900643233006a403d005c464300705f5b
+0047437f00494482004b4685004f498c00534d9300c518ad00d01ebb00998aff
+00ada1ff00b6a9ff00b7aaff00b8acff00b9acff00bdb0ff00d3c5ff00e5d5ff
+00e1d7ff00c2b9fc00a49cfa00817ad1005f58a80047437f002a265a001a192f
+0003011500000000000000000000000000000000000000000000000000000000
+00000001000400130009002600130039001d004c002900480025005d002a005b
+00480087008279e7009c91f300b6aaff00dccdff00ecdbff00edddff00dfdce7
+008481a10065628e0047437c00221f3c00100f1d000000010000000000000000
+0000000000000000000000000000000000030201001d151100362720003b3130
+00211f3b00201e39001f1d37001413240005050a000000000000000000020202
+00030b080007171b00194733002f6213004b7011006b790f0088563f00986f5a
+0073503600684e3e005e4d46003b3634001b1b1b000109030000000000000000
+00000000000101070013122200302d5600504b8f008279e700a9a0ff00cec0ff
+00ecdcff00ffeeff00fff7ff00fffeff00ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00fffaf800ffffdb00ffed8a00da9e7700d2a461008a7e54
+00766a41007e6227004c4d1f004a362f002c2943001d1b34002926490045404e
+00826a5300aa8d7a00dba18600e9ba9700fffdd600dcffff00edeaff00dedee7
+008cf59d006cac71007f7f4f008b757100676671005454810059539f008279e7
+00a196ff00bdb0ff00d0c2ff00f2e2ff00fbeaff00ffefff00fff0ff00fff1ff
+00fff6ff00fffaff00fffbff00fffbff00fff3ff00f5e4ff00decfff00b7abff
+"/>
+<palette number="179" name="Apophysis-040426-163StGenie" data="004032240017528e000d447c0003376b00202d3b003d240c0047270700512a03
+00592c000069340000793c0000964b0000b35a0000c9650100e0710200e67403
+00ec780400fe8b1900fe8f2000fe932700fe8d1c00fe871100fd861000fd860f
+00f5881c00e98e3400dd954d00e4a15f00ebae7200f3af6c00fbb06600f9a551
+00f2953800fc8a1700fb871200fa840e00fc810700fe7f0000fc7e0000fb7d00
+00e2730300dd700200d96e0200c3630300ad590400a1530500964e0700884503
+0087440000954d0500ad580200c6630000d0680000db6e0000df700000e47301
+00fa7e0100fb7f0100fd800200f57e0600ed7c0a00e7780800e1740700cc6b0a
+00a9550100773c000064330000522a01004e2d0c004b3117001e283200133454
+00316fad003f5973004e443a0085522000bd610600c8660500d36b0400d96f05
+00d26a0200914b0400723a0200532a00004b2b0a00442d150013273b0005305c
+00034485000a355f0011263a001e262e002b272300522a020067340000804408
+0092551800d3ad8700cea98400c9a68200a795820086848300905a230085480c
+00894604008845030087450300854403008443030080420300793d0200763b00
+007c3f02008d480400934c050099500700bb6e2200cb9e7200ccab8a00debc9b
+00fbca9900f9bc7f00f7af6600e79b4f00d8883800d6710c00c46403009c4e00
+008142020063330200683502006e3803007f410300954b0100bb5e0000ca6500
+00c1610100a9560300924b05008946030080410200743a010062320100503111
+00494745005a98d5004e9be700439ef9005eaaf50098c7f600c8daed00e8eaec
+007994b000567fa800346aa000162c42005a463100623a1100763c0100984c00
+00c8650100e5954400ea9d5000f0a65c00fcaf6100fe993400fd8c1b00fc850e
+00ec770200e4730100dd6f0000cf670000b95c0000985007008a4805007c4712
+0082572c00527aa2002f8deb00157ce200086ed500017af400017ffd003793ef
+00bbd8f600bcd8f400bed8f30082bcf600379bfe000481fe000276ea00046bd2
+000569cd000669cc000059b1000057ad000865c3004f8dcb00829db9008d97a0
+00d0ac8900d9af8400dba56f00e5934100e57f1900e5760700e1710100e77504
+00ec790500ee790400ef7b0700f8820c00fc840b00fb820900f17c0700ec7a08
+00df720400de6f0100c6640200a1520400954c0400904a04008e490500934b02
+00a0510200be5f0100d36a0100d96f0500d76d0300c6630000a0510200964d03
+00934c05008e4a0600924e0a0095561800c2782d00d1a06e00dbb79300eac199
+00fed9b500e1d3c500e3e1de00fcdec000efd0b200d8b38e00eab27b00faaa59
+00fc983400fd8f2000f3841400eb790700e5770800d7843200c4946500ae8a66
+"/>
+<palette number="180" name="Apophysis-040426-163St" data="004f7a7400669891005a8982004e7a7400596c5f00655f4a0068624c006c664f
+009e977800b7af8e00d0c8a500d0c8a500d1c9a600c3bc9900b6af8c00a69f7f
+0097907200538079004d79720048726c002f4c4900162727000d171700040808
+00050a0500050a0500050a0500050a0500050a0500050a0500050a0500050a05
+00050a0500050a0500050a0500050a0500050a0500050a0500050a0500050a05
+00050a0500050a0500050a0500050a0500050a0500050a0500050a0500050a05
+00050a0500050a0500050a0500050a0500050a0500050a0500050a0500050a05
+00050a0500050a0500050a050010110c001c181300322d230049433400807a60
+00aba58300e3ace300edc5ee00f8dff900f5e7f500f2eff100eceeee00fef0df
+00e6dcbb00a6baa600679891004b736e00304e4b001f3332000e191900050a05
+00050a0500050a0500050a0500050a0500050a0500050a0500050a0500050a05
+00050a0500050a0500050a0500050a0500050a0500050a0500050a0500050a05
+00050a05000204050002050300020602000207030003090400040a0400050a05
+00050a0500050a0500050a0500050a0500050a0500050a0500050a0500050a05
+00050a0500050a0500050a0500050a0500050a0500050a0500201c1600433d30
+009c957600b8b08f00d4cca900d4cca900d5cda900d3cba700a19b7b007b755b
+005c5643000a121300070e0c00050a05000b14150028241c002f4e4a0042635d
+0064958e006b9c950072a49d0078aaa3007eb1aa008fb7ac007cafa800679891
+007f795e002e2920001f1b1500110e0b00050a05000207020001020100000200
+00000200000002000000020100000202000204040003060700050a0500040809
+0015252500375a55004f5e500068624c00787259008b8568008d876a007b755b
+00615b4700605a4600605a460048534600302b210015120e00050a0500050a05
+00050a0500050a0500050a0500050a0500050a0500050a0500050a0500040a04
+00050a0500050a0500050a0500050a0500050a05000b0907002e292000554f3d
+00706a5300938c6e009d967700948d6f0080795f00706a52005f594500342f24
+0017130f00050a0500050a0500050a0500050a0500050a0500050a0500050a05
+00050a0500050a0500050a0500050a0500122020002e4d4a0042696400466e69
+0036585400312c220013100d00050a0500050a0500050a0500050a0500050a05
+00050a0500050a0500050a0500050a0500050a0500050a0500050a0500050a05
+00050a0500050a0500050a05000c0a08000f1b1b00233c3a002b484500284441
+001b2e2d000f1a1b00050a0500050a0500040904000605040004040300010201
+000104010003070200050a050012202000103070003d635e00527e78005f5945
+"/>
+<palette number="181" name="Apophysis-040426-163StSatAngel" data="00a99fbb00c899ed00d2a9f000dcbaf400e4b9ed00edb8e700f4b8d800fcb8c9
+00ee88b600e782bc00e17cc300df7cc600de7dc900dd7ac800dc77c700dd76c4
+00df76c200f17ea500f2808c00f3837400ef8a7300ec917300e9906e00e79069
+00ccb65700cacd6a00c8e47d00c8f18b00c8ff9900c8fc9d00c9f9a100cff198
+00b3e984009bc57900a2ba9200a9b0ab00b6a8c400c4a1dd00c7a3e000caa5e4
+00dbaafd00e6b7f500f1c5ed00f2c0e500f4bcdd00f5bedc00f7c0db00fbcfe1
+00fed7dd00fed3e000fdcdd500fdc7cb00fdb6c000fda6b500fda1af00fe9daa
+00dabc7900b5ba740090b96f0089b8620083b8550087bf56008bc658009cf24e
+00a0fe4a00a7e13800abda3900afd33b00b0d23b00b1d13c00b6c43800b8ca44
+00e6936800ea896800ef806900f5887d00fb919100fa9d9d00faaaa900ffbec6
+00f6bcd800e5c6fa00edd1fa00f6dcfa00f4e3fa00f3ebfb00faf5f700fffef3
+00e0d9ef00ddd0e900dac7e300dfd1e400e5dbe500cdd4cf00d1e7c300d3f2bc
+00c2fe8e0091c26700acd67500c8eb8400ceea8f00d4e99b00d4ffb000e6f6de
+00f5f5e900ece9ed00e3ddf200ece3e900f6eae000f6d9d000eac9a700dbcb8a
+00d6cd8200caee8c00c2e59600bbdca100c2d1bb00baaad300c79fe500cb9cf0
+00cb97f400c686f800c276fc00c777f300cc79ea00d277dd00de79c600f686a4
+00f4958800d3bb6b00c8c15b00bec84c00bac84500bebf4400ce9e4300d98c48
+00e7896100e7916a00e8997300e79b7400e79e7500e6a17600e6a47900deb47a
+00dac17e00daca8800cacd9b00bbd0ae00cecdd700d2b6e300d2aaef00cb9af1
+00a59cb6009d9ba700969b990093ac82007e9f640078aa4d0079af4a0080a95d
+0079a8500078c92d008adb2e009cee2f009bf332009fe82e00a8db3300b1d641
+00c9cb6700c6d46b00c4dd6f00c9d77300cfd27900d6c67b00d7c27900dfb880
+00efa48d00e988be00df93dd00c796ed00bf93e100bd91df00cd78e700d376d9
+00ed80af00ec80b200eb81b5009d9da500a39bb300e378ba00f07ba300fd8392
+00fd8a8f00fc909200f57e9e00eb7baf00e678b500da77cb00d077e100cc79eb
+00cc79ea00d076df00d776d100e177be00f27da200f8858000ec917400e6996f
+00e4a17300e3ad7c00ebb59500f5a4c300db8bdf00d792ed00d78de700d67ddb
+00d477d900d776d200dd76c400e177bf00e778b300ff979f00fb9bae00f9b6b2
+00edc8ad00e9e2be00e3e6b500dbfec100e9ebc800edece300d3e6c900c9ccce
+00a8bd9b0092b8730088c4540083dc310097f144009cf34c00a0e66100b2fb69
+00bcf57500bfeb7200b2f57700b7f58000a9cd8d00abb8a600f28eb300f887a0
+00fd899800ff879100ff859000fe878e00fa878600f78f8700f3938300f09e88
+"/>
+<palette number="182" name="Apophysis-040427-1knotted" data="0092781b0092611e0093502d00943f3c008b38380082323500772e27006d2a19
+005f38110050351c00413328005b4a2f0075623700887129009c801c00988b1a
+009597180092781b00a2623200b24c4a00be2d6f00ca0f9400db0cb300ed09d2
+00ff00dd00ff00e000ff00e400ff00e700ff00ea00f700f400ef00fe00fb0ce3
+00f603db00db0fac00bb139a009c188800a0188500a4188300a4188300a41883
+00a3196f00951b5000871d3100891f2f008b212d0086212a00812228007f2525
+006f2e2800473c4d00304c7300195d9a00195d9a00195d9a001b777d001d9160
+002c7d540041554c00572d45006b253b007f1e3200831d3000881d2f008a1e2e
+00962845009b188a00951896008f19a300911a9f00941b9c00941c8800a31a84
+00a21981009a2b5f00933d3e0095383d0097333d00893241007c3146006d3653
+006a374a00409a66005c9d410079a11c007f9e1b00869b1a00869b1a0081954e
+007c723f006b822d005b921b005b921b005b921b00606f2a004b583c004e2e55
+00531c70006d188f00721f850077277c0079295d007b2c3f0073121d004e0925
+003b090c002a301f001a5833001c7340001e8f4d001c9b4e001c9c51001c9c51
+003a725900a4188300ba129000d00c9e00df10c000ee08ca00d609b000af1494
+00961a9c00573b9b00195d9a00195d9a00195d9a001c5e9b0066648b00905780
+0098357800b9164500a92b3d009a40350092611e005b921b001b9c4c001d9e4b
+008c601500654520003e2a2c003b212800391924003b3f4a0042494f004a5760
+0078357c0076199b00831a9d00911ca000903a83008d4745009f4a2100ff3c33
+00be184a00b7135400b00f5f0093383f00893d3d00865d3d007d673800857541
+0090663e00b6183900c0194c00cb1a6000d8449800f9c7d300ca93a800807e89
+001c9c51001c9b4f001c9b4e002b5b4d004e4936005c342800712a26008c2a1f
+009b351e009b4921009f582e00a05631009a413300952f3d00a8126c00a11472
+007e1e39006919340055152f00480a2f0026151b001f0f0000010a1b00271a23
+004a1b3d0068076e007c086900b8144700bc113b00af122f009d2322008a211b
+00820b050075011600770a03006d2904007d24140081232300802425007f2326
+00812226008a1f27008b2322008b2b1f009f3616009c471e009d641f00bc751d
+009c7440009d685600a14c6b00de279d00ff04c100f408d700ec06db00ca10c9
+00961f9f00991d8d00962e7b0083354b007c334600823b2900923e1c008c3c17
+008b2b1f008f271e00971f20008a1f29008c202d008a1f29008a1f29008a1f29
+008424250080262600802826008b322000923e1c009259140092611e0092611e
+009d641f0092781b0092781b0092781b0092781b0092781b0092611e0092611e
+"/>
+<palette number="183" name="Apophysis-040427-4AlngSpder" data="0058230300451a07004319060041180600471b06004d1f07004f1f0500511f04
+00522103004d1e0300481b0400431804003f1604003e1606003e170800431806
+0048190500642104006b270400732e0500782f08007e300c007a2d0c00762b0c
+00642810005c260b0055240600562303005822000057200000571f0000532001
+00532204004d2108004d1e07004e1b0600501c0700521e0800521f0800532108
+0066300a0073361200813c1b00833e160085411200863f1100883e1100833d0c
+0079390b00712e0000742c0000772b00007b2f00007f340000853700008c3a00
+007f310d00742f0c00692d0b00652d0b00622d0b00602907005e260300662400
+006d2400006d290600662908005f2a0a005b2908005729070051240300491d02
+003c1705003b1503003a1302003d1403004015040040150400401505003a1407
+0039150500281b00002a1502002d0f05002f0e0200310d0000381102003d150b
+0052220b00632f1300753d1c007f411b0089461b0081582000854a100084460d
+00853c07007c3904007c3907007d390a00833b0a008a3e0a00924b0d00a15911
+00fb312700d75a3300b3844000ae702900aa5c1200915b1100934c0e009a4407
+009b3b1300803c0d007d3a0d007b380e0074340800692d080066270600642400
+00571b00004f1b0300481b0600471b0600461c0600491f09004e250500522c08
+00612b0f006e32100070330c0073340900732f0a006b300800632e0200562800
+00451c000042190200401705003f1705003e1805003b1805003d180500401705
+0046150400480f040047130600471709004b1c0a0048220b004a27070056290c
+00693510006f390a00753e0500753a02007a350b007c320b00742e0a00672c0a
+00562507004a2007004a1f07004b1e07004d1f050052250600562804005d2904
+00612300005d220000592100004a1c0500441b05003d1a060038180100321205
+002d1217002c100f00360b0000421100004b1d03005d2904006e3309007e320e
+008748130093490f009f4b0b00a3530000b44b0a009d2e0000892a0a00832809
+007c320b0078360200753600007532070070300a006a2f1100672c0c0062260a
+005e2507005a2601005c24000059230000522400004c20030048190000471902
+00481c0300501d02005b1f0300602402006428030068270000692a0100762f00
+006f2e0400682d05006023070059210600521c04004d17000051170000560c01
+006a1d00006c230200702b0a0077310f00732f1c00763610007e3a1500793510
+006e2c0c006a25060065210000661d0a00601d14006f240d00813110008e3f14
+0096411a009f5224009e4f14009e5510009e4e0f009948130094470f0091440e
+00893e040080430000863c0000853706007f340c00832f0d00a5301e00ac440d
+"/>
+<palette number="184" name="Apophysis-040427-4AlienFlwerBwl" data="009b8844008a6135008769340085713400826733007f5e3300784f3300714133
+0000000000181312003126240053483900766b4f0078674b007b6347007f5f4d
+00835b530097663d00906b3a008a71380094773c009e7e41009c8342009b8844
+009089550096865b009d836200a3815f00aa7f5c00a7825c00a5855c00a88754
+00ab855600a68e5e009b8c5000918a4200897d480081714f00876f4b008d6d47
+00a0825000a78d5900ae996200b3916200b9896300b6856800b4816e00ba8871
+00af907100ad937000ac8b6a00ac836500a1816b009680720093816f0091826d
+007d845a00777a560072715300767558007b7a5e00817b6700887c70009c8b71
+00b6a38300d4c59e00dbcfb000e2dac300e2d8c500e2d6c800e4d8c800e6dbc5
+00e3dbc400e2d9bf00e2d7bb00ddcdb000d9c4a500d4c5a100d0c79e00d6c99f
+00d9ceae00e0d5b900d7cbac00cfc2a000cfbf9900d0bd9300c1b38600bfa276
+00b9a17100b6a17200b3a27400b4a47500b5a77600bbb57b00c1b68800c9bc92
+00d2b89700cfbc9c00d0bf9b00d1c29b00cfc19a00cec09900cdb6a400bab4a4
+00afa29a00a8948800a2877600a6867100aa866c00ab876d00bd916c00bc9574
+00c4a08000d4bfa000d5bfa600d6bfad00d6c8ae00d0c4ae00d4bfa000d3b694
+00cfb18f00c9aa8b00c3a48700bda48600b7a48600ae9a7f00a1a37400a09665
+008d895c008184590084855c0088865f008f87600098856700a5987500af9c72
+00ae956c00a285600096755400926f4f008e6a4a00955f45008f5e35008f6334
+008d6132008e563f0087523b00814f38008661340083623500776235007a5a33
+0000020000000100000000000000000000000000000002010071402000844b2e
+007c453000000000000000000000000000000000002e241b006b5032007e6141
+00886a46008c6e400090733b00937a4400a48e5500b79d6c00c3a87900c9b88d
+00cdbc9100cfbb9a00b7ab9300a480800096807200826e6f0085775d0094794e
+00a07d5300a07e5400a1805500a8884d00a9824b00ab6f5500ac705800a47e5a
+009d825300927e59008c8e690095997800a29d7500aa8e6900a5835d009c7652
+0095764a008f6c440099654d00a1654d00af725d00b3826400bc967200c3ac80
+00c9bc9000d2c39c00d9caa900ded0b500d6c8ae00cec1ae00c8b49300c2ad8e
+00c0ad8200c0a47d00c39e8100bea18100b4977700a87f6b0097736300836b53
+008c724f009d836200b5987600bda58b00cfc39d00d8d3b500e4dabf00dcd4bf
+00cecabe00d1d0b200c7c49b00c9be9100c3bb9700b8a98000b0a27100a89d65
+009d824d008c683600724f29001b161200000000000000000000000000000000
+00000000000000000000010000423429006f684c0090785600b29478009d9856
+"/>
+<palette number="185" name="Apophysis-040427-4AlienFlwrBwl_inv" data="0036436d002c4267002d4263002e4360002f416300313f66003144600032495b
+0043545b004e596800595f7500576c8400557993004b739300426e9300426c8f
+00436a8b00325a74002d4d6300294052002c3d51002f3b51002d3d58002b405f
+0028457100314e72003a58740041597600485b79004c607c00516580005e5c8b
+005f699a007a77a2007878a1007779a0006f799c00677a9800607091005a678a
+0050679100577196005e7b9b006788a8007195b5006d9ab7006aa0ba0070a1ca
+00709ccb0078a2c8007ba9c7007eb0c7007da6c8007c9dca00829dca00889dca
+0099b1dd00ccd8ee00ffffff00ffffff00ffffff00fffefe00fffdfe008ebfdf
+007bb4d100aed3ee00d6e9f600ffffff00ffffff00ffffff00d1dbe40094afcd
+008494b5007990bc006f8cc400657eb7005b71aa0051699e00486293003c5786
+003647720030446500456172005b7f7f00627f8600697f8d007d9190007a88a2
+006587ac006183ab005e7faa005a7bae005777b200567db4005490aa00538fa7
+005b81a5006d81a6006b7396006a668700636488005d628a00557196005a7ca2
+006a89b5006891b300669ab200629ab2005e9ab200508da2004c7d9b0043698d
+003c537f002d3c630029385c0026355600212f4a0029375100313e5100374b6c
+003f527d003d597d003c617e003e5f7e00415e7e004b68880057809400688c9c
+007c94ac00627c9d00567193004a678900425a7400303c6200272c4a001b2540
+003135410034385200383b6400373e690036416e003c44680047567f004f5d8e
+0057629a007397c90080a3cf008db0d600e4e9ed00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00fffeff00bdcbd6009097b3006f87a9004d6b87
+006267a9007397c900749ac900759eca007e9aca007a8ecb007c96bb0080a1cc
+00fefefc00fefefd00ffffff00ffffff00ced9db0094b0b3008994b0007f94af
+00849cb8007ca4ac006f98b8006899c2007196c200758ec7006989c4006181be
+00696cb3006c71ae006f76aa00637aac00627c9d005e80a3005580a3005a7aa3
+005778ab00547aa9005276a6005971a1006172a8006e75bd007b88bd007e8eb0
+007292b8006388b5005f7daf006068a90051669d005067930046769c004b7e91
+0045778e00506f8e0052668b00526c8f004c759500537c9a0056919900697f8d
+006e7d920075789b00827ba5008189b0008d8eac008690ab008485a10077838f
+0063748e00495c7c00384a6e002b3a6100222b4a001d253c001d2937001b2737
+0019243a0019243a001c243b001a243d001d28440022315000263b5a002f3861
+002936600026315100202b47001f2a4600222d4b00303d5f002f426c003e4c79
+00405d8900425d8c00465e8e0049608a004c5d8b004a588900444a84003e4977
+"/>
+<palette number="186" name="Apophysis-040427-4AmusePrk" data="00810e5b001b00450044004d006d005500992c3400c5581300d36c1000e1800d
+00f3bd2900f8d32d00feea3100feea3000ffea2f00f0c12400e2991900d39524
+00c4922f00f9b27400f3c07f00edce8b00efcf6d00f2d15000f3e35600f4f55c
+00f8f63200fae72e00fdd92b00e0d24100c3cc5700b3c66000a4c06900c47066
+00fc432e00a228010082140d00630019005509230048132d004d293a00533f48
+00b2839500b7467500bc0a5600dc064100fc032d00fb012400fa001b00ee0000
+00e000120081010e0050062d001f0c4c000f09290000070600001c0300003100
+0075a70600aaa00d00df991500e6842600ee6f3800d96e4600c46e5500a34128
+00a24100001a3b28000d4a1500005a0200005902000159020002311f00000d2c
+00000024000000210000001f0000011c000002190000031c0000041f00000022
+000100240000092c0000142f00001f3300002c3700003a3b0000483d00015643
+0002363400032c1a0005230100021e0a000019130000222400022a3600003638
+00005643001165670056848a009ba4ad00c298b300e98cb900c0968a00aba38c
+008ab88a0077aa6000649d36006ca22b0075a720008bb40e00a4be1c0094bd09
+0092b503007b87010079610f00773c1e00632a1f002d2711001b113300010a2b
+0001002200000424000009270000182500002824001c641000436e0300907734
+00da946000dac38000d5c18100d0c082009cb25f009b976a0095a98600d47e97
+00ff055c00ff057c00ff059d00ed34a300dc63aa00ec779200f3a49d00f4a59e
+00fd9b8200fd055900fd055900fe055900f3004000e8002800df040000c50f02
+0045002300311b1a001e361200025c0200007402000176040000641400016622
+0000654500024325000154210001651d002a8303004a8803002f820000007502
+0000560500003f120000282000000a2a00000b2b000021310029472f00799429
+0092b62000c5bd1d00feeb2d00fdfb3700faf44400f4f45e00f8fa9500bcd39d
+006daa9b006aa6920068a28900327e72000360560002554500023538002d1b31
+006d005600b8005800d7013d00f0003d00ee0e1900ee0e0c00e8500400c56f00
+009eaa0c00b1b64200c4a43300fc744000f0674500fa433100fb291a00fa3f14
+00fa3f1600ed572400c7861e008b88410089905c0089674e0058313600404407
+00414401006482000088a70c00a2bf2f00d6e62100f2f33300faf17000f3f89a
+00dbdfbe00d1dcb400b0cdaf00b7c2bc00f2cbe000f5eae800faf6d100e5efe7
+00ece1e700dbe6d600bfd3b800a4c49500829e88006ea399006ea79e006a9790
+00347d6a002945460000453d000038390001323600011e2e0000243200013437
+000f3e2c00015410002b480e00403508002b2b0f00350d010042012300ec0089
+"/>
+<palette number="187" name="Apophysis-040427-4AmusePrkInv" data="0013ff7600caf2fe00c4defa00bfcaf700debaf300feabef00f7b6e100f0c1d3
+00ffdbcd00fed4cb00fecdc900fec3c500ffbac200e59eab00cb829500b07582
+0095686f00915c6600764b68005b3b6a003f2a4900241929001b1b2000131e18
+0005092e00091e26000d341f002e3337004f3250003e2a4d002e234b00242041
+000c0765000d0ccc003526ce005d40d0007c5ee7009b7dff00ac9cfe00bebbfe
+00a7cec9008e9eb600766fa3005774c2003879e1002590de0012a8db0005c0e9
+0005c0eb0005bcce0004a3c600038bbf00286abe004e49bd00574fd8006155f3
+0017affb0014d0f00011f1e6001cf7d40028fec20037feb40047ffa70092ffa9
+00d2e4ce00fdaaba00e595a300cd818d00b26f8100975d7600925564006c4758
+0007056a0006089200050bbb00030fc6000114d2001d2bda003a42e2006d49df
+00866bd600ffdece00ffe9d100fff5d500ffe6da00ffd7df00ffa9fa00fc9aff
+00d07dff00d27cfd00d57cfc00e98bef00fe9ae200fdbcda00fea9c000ff9aba
+00fe99dd00fe89fb00fd96fc00fda3fd00efb6f500e1c9ed00baffdc0071f8fe
+0020fbff0016fddf000cffbf0006fcb20001faa60002faa60025998e0002647d
+000b5a610013886d001b926100239c550000fa620001ff810000faa30013db6e
+006a56790066518c00634da00049468e002f3f7d00253c7f00142a9700256b9f
+006f88cb00e39bef00f1b9e500ffd7db00fff6d800fefdde00feffdd00fffad6
+00e4eecc00c0e1d6009cd5e00092cce00088c3e1008478fe007854fe006d4afc
+006b42f600744bf1007f51e8008a58df009b62c9009758830075477500665c74
+003f6975002a6e5d0016734600645b5200957b6e00ee9a9800ff99b600ffa9bc
+00ffc9c700ffdddb00ffe1e300ffe6ec00fadcfe00fedfe500fdc9cb00feb5c0
+00ffb7c200ffbec300ffc5c400ffe0cc00fff4d400fff6d300ffffd300feffdb
+00ffffdd00fffbe000fffde600ffffe000ffffe000ffffdd00ffffdb00fff6d7
+00fdcee000fdbaee00fea6fd00ffa5fd00fea7eb00e5c4d70082d9c6005dbeff
+005cbed7003b91aa001190c7002067e5002066ea002d5ce6008a58f900d597f8
+00ffceff00fff8f900d5ffd100e0f3b300a5e7cc007efef1005ae8ec001fffed
+0011ffff0005ffe40003fcd20024fbcf0043f5a900259b67004d7c6a0065838d
+00acc0b700b7ecd2009bffe2009cffe6008ce6fe005dd7fe001eeefa0003bcd1
+003b8f99005b3f96003c33a8002e24d2000226d4000020cb000709cd000101b7
+000b0aa3000d2eaf0002239400123174000a3f5f00064d8b001e48ae003b6dd0
+001d66e6000d42cc000015d0000113cb000115ce000226d4000c42d6002067e7
+001e7ff2003aa7ec0086d4c60092ffaa00d1e7a700e4ffba00c7eba5007ef1a4
+"/>
+<palette number="188" name="Apophysis-040427-4AmythIceInv" data="006d7232004b503c0055583e006061410074744300888746008d914700939c49
+00b1af5800b7b45b00beba5f00c3bf6500c8c46b00c9c36e00cac37200c8c671
+00c7ca7100c7c36800c2bf6400bdbc6000b5b45900adad5300a1a24b00959744
+0040a4300040a4320040a43400558645006a6957006b6d4c006c72420080863e
+00838b3e00acac5200b3b15a00bbb66200bebb6400c1c16700c1be6500c2bc64
+00bbbc5e00acac53009d9c490088883d0074753100605e2a004c482300464225
+00373c260055614b007b815600a2a26200b1b06400c0be6700c5c26a00cac66d
+00dadc7900e3de8c00ece19f00f5e7b000feedc100f7e6b800f0e0af00ead5aa
+00e1d58300ccc86f00d2cd7600d9d37d00ddd58400e1d88b00ead9a500ffeddf
+00ffe9e100f1e0ba00e4d79300d6ce7f00c9c56c00c1bd6500b9b55e009b9e4d
+00747e420013311900122b220012252b001d2d30002935350045543f005baa5b
+0094db8d00a9cc7a00bebe6800c1c06700c4c36700c4c36700c5c46700c5c467
+00c5c46700c6c66600c7c76700c8c86800c7c86700c7c96600c7c76700c7c767
+00c4c36700c2c06400c1bd6200c0b95e00c0b55b00b6b55b00b3b25800a6a64e
+00979945009e9d4a00a6a55100aeae5800b9ba5c00bcbe5d00c3bf6400c4c366
+00c1c16700c3c16600c5c16600c4c16500c3c26500c4c36700c4c36700c5c467
+00c5c46700cbc76e00ccc67100cec67500d4c67f00d8cb8700e6d5a100f8e0c4
+00f2f7fd00f8fbfa00fffff700fefff500fdfff400fdfff200f6f2e600ead5aa
+00dbd38800cbc86b00ccca6a00cdcd6900cdcf6c00bedb6d00d8f17900dee57b
+00d5dc7500d0d67200ccd06f00ccd06f00dee57b00e9db9000eadba200e5d49e
+00e2d18b00cec47f00cec37c00cfc37900c4bd6c00c1ba6900c0b76a00a0a378
+008b9155008e976200929e70007e8b790065c16a005cbf6d0052b3480041a833
+00359e2700359c26003f5b3200474f38004c4f34004a5533004c592d002e9319
+00399e28003ea22d0043a7330091984800a5a54f00b4b35900b6bb5f00bdbe61
+00c3bc6b00bdc4800090d5a60095dbc300ade6e000c5ddab00b7c69b00cbc281
+00cdc47500cbc77000cbc86900c8c86800c7c76700c6c56800c9c56c00c9c56c
+00cec57600d0c47a00d8c58100d9ce9000e5d0b100dbeedb00fbffee00effce0
+00ddebad00e3eb9800e5db8400dbd68200d4ce7a00ccc37400aca87b00979c7c
+00758062005e614c004b533e00494e4700535458006966610085885b00979a4d
+00a3a24f00a8ad490094bc590048b3410033a631002b991e0025971e0020961e
+0013810e0013800d001d8b12001a851300364d23003d4b28002c312d001f2c22
+001c180f00182104002e2a04003738190039401e00575e340066643400737136
+"/>
+<palette number="189" name="Apophysis-040427-4AmythIce" data="00928dcd00b4afc300a9a6c0009f9ebe008b8bbb007778b900716db7006c63b6
+004e50a700474aa3004145a0003c409a00373b9400363b9000353c8d0036388d
+0038358e00383c97003d3f9b0042439f004a4aa5005252ac005e5db3006a68bb
+00bf5bcf00bf5bcd00bf5bcb00aa78b9009596a8009491b200938dbd007f79c1
+007c74c1005353ad004b4ea50044499d0041439a003e3e98003d4099003d439b
+004443a1005353ab006263b6007676c2008b8ace009fa0d500b3b7dc00b9bdda
+00c8c3d900aa9eb400837da8005d5d9d004e4f9a003f4198003a3d9500353992
+00252386001c207300131e60000a184f0001123e00081847000f1f5000152a55
+001e2a7c00333790002c318900262c820022297b001e27740015265a00001220
+0000161e000d1f45001b286c0028317f00363a93003e429a00464aa1006461b2
+008b81bd00eccee600ecd4dd00eddad400e1d2cf00d6caca00baabc000a455a4
+006b24720056328400414197003e3e97003b3c98003b3c98003a3b98003a3b98
+003a3b9800393999003838980037379700373698003836990038389800383898
+003b3c98003c3f9a003e429d003e46a0003f4aa400494aa4004c4da7005959b1
+006866ba006162b5005959ae005151a7004645a3004341a2003c409b003b3c99
+003e3e98003c3e98003a3e99003b3d99003c3d9a003b3c98003b3c98003a3b98
+003a3b98003438910032388d0031398a002b39800027347800192a5e00071f3b
+000d08020006040500000008000100090002000b0002000d00090d1900152a55
+00242c77003437940033349500323296003230930041249200270e8600211a84
+002a238a002e298d00332f9000332f9000211a840016246f0015245d001a2b61
+001d2e7400313b8000303b8300303c86003b4293003e4596003f4895005f5c87
+00746eaa0070679c006d618f00817486009a3e9500a3409200ad4cb700be57cc
+00ca61d800ca63d900c0a4cd00b8b0c700b3b0cb00b5aacc00b3a6d200d16ce6
+00c661d700c15cd100bc58cc006e67b7005a5ab0004b4ca6004944a00042419e
+003c439400423b7f006f2a59006a243c0052191f003a22540048396400343d7e
+00323b8a0034388f00343796003737970038389800393a9700363a9300363a93
+00313a89002f3b8500273a7e0026316f001a2f4e00241124000400110010031f
+00221452001c1467001a247b0024297d002b318500333c8b0053578400686383
+008a7f9d00a19eb300b4acc100b6b1b800acaba70096999e007a77a4006865b2
+005c5db0005752b6006b43a600b74cbe00cc59ce00d466e100da68e100df69e1
+00ec7ef100ec7ff200e274ed00e57aec00c9b2dc00c2b4d700d3ced200e0d3dd
+00e3e7f000e7defb00d1d5fb00c8c7e600c6bfe100a8a1cb00999bcb008c8ec9
+"/>
+<palette number="190" name="Apophysis-040427-4AngOrchid" data="00ade5c800c0ccc800a79cc8008f6cc8007a58ac006545900065439100654292
+006749a100684aae00694bbb006246bd005c42bf005a3eaa00583b950054388b
+00513582005b41bc005946c900574cd7004e5ccd00456dc4004777c0004981bc
+0027635b0013383900000d180013383a0027645c0028645d0029645e0029665e
+0029685f0029665e0028655d0027645c0028665d0029685f0029685f002a6960
+002b71660031866e00389c7600389e7b0038a18000369f7c00359d780039a17e
+0039a2830046ad980054b7a90063c2ba0082d1c700a2e0d500a3e0d500a4e0d6
+006cbfab0056b39a0040a78a003ba4870037a2840037a2840038a3850038a588
+0040b09a006bb8c00089c6c500a7d5cb00afd7cd00b8d9d000bcdfd800bdecd8
+00b5e4dc00b4e3db00b3e2da00aedfd900a9ddd900a3d4d6009dccd40078b9b1
+0059968400336c65003e4e6f004a307a004b307a004c307b004d327f004f3483
+00665cbf006b58cb007055d8007765db007f76df0070a6cc0063bab1004daa8d
+003a9a7e002a6c620029685f0028655d0027645c0027645c0027645c0029665e
+002b6d630035857600409d8a00489e9a0050a0ab0067b5b70080c2be0098bdd7
+009ca6e1007459da006d53db00674edd005d52dd00594cd8005f53d1006b7ad5
+0041a2a90041a09900429e89003ca0890037a3890039a9910041ac980042af9c
+0048b4a40041ad9d003fab93003da989003da280003ea27e0043a37e0044a582
+003aa3840039a3860039a4880038a4890038a48a003daa97004aa8b0005eacc0
+0069b5c5008fd8d10089cdcd0084c3ca0076bdad0058aba3003796900030796e
+002b6d63002b6d63002b6d63002e7469003e9d7d0045ac910065bda70078cac4
+008fccbd00a9e3b100a1dabb0099d1c6009acbd0009cdbd300a6ebcc0099d0bd
+00b7e0a800b8e2ac00bae5b000b5ebc700b6efce00b5ddd500bedcd400c6efcd
+00c6f0cc00c2e4c900bfdebe00b1dea30098b2a5006eb6a8004eab8e0042a586
+005cb9a60065bdac006fc1b30086c9b800addda100b0dc9f00b5dd9e00b1db9c
+00a2c38c00669c8e0050ab8c005db59c007fc3ac009fd0a300addd9f00afdb9e
+00a5c48b0099b3830058927a004a83a1006a549d00886ab200b08fe600a7b8e3
+00b5d6db00c3e6e000d0f4d800d4f3e100ceefde00c2efd800c2efda00c3e6e2
+00cfe6de00ceeee100d0ebe600d3ede400d2ede400cae4e100bad8da00aebce1
+00b09be8009574dd008763cd006b52d2006850da007f67e1006f8bd50067a1c9
+005498bf00408897002d756a002b6d630029685f0028655d0029645e0029645e
+004a307a004d317c0050348100563a8f0057398300346d66002a69600029685f
+002a6c62002b716600438a7a005a939a007fc1b70084d5ce00a7edc900b5eecb
+"/>
+<palette number="191" name="Apophysis-040427-4Leaves" data="00bab2c10057624400403c2e002916180031161700391716004d28180062391b
+009f5f2100ad7a4500bc966900b4a37f00acb09500a6aaa000a0a5ab009fa5ad
+009fa6b000bcc6bb00c1c8bb00c6cabb00cac3b000cfbda500c5b89900bcb48d
+00c0851d00c8891500d18d0e00da9c1000e3ac1300e3b61300e4c01400e4ac19
+00e2a21a00d28e1300c27d1d00b36d2700b0761a00ae7f0d00c08d0c00d39c0b
+00ddbd5a00d9c48400d6cbaf00cfd4c800c9dee100c6dee500c4dfea00bcdcf3
+00c6d3f300d1d9ee00cdd5d900c9d1c400c4bfb100c0ad9e00c0ac8500c0ac6d
+00e8d22e00e1d84400dbde5b00d6d58000d2cda500ceccab00cbcbb100c5c7b9
+00b3bdb500948d71007d67430067421500643d0d00613906004225000026150e
+0015112200241e1800342b0e004a341500613d1d006b42220075482700846c4a
+00ab876d009aa38e009aa19b009b9fa8009a9ea100999e9a00939c990096938c
+00a8a48100a8b69a00a8c8b300afd0b700b7d8bb00d0d6d200dadfd900d6dfda
+00cfdfd500d1c8b900cec09500cbb97100c8b76900c6b66100c8be5f00d2b25b
+00cba54000ce893200d26d2500c6622300bb5821009e581300a36113009e7639
+00b07d6200a3a8bc00a8a8c500ada9ce00abc1d600adc8d900c4ccce00c9c8c6
+00d1cfc200d4cfc600d7d0ca00dad2d800ded5e600e7dddb00ddd7c700d9b9aa
+00c88e6000bf822f00c17d2700c3792000c3922900bda35800b8ac8400babdb2
+00bbcac500b6c3c300b1bcc200afbcbb00adbcb500a5b4bb00a0b9c000a3c1cc
+00b5c2c800ccd4df00d2dae100d8e0e300dee7f000e3e9e900e4e8da00dee2d4
+00d4c4ad00d4c29d00d4c08d00d4b07400db9c5500b17e3c007c562700743e1a
+0052131b00121206000e1106000b110700110907000f0e0c0021161200234417
+00a45d7b00b17d9600bf9eb100cfc1be00cfcdd200d2d5dc00d8dcdf00cde0de
+00bee1e300c4d1da00c9c9c900c9c3a900c7bf9100b2ae8100aea98100aeac86
+00afa7a500b3b0b600b8bac700c4c8d100d1d3e000cde3f100d4e9fa00dde8fa
+00d1ecf500c5e0f100d4e2e200d8e5d100e4e9d500ecebab00eed09c00d9cd77
+00cdb95a00d5a93c00d7a93a00e9b43200e3c92e00ddcd2200e8ce1900ecda14
+00e7cb2200efbb1700e8b51e00eab11a00e8a41b00da8f0f00c17c030098560c
+006c4e0e004f44300078725a00a79d9100b9bbba00d4d0df00ddd1e700d5d2e5
+00d1dfe800d1dbe400c5d3e000bdcbce00aebbc10099b2ae0064b0a300869286
+0078858d00627a84006f7887008c8d6500948e5a00b38a3200c56b0a00a64e07
+008f2d1400643716003e180f001f090b001c041100320c0b004a260600734c00
+0085561e009c602c0091835600927c6e008e9e5700878f5e006f767c00666867
+"/>
+<palette number="192" name="Apophysis-040427-4Bdlnds" data="00413713002c221800281c0f002417070026160700281608002d2e090032460b
+003f591a004e6134005d6a4e006e6f63007f747800a37a7300c8816f00c48e77
+00c19c7f00c3dfe200c1dde300bfdce400b9c0b700b4a48b00b7a18600ba9f81
+00bda89700c2c5bc00c8e2e100cfe7e600d7edeb00d9eeec00dcf0ee00def3ee
+00dceeee00dce8e600dce8e500dde8e400d6e5e600cfe2e800d2e4e800d5e7e9
+00d2eaec00d1e7e900d1e5e600cee2e200cce0de00cbc4be00cba99f00af978d
+0093807c00856864007f6d68007a736d00837978008c8084009d8f8800af9e8c
+00b4dfe600b8dfe300bddfe100b3b8b300aa928600a2867b009b7b7000957357
+0089714b00635d23006258220061532200625b270064632d006f695100776861
+0080757d00856d69008a6656007d6a5000716e4b00606a46005066420050663f
+005565380050572400555520005a531c0057521c0054511c00525f1000405a11
+003f420b0049490f0054501300665a1b00796423009f642a00936a4a009d634d
+009e715a00afa37300b1a77800b4ac7e00baa98300c0a78800daad9a00d2e1de
+00deeeee00e2f0ef00e6f2f000e6f2f000e7f3f100e4f3f000e4f2f300e2f1f4
+00e6f0f200f5fbf700f5fbf700f5fbf700f1fcf600ecf8f400e6f5f200dfefef
+00d6e9ef00cbe3ec00c1dde900c0dde600bfdee300baa395009a8f89008a8486
+007c71810069797900728074007b876f0093916a0098847d00b09d9900a9d5e2
+00a7d7e30096afb300868883007c7b6c00736f56005f5d37006658290082644c
+00b38b8b0075703000977b4a00b9876400cbaf9a00c0dde100bbdde600b6dee0
+0097866c00897b64007b705c0060573a005f4c2e005d45230068412200774c19
+005d5225007e5e4900856b5b008c786d00b4938400cba99d00cfdee100dfeaec
+00f7fdf900fafdf800fdfef800f6feff00f7fbfc00f2fbf600e9f5f100e3efed
+00d8e8e700cae1db00cbb79600c1ad7a00b2875d0091773e00795c3a00735a46
+005f6e71006a82880075969f00969eb300a3cde500b7daf000c2e3ec00d5e8ee
+00dfedf000e4f2f200ddeff100d4e7ee00d3e7e600cde6e200d1e0e500d5c7bc
+00c99a9000b18c8400907a6f008a6d4f00777046005e6d320054652e006c6642
+00816c670092808e00aba1a900b8dde300badfe700bde0e600c6e5e700c6e6e5
+00cee2e100d7c9be00ccae9400b4967c008b7641007269260067601c005c5c2a
+005e5e3a00726e6200979e7f00b0bfbc00b6dce700c1dde800c9e0e800d3e5e9
+00d6e8ec00d9edeb00dcf0ef00d9eef100d5eef300d9ecf200d9ecf200d3e9f4
+00cee6f000bce1f300b7dbe900badde300c1a8a100be938300ab878700ad7e88
+009977870094798a008e7e88009177840083756c006b665300504740004f4c23
+"/>
+<palette number="193" name="Apophysis-040427-4BnnySurp" data="00f69850007949d100a05bae00c86d8c00da7a7400ed885c00f18f5500f5974f
+00fea34800fea54700ffa84700fea54700fea34800fea54700fea74600fea746
+00ffa84700ffa94800f5ba3e00ebcc3400e1c52800d8bf1d00dcb52c00e0ab3b
+00df906700db896700d7836700cc7e7500c2798400b6719600ab69a9008c55bb
+007546d0005233fd006039eb006f40da008b52c200a865aa00ad69a700b36ea5
+00cb796d00d17e6800d8836400d27d6800cc786d00c6777400c1767b00b87191
+0084579a006049530095604100ca782f00db854000ec935100f1955000f69850
+00ffa64600fea84900fdaa4c00f9a15c00f6996d00e6957700d7928200db7580
+00bc70a100bb728f00c97a7b00d8826700db856200df885d00e58e5800f1944f
+00fda24700fc9f4900fb9c4c00f5984d00ef944e00ec925100ea905400e88c59
+00e68a5900de836800de856200df885d00dc885c00d9885b00dc885c00e2895f
+00eb915300f4984c00fe9f4500f59e3d00ec9d3600e88f5300db866100c97376
+00b6709500ac6aaa00b06ba200b46c9a00bb708a00c2757b00ca756e00d27b67
+00cd7a6c00b36d88009960a500925aaf008b54b9006a2eb4004f24cb003e1aee
+003220f2006d3fdd006d40de006d41e000553cf0005233fd005232ff005033ff
+005131ff005431fd005732fc006138ee006b3ee1007d4ccc008e58b800b36aa2
+00c7767200e58b5900eb905400f1965000f89b4d00ffa94500fdbb4000f8ca14
+00fad20100fcbe2400feaa4700fea74800ffa44900fb9c4c00f3945000eb8d59
+00dc8b5e00c3777900b6728600a96d9300975ead007945cb00693ee500612dfb
+004a35fe004935fd004836fc004633ff004a33ff004b32fd004c33ff005033ff
+005233fd00693ee5006c3fde006f41d7007143d7007448d1007448d1007e4ec6
+007346d4007748cf007c4bcb00744cbf00604268004c3813004a35220005006e
+000800b1000a00b5001404e1001b08fa00220efd00352cff00412efc003f21fb
+001f09ff001e09fd001d0afc001f0cfe003018ff00432bff004431ff004633ff
+004934ff004a35fe004a33ff005333ff006f43d8007f4dc600985aad00b16788
+00c7747000d8816300db856200e0875b00e98e5500eb915300ef915100eb9354
+00ea905400e08a5b00db856200cf796c00b8718f008f57b8007143d7005420f1
+002611ff001a07f7001b07f4002207b600422a9a007146b200a664a200bd7688
+00d7816800e38b5d00f0945100f99c4e00fea34800ffa44700fea44400ffa447
+00fea34800fea34800f69b4c00e59d5100cdab6300ac985d00a0737800a67092
+00b46d9500c3747700ca766b00d3806200de866000e48a5800ea905400f29550
+00f3965000f4965000ff925000ff964a00fd9d4900ffa14700fb9c4a00f39650
+"/>
+<palette number="194" name="Apophysis-040427-4BorgEY" data="00887566008c7c65008b7f64008b8263008b8464008c8666008c8666008c8666
+008b8764008c8963008d8b62008c8a61008c8960008c8a61008d8b62008c8a62
+008c8a63008e8a65008c8264008a7b64008a7d64008b7f65008a7b6500897866
+00876e6700826467007e5a68007940630075265f00681a5b005c0f57004f0250
+001d00500002000100260815004a1029004f08350055004100510046004d014b
+00761769007a306b007e4a6e0080546f00835e70008460700086627000876870
+00886a6a0085696800846868008467690086686b0088696e00876b6c00876e6a
+008c736e008b756b008a776800897a6700897d6700897d65008a7e64008c8163
+008b8263008c8366008d8168008f806b008f816b008f836b008f8468008e8568
+008b8166008c8466008e8866008c8367008b7f69008a7e68008a7e68008a7e68
+008c7d68008a7b68008a7768008a74690089716a00886f6b00886c6900866c6b
+0082616c0083626b0085646b0085666a0086686a00876b6800886f6a0088716b
+0089726c00897769008a7a67008c7d66008b7e66008b7f67008b8064008a7e64
+008b7c65008a7a66008a79670089786600897866008978660088756700887267
+00897668008a7b68008a7b68008a7b68008b7c69008b7c6900897d6700877b63
+00877463008a7768008e7b6d00907e7000938173008f70750087607500835c6e
+00805370007b4d6a0078466900763f6900763b69007439690075396f00742d71
+00753f6300703c54006c3a450069344700672f4a0060165500590855005a1453
+005d26450071554700775c4e007d635600826265008367630088675400745246
+0070504300754c4e007b485900825b5e00845e6b0082616c0085686d00876d6c
+00876d6c0089716f008a726f008c7470008c756d008f7e6e00927c7100a08d6f
+008d8c5e008c8d5d008b8f5c008c8b5f008b8960008b8960008c8863008c8066
+008a7b64008973680086696d00835c71008a477a00943a6e0099438400b45899
+008867720086666e0085666b00825e680078446a006f2d6a00670e680064195a
+006d2e65007d4c690082725900888550008fa1550097a75e009397640092975f
+008f8e5e008c895c008b885d008a8162008a7a63008877630084716300866e64
+008264660081606700794b680069345000481d3000481b2f00481923005a3b26
+006c4f3d007c5d58007e58630080546b007c4c72008051710082586e00845d6f
+00886a6c008a7e64008f925b0090ac5500a7b85a00aad0630098ae6d009ca76d
+00aab2a50095967400939566008d8b62008a8460008a84600089845e00857c5b
+00897b61008875670089726a00876f6b00896c6e00896c6e00896c6e008b6e70
+008a736b0089756a0089756a0089766800887567008672690086736500887265
+"/>
+<palette number="195" name="Apophysis-040427-4BB4" data="009c890800a1910a00a2920700a4930500a3920700a2920900a1900a00a08f0b
+009d8f0c009e8f0c00a08f0d00a1900d00a3920e00a4920b00a5930900a59309
+00a6940a00a6950900a7930800a9920800a6930a00a4940d00a4930e00a4930f
+00a7921200a5921100a4931100a2931000a1931000a2920f00a3920e00a6940e
+00ab990f00b8a60800d9ca0700faee0600fcf30700fef90900fef60900fef409
+00bcab1300b09e1300a4921400967a2a0089624100a64f4000c43c4000c2292e
+00b0252a00ae262a00aa242900a6232800a6232800a7242900a15523009b861d
+00bcac1800dcc81100fde40b00fee30a00ffe30900fde30900fce30a00c6ae06
+00b6a613005cab2c00519f210047931700458f1700438c170075650600916d1f
+0086790700908209009b8c0b009f8f0c00a3920e00a5950f00a8981100b3a216
+00b8a91a00c3b53a00c5b73b00c8ba3d00dcd22700f0ea1200fcfb0d00fbff08
+00ffff0600fff90400fff40200fdee0500fbe90900f1d61300b7a81100a9970d
+009a8907007264030085720f0098801c009a8515009d8b0f009b8909009b8a08
+009f8d0d00a08d1200a28d1800a2862800a2803900bc645a00c6434900c84147
+00ce5a5d00c9bb4000d1c43300dacd2700fee70d00fffa0e00fff31600fde20c
+00b2a73400b0962f00ae852b00a9843700a5834400946e57008080be007978be
+006462b5004a53ae00464aa60042419f0042419f0041409e0041409e0041409d
+003e3e980062516f008764460087644700876448003f3f9900403f9c003a388c
+00408916007f830a0083800600877d02009a8905009b8a08009c8b09009e8d0b
+00a1931000a2931000a4931100aa981200b7a71600bcb03800d1c86100d1c861
+00d8d29400eac6c800e4aeb000de969900ccbf4c00b7ac3800aa9e24009a8721
+008e7532006a842400479317004a9b1a004c9f1b0079ba520087bf640086be63
+005cab2e004ba11a00499a190047961900448f1800448f180088684200896c44
+00b1a11600bfab1400cdb51300fee30d00fff80900fffe0900ffff0e00fffb09
+00f9e50a00bda61c00977c39008d6b4500957055009a7a3d00af973700b6993d
+00bc983800a7951700a5971400a7991200a4961100a3951200a5931500ac9e24
+00b2a636009ac57e00e7c9c900e4e3df00c7d8b80090bf6f009dba6a0091a536
+00a3941500a4931100a5941000a7971000a9991200aa991700b3a21400b5a416
+00af9d1500a8981100a2941100a2940f00a2910f009f910e009f901100a2910f
+00a08d0c009e8c0c009c8a0c00a08d0c00a08e1000a18f1300a2901200a39210
+00a2910f00a4910e00a2910d00a2900a00a09005009d8d04009b8b04009c8906
+009c8b07009c8b09009f8e0c009f8e0c00a28f0c00a2910d00a08f0b00a08f0d
+"/>
+<palette number="196" name="Apophysis-040427-4BflyWindw2" data="00020202001c4b5d00225a6000296a64003d50640051376400643d7500784486
+00bc0c9300ac086f009c054c0069033a00360228002b04260021062500230827
+00250a2900601363007d2279009a31900096279100931e9300841d8000751c6e
+0036113d00200822000b00080006010500020202000202020002020200020202
+0002020200101511002c230f0049310d00634413007e5819008a5e1b0097651e
+00bc710b00d2701600e8702200d4882900c0a03100d8bc3a00f1d94300e4dc91
+00fefef600fffdfd00fffcfa00fffbf800fd99e900fc38da00e63ac900d13db9
+0092298600601a59002e0c2d001e081a000e05080017080a00210b0d0057350f
+007b521e00b9c46800bebf8900c3baab00afa68c009b936e008e8b7a00744c80
+0035728400308669002b9b4f002f815d0033686c002c656c0026626d00256372
+002d668100416c73006d838d00999ba800b2b2b100ccc9ba00e4f6fa00ffffd9
+0082c3bf008c82b3009641a8009c43ad00a246b300f12cd100fe0fde00ff04f7
+00ff12ea00ae4ba8008a4694006642800064467d00634b7b0056564e007c663f
+0075937100777378007954800071437a006a3374004e287b00422553002e0c27
+0018061600020202000202020002020200020202000202020002020200020202
+00010204000c0a180017132c001f162e002719300041253e00402643002f153c
+00122631000c0f1e000607140000000b00020202000103000002020200020202
+0002000100010001000101010001010100010101000101010001010100020202
+00020202000202020002020200020202000202020002020200111713000e4525
+00449c0a004ba80a0052b50a0039db0b0046cd28003e94270030893900426a45
+0044681e0037411e00272b190017161400060e01000202020011150000414e09
+00655521006e622800776f30007d6537006b613000483b2b0017201f00091410
+000202020002020200190e0000302205003a280000373b00003851000031720e
+009db71600a6ba0f00afbd0800a3ac2d00957e20005d55480064174f00540e32
+00371138001922330014444400244648002f565500454f4e00454359006a185a
+00b50c7100db0d9400ff08d000f71adb00e9568000a5898500be9f6600cf8d39
+00b077280087561b00882331006d0542004e1d5e00233249002a4359002e3f53
+003d234800462049004e1341004a0c3d00400533002c011f0021081e001d031c
+001a021800170a1e000f1c2500112c230016401800424c1000634c1800624d22
+00744a18006e431000724200007f4f0d008a4c1d009f6c4d00842d5a00902b87
+00ab1b970091339300523d7800434c7300424e4c003c2e3b004b2d3500463730
+00353626000e252b000c232900100d1600020202000202020002020200020202
+"/>
+<palette number="197" name="Apophysis-040427-4BflyWndw3" data="003137510051286000521f5e0053165c0044114300350c2a001a061500000000
+0000000000000000000000000001010000020300000b1b23001534460021324b
+002e3150004e295d005e2564006f216c00751c6f007b1872007e177300811674
+008c1f7800881a7600841574007d187200771b700072236c006d2b6900969374
+00c0bbb700f9f3d100fbebac00fde48700e2c17400c79f6200bf8d4800b77c2e
+00896325006c4d1a0050370f00281b0700000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000321a0300643507009c672900d4994b00e8b35b00fcce6c00fcda80
+00b7be8a007da193006a745600584719005c461600604613005e500f00646311
+00b7470700ca2c4800dd118a00eb0f9100fa0d9900e4679400cfc19000fcd985
+00fcdb7a00bb901f008a6b14005a4609004f44130045431d0026333c001d3149
+00233a4c00304e34003d621d0042781a00478e180043a12f00549e2d006dac43
+00a78f5100f0ad4500e19a2f00d3871900bf771b00ac681d00884d0700714307
+001c3e30001c3b3c001c39490021364b0027334d00312b51004a275d00572761
+005f216400622767005f2966005d2b66005b2765004a2c5e0045355a003e3a55
+003932540034305200302f5100302b440030273800452d130053360e00554011
+005f671200607e02005f7706005f710b005f6c1000516317004c3c56005c2664
+006e1b6b006a1c6900661e6700671f67006821670075216f00801e7500841b77
+0089177600dd019900d1039500c6069100921b8100831f75006e256c00927361
+00a9c7ed00cce0ee00eff9f000fffefd00f7f4e100f6bfa100c6ad7700da0d8e
+00f9039600f703a000f004a000ea05a000c60691008a1377008d05710086016a
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000001010100171e38002d2d4f002e3851
+0026314d001f294700192241001b092100000000000000000000000000000000
+00000000000000000000000000000000001d292700364f2800416d1400458402
+00358b10000a790300086b19000f5b2c00164c3f001438460016354700153d49
+00163e460006503700016624001d850c00408e170057941b0070941600626b0e
+003f651a00413c53004b355c0057325e0053355b0082a1650087be6a0072ae94
+006e8980004d3a5800433157003321490018204e0002142a0000000000000000
+0000000000000000000000000039250a004965180051671500425a20004b3b55
+004f2a5e0058266300592f61004e365a00433a5500403c5300343c51002f434a
+00284845002c342500432b1100383a2200242e26001e352d0021334b002e3a50
+"/>
+<palette number="198" name="Apophysis-040427-4ChalLghtDrknss" data="005d628200e1cdc600e8d5c900f0ddcc00f1ddc800f3ddc500f4ddc400f6dec4
+00f0d8bc00e7d4c200ded1c9009d9eb2005d6b9c00555f8a004e547800565773
+005e5b6e00eed6b400f1dbbc00f5e0c500efdecc00eaddd400eaddd500ebded6
+00e4dadb00ded5db00d9d1dc00dfd6db00e6dcda00e6dcda00e6dcda00ebded6
+00ede1d500f4e2cc00f2e3d300f1e4db00f2e7de00f4eae100f2e8e100f0e7e2
+00f0e4d800e8ddd300e1d7ce009d98b9005a5aa4003d48a5002137a700141f92
+00172b7200292d4600333643003e3f4100444753004a4f65004c5371004f577e
+006a6db2008789c800a5a6de00c5c0db00e5dad800e9dcd300eedecf00f4e2ce
+00f7e2cd00f0d8bc00efcfa700eec69200c1a4760094825a0073675100514e45
+00454233004541300046412d00484834004b503c0051554200585b480077632e
+00d59a3c00f1d4b200f1d5b500f2d7b900efd6b700ecd5b600d9c8b400717274
+004746440043413c003f3c35003e3c32003e3c30003e3a2f003a393400383733
+00333132001b1e27001012190005060b0003030a0002010900000324000a1630
+0039395d005655630074716a009d896b00c6a16c00f6c78f00eabc7e0079726a
+00534f4e00111a1f000e151a000b101600110e23001f1e260031313100343530
+003b3a28003f3c2d00433f33004541310048432f004c4532004b44320048453c
+0049475200464a6f00404471003b3e73003242b1005f68d1006c73de00b0b1dd
+00e4dcd900d6d2d900c9c8da00b5b4db00a2a1dd006872a7004e5782003c456c
+00363c4a001b1a2000121216000a0b0d000a0404000b0b0b00181c1d0021212d
+0031323600343436003737370037383d003e3e3e0041403b00403f3a00433f33
+00423e320037343d0033323d002f313d00252d4000272041000b152e001a1e27
+003b3a42004040460045464b005b5c6000857e7800d8c09e00f0d3b100f1d7b4
+00f0d8be00f4e2ce00f2e1d100f7e1ca00f2dec600f1d8b900e6d6bf00c0b6b5
+00585d830052577a004d527200484f6c00434f6700494e64004b495e004d5045
+0047443b004743370048423400484232004442360048443800473d4500434343
+003e3e3e003c3b410033363f003234410037343f003e3e4000414546003f424b
+0045495500484c6500454b650044465200424347004142470041434f00434159
+004341590041415900393e51003234430034343c003537360035373200343432
+0032332e002c2c2a0022231d00292701002c2f280033342e0034343200363732
+003d3d35003f3f3f0045454300474b4a0050514c0050535c0057575900685e5f
+00737061005f5e63004f4e5c004d516e004e53730062616f0078827a00ccbfb7
+00f0d8b600f1d7b600f3d2a900e5c59600766d6e0044475000121b3800383e60
+"/>
+<palette number="199" name="Apophysis-040427-4ChalicDrknsIce" data="00998d290024271e00192023000e1a28000c1c31000b1f3a000b213e000c2343
+00696a6f0083837f009e9c8f00a3a19a00a8a7a500a9a8a700aaaaaa00ababaa
+00adacaa00a8a8a800a7a8b000a6a9b800a4a7c100a2a6cb00a5a8c200a8abba
+00abadb900aeb0b800b2b3b800afb0b700adadb700a9a7b600a6a1b5009ea4b4
+00a0a3aa00a09b85009b957600978f68005c5d4d00222b32001b242d00151d28
+000a18230009192800091a2e000a1e38000b2242000a224400092346000e3a81
+006674a100a09d9400a09f9a00a1a1a100a2a1a400a3a2a700a4a4a600a6a6a6
+00a6adb300aeb2b500b7b7b700c0c1bf00c9cbc800c9cacb00cac9cf00c9ccdf
+00c6cbe100b3b4b8009d9ba00087828800726e74005d5a6100192a3c000b1f38
+000f1f2f00343a3d0059554c007974650099947e009c9a88009fa19300a4b195
+00adab9e00b5b28f00b2ac8a00b0a78600a7a287009e9d8900999e8800a3a195
+00aeb2a300babdaf00c7c9bb00c9c7b900cbc5b700dfd1ac00d6cc9100c9bc99
+00bab6ab00a3a6b500a1a4af009fa2a9009fa0a5009f9fa100949c91008e8f81
+000b30650013408e001b50b8002658c1003160ca005b75c000697cb7008d96b7
+00969ba1009091960072788f00546088001c2a44000d213c00091d380007192f
+0005162800071524000915210009131c000a111700080f15000e131900121a1c
+0026281b006a75530081825f0098906b00b3a48f00c3c0b700ddd5c200e9ddc7
+00f1e2c100e2d9d100d4d0e100d0d1e400ccd2e800e9e3f100eee8f400e0e1cf
+00daddca00bebbb400bab5b200b6b0b000a8a8a600a29e9200928f800074746a
+001b242d0021252b00272729005d6055007c7d780099968d00b9aca300c3bfb6
+00cecac900d4ceda00d0cad600cdc7d300b9b9c100bababc00b2b3b800adaeb3
+00afafb100b0b0af00b1b2ad00b6b3ac00b9b1af00bfb5ab00beb5ac00bab9b5
+00bbb9ba00b6b7bc00b5b5bf00b5b4c600b7b8bd00b7b7b900b7b7b700b2b1b6
+00adadb500acacb400ababb300adadad00aeaba600a8a7a300afaca300b1af98
+00b4ae8a00a29d8a009f9f9700a3a29e00a7a8a300acaca400a7a79f00a7a49b
+009a99850095887700767771004b4b3f00222c2b00131c23000f181f000d161d
+000d161d0008121e0007111b0004101c0007131f0006142100061323000b1723
+000d161f000e171e000e1824000f18290007182a000b1a2d00081e3600071e3d
+00091d38000c1c3500091b33000b1d35000b1e3c000b234500373b5e005d6c97
+008692bc00979eba00a29f96009a8f73008e844f004b4a1a003738190025291a
+00131b1d00121a1d00121a1c0011191b000f181d0011181e00121a1d00182128
+00303318003d3f18008f852600a4953000c9b24000b19c65009e9671008f8c79
+"/>
+<palette number="200" name="Apophysis-040427-4CactusFlwer" data="0082856800838367009b786400b46e6200bf877400caa08700bda48600b1a985
+0086866c00807e6c007a766d00777b640074805c0076765400786d4d00756a4d
+0072684d007b61540081634e00876549007b6a49006f6f49006f7049006f714a
+0061793f005d693a005a5a36005e5e3f006363490065654e00686753007c6a68
+00847e7200b7b6a200d8cbc800f9e1ef00ebcdd400debaba00e3a7a200e9958a
+0097856100857c5900737452007a785b00817d6400877e6c008e807500a9a893
+00bebdab00c9c6d700d3d8da00ddebde00d7e7d700d2e3d000cfd8c800cdcec0
+00b2c6ba00abc3a300a4c08d00a4c59f00a5cbb200afc1ae00bab8ab00b5b4a2
+00aaab99007c8486006c756b005d6651005b5c48005a5340005b493b00464735
+003d3d33003c382b003c3324003d3322003f342000423a2000464121004d4a29
+004e57380075796000888974009b9a88009e9d8700a1a187009d9d81009b9468
+007382490068693c005e512f00564e2d004e4b2c00504d2a00623f19006a4920
+00685431006f725d007a81740086918b00959a8b00a4a48c00acac9400b0af9a
+00bdb69900afad9500a2a592008e9f8e007a9a8b006b787100586a5c00545c47
+004e5237004f643b0057623e005f604100696d4c00757f66007b9276009ca785
+00a2a28a0095967400898a5e00857b5700826d500086593c00924845007b4a3c
+007a532a00443424003f2e1b003b2913001d140b001b15000014140800141408
+0018180c0024231300312f1a00342e1900382d1900352b10002a270600302e00
+003e350000373413003834140039341600363822003f40200042441f00424125
+0048482e0044462c0041452a003e4126003d3d23002d332500272c15001d2015
+00181c0b002b3b2000323d24003a3f2900524e31006a573600705e48006c6d4b
+006e7438006d6d3a006c673d00696a4b0072614300816f31008361210088693b
+008a76410094715100976e5000a1655a008f7e6400816861006e6053005a5a36
+00404a25003e4520003d411c00413f16003c421c00393f23003a432400464728
+004e4d2e005b5b370063634b006a615c00806d660085827300a1a18900c2b193
+00e3d75100eee04100e5d74300a1b77600aca98600acab9700ae9e9e00a99d9f
+00869abd00a3a3af00bab8a900babbad00c1c2b200bdc8c000e1d9b500fefcb2
+00fffcc700faf7e400eefef300eef6ff00e0e6fc00e9f4fa00feffc500fff490
+00f9e17300fffc6700f8f69100dec9ae00c6a09500bc968b00a0837500888768
+0082836400827d6000807255006a644e005d6148005c5b3c005e4d3b00604a3c
+004c47310045472f003b3f28003e3727002d3621002e3114002b2b0f00323311
+0039391500464b22005a591800615a300060614200666748006b6c4a00978e71
+"/>
+<palette number="201" name="Apophysis-040427-4ChrryBlssmT" data="00febcca00fedcd000fde3c400fdebb900e6d49d00d0bd8200abb3760087aa6a
+001f6d53003e886d005ea4880098b18800d3be8900e9c59400ffcc9f00ffd3ad
+00ffdabb00ffe1d400fde0d300fce0d200f0d4c000e4c9ae00dfc79f00dac691
+00d0b28000d3b78400d6bc8900ddcd9700e4dfa500e7e4aa00ebe9b000ebe9b0
+00e9e9b300ebebb500e9e6ae00e7e2a800e1d79e00dbcc9500d8c38e00d5bb88
+00d0ae8000cda97a00caa47500ad95800091868c007c878200678978002f654b
+000b32200026150500200a0f001b001a00230326002c0732002d1336002f1f3a
+0067725400a3a57700dfd99b00eee0b700fde8d300fee7d400ffe6d500fcedce
+00fcf1d300f1f3c400e6e0ad00dccd9600d6be8f00d1af8900dc8b9400e47a91
+00ea6fae00f286b500fa9dbc00f9a1bd00f8a5bf00e397b300ce89a800c687a4
+00c6939000caa47500caa67800cba97b00cbaa7c00ccac7d00ceb07e00d3b583
+00e5d79600e0dcab00dbe2c100ebdfc900fcdcd100ffcfcb00fec5cb00f8babf
+00fbacb100c7a17200c2956a00be8a6200be886200bf876200bc815f00bb805e
+00b4785600b8714c00bc6a4200b0583300a44725006f2613006c181800250b24
+000a003500080034000a002b000c00220012101500001326000a3b40003e7139
+00bf8b6300b7897600b0888900868380005c7f78003c55510039294300291f3a
+001c0730000f274d0020354c0031444b00356f63004f96780066a1810089b38f
+00b48c9500c19c8900cfad7d00d3b18600d7b58f00edc3b500e6c2c600f6c2ce
+00fcc1d300fdc4ca00fabfc600f8bbc300ffbcb700ffa6a600d8af8f00c59483
+00664c59004d3a4d0035294100280d3000130135000c02340006003500030035
+000300350001322e0007351e000e390e0008602600385211002d6f25006d705d
+00b87c5a00b4715200b1674a009a4e2e006e47200036222400211d2c002f2442
+0047404800ab714b00e0635d00d68c5b00c79c7100cca87800ccaa7c00ceac7c
+00cba67900c8a07300c69b6e00bf8e6500bf8b6300bb805e00b9845c00a2a451
+009daf750077ad93008cb68400c2c18100dfd29b00e8e3ab00ebf2bf00f3f5c3
+00f8f7cb00fdf5ce00fbf3cf00faefcf00fde4d000fed6ce00ffccc300f1b1c2
+00fba3bc00e484aa00c38087006f543f004628340029301100384a10008e6531
+00b1725100c4936a00d2b58900e8d7a300e9eab000f6f4c400f9f4cc00fdf2d4
+00fff2cf00fef0cb00ececb600e4dea400dac48b00d0b18200cba77700c89d72
+00c4976d00c2966900c4976d00c3927200c5987100c69b7000d89c7a00e1a97a
+00fa9f9c00f2c2b400eff1c200f7f6ca00faf6d900fcf4df00f9ffd800f2fbce
+00f5f7c800f5f7c500f1f3c100ebebb500e8e9af00e6e7ad00dfd49c00e4e6a5
+"/>
+<palette number="202" name="Apophysis-040427-4ChrryBlssm2" data="00dddeb200e4eabc00eaecb100f1eea700f6e3ab00fcd9af00fdc7b700ffb6bf
+00fdcacf00fed2dc00ffdbea00ffdcdf00ffded500fce8d500faf3d600f8f4d4
+00f6f6d200faf4de00fbf3df00fdf2e000f6f4d600eff6cd00eef5ca00edf4c8
+00e9eec600e5eabe00e1e7b700d0d3a900bfbf9b00adba8f009bb68300559573
+0000586a00002c4b002349630046667b007ea69700b7e7b300c4efbd00d1f7c8
+00edf1ce00f4f2db00fcf4e900fdf6eb00fff9ee00fff6e800fff3e300fbf1d6
+00f6f3d000e7efc000e5ecbd00e3e9bb00dcdcb100d5d0a800cdc19d00c6b393
+00a56f65005e483b00172211000b3508000049000000502200005745004e7970
+007ca27d005ba979002d8b7600006e74001b768100377f8e00818d8b00b49882
+00c6a97d00cdc27c00d5db7b00dbe09700e1e5b300e1e6b600e2e8ba00e5ebbf
+00e6ecbe00e4ecbd00e2e8ba00e1e4b700dfe1b500dedfb300d9d8ac00c5c6a4
+00c7b49400caba9700cec09b00cdc19b00ccc39c00e3cb9f00e4bd9600d8a085
+00ef818e00eb6cb300d773ad00c47ba800b3758600a2706500414e57001f2245
+00000040000003400001074100000e4200001544002c405b006f727b00a97e6e
+00ab7b6d004c646400424b440038322400240f2e000003300001013300000034
+0000013a00000d4200001a4b0000234800012d4600275150009f896000b08978
+00b9998400c3ac8d00c2a98c00c1a78c00bb9d8300b8988300b8967d00ba9c82
+00c2ab8c00c8b69400cfc19c00dcc39b00eac59b00f9d9aa00fdcfcf00fdcbd6
+00fdc4d500dec8d500dccbc600dbcfb700c1a3af00bb9b8600b3897900b47588
+0076151e005f12160048100f002210020014200800163f390059716100b08a77
+00c6b39300dfe5b700dee4b600dee4b600cfcb9e00c4ad8e00b48e7b00b0606d
+00552116004514150036081500270008000e08220000002f0000003800010039
+00010137000000340000012f00001a0b00002000000005000017000c001e0005
+00211604001417050008190600000e2600001c3d0000225300044362003b7f92
+0097848a00af857500ae8474007c94560021534a0011123e0001054500000039
+00000038000000380001013d000201470000044700000d44000c1c3e00375965
+00a7756a00d8658c00e4669500f48b9200fd90ba00ff90c100f783c200ff8dd7
+00fb97cd00ff9dc600fcb2d500febed600fed1d600fed8d700feddd400f8dcce
+00eed2c600e3d2c200dad9ad00d3cba400c7b49400c3a99200be9e8900b48e7b
+00b28c790081916c00506f6700123b3d0000353800004a5800117f80006b9d84
+008ea16100a8a37900bea08600c1a98d00e1a2b500de85b300e189bb00ffb7cf
+00fbd3d400fde0d800fbf3ce00f0edcc00eef6c700edf5c600e8efc300e3e9bb
+"/>
+<palette number="203" name="Apophysis-040427-4CircAmbr" data="002811010026100200281002002b1102003114010037170000411a03004b1d06
+007c4b06009b630900bb7b0d00d18a1a00e79a2800d78e1d00c8821200c57b0d
+00c27509009b5a00009c5701009d550300b1690600c57e0a00ca810f00d08414
+00de911d00d48a1200ca830700b06d030097570000824800006e3a0000582b01
+003c18000056250400773f020099590100c67f1b00f3a53600f8ad3f00fdb549
+00fdb85000eea53700e0931f00d88a1900d0821300ce831400cc841500c67a0c
+00ac620300725931005b3d1900452101003b1a010031140200301301002f1300
+002c1201002b1101002a1001002a1001002a1001002a1001002a1001002a1001
+002a1001002a1001002a0f01002a0e0200290e0100280e0000280e0000271000
+00260f0000260f0000260f0100260f0000260f0000260f0000271000002a0f00
+002b0e00002a1001002a1000002b1100002b1200002c1300002c1300002d1201
+002d1201002d1201002d1201002d1201002d1201002d1201002d1200002e1300
+0031150000441d00005d2e01007640020084480500935009009c6d27008e8657
+00ffc36100feca6b00fdd27600fcd37900fcd47d00ead38300fce19e00fbda7b
+00fbce7100e4962700d4881a00c57b0e009f5f0700824800006a3700004b2300
+002f1200002b11000027100000260f0000260f0100260f010027100000271000
+00271000002b1100002b1100002c1100002c1100002c1201002d1201002d1201
+002f1300002f1300003014000030150000311600003415000034150000341500
+0034150000301400002f1300002e1300002d1200002b1100002a100000271000
+0027100000271000002710000027100000271000002a1000002b1100002c1100
+002c1100002d1201002d1201002d1201002d1201002d1201002d1201002d1201
+002f1200002f1200003013010032160100311402005d2e04006c3a0900713705
+00653300004b2501003c1800003415000034150000301400002d1200002d1201
+002e1300002e1300002f140000341501003d190000492100005e2f05006c3800
+006e3a00006f38000061310000481c00003a17010035160200331400002d1200
+002b1100002a1001002a1001002a1001002b1000002b1100002b1100002b1100
+002a100100290f000027100000271000002710000027100000290f00002c0f00
+00310d000034120000351500003c18000052260000653203006d3a0100774103
+00894e000093510300a05a02008e540200854a0000844a0100775309007d4700
+007b4401007243000057360000461f0000381a0200331400002f1200002c1100
+002a10000027100000260f0100250f0100250f0100250f0100230e00001c0800
+00240c0000250f0100250f0100250f0100260f01002611000027120100291403
+"/>
+<palette number="204" name="Apophysis-040427-4CsmcOwl" data="003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a
+0034258a0024145700150424000a021200000000000000000000000000000000
+0000000000010101000400160007002c0005003900040146000c045300140761
+003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a
+003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a
+0043349d007468bb00a69cd9008c82d0007368c800594cb10040319a003f2f9a
+003f2f9a005552710073645c0091764700a7724a00be6e4d00b26c5700a66a62
+0042379300403396003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a004533ab
+008679d300cbc5d300d1c9ce00d8cdc900d3cbce00cfc9d300ccb9cd00b3abdc
+0024bfc10030d6a4003ded88003eaa88003f6888003f4b91003f2f9a003f2f9a
+003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2c98
+0017113f000b0b1f0000050000000400000103000003001c001c0a3c00160961
+003b2b98003f2f9a003e2e99003d2d980032238900281a7b002400440020131a
+00041d00002d1e010057200200601e01006a1d0000681d0800850b2000780929
+00690344003d2d9a00352493002d1c8c0011045c000500400000002c0003031f
+0015003f001d0e6100251d840031258e003e2e99003f2f9a003f2f9a003f2f9a
+003f2f9a008a73bb009d82ae00b192a100d7b9b100a4a0ae005e9eaa0050a097
+0080684e00915b3b00a24e29009449210087441a00454841003a416d003f2f9a
+003f2f9a0039417200484961005751510079623800a8883300d6852a00e47211
+00be6e4b00c0705000c2735500b9b66700e1b7a900d3c5c400d7bab200d8a799
+00d59a8800c0715200aa6e5200956b530058563f004d5f6300577f7e006c6cc6
+006453c3005142b0003e319d003f2f9a003f2f9a0046305f003c3094003f2f9a
+0045328e00725438008e3925008834100088340f00802802006f200200692502
+0051122d0049094200420057003d2e97003f2f9a003f2f9a003f2f9a003f2f9a
+003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a00433767004c2b3e
+00652c18006f123e003e2f98003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a
+003d2e95002c2a3f003e380400442800004124040025161b001d000200060004
+00210200004607000058010000762000008430040086310c0084391c005e3851
+00463095003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a
+003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a
+003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a
+003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a003f2f9a
+"/>
+<palette number="205" name="Apophysis-040427-4DblBeetle" data="00ae4d1a00b5542100b5542100b5542100b5542100b5542100b5542100b55421
+00b5542100b5542100b5542100b5542100b5542100b5542100b5542100b55421
+00b5542100b5542100b5542100b5542100b5542100b5542100b1501d00ae4d1a
+00ae4d1a00af4d1900b14d1900b3501d00b5542100b5542100b5542100ae4d1a
+00ab4a1700441d5c002516760007109100141fa400212eb8002b38b5003642b2
+0028309d0038287a00482158007b373900ae4d1a00b1501d00b5542100b55421
+00bc5d2300c05c2800c8642f00d06d36009e6c78006d6cba006e75ca006f7edb
+00ccb0be00e0ab8900f5a75400e38a4400d16e3500c8652e00c05c2800ad4c19
+008c30000037003a0043052f00500a24006c1b1200882d0100ad4c1900ae4d1a
+00ae4d1a00ae4d1a00ae4d1a00b7542100c05c2800c8642f00d06d3600d8753c
+00e7844b00f0a77a00f59c6b00fa925d00f7925b00f5925900e4814800df7b47
+00c96a3000c4622b00bf5b2700ba572400b5542100ae4d1a00b5542100b55421
+00b554210082646e00806d78007f77820093767100a8756000c8643000c05c28
+00b5542100b5542100b5542100b5542100b5542100b5542100b5542100b55421
+00b5542100b5542100b5542100b5542100ae4d1a00ae4d1a00ae4d1a00ae4d1a
+0093340400531a2b00130052000b0161000303710000088400050e830014175e
+0043022d00ab4a1700ac4b1800ae4d1a00b4571a00b5542100b5542100b55421
+00d3622000cc622500c5622b00c6632d00c8643000c7632f00c05c2800c05c28
+00c05c2800c05c2800c05c2800c05c2800bf5b2700bf5b2700ba592400b55421
+00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a00b55421
+00b5542100b5542100b5542100b5542100b5542100b5542100b5542100b55421
+00b5542100b5542100b5542100b5542100b5542100b5542100ae4d1a00ae4d1a
+00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ad4c19
+005e160700490d210034053b0012095800050d5e00010e6c00101a5f00280849
+00762f2d00ae4d1a00ae4d1a00ad4b1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a
+00b5542100b5542100b5542100b5542100b8572200c05c2800c8643000d06d34
+00ea934600eebf8700fdf5a400fff8b200d4d3db00cbd8e900a4a0d30099b5ca
+00b6b28d00ae6e4000c3622d00c05c2800b5542100b3521d00ae4d1a00ae4d1a
+00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a
+00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a00ae4d1a
+00b55421006d616f003f4cbe003048c6004251e2004350ec00737cfb008687fb
+008493f0006b7af9004a55c900424ec400414cc200545bb300775893005a4b5e
+"/>
+<palette number="206" name="Apophysis-040427-4DrkMantis" data="002d60010060840000457100002b5e0100255a00001f5700001f4d00001f4400
+001b4200001c4b00001d540000275a000031600000566100007b630000746300
+006d6400002c5f000027540000224a01003a51000052580000565b00005a5e00
+00906b00009e7e0000ad910000a69b0000a0a500009fa400009ea300008f9100
+007d9302005a8100003f800100248003001f6a01001a540000154d0000114600
+000933030008280200071e010008250100092d01000d30010012340100153301
+001c3201002c2900003a210100481a03005b2e01006e43000071480000744d00
+00a84a0000915200007a5b000081640000886e000088740000897b0000a38c02
+00b7a10000cda80100c2a30000b79f0000b0970000a99000009b8702007d7300
+00324901002a40000023380000213a00001f3d0100203e0100213f01002b4400
+0035420000605400005d4800005b3d00004a39000039360000243c00001f3d01
+001543020012440100104501000f4500000e4600000e3e00000f350600113600
+00153601001b3a00001c4800001e5600001e5800001f5a0000245d0000235a00
+00214400002142000021410000203f0000203e0000273b0000353200003e3703
+004e430500624b0000574800004d4500002a4500001d39000013340000072003
+00061103000613010006150000081a00000a1f000018250700292c0100342d00
+003826000034340000313900002e3e00002a4301002b510000426c0000619300
+007ba10000979f0000b49d0100b7941000bb8c2000da810000e5640000e56500
+00c3880000835700007c510000764c0000603c0000503c01004c370200353101
+001e3c00001b3e000018400100184200001a4300001d440100214b01001d5700
+00144e01000f4700001144000014420100184001001a350000232a01002c1203
+003e0400004b080000590d00006a000200571300004d1300003c2600002b3300
+001f3600001d3501001a320000162d00001f2a00002021010024260000203200
+00273b00002a3b00002d3b0000363600004c3c01005d4b00006c5603007b7400
+00797f010081840100778100006a8c01004a6e00002e600000285e0000245d00
+002258000021440000293f0000323500003d3300005c4b0000795b01007d6c00
+0085740000877c00007e7202007b6100006b520000514807002e410100234000
+00203c010020390000283e00002b41000031360000312f0000282e0000273406
+001c3300001735010017350100163702001435000012350000113d0000103e00
+00143e000013390000163700001b3a0100153f0000153d0000173a00001c3900
+0018360000123401000b2f030007200000041e00000519000005170000081c00
+00091c0000171b0000160900001f0f0000241500001a210000233b0000637b01
+"/>
+<palette number="207" name="Apophysis-040427-4HolidyBull" data="000d00c1000c00440014002f001d001b0015051d000d0b20000a0c2400070e28
+00001231000414370008163d000b103d000f0b3e000d092f000b0720000c031c
+000e0019000e08080014140d001a2012001a1014001a00170016061300120c10
+000407180017141a002a211c00333e26003d5c30001e494100003653001e529d
+001952ea001b0685001505540010052300080316000001090003071000060d17
+0023213900217163001fc28d000f85bc000049eb000432eb00081cec001b0ed7
+002205790020001f001d000f001a010000230000002c000000330600003b0d00
+009c050a00b80e0500d5170000d9130600dd100d00c9180600b62100007c2b10
+00612b00003a0d00002c0e00001e0f00001d0d00001c0b0000150000000e0000
+00001d0000081b0000101a000010120900110a12000f0c20000e0f2e00080b50
+00121370000f0cd7000c0feb000a13ff000e13ff001314ff002805ff00110dff
+000a0aff000b06fc000c03fa000b04fb000b05fd000d0dff001d00f6003201e8
+003c10ed009d0aff00b362f800cabbf200e1d2f000f9eaef00ffddc900ffff9f
+00ffc17d00f79d4b00ef791900eb7b0c00e77e0000ea800a00fec80c00ffdd11
+00ffe61500ffee2000fff62d00ffff3b00ffee3200ecd43600face2500feb623
+00ff771a00ed6a2200db5d2a00d45a2200ce581a00cb7d0e0098643f00552772
+00380cc3000113f300021af9000322ff000947f200264dff002c5efb0000cefe
+0014ffee001cf3eb0025e7e9001fd8f4001ac9ff00054aff000f47f4000026e5
+00020a9b0003005900010044000000300000091700000c0500000f0000060900
+001e1000002314010028190200443401006a320300865f1200a9981600e0c500
+00f4cb0000ffba3e00e19e4000c38242006d5a320023407c00223c99001034ea
+000811f6000b0df6000e0af7000c0fff000513ff000017ff00060cf4000400fe
+000002fb000108f6000601da000911be000000900000036a00170083000202d4
+000000f9000001f6000002f3000004d5000b0e9100004a2c000090000008e428
+006ac5660073c2bd008bafc900a8919900bba34b00807605006b420c00702900
+009e110000d2190000d82f0000ff490f00f8510a00c35a0700803f0000772f09
+00502338003c1027003c2722004c2300005a16010096560c00b8902100cfaa1b
+00e5ca2300f1e51700ffeb1600fff82400fffb2900f5ef2700f7f42b00d8cd7b
+007ff59500919eaf009d92b200a23e8400752ced009795bc00c89bc400c39b91
+00a1ad7f00b1d1400082ae250076440700901a0000cc061300fe081d00ed2661
+00b000a5002d0b86000709600000004e00030329000000120003020000070101
+000e00000006030000040600000008000000031e00000e2e0001095e0006124e
+"/>
+<palette number="208" name="Apophysis-040427-4DrkFlorCnpy" data="006bcb43006fcd45006ecc42006ecb3f006dc93e006dc83d006dc93d006dca3e
+0074d5470078d94a007cde4d0081e5510086ed56007fe54f0079dd490077da47
+0075d746005aa831005ca530005ea32f00589c2d0053962c00508c28004d8325
+00324d180031451600313d15002f3713002e3112002d3212002c3312002e3d16
+0031401500304315002e4a15002c5215002b4a14002b421400273a110024320f
+0015190b000f100700090804000a0d05000b1306000d1b07000f2308001d4111
+00255e1a004d8e280059a22f0065b7370067bc39006ac13c0069c03b0069bf3a
+0063b8390062b0350061a832005fa430005ea12e00579f2d00509d2d00558f29
+00478927003a6b1c0036651b0033601b00325f1a00315e1900325f1a0034631b
+0044862500509429005ca22e005ea62f0060aa31005eaa32005dab3300569e2e
+004a912900477222003b5f1c002f4d17002c4615002a3f14001c2d0d00101f08
+001024090019360d002249120029531500305d1800325f1a002f4d17002d3214
+002c0230002f0334002e1b23002e331300323f1500374b18004d80240065b135
+009efb6c00a6f37400aeec7d0091d8620075c5480062ac3300528c280039671c
+002f5115001d330d00172c0b001225090013230900171d0f0016160a0015150b
+00130a0d001a051900220025002400280026012c0029022f0024002c001d001f
+001a001d000e000d000d0109000c0306000a0605000c0807001212080017170d
+003445180042681f00518b270057942a005e9e2e0061b0330066b5360060b536
+00559f2e00418224003a721f0033621a00294a130018320f00102208000e2008
+000f150700101307001212080013170900131709001b170c001b1e0d002b3213
+0032431600427a2100458625004992290051b23f0066c13e006dc9400074d547
+008cf55a0091f7610096f96800a6fc7700a1fc710098fc64008ef7550080e048
+007bdf4b0074d94b0071d244006ec63c0068b938005c9f2e00488c290036661c
+00222f13001e290f001b230c00101f0800101f080013270b002444120033621a
+004081230050982c005da32f0067b8370065bf3b0061ba3c0060b035005ba932
+005ca230005bab32005dab330065b4350067ba38006ac13c006ec63c006fca3e
+0072cf420072d0440073d2440071d2440070d1440072cf420070cb400072c63a
+006dc53b0069c03b0061b6370058a732004a8c280037651c002f4c16002d3f15
+0026281000140c0a001302150019011b001701180013001400130014000e000f
+000d000a00080204000a0605000c1206000e1204000c1206000e0d090011060a
+00160015001f00240029022f0032063b003d0a45004b1257003f0b4900360441
+00300437003540180039591a004d7b23005798320063b235006cc23b006cc73e
+"/>
+<palette number="209" name="Apophysis-040427-4DethstrDemis" data="00bdb4ab006e5b54006e4b37006e3c1b00612d0d00541f0000481100003d0301
+00020a1700101a28001e2a3a00303c4d00424f6000485262004e5565004a5263
+00474f6200313b4700373235003d2a2300593d300076513e007a594e007e625e
+0099969d00a4aab700b0bfd200bac7dc00c4d0e600c1d0e500bfd0e400a8c2db
+00acb9c900a9b4c600a3afbf009eaab800949daa008b919d008e8f9700928d91
+0098857400a4846f00b1836b00b37a5600b5714200b05e2d00ab4b19008f310b
+004d1c0e00010b17000007130000030f000d0e1b001b19270038232600562e26
+0099502d009d5a3500a2643d009d6d510098776600937769008e786d007d818d
+007b829200757b8b00717786006e7482006a707f00666d7d005d6373005d6373
+0070768400767d8d007c8596008690a200919cae0095a1b4009aa7ba009faabc
+00949caf0080839200767d8e006d788a00616e840056647e00575e6e005c5c64
+005d6373006c7282007b829200868f9f00919dad00a1acbe00b0bfd200c2d4ea
+00cadef700cee3f800cde1f800cce0f800cbdff800cbdff800bfdaef00c1d1e8
+00c4c4c400bcab9e00b4927900a88b79009c847a007f818d007a828f007b8292
+007b8292007c808b0080808900848188007c829000838c9b008092aa008c9cb5
+009facbd0098a3b600929aaf009198ac009097a90087909f0089939f009099aa
+00919bb400a9b4c600aab5c700abb6c8009eabbc008d8d9700827e7f008e766c
+005f5c57004f5155003f475400354251002c3d4f001c2641001929400017283a
+001c293900202d400024304200283444003a415100414a5900484c5700575057
+00875a3d008f593d0098583d0084614e0079625a005f5f69005d6373005d6373
+005d6373005355620052505900514c5000545359004f586700495e710050597a
+005d6373005d6373005d637300646a7a00697281005f6573005d637300555e6d
+00514c50003f343c002e231f003d150900391308001f1d2200212a390035343a
+0066463700685349006b605c00646c7700787880008c817d0098817300987c6e
+0092766a00866b62007d61530073625a0079757200747d8e007883950087909f
+009aa6b600a8b5c600aebece00bac9de00c2d4ea00ddeae300f9e9ea00d1e3f9
+00c5daef00bdd3e800b3bfd500afbacc00a9b4c6009ea9bb008d98aa007b8292
+0075778300656d7a005e64720063666d0080645900946b5500c2795000e88b4e
+00f9ac6800ddba9a00c5ab9a00bdaba9009fa8b7009198a800818a9900697990
+005d6373005157650040465400262a360014213100041326000b1f2a00122232
+0022293b00343d4c00404757004d5464005d637300696f7d007a829500919aab
+00a3aec000a8b3c700a8b5c800abb6c800b2bcc800bcbbc100bdb4af00cab2a6
+"/>
+<palette number="210" name="Apophysis-040427-4DethstrDems" data="002e1a00003420070039270f003e2e17003c3429003b3b3b00364c5900315d78
+00637b8500747c7a00857d7000847d6e00847d6d00837e7000837f74007f7e75
+007b7e77007c736400776b570073634a00695b46006053420061554300625745
+006f685600726a5b00766c6000726855006e644b00675c470060554300564b39
+005449370072726800717d7d007189930088969d00a0a3a800a5a7a700abaca6
+00d3c2b000dcccb700e6d6bf00e4d6c200e3d6c600e3d4c300e3d2c000dfd2bf
+00d7cbbb00beb5a600b3b2a700a8afa80090aab50078a5c2006fa6c20067a7c2
+00869da500949c9800a29c8c00a29c8c00a29c8c00a6a28e00aaa89100acaa9d
+00aeb3af00b0a79800afa68e00afa68500a8a18800a29c8c00a29c8c00a29c8c
+00968d7e009c948500a29c8c00a8a79d00aeb3af00b7bfb900c0cbc300d1dce0
+00c2eaf600e0e2dd00d5d6d100cacbc500bec5b900b2bfad0099b9c800949fa3
+0087877f0077828500677e8c0067808e00678391006d89950079949d00829eac
+008c9da5008b82710081786800786f60006e64540065594900574a3900514131
+003d2b150021201500061615001a190d002e1c06003a251000422c17004c402a
+005045330061564400695e4c0072675500847d6d008a887c009a928500a19b8d
+007f9ba6005e90aa003d86af002a7db0001774b10006539700224565003a5465
+00425456006e675700766e5e007e75660096866f00a29c8c00aea89a00bfb9ab
+00ebdece00efdfd100f4e0d500f0ded100edddcd00ddd6c400cbc2b300bfb8a8
+00b2ab9b00969082008d867600857d6a006e6554005c513f00574c3800574a37
+004d43370048433a0043443e00424b5000354d5900424b54009993830091a4ab
+0093b9cc00a0e9fc00a5e4fd00abe0ff00c2fcfe00f7fffd00fdf5e800ffeede
+00c6bdae00c1b6a600bdb09f00b7ad9400b1aa9a00b8b09d00c6bba900cec4b8
+00c6d1d700c2d5dc0099c4d70089aec100819da1007b7e7700666962005d503f
+00423522003e321d003b2f1900402f1b00573d24005346360056493800564b39
+005a4d3a00615547006c635200746e62006d726e006c7a7a00677a8b00517690
+004e7c94004888b6004a8ebd0054b4e60070cef400b2e3f100f7efe200fef4e8
+00fff3ed00fffcf000f7f4ed00e4e6d800a9d1d9006cbfe90066afd2005ca1c8
+005d9bc2005d92b2006788990071879200827e7200847d6d00847d6d008a8474
+0090857300918b7d0099928200a29c8c00a29c8c00989284008f897b00847d6d
+00837a6900797061006e63510065584500605543006b635000777060007f7c6d
+00847d6d0092877500a99b8100a8a19100a3a39b00a29c8c00a29c8c00999081
+00847d6d006e6252005e5341004f402d003d2b150035210800331f0700311c07
+"/>
+<palette number="211" name="Apophysis-040427-4DeerDemMsk" data="00a497b5000105100001020a0001000400000002000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000001000000010000010101000101010001010100010101
+0000000000000000000000000000000000000001000000020000000200020001
+000304060015191600272e270073654400c09c6200d8b86400f0d46600e1f476
+00fdfd8300fcbc4e00e18b2f00c75b1000783f14002a24180008080800030303
+0001010100000101000002010000020000000200000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000100000101000001010000010101
+00050600001c230400344109005e78100088af1800e2d64200f3ee5200f3de45
+00f9c34900278f2e001761200007341300070705000303030002020200030102
+000001060000000400010002000101020002020200050505000b0c0700493d15
+00b39c1c00fff95900fdfa6000fcfc6800f5fe6500d8eb53009dc33800766241
+0008070500050406000302070000040700010101000000000000000000000000
+0000000000010101000101010002020200050505000b0b090046381e00969237
+00aba87f00b3979600bb87ad00a86f9200e28f6700fba16200ec837000e06651
+00927f3b00272b1d000b0b090004040200020300000302000003030300070604
+009f281200b9381c00d4482700be4568005c3e3600100c090005050500030303
+000404040009090900291e1c006c685d00b0ce9200f2daac00f1cfb300d5a380
+00d3a164008d7547005033520086388c00da2e7a00f2b7cb00fbc2c900feedf7
+00daecd600c2e0a00082874500244d3b000f110c000606060002020200010101
+0000000000000000000000000000000000000000000000000000000000010000
+00010000000300000008000000060503000e0b0400aa241900f31f3800f70a3e
+00f20f5400f7019200ef039300f8479800df867600a7d221007eb816003f8f08
+0013140e00080806000303010001010100010101000101010003030300080307
+0010070c00791c4800f0038f00f3009c00ccb9d500eee1eb00fafad400c3dfb6
+"/>
+<palette number="212" name="Apophysis-040427-4CrouchDragn" data="00ac055300b1065400b0065400af075500a8345900a2615d00af724400bd842b
+00e9a60d00ecc10600f0dc0000f1dd0000f2de0100eed70e00ead11c00efd429
+00f4d83700fed53f00f2c44300e6b34800e4ad3500e3a72300dda52600d7a329
+009e851e00996a2500954f2d009d2a3e00a6065000a9055100ac055300b00554
+00b2055500b2055500b2055500b2055500b1055500b1065500b0055400b00554
+00b1045400b1045400b1045400b0045400b0055400af055400ae065400ac0652
+00a6065000970448008d04430084043f007a043a007004350073301b00765d01
+00886f150084402b0080124100870a42008e03440092034600970448009f034a
+00a1034d00ac065200a9055100a7055000a4044f00a2044e009f054d009e044a
+008c04440089044200860440007f043d0079043b006f04360065043100694f05
+0080640000ad740b00b2731000b8731600ac623400a052520096265400aa0f53
+00ae065300af055300b0055300b0045300b1045400b0055300ad055200aa0551
+00a7055000a2044e00a4044f00a7055000a7055000a7055000ac055300b10655
+00ae716c00bd907200cdaf7900e4d0a800fbf1d800fef8ea00f3cf7b00eabf61
+00ffd33c00f2de0300f2de0600f2df0900e9cf2000cdba4200c0914100ad6e65
+0093583000a4652b00b5732700be822600c7912500ce8c1b00d1911300d69408
+00c87c0200c4891300cd891800d6891d00e19b2100d89c2000cd921e00ba872e
+00a6306400aa1b5c00ae065400af065400b1065500b3065600b4045500b20554
+00b1045300ad055200ad055200ad055200ad055200ae065300ae065300ae0653
+00984849009f592d00a66b1100ba7e0c00bd7f0800b97d0500a27f0100ac7000
+009864100091094700980749009f054b00a0064c00a5054f00a7055000ac0652
+00ac135600af336100b2546c00ba8d3c00cc912b00dda22400e5aa2800e3ab30
+00dba83d00e8b34300eab43600f2bd1f00efba0c00f0b90600f1bb0100e0ae01
+00b4791300a4670d0094550800870c4200910544009f054b00a1054c00a5054f
+00a6065000a7055000a7055000aa055100ac065200ad055200ad055200ad0552
+00ac055300ac055300a9045000a5054f00a0044d00980549008c0444007a033b
+006b0433006f400a00755c000081650100915d0900a05e0700905e150088542d
+0099154e009f084d00a6065000ac065200b0055300b1045400b1045400b20555
+00b2055500b2055500b2055500b2055500b2055500b2055500b0055400ad0552
+00a6044f009e044a008e0241007d043a006e04350065043100650431006f0335
+0081083e0094580f00b8802100ce992900d4bf2600e0cc1300efd80000f2bc00
+00e3af0100e2a01400c58815009b3d570099185100a2084e00a6065000b00554
+"/>
+<palette number="213" name="Apophysis-040427-4CopprMapleleaf" data="0018050000210104002d0a070039140b00411c12004a2419004a2418004a2417
+00441e1300391a0f002f170b002c1307002a100300230a07001c050b001a070c
+0018090e00350f0c00522921007044370091605200b27d6d00c18a7800d09784
+00f2c4a000f4c5a400f6c7a900efbaa200e8ad9b00e1a79500dba28f00d09784
+00c38b7a00aa776600986757008758480074473800613729005c332600572f23
+00552d210063392c00714538008d634e00a9826500b68d6f00c4997900e3b695
+00f3bca800fdcbb400fbcdb000facfac00f5c1a600f0b3a000e0a59300d19887
+00a875640090605100794b3e006f433500653b2d0063392b0062382a0060362a
+005b312500663a2d00673b2e00683c2f00663b2d00643a2c00573823004f291e
+004f271d005b312600683c2f0070433600784a3d00b6817100f5b8a500d09784
+00ab7666008d5e4e00845546007b4d3e007c4e3f007d4f40008e5f4f009c6b5c
+00af7a6a00b27d6d00b5807000af7b6b00aa77660097665700875848007c4e3f
+00704534006e42350075483a007c4e3f008657480091605100a36f6100ba8573
+00e3a89600e8b9a500eecab400edcbb900edcdbe00e9d2c000ebd1c200f0ccbc
+00f3c8b500f1c3a100eec09e00ebbd9b00d3a68700d1a68400cba48500cfa386
+00edb39f00edc0ad00eecdbc00ebcfbd00e8d1bf00ebcebe00edcab400f2b9a5
+00dfa49200bb837200ac7667009e6a5c008a5b4b007b4d40006b453800693d30
+00704535007b543e0087644800906c51009a755a00a9826500c58d7c00d89f8c
+00f6b9a600f7beab00f2bfa400eec09e00d3a88600bb927200b07b6b00ad7a69
+00b2896b00bb8a7300c48c7b00ca928100cb938200c8998500cc948300c08877
+00ad78680098675800976657009766570093625300956455009b6a5b009e6d5e
+00a7746300a3716100a06f60009a695a0091605100905f5000875749007c4e3f
+007c4e3f007b4d3e00714636007045350068462d00714f360084604600986758
+00b7827000ba857300be897700c78f7e00ce958200cea18200dfa49200ebb19d
+00f0b6a200fabdaa00fbc6b400facab600f8cec000f6d7c300efd4c100eecdbe
+00f3c9bb00facab600fdc7bb00fbcebb00f9cebb00f9cebe00ecd0c200e7d6c4
+00eaddcd00e8e1cf00f0f0d800f5efdf00e9e0cf00e7decd00e5e0cd00e3dccc
+00e3dccc00e2dccc00e1daca00e0ddcc00caf0db00dee7cc00e1dfc800e3dcca
+00e3dacb00e5d9cb00e3d6c600ebd1c400f7c8c000fac8c100f8d5c200eed8c3
+00e9d8c600e8dccc00e8d5ce00e7d6c600ebcebe00e7bb9800c38f7a009d6c5d
+007b4d4000493d310030140900150a0800101511001e180a003c170e004b251a
+00572f23005b312500683c2f005f352700532b1f0048221700331107001f0508
+"/>
+<palette number="214" name="Apophysis-040427-4Circulations" data="00f3e7bd00fffadd00fdf8e200fcf6e800fcf4ec00fdf3f100fef3f100fff4f2
+00fdf5f200fdf7f100fdf9f000fef8ef00fff8ee00fdfaf000fbfdf200fbfef6
+00fcfffb00fefefe00fefefe00ffffff00fefefe00fefefe00fefefe00fefefe
+00fff5fd00fef9fd00fefefe00fefefe00fefefe00fcfafc00fbf6fa00fcf4f1
+00fbf3de00f2dcab00e4c67c00d6b04d00a4812a0073530800533d0400342800
+000b0300000d0701000f0b02001d1401002b1e00003928000047330100694b02
+00966d0400bb902000cca33600ddb74c00e6ca7600f0dea000f3e0aa00f7e2b5
+00faf2dd00faf2dd00faf2dd00f8edd000f6e8c300f1e2b200ecdca100edca76
+00d9b65200a47909007e5d040058410000513a00004a33000047330100493400
+005e410000745302008b650400956b0300a0720200a0740400a0760600a37805
+00a0750200a6790600b1851300bc912000cba13900dab25200e9cb8200f2dfa7
+00f8e9d200faefdb00fdf6e400fcf4e100fbf3de00faead300f8eacd00f6e8c1
+00f4e3b500f6e8c100f8e9cb00faebd600f9f0de00f8f5e600f5f4f200f9f7fa
+00fcffff00fcfcf800fcf9f200fcf8eb00fcf7e400f7f4d500f4e7c700ebcfa0
+00dbbd7400946a0800775605005b430300322600001d0f02001712000021140c
+0041300200583d01006f4b000078540000825e0000926900009d710400976d01
+008b6206004432000034270000241d0100201501002b2002004c370000705b26
+00e4d1a700ecdbb900f5e5cb00f8ead800fcefe600fbf3f000fcf4f100fdf5f3
+00fdf5f300fdf5f300fdf5f300fef6f400fef6f400fef3f700fff4f800fff6fb
+00fdf2f800fbf4f700faf6f700fdf5f300fff8f600fff9f700fff5f400fdf5f3
+00fdf5f300fcf8ed00fcf7e900fcf6e600fdf6e400faf3e000fae7d600f7e6d2
+00fbf6e200fbf8e100fcfae100fffae200fcf7e400fcf6e800fbf7ee00fcf4f1
+00fdf3f100fdf3f100fcf8ed00fdf6e400fbecd700f8eac700f6e3b900f2dca3
+00d9b55700d4b15100d0ae4c00bd932300ae831200a97c0900a17603008f6600
+007858030068480000543c00004e390000563802006d501400ac821400d0a644
+00dfbd6600efd29a00f8dba300f4e2b200f6e8c100f7eac700f7eac700f8eacd
+00f8eacd00f2e5d200f8e1d100f8e2cd00f7e2cd00f5e7cd00f7eac700f7e9c6
+00ffebb600fed38f00deb65e00d4ae4b00bb942f00b58a1700c59b2b00d6b04d
+00e8c87b00f3d8a900f8e2bd00f7ebd100fbf6e300fdf7e900fcf4f100fdf5f3
+00fdf8f200fbf9ed00fcf6e600fdf6e400fdf6e400fdf6e600fcf8ed00fbf9ed
+00fbf9ec00fcf6e600fdf6e600fdf6e400fdf6e400fbf6e200fbf4e200fbecd5
+00f8e8d100f5e3cb00f5e1bc00f4ddb300efd79b00edd58f00e6c37200dec066
+"/>
+<palette number="215" name="Apophysis-040427-4DmnContaind" data="00f5b35300fbd8ae00fdcf9200ffc77700fbc46b00f8c26000fbc15c00ffc159
+00ffaa5700fcb35f00fabc6700fcc67c00fed09200fbd5a500f8dab800e7d6cb
+00d6d3de00b194fe00a38db80095867300a2794400af6c1500b66c0a00be6c00
+00ec840100f5921400ffa02700fdb15200fbc27d00f0c99a00e5d1b800afa4cc
+00635183004f3818004f3310004f2f09003827170021202600201344001f0662
+003f09d9005620ec006d37ff007644ff008051ff008456fd00895bfb008f67fe
+00926afe00b498fe00c0b1ea00cdcbd600e5c5a200febf6f00feb65a00ffae45
+00ff910400ff8d0200ff8a0000eb810000d7790000d3770000cf750000ca7300
+00c26d0000c06b0000b3640000a75e0000a45a0100a157020093530000844800
+0059370a003c1c4100200179002f00b1003e00e9004202f4004704ff004813f5
+004a1dc200403b51005f422a007f4a0400884d0200915000009d5a01008f5e23
+00ac93f100b197f800b69cff00b59bfe00b49afd00b398ff00a889fe009b77ff
+008d64fe00713cff005625d4003b0faa002d07920020007b0016004f000d0030
+00070513000b0227000f003b0014004f001a00630027008f003901d4005517fe
+006c35ff008254ff00875cff008d64ff009169ff009a76fe00917bcd00a0733c
+00f18d0400f88f0400ff910400ff910400ff910400fe940a00ffa02800f7af5d
+00f1c07400b194fe00a17ffe00926afe008e66fa008b62ff00845bf7007c54e8
+00885eff00865aff008456ff008456ff008456ff007a4aff006e38fe005835c5
+003e1aa00012033a000f0134000c002e00020411000200030003000000020202
+00150544001c026400240084003b00d6005719ff006027ff00642cff005f26ff
+005011fe0029027f00210171001a006300110142000b0033000f00370015004d
+00341688004119a6004e1dc4006936f500703cff007848ff007a4aff007f50ff
+008051ff008456ff00885efe008c63ff009067ff00966fff009a75ff00a081ff
+00bca3ff00c0a8ff00c4aeff00ccb8ff00f2dcc400ffd7a400ffce8c00ffc070
+00ffbe6c00fec67b00fbd6a900d2cedf00bda4ff00b295ff00a98bfd009d79ff
+00b093ff00b89ffd00c2b2f000c6c5d300fed09200ffc16a00ffa23000de7f01
+00a661140054535b004c416b004829a000633ad8008153fe009b77ff009c78ff
+00a181ff00a181fc009d79ff00926aff008456ff007542ff006b3aff006831fe
+006027ff005f26ff004e0fff003f01ec004525a20042376100703f1700a55f00
+00d07c0200ec860000ff900200ffa00000ff981100fead4400ffba5300ffae45
+00fda74000e49e2c00aa75310068514100654f4100895d200094570600b76803
+00c26d0300c7812b00b68d4b00938da700b197fc00c9b4ff00ded9d500f6c381
+"/>
+<palette number="216" name="Apophysis-040427-4DmnCntndWP" data="0074befb0079bffb007bc0f9007ec1f80083c4fa0089c8fd008ac8fd008cc8fe
+00abd8ff00acd7fc00aed6f900c5d7e600dcd9d400e4d6c900edd4be00e7d4c5
+00e2d5cc00a1cdf00095c9f60089c6fc0085c1f50082bcee0082bcee0082bcee
+0084b9e5008da7c2009696a000c9967200fd974500fc892e00fc7c1700f57f28
+00ff9b4d00d0ab8e00b1a297009299a10073849000546f8000476780003b5f81
+00548ab8005a9cd30060aeee0053abf40046a9fa003ba3f800309ef700239afe
+001594fd000587f5000285f3000084f1000281eb00047fe6000279dc000073d2
+0001447b00003b6c0000335e00022f5600042c4f00082e50000d315100083d69
+0004437900117ed9004b98d90085b2d90095b7d700a5bdd500c9c9c900f4bd94
+00d4a98900bab2ae00a0bcd40093bde20087bff00085c2f50084c5fb007fc4ff
+007cc1fc0082c5fc0096c3ea00abc1d800c0c0c200d5c0ad00d9a47a00ee934c
+00b7520000a95310009b552100a2581e00aa5c1c00c65a0200eb6a0400fd7100
+00cc7935008051230064605900486f90003c69900030639000296190001f6eb1
+000f7ada001889ea002298fa0035a1fc0048abfe0059b4fd0066b9ff0069bafc
+006ab9fb0036a0f8002e9efb00269cfe001c97fe001893fa000a85ec000082ec
+000b508900193c5a0027282c00382f2b0049372b008e4206008f3c00007e3701
+003618000016120f000b131a000114250003213b000114230004050700120600
+00081118000a243b000c385f001a44690029517400325e85003f62800037648d
+00386b96003d7eb400428ac6004896d8005da3df0084aed800aba9aa007fc0f8
+0087c8fe0089c8fe008cc8fe0091c7f600acc8e000d3ceca00f0cbae00f5cdaa
+00fccfa800e0d6cd00cbcdcf00b7c5d2009ecaef0096ccfa0099caf300b4cadf
+00fecaa200febe8c00feb27600eca56d00ffa96200fa9e5500bc8660008f5f39
+00894612004c2a0f00343d4600365e81001c74be002793ed0046a6fa005bb3fd
+0071bcfd0073befd0076c0fd006cbafc004dadfa00319ffe002298fc001d91f4
+000a7fdf000773cd00245985001f426000271f1c002f2118001e3c58002f5b80
+003f729d002472b4001a82d9001582df002092f2001b95ff001997fd001090fb
+000b84ec000a79d5001f6daf00194e7a000941720005417500134e8a000a6dbe
+000774d1000977d000136ebd00185b920022517b0024405800784a26008f4101
+00ab4d0300ba5e1500d8741e009a6c52007f7a77007a99b5006695bf002288dd
+002091ef002591eb0042a8fd0054b0fd005bb3fd0064b7fb0065b4f70058aff6
+004eadfd0048abff0041a6fe0044a8fd005bb3fd0062b5fb0069b7f9006db2ed
+006aace6006db3ee0071bbfa0070bbfc006ab8f8006fbbf90073b9f50073bef8
+"/>
+<palette number="217" name="Apophysis-040427-4DmnDimensn" data="008b76610081717c007b6e6f00766c62005c5b5f00434a5d00483738004e2513
+004d24120056282c005f2d4600632d5400682d630070346100783c60007c3857
+0081354f00a12d540091446500825b7600775a73006c5a7000634d69005b4063
+004d2412004d2412004d24120062372f00784a4d00925d6700ad708200e49ea6
+00e6b6c400e4a6b500be997600998d3700958f3700919137008b873900867d3c
+00a46f3d00a64e4000a82e4300a9324800ab374e00ac304d00ad2a4c00a21d3a
+00a61c3300a2041300860316006b031a005c1316004d2412004d2412004d2412
+004d2412004d2412004e251300664a36007e6f5a008e7568009f7c7600d67580
+00e06b8500be7b8d009d7688007d72830070748300647684005e78790072757e
+008a5e770098405700a7223700a31225009f02130099010e0094000a008e002b
+0063006c00650f6a00750746008500220080001c007c0017004d2412004d2412
+004d2412004e313800503f5f00594f6d0063607b00717672006f746000666e61
+006a4e5d004e2513004d2412004d2412004d2412004d2412004d2412004d2412
+004d2412004d2412004d2412004d2412004d2412004d2412004d2412004e2513
+007f373b00846537008f694f009b6e680097816a008f7a5d00728e5300259e4f
+00557b8800647e7800748268007e9b6c0088b570009cdb4e00a59d5500b28d70
+00efaeb400f9dcf000fce8f700fff4ff00e6e3ea00dedcf200f5d3ec00e0c3d7
+008e698b005b3d7600291262002e0c600034065e003f2542004d2412004d2412
+004d2412004d2412004d2412004d2412004d2412004d2412004d2412004d2412
+004d2412004d2412004d241200631e3b00872743009d244700a2122d00890721
+004d2412004d2412004d2412004d2412004d2412004c2602004d2412004d2412
+004d2412004d2412004d2412004d2412004d24120032443800375d50005c5f58
+008d873900140d6a00190d6f002c0d6b0047006500684099008c7d8400a7778f
+00e68a9f00e0869900da839300e16e7d00d2646f00cf566500bb2f5e00ae2c5c
+00a4294800981e3700961c29008f2635004d2412004d2412004d2412004d2412
+004d2412004d2412004d2412004d2412004d241200800517008c0023009c0315
+0092122100901331008b1f41007818620061295a00573b64005147620058546f
+0052417800342b7e003018880000498f0026639c004b647800547d6f00528b85
+0063868c00768baa00859cac00e099ab00e69fad00d9849700b75c6d00a33a49
+00953540004e2513004d2412004d2412004f261400895c3b007a6c4f00a44660
+00bf3b4600c7535e00b3586900a7496300a6475f00993a6600862c620087156a
+00763369006d486900725b7800646b7500556187005f6e8b00796580008b6775
+"/>
+<palette number="218" name="Apophysis-040427-4SatnFlorlSwag" data="0073604f003a1e2c002a1f2b001a212b000d2f2d00003e30000f3f35001e413b
+0078594700926c5700ac7f6800be8e7900d19e8b00d79e9800dd9ea600e59dac
+00ee9cb200e3b5a800d1c49a00bfd38c00a3c9870088c0830085be820083bd82
+007fbe8f008fc199009fc4a30097c3990090c28f0091c5890093c88400bb9e76
+00ae816a00aa806800b59b7300c1b67e00cdbc8a00dac39700dcc69800dfc99a
+00e0a8a900d49a9900c88d8900b57a7400a36860009f645d009c615b008c7156
+00748269001c66810014527a000c3e7300062d6600001d5900051154000a0650
+002e2858004c3c4e006b5045006b4941006c433d006f423900724236006f4134
+006e3d390077413f007a4043007e3f48007c3e46007a3d4400773944006c373f
+00321a3200190e19000103000001020000020200000b0e0d00151b1b00371d26
+00512731006d3c380072474000775249007e564e00865b5400955e5700995e5a
+00a7626700b9807700cb9e8700c2af8c00b9c19200bdbdbd0092aaac007f7f7f
+006f5c4e003e283400341d2f002b132b002d152b0030172c004626310063393b
+00664b44005c423c005239340041372c0031352400202e1d002f1f20004f2c30
+0069383e0083424a0082424a0082434b007c4b44007a5246006d4f44005a4a4d
+0025386000192b5e000e1e5c000e1557000f0c53002419440038153d00351e38
+00371c2f00316769003e827d004b9d91004c9aa400439ca000326d7b0034547a
+0046756f005383700060917100679a73006ea3750073b89b0069b5a9006cb29a
+006d9c88005e514b00614e4700644b44005632400041274c00382237002e1630
+000e1132000d0e37000d0b3c00180c3e0038213500543533006638380069363b
+006c3a3900783c44007c3e470080414a008d5150009659580098645900915a53
+00713d3f00653a3b0059373800323c2400094a280006542a00005a4400464e5b
+005051630051726100698b7b006991900072a294008eada800b9b9b900bebebe
+00c1c1c100c6c7c800cccdcf00e0e0e000e1e1d900c3c3c300c2c2b800bdc2bc
+00bfbfbf00c4c0bf00d6b59200cfa39600c38e8000b8717900a45a6b00a96969
+00c0808000cd8a9100cb8f8f00c6968200b88a7300b77e7300b8917400c79884
+00ce9e8a00d1988700b9797900aa5e6b00f62731009a5359009552590089464f
+0082464800874d4b008b604f008e6454008963500089635000855a4a00784941
+00773f3e0077413f00704b4200715146006c5146006e4c4200734b41006d423b
+00673e3800633d34005f2d2e0042203000280d2c000503080000000000000000
+000a0c3c000000450000004a00021359000023800000438800004589000c6376
+001d657e003b7674005b8a78007d7d7d00a2836600a5826600987a5e00937553
+"/>
+<palette number="219" name="Apophysis-040427-4DDragHeart" data="0072541600836a3200b28f5b00e1b58400e1b58400e1b58400c8a87100af9b5e
+0072581d0072561a007254180072531700735316007352150074521500745215
+0074521500715313006f5013006e4e13006a4d1400674c1500593d1c004b2f23
+0063491600674b16006b4e16006c4e17006d4e18006d4f18006e5119006d5318
+006d5316006e5618006f561a0071571c007c632500886f2f009a854500ad9b5b
+00bdae7300997f580076513e0073522c0070531b006f521a006f521a00705118
+006f5019006e5119006e5119006f521a006f5218007053170070531700715317
+0071541a0071551b0071571c0070561a006f5518006f5518006f551800705317
+0071531700715118007051180070511800705118007051180070521600705214
+006f5314006f5214006f5115006e5014006e5014006e5014006f511500705118
+00705319007053190070521700715116007151160071511600705214006e5211
+007151160070511600705216006f5216006f5216006d5316006e5417006f5518
+006f551a0071571c0073581e0076592100b34b3100f03d4100ff525600fcd23e
+00fdf64d00feeb2900ffe10500fade0500f6db0500ddc50300d7c00200edd302
+00ffdc0400ffff5500ffff5400ffff5300ffe34700fe6e6600ff535700ff7074
+00d0c7a600e0d2b500f1ddc500f1ddc500f1ddc500d8d1b700e1b58600e1b586
+00fe626300ff4e5400fe4c5100fe4b4e00ff494b00f73e4300d6252f00775516
+007153170071541800725519007254190072531a0071541a0070531900705317
+006f5216006d4e17006c4d17006c4d170069501a00684f1700694c1200654810
+005f050700651803006b2c0000644a11006b4d11006c4d14006b4e12006c5011
+006d4f0f006d4d10006d4d11006d4d12006e4e13006f4f140070501300715313
+0075531400755314007654150076541700cf282f00f13c4100fe444900fe494e
+00ff484c00ff424600f03d410078561900765717007556160075551800745618
+007c5e22009d7b1c00bf981700e3a52000eab32500b8a501009a7e1100765917
+0077581700755615007455150073561400725416007153150071531500705214
+0070501300714f120072501300714e1400705015007151160071511600735316
+0074511700cf232f00ed293700f7404400fe454a00fb403b00775a1800765917
+007556160071571a006e5618006e5417006d5316006d5316006d5316006d5016
+006e4f16006d4e15006e4e13006d4d12006d4f11006f4f12006f4f12006e4e13
+006e4e13006f4f14006f4f140070501500705015007151160071511600715116
+0072521500735316007454170074521500755314007455150075561600765917
+00785919008a670d00c4671900fd4f5100fe545700e0b48500c4b87c00ad9a60
+"/>
+<palette number="220" name="Apophysis-040427-4DimesPathsE" data="00d4fce2008b7da000625a720039374500231c2a000d010f0009010800060201
+000202020005010200080002000b0003000e0005002000120032002000430d32
+00541b44008c3f4700944a41009c563c0075423a004e2e3900422a2700372616
+0027565c0027586f00275b830055658e00846f9a008968a0008f62a700906090
+0060587000502d6d005b3f7b0066518900956b7a00c5856c00d5907200e69c79
+00e9d9d900e0ebe100d8fee900c7f2e200b7e7db00added200a3d5ca00a6c3be
+00a8bcb000d0e7ca00e6f3e400fcffff00fdfcfd00fefafb00fef1fd00ffe8ff
+00f8faf900ebf2f900deeafa009ed9fc005ec8ff006dbaca007dad950070566f
+006e2d58009f438200a740b900b03df000c455f700d86dff00c893ed00c1c4ef
+00db8ff100e384ea00eb7ae400e081e700d589eb00d597df00d5a6d400c0e679
+00b8d0220057a40000699c3a007c9575009a8b7500b8827600c6a7b900febbc4
+00bade480086a22700536706003a460a0022260f0011060a0006090000001100
+00001e120011872f0008a3170000bf000038b63a0071ae7500a3b9a4009ed59e
+0085d4670075c35d0065b254005eae3a0058aa210039f52e00aaff1e00f7ff2b
+00fefd2600f5f4e200f8efef00fcebfd00ffddfc00e2d0d000c0b2a500c1a154
+00cfbe0c00cc680700ca130300b80e0100a70900006f120100426f0600298d47
+000f5d29000c26370011213a00161c3e0025004b002b004c002a095a00120174
+001b0dba0018067f00150044000d013a000502310000001a000b0017001c0613
+002d1000005f455000734a5700884f5e00b272a600af84b900bd82bc00a237db
+006e4cad00733da700782ea10076289600722899005b159a00461499002d0065
+00320053005b2176005e287500622f740049324f005f1339007a0d5100823887
+009124e1009f28ee00ad2dfc009334c600671895003b02610035034200130037
+000d041f00000c14000012180007162d00042d6300111d83003e207600485a5a
+0060947d007e7f6f009c6a6100a4454300b5955a00ca8e6c00c4afac00bebad1
+00d0bad100ddd7d900c8d1d000bab1e800c17eaa00f04f8100a94d2800b31c00
+00980f0900740104003005000012000c0008070300020e00000015000019190d
+002b1228003c17400044275f00324c96000e68c90027edf0001fc0ae0048b178
+00265f59001135430018223d001412200006070b000303030004090300040a06
+0005060a00000b110000010f0000000200010101000002010000050000000703
+000703110027042e003f0050003f0a8e005141a400475294004637700030234e
+0038124d00241639001900230012001a000300110003030f0002011300000217
+0000002b000b003a0020024c003d2465006e449000916bb600caedcf00b099cd
+"/>
+<palette number="221" name="Apophysis-040427-4DimensPathsE2" data="00ffeaff00cc84f400b57fe9009e7bdf009474cb008b6db7008977a10088828c
+0051873300487044003f595600274144000f2a3300091d260003101900010c14
+0000080f00010101000202060004040c0009150e000e261000162914001e2d18
+003d630e00645523008c473800854557007e4477006e5099005e5dbb006b40c5
+00671ab4003916660039256a0039346e0048478c00575aab007b72bb00a08bcc
+00c0e0eb009ac0e60074a1e2006a70c900603fb0004d2d91003a1c7200210250
+00190051001800390018002f001900250015001d00110015000f0411000d080e
+00110026000e002a000c002f0006021e0000040e0000020a0001000700010101
+000002000001010100000200000003000000080000000e000009240300114515
+00438d3600678a24008c8712007a731600695f1a00545f22003f602b00382224
+004116290080366b007c3395007930bf00732dbb006e2bb800840db5006c11c8
+005400ae0038007e001d004e002100440025003a001d002b000f011800080111
+0000000c000702090009010b000b000e00080010000501120014001b001d0215
+0025051c00271318002a2215001f21100014200c00100b220001112b001a2332
+003d2f4000896c8a009c7a9700b089a400d3a4e800ffbfe600ebbaab00ecb3a0
+00a5cd39008ebd460077ae53008fad4e00a7ad4900b5501800b51b4d00a746a5
+00914c8f008d493200a4542800bb5f1e00d9450500c3430000b35b0400904f15
+0043130000270900000b00000008060100050d0200092b00002b6a000040ad00
+0013f20b0063de5f007cd2800095c7a200baefc500d2c5bc00dcc4aa00c6b172
+00cdbb1100b9ba0b00a6b905008bba1e00817054004d484f00512f540043195b
+003f004d00140e100010080d000d020a00090000000300000004000000120500
+0032000000430b03005516070073050000843b1000973e1e00863a2c007b341e
+003b263700271f46000040850014607000458d68006b9d7a006da59a007e7590
+001d5856001956460015543700001a0000080026000b0425000b0016000a0815
+00001d1300102b18002b2225003a31420041406a004257960051876500448157
+004b865a0050975d0074ae570090a07900ce9da000f1e9bb00f1ffd700e7ffda
+00f4fff600fff1ff00d8d5f000cfb3a800938e7100615667004d484f008c452f
+009e542300ad6b1500c48c69009a778f008e6e790056416a002b304600261935
+00290e1f001c0814001600120018010b000f000800060000000100040005020d
+00080510000b001700160023002207320031123c003a082d003b042b00441619
+003b0a060027000000190000001c000d002e1a1c004f38420056596800878289
+0086a9bc0087eeeb0081eef1005abba80062d39500a4ddd600eef6e100fffcff
+"/>
+<palette number="222" name="Apophysis-040427-4DimensPathE2" data="00e09791000c0807000c0604000d050200100601001408000013040000130000
+001c0000001e03000020070000270700002f07000034030c003a001800420418
+004b081900492c2e003a847e002cdccf0032e0cc0038e4ca004ceea50060f881
+009ac8c800c3e3dc00edfff100f6eef700ffdefe00ffd3e300ffc8c900fab967
+00fbef0500b4fa0e00c4d01100d4a61500b8a915009cac1500a9c51f00b7de29
+007cb400007c991e007c7e3d00a16a1e00c6560000ca551000ce552000bb3a24
+00bd2b360064001000671708006b2e0000626e00005aae000064d624006fff48
+0090c55100c38e5a00f7576300e43a6400d11d6600dc235900e7294d00bd452c
+00b6462100511804004d1702004a160000441800003e1a000048250700483c30
+0090707500a4887e00b9a18700bab08b00bcbf9000b7b68300b2ad7600b79476
+00b69c6900da903700d0693d00c7424300d44a4700e1524c00dd3b6c00d35487
+00a815bd007221b3003d2da900462a6c005028300041172300241d2400292019
+00310a0d00100700000804000001010100010101000101010008000500120000
+0033090a00561727007a2544008a3b53009b516200a7728200c993ad00f1d3d3
+00ffe0db00f0a39100d8929100c08192008f675b00604f480060433b00705051
+00827471008576700089787000867f720084877400988a8100ae9a9900b59d9b
+00b1a69000948a66009b8a6200a38b5f00d7ab2e00cac70a00aef511007eea09
+0019bf03001b9a01001d760000186500001355000010260000381d0200528900
+00169e00003db700004da207005d8e0e0086421b006d2f3400673029005c312b
+009d6e5200a78a6400b1a77600c1bbab00ffe0f100fffbea00fffff200fff6f3
+00ffe0ff00d5e0b600c0d4b300acc8b1009f988e0072758400424e4a002b5a46
+003719000035100000330801002c000000310011002d002c002b073700380072
+004b23a7005e4ec800597fca0055a0bd0089a7670093855e00856c65008a5f59
+0085343100871e33008a08360081004700900047009e2b8a009f419500a56a7c
+00c4807700a1726c00ab485a00b7426e00e64f4800fc661100ee1f0f00e8151c
+00da212600db201700c10d0e0065010000600000005312000052020300510008
+00500000004b000100340100001d0503001b0000001d00000029000000430008
+005d0102007b0a2800b23d4600d88da400ddc2c700fff0f100fffce400dfeabf
+00c6aba000a8755800904c29006d371b00501416004d140b003d0d09003d0a07
+00330708003900000037000000320000002a0800001c090000131000000e0603
+000a0100000006000000060200010101000e00000011000000120203000e0000
+0005000400000007000105060007070700181900003b3a25008e665a00ffaf9c
+"/>
+<palette number="223" name="Apophysis-040427-4Doodles" data="00916a0300b5977d00a9ad97009dc4b1009ac1ae0098bfac009ebdad00a5bbaf
+00a1a1a1009a9a9a0094949400948d900095868d0069727c003d5f6b00335471
+0029497800111c8600081e5e00002036000f2136001e233600262933002e2f31
+00b9967800dbc17d00feed8300d2b14800a6750e009e700800966b0200945b16
+0098381000918d6000a6a48c00bbbbb900c3c2c000cbcac800cacac900cacaca
+00c1c1c100b0c5bb00a0cab60062cdb40024d1b30023ae9400228c75000b4849
+0026323e0058401c00674b3b0077575a00897a7f009b9ea500acadb000bdbdbb
+00e9edf000f1f5f700fafdff00fcfeff00ffffff00ffffff00ffffff00f2fdf9
+00e8e8d0009f9f9f007c7c7c0059595900525152004c4a4b004041390049371f
+00452806003a2509002f230d002e1707002e0c0200361205003f180900470e05
+003c0d03001f072b0025121f002c1e1300352713003f3013004e370d0072551b
+00a8995400a2ae82009cc3b00091cdcd0086d7ea00adfffd00d9fffa00e6ffff
+00e7fffd00c6c6c400a5a5a3008585830075726c00665f5500524d4a003d4f53
+008a898e009c9c9e00afafaf00b6b6b600bdbdbd00bfbfbd00b0aeaf00979797
+00777777003e5f04003a460e00362e19002d2d2d002d2d2d0029343800343b8c
+00b251f900a273df009296c5007d8eb7006987a90030a55f00048b2200053026
+000f0f0f00251d06002320110022231d002d2d2d00313743003c566300808080
+00f3a2fe00f1c1fe00f0e1fe00ebe4f200e7e7e700e2d7d300d4cbce00d0d0ce
+00cececc00cbcbc900cacac800cacac800c6c6c600c2c2c000bebebc00b9b9b9
+00949297009a939700a0949800b7a8ad00c1c1bf00d0d6d200dbfbf000ecffff
+00f7fffd00ffffff00ffffff00ffffff00ffffff00ffffff00fefff700feffbf
+00fcf69400fdf77e00fff96900d3ff5f00e5df5700ed5d3800e3046100ad0048
+00a01c170069767c007e464500000600000b090a001b1a180030231d002f1940
+004e0a7900611f4e0074352300a22c1200cd3d3500f2555e00da704600bea555
+00ccba7200c1bab200d2c1c900dedcd000f7f7f500fef9fd00fffeff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00fbfdfc00ffecde
+00fffabd00fcf7b700f7e79200fbde8e00d1b1c000bbbbb900b3b3b300a0a0a0
+009a9a9a008d9391008d8d8d008d8d8d008c8c8c0085958b0082a4940081abc4
+0082cde000a0aeeb00b383e600c986fa00ce9ce500bfbfbf00a0c7b400a1b5aa
+009191910078787800795933005a4739006546270071301c0076210d0090370b
+"/>
+<palette number="224" name="Apophysis-040427-4Doodles2" data="00bfb66b00b08e1300b6910b00bd940400bc930300bc920200b78e0300b38b05
+0096802a0083784c0071706e0059595900424345002b2f2700141b0900191a0d
+001e1a1100383d150065580c0093730400ac860400c5990500d0a10500dbaa05
+00efbb0500f3bf0400f8c30300f9c30400fac30600fac30600fac30600fac306
+00fac30600fac30600fac30600fac30600f0bb0500e6b40500ddac0500d5a505
+00aa5c5200904b4700773b3d0065423e0053494000504443004d4047005a4b50
+0073625b00b2ac9c00cac0b600e3d4d100cfb0b900bc8da1009f808900827471
+00a37f4100b9902300cfa10500ddac0500ebb80500f0bc0400f6c00400fbc105
+00f5bf0700dbaa0500cfa10500c3990500ba920500b28c0500a7840400a38002
+00a5820200ae890300b7900400c79c0400d8a90500dbab0400deae0400e6b405
+00ecba0500e5b30600dbac0500d2a50400cea10400ca9d0400c3970200b48d04
+00a7810400a8820400a9830400ae870400b38b0500bf950300d0a20400deae04
+00e7b40300f6c00600f8c10600fac30600fac30600fac30600fac30600fac306
+00fac30600f4be0600eeba0600e9b50500e4b00400d2a20400b98f05009c7903
+007b5e0200391902002b1605001e140800150f030000120600051c0800002909
+0011471500482c0b007f11020097150500af190800c10d1800991f1a008c6c05
+00927004008b31260087322700833328007f4d06008969040093730400a37f04
+00c99e0400d3a60400deae0400e0ae0500e2af0600e2b30500e4b10600e7b305
+00eeba0400fac30600fac30600fac30600fac30600fcc20600fcc20600330009
+001a2d0d001841130016561a00125a1b000c5a1c0011551c000f37140013220b
+00180b02002c05080026030800200109000c0401000504020000010000000201
+0032222c00363936003b50410069656200787471007c79740087807800a1a09e
+00a9676900cd6b5e00b65a4f00b44e4000735c3c006e5536006b5d5d00736a6b
+00af932500ba961500c69a0600d6a60400e2b30300eeba0400f8c10500f9c205
+00f8c10500f7c10500efbb0500e0b00400c89c0500afa05d00817b6d00706c69
+005244530040394100353118004f3004004b3a0200675002007c640200907001
+009d7a0200a0770500a0770500a2770600a37a0600a07c0400a27e0300a58204
+00ac850200bb920200c79b0400d6a60400deae0400e0b00400deae0400dcac04
+00d1a40300c1940500ac8502009f7d02008b6b04005751050030380500181202
+0003000000000000000b06020029120200551303004e171a0075332700a27307
+00a97d0200b18b0400be940400c69a0500ca9f0300cc9f0400d0a20400d0a204
+00d2a50400d8a60500e0ad0400e2ae0300e0b00400d9a70600c2ad5200ccbf70
+"/>
+<palette number="225" name="Apophysis-040427-4doodles3" data="00fffffd00ffffff00ffffff00ffffff00fefefd00fefdfb00f6f5f400eeeeee
+008481ce00494f9c000e1e6b0010183e0013131100090909000000020000000b
+000000150007166900490b3f008c0116008c0010008d000b00850024007d013d
+00080087000f059e00170bb5002126a6002b41970017619c000382a2000895e7
+000993eb005b76e7009274a600c9736600ce645200d4563f00d47e6700d4a790
+00f4f4f400f9f9f900ffffff00fefefe00fefefe00f8f8f800f3f3f300d2d2d2
+00aeaeae00a73f260097211300870301005f050000380700001c030000010000
+000f0f0f001d271b002c402700475c4b0062796f007e938a009aaea500cbcbcb
+00f6f6f600ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00feffff00fefefe
+00eff3ff009cafa9006379a8002a43a8001d21ab001100ae000b00b2000a00af
+0006006e00030038000000020000000100000000000506080030181800643337
+00a16d5f00f3e0dc00f7eeec00fcfcfc00ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00f8f8f800e6e6e600d5d5d500c9b9b900d1998a00b65c4400843531
+00541f0d0050200f004c211100511f0f00571e0d006e0d1800782b1700812e28
+008e251f00cf0f0000c8200000c1310000b82b1700ad382700b74d3300ba563c
+00d6492e00dc452000e3411300df4a3200da695700dca19100eecdc400cecece
+00cfc1c000b0b0b000999999008282820064646400436155002b6d4900225f3d
+0013823d002e8851004a8e6500a7a6a400c4c4c400f0f0f000fefefe00ffffff
+00ffffff00fcffff00f2f1ef00c8c6c700ababab007c7c7c007e5f4200a0433c
+00b2613600bc674700c66e5800d5afa600e5dcdd00fbfbfb00feffff00ffffff
+00ffffff00feffff00fdfdfd00e5e5e500b4b8d3007874cb00446be2000690b4
+0044528f00872b820080575b00754d4100663c30005f332a00581f25005c1f24
+0075311e00663632007245480071706c00b1b1b100dedee000f5f5f500fefefe
+00ffffff00fafafa00dfdfdf00bfc1c0008a92b9006167990028497c00051668
+00042045000e0e100001000000010000000000000001010100280f1200343434
+007454490083655b00a1a1a100b2b2b400b4b5b700b6b6b600b7b6b400b3b3b3
+009e9e9e006a8477004980600034745100405a4f00202e75000a1a79002b3c8e
+003f54590068676500978f8d00bababc00e6e4e500fafafa00fffffd00ffffff
+"/>
+<palette number="226" name="Apophysis-040427-4Doodle3inv" data="007c9aa4004d4d4b004b4b4a00494949004a4a4a004c4c4c0056565600616161
+00b67f9f00ba92a700bfa5b000dac59b00f5e58600dac89600c0aba600aba1a0
+0097989a00454543002525240005050500020202000000000000000100000002
+00000000000000000000000000000102000102040009090a00111111003d3938
+007b7e3100f1e19400eee6c100ececee00f5f5f500fffffd00fffff300ffffea
+00f8e99600b5f3bf0073fee90072feee0072fff4007afedb0082fec200bcfa71
+00f7ff7800e8f44a00ded95900d4be6800e5944000f76a1800f66b1600f66c14
+00a48918006d8a5800368c9900309aac002ba9c0002b8097002b586f001c2f35
+000b0b0b00000000000000000001010100060606000c0c0c002d2d2d00515151
+0058c0d90068deeb0078fcfe009ffafe00c7f8ff00e2fbff00feffff00fffeff
+00f0f0f000d3bfd800b8a2b4009d869000816b750065515a0034343400090909
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000100000001010100100c00
+00635056009c865600d5bc5700e1dd5400eeff5100f4ff4d00f5ff5000f4ff51
+00f9ff9100fffffd00fffffe00ffffff00faf9f700cfe7e7009bccc8005e92a0
+000c1f2300060f11000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0007070700181818002a2a2a00364646002e66750049a3bb007bcace008ad3e6
+00abe0f200b3deee00addff000a8e1f20091f2e70087d4e8007ed1d70071dae0
+0030f0ff0037dfff003eceff0047d4e80052c7d80048b2cc0045a9c3002db8cd
+0029b6d1001cbeec0020b5cd002596a800235e6e0011323b0031313100303e3f
+004f4f4f00666666007d7d7d009b9b9b00bc9eaa00d492b600dda0c200f6abc2
+00ec7dc200b5719a0058595b003b3b3b000f0f0f000101010000000000000000
+00030000000d0e100037393800545454008383830081a0bd005fbcc3004f9ec7
+004d9ec9003991a7002a5059001a232200040404000100000000000000000000
+0001000000020202001a1a1a004b472c00878b3400bb941d00f96f4b00bbad70
+0078d47d007fa8a4008ab2be0099c3cf00a0ccd500a7e0da00a3e0db008acee1
+0099c9cd008dbab7008e8f93004e4e4e0021211f000a0a0a0001010100000000
+000505050020202000403e3f00756d46009e986600d7b68300fae99700fbdfba
+00f1f1ef00feffff00feffff00ffffff00fefefe00d7f0ed00cbcbcb008babb6
+"/>
+<palette number="227" name="Apophysis-040427-6DoublEagles2" data="007f3301007f3301007f3301007f3301007f3301007f3301007f3301007f3301
+007f3301007f3301007f3301007f3301007f3301007f3301007f3301007f3301
+007f3301007f3301007f3301007f3301007f3301007f3301007f3301007f3301
+007f3301007f3301007f3301007f3301007f3301007f3301007f3301007f3301
+007f3301007f3301007f3301007f3301007f3301007f3301007f3301007f3301
+007f3301007f3301007f3301007f3301007f3301007e3200007e320000702c00
+000105320001053200151b53002a3175003a4180004b518b004b518b004b518b
+007f236c00642c370049350200251d1a00010532000105320001053200010532
+0001053200010532000105350002053800161b56002a3175001246ac00205d9c
+00c4c5b500d5b96e00e6ad2800d89e1400ca900000c38a0000bd840000a75001
+00953b00007f3301007f3402007f360300733f0f0068491b004d544d004b518b
+004b518b004b518b004b518b0058566500665b3f00864410007a320000581e06
+0001002a0001053200151b53002a3175002a3175002a3175002a3175008f0f62
+00a26c26009a521300923901008b37000085350000803402007f3301007f3301
+00e5af1b00a36f2300976611008c5e0000873601008032010080320100853500
+00b2500900c77b1a00dda72b00e8c15f00f3db9300e8dbb800eaf6f600e1faff
+00d0d3c800e8a54c00e0963e00d9873100e85d0200b74800008236040062401b
+00010532000107460001095a00151d67002a3175002a3175002a317500100d5a
+0001053200010532000105320001053200010532000105320001053200010532
+00010532000105320001053200000b55002a3175004b518b004b518b004c518b
+00919ba500d3e2e500c8e1e600bee1e70096d4fd0061bbfa004b518b004b518b
+0078c1f4008ccff700a1defa00acdbf700aad8e8007d6e6900a7743b00883c0a
+007f3603007f3301007f3301007f3301007f3301007f3301007f3301007f3301
+0086350000943a0000a3400000c1035900dd056600f6287a00e9317700a8753c
+009e631d0091420700803201007f3301007f3301007f3301007f3301007f3301
+007f3301007f3301007f3301007d340100762f0100271c000001002a00010532
+000105320001053200642901007e3200007e3200007c320100760e5d004f218d
+004b518b004b518b002175be003ba7f0004878b800898e9200af954a00aa762b
+009a6400008a370100853500007f3301007f3301007f3301007f3301007f3301
+007f3301007f3301007f3301007f3301007f3301007f3301007f3301007f3301
+007f3301007f3301007f3301007f3301007f3301007f3301007f3301007f3301
+007f3301007f3301007f3301007f3301007f3301007f3301007f3301007f3301
+"/>
+<palette number="228" name="Apophysis-040427-6Equinox" data="00726ee700706ee900716ee700736ee600746ee300766fe1007770e1007871e1
+007872e0007872e0007872e0007872e0007872e0007872df007973df007a73de
+007b74de00827bdb008b84d800958dd600a494c100b49cac00b09bb100ad9ab6
+008c7fce008b7dcf008a7cd1009a87bf00ab93ad00b5969a00c0998800db9945
+00c7802e00b05f1d00a360460096626f008e6ea000877bd1008479d0008278cf
+007773c800744e7800712a2800944a2200b76a1c00cb853300dfa14a00fbca64
+00fee76500ffeb6600fef16d00fef77500fef17400feeb7300f3de7400e9d275
+00cabb9e00c8b89f00c7b5a100d6af8000e5a96000e4a95700e4a94f00edb053
+00edb75700c8b79900b5a3ad00a38fc2009685c9008a7cd1007a75db006f6ee6
+006364f2006264f3006265f4006363f4006561f4006663f1006766ee006b6aec
+006c69ec006c69ea006f6be800726ee700756fe4007871e1007c74db008679d3
+00aa94bb00b19bb400b8a2ae00b79da700b798a000a17f9a00aa979b00b29f99
+00c4b0a700ceb89300d1bf9500d4c69700d3c09900d2bb9b00c3aaae00ae9bb7
+00887cd2008479d4008076d7007d74da007b72dd007871e100736ee6006d6bea
+006c69ea006b6aec006b6aec006b6aec006766f0006665ef00605df2005061f7
+005960ff006869ef007872e0007f77da00877dd4009b88c800b7a0b200c3afa6
+00c5b2a300a897bb009b8dc5008e83cf008281cf008279d6007d75da007a73dd
+007b72dd007a72dd007a73dd007972de007872e0007870df007871e1007871e1
+00746fe500706ee9006e6ce9006d6bea006c69ea006d6aeb00706ee9007273f1
+007677ed007779e600797be0007d75da008076d7008076d7007c74db007a73db
+007169d6006665ed004e4cde003733d0001627bd0000189700310b4800450e35
+007e2805008b35060099430800a8541400a8551300ab5a1800b0645400a28077
+009973a400867acc008679d100877ad4008578d4008279d6008176d4008476d5
+008076d7008076d7008076d7007c74db007a73dd007872e0007871e100746fe3
+00726ee6006e6ce7006d6bea006a6aee006c6ef7006c71f3007271f0007170e8
+007871e1007b72dd008279d600887cd2009a80bd00b5957c00dd984b00e3a93e
+00cf883600c6793100cb843200d28e3d00da9c4500b69a8400ac878f009181c8
+006f70da006364f000545aec003838bc00031a9c00000758002608480035103b
+007d310f00a14d0d00b15f2500c77e3100b8978800a695b5009286c800877ad2
+008578d2008177d8007c74db007a73dd007973df007871e100746fe300706fe7
+006d6bea006c69ea006b6aea006767e9006668e3006b68e9006c69ea006c69ea
+006d6bea00726ee7007871e1007973df007e77e1007a74de007c76d8007a73dd
+"/>
+<palette number="229" name="Apophysis-040427-6Equinox2" data="002e053100896a70008c9c6a0090cf64008dcf63008bcf62008cce64008dce66
+0098c25e009e8e7300a45b89008c82840074a97f0081bb74008fcd6a008cce67
+008acf640084d4630087d067008acc6b008ebf7b0092b28b00a1a49200b1979a
+00c1989c00c29a9900c39c9700afb381009ccb6b0096d0660091d6610093df5b
+0097ea54009aff45009bfa46009cf6470096f04d0091ea54008ee351008bdc4f
+0092dd5c0092da5d0092d85e0091d75d0090d75d0090d75d0091d85e0092d85e
+0091d6610090d75f0091d95e0093db5e0093db5e0094dc5e0094dc5e0094dc5e
+0097e9570099eb56009bee560099ec550098eb550098e9550098e7560095e359
+0092de5a009ac45e00bfaf5b00e59a5900f2a04e00ffa74400f97a2b00ee7445
+00d37e3e00d56b3500d8592c00dd643700e26f4200e6815300ea946500cd9f87
+00c89f8900ac454800b3322b00bb200e00b11e0f00a71d1000a01309008c0800
+0013041700541b290096323c00b13c2e00cd472100f16e4400f7a05000ffa75d
+00e6bd6e008fe16300accf7a00cabd9100d5b89200e1b49300d1a88a0093d068
+008bd7370090e43e0095f1460097f1490099f14d0098f04e0098eb550098eb55
+0098eb55009bee56009bee56009bee56009bee56009aef56009aef540099f650
+0092ff470095f94a0098f34d0098ef510098eb550097ed580097e9570094e55a
+0093df5b0095dd5f009bd56700a1ce6f00c8a89100c79d8d0092bd76008dc665
+0090c47100a3b08700b79d9e00bc9a9c00c2989a00d3a58e00f1ac6b00fdbb5b
+00ffc759009dda59009adf5b0098e45d0099e65a0099e859009ce65b0099e65a
+0094dc5e0091d760008fd362008dcf65008ec66b0093aa8000a792a500a289a6
+008fabac00b5b4b900b0b5b300acb6ae009dc394008fb88e008ec874008fcd6a
+0093db5e0094dc5b0095de590095e3590095e359009be55c00a3ea6600e8d27c
+00fbc98000f0c17300dfaf6f00cc9e8f00c49b9500c2999500bb999a0092bc7c
+008fd163008fd3610090d5600093db5e0093df5b0096e45a0097e55b0095e35b
+0092dd5c0090d75d008ed062008fc85f008ec36700a9574c00c03e1c00c33414
+00a91b0f006c08120016380500174304001e5212003962000044711200639840
+0082d65a008dd8590090d75d0090d75f0090d5610090d5610091d6610090db5c
+0092dd5c0093e1590093e5520097e6550096e8550098eb550098eb550098eb55
+0099e8590095e3590093df5b0093df5b0092dd5c0092d957009ad8470095e045
+0095e8400085e948008eec560094e95a0097e55b0095e3590093df5b0093df5b
+0093df5b0093df5b0093df5b0094dc5c0092d85e008fd3620090c86d008db97e
+008cb593008bafab00a98fa800ba93a800b698a000c3949a00c69b9200c39892
+"/>
+<palette number="230" name="Apophysis-040427-6BluBrd" data="00fea91000fca71000fca10f00fc9b0e00f58f0e00ee840e00ee840e00ee840e
+0070aa08006a95230064813f00698b49006e955400757555007d565700755970
+006e5d89001446c3001b66e1002387ff00135de3000433c700092aa6000f2185
+0007043d00140b2b00211219001111250001113200080d210010091100281100
+0021230000413121005c513100777141008e894f00a6a15d00d1a74400fdae2b
+00ffb61b00ffb01700ffaa1300fda21000fc9b0e00f58f0e00ee840e00ee7c0c
+00f6710a00ee6f0e00ed730e00ec770e00ed7b0d00ef800d00ef800d00ef810e
+00fd990f00fd9d0e00fda10e00fd9d0e00fd990f00fa920e00f88c0e00f48210
+00f0810e00f0810e00ef7e0d00ee7c0c00ee7c0c00ee7c0c00e17a1100cc8f3c
+008d9758008db161008dcb6a0094b664009ba25e00959658008f8a52007c935b
+0076715e00559ea5002e67a9000831ad00092998000a22840000145100303628
+002619230013194900001970000a1a7b00141b86000d1375005a2f38005e3306
+00452e0c0055340700605003006b6c0000a0620400d5580800de5b0b00dd5a0a
+00a35107008d522300785340008c594500a05f4b00dc590b00dd640b00e96f0c
+00e8720e00d95c0a00a8642800786c460065415d004518b100051f98000021ba
+006b687100ae8a4800f1ac2000f6b02200fcb42400fba92b00ab8d5b008b6e50
+007b5d43002a5a1e00304d2100364025005b352200652f5300844e6500b47556
+00e7730c00e76e1300e8691a00e6513200e4394b00ba549300851ec7005f1de1
+003f43ec00378dd800318fd4002c92d00029bfda0086acc3005c3cff008e00f2
+007b0cc200a7218400d3364700e3600e00e96f0c00e7730c00e8740d00e9760b
+00ea770c00ef800d00f3860d00f88c0e00fd990f00ffa31000ffaa1300ffaa13
+00fcb61800fabe1800f9c71800f9cc1900fdc91d00fec41b00ffb71700feaa13
+00f8930f00cf840f00ac8059008c7b5000cd650c00e6720b00f0810e00fd9814
+00ffc01d00feca1d00fdd51d00c5fe13006fff0b008af91400ebed3400ffc829
+00ffc91e00ffc91e00ffca1c00ffc91e00ffbe1a00ffb71700ffb71700ffb717
+00ffb71700ffb71700ffb71700ffb61b00ffb91c00febe1e00ffc01d00ffbb1a
+00ffb61b00ffad1b00ffab1400ffaa1300ffab1400ffb51800ffb71700ffb71c
+00ffb91e00feb71d00ffb61b00ffb21600ffaa1300ffaa1300fca31100f9940e
+00e8740d00b16c43008a5e5b00670fb100800bcb009215e2009717e000b053be
+00a9a48400e3ad2900f8b81a00fdb71900ffb71700ffc41100fdc61100ffbf05
+00f5b70e00feb11300ffb11300ffb61700f4b91500ebc01b00d5d11600a9d510
+0096cc1c0081e429003cb03100659849007099550086a05900967c2500e77d05
+"/>
+<palette number="231" name="Apophysis-040427-6BluBrdInv" data="00e77d050086a05900759c51006598490073be390081e429008bd8220096cc1c
+00d5d11600e4c51500f4b91500f9b51400ffb11300fab41000f5b70e00fabb09
+00ffbf0500ffc41100febd1500fdb71900f0b22100e3ad2900c6a85600a9a484
+009717e0008b11d500800bcb00853493008a5e5b009d654f00b16c4300e8740d
+00f9940e00ffaa1300ffae1400ffb21600feb41900feb71d00feb81d00ffb91e
+00ffb71700ffb11500ffab1400ffab1400ffab1400ffac1700ffad1b00ffb61b
+00ffbb1a00febe1e00feba1c00ffb61b00ffb61900ffb71700ffb71700ffb717
+00ffb71700ffba1800ffbe1a00ffc41b00ffca1c00ffc91d00ffc91e00ffc91e
+00ffc829008af91400a7fb1300c5fe1300e1e91800fdd51d00ffc01d00ffad19
+00f0810e00de730d00cd650c00bc723200ac805900bd823400cf840f00f8930f
+00feaa1300fec41b00fbc81a00f9cc1900f9c91800f9c71800fcb61800ffac12
+00ffaa1300fea11100fd990f00fa920e00f88c0e00ef800d00ee7c0c00ea770c
+00e9760b00e7730c00e5690d00e3600e00db4b2a00d33647007b0cc200920fe7
+005c3cff00427dec0029bfda002aa8d5002c92d000378dd8003d5ec7003f43ec
+005f1de100ba549300cf466f00e4394b00e8691a00e7730c00e7730c00e0730e
+00844e65006f4143005b352200483a2300364025002a5a1e00464735007b5d43
+008b6e5000fba92b00fbae2700fcb42400f1ac2000a5885e006b687100192bab
+00051f980035307a0065415d006e565100786c4600d95c0a00e36d0d00e8720e
+00e96f0c00dc590b00be5c2b00a05f4b00785340005e433800a3510700d75108
+00de5b0b00d9590900d55808006b6c00006b4c0c00553407003c290100452e0c
+005e3306000d13750010177d00141b86000019700003124b0026192300382a1d
+0000145100051b6a000a2284000831ad002998b600559ea500846c8c0076715e
+007c935b008f8a52009ba25e008fb667008dcb6a0071a35e008d975800ad8554
+00e17a1100e77b0e00ee7c0c00ee7c0c00ee7e0e00f0810e00ef800d00f0810e
+00f4821000f88c0e00fd990f00fc9b0e00fda10e00ffa11100fd990f00f98d0f
+00ef810e00ef800d00ee7c0c00ec770e00eb710e00ee6f0e00fc6f0600f6710a
+00ee7c0c00ee840e00fc9b0e00fea41000ffaa1300ffab1400ffb61b00ffb01d
+00fdae2b00a6a15d00897550007771410058483b00413121002a1b0400212300
+0028110000100911000111320008113c0021121900040e310007043d00100b45
+000f2185000433c7000b84ff002387ff002965df001446c300374e91006e5d89
+007d56570086694b006e9554006b98570064813f00608a000070aa0800b7ac16
+00ee840e00ee840e00f9940e00fc9b0e00fda31100fca71000ffaa1300fea910
+"/>
+<palette number="232" name="Apophysis-040427-6FaerieKng" data="00010101004c0e3f00541250005d1662005f1f4400622827005f2324005d1f22
+00030303000305070003080c002c1a1200552c18006c47270084633600866d47
+00887759009ba2b4008077c800664ddd005f30a30059136900591163005a105d
+0067323800783e1c008a4b0000a35d0000bd700000c26c0000c7680000a25e2f
+008d3e390047146100231b780000229000301a770061135f005b1f6700552c70
+0047176100370d470027042e0014021700010101000101010001010100000300
+0005150000087000002c781b00518137006d784d008a6f64007d6b7400706784
+004589b8009ab2b800efdbb800dbcfaa00c8c39d00aca79300918c89005e5663
+00412a600018142f0016242e0015342e000f3735000a3a3c00085b4700166256
+0091409f009667aa009b8fb5009d75a2009f5c8f00936a7d0087796c0099916c
+00ccbd7a007fac73006f8952006067310042452a00252324000c0c0c00030303
+0001010100010101000101010001010100010101000101010001010100010101
+0001010100190b2c002816430037225b00252158001320550000175300002b4e
+00045944000534290007100f0004080a00020106000101010001010100010101
+0001010100010101000101010001010100010101000101010001010100010101
+0005070200211e11003e3621004a2a3100561e4100782b5f00b0448000b14696
+0096309d008c2a75008e326b00913b6200863a4400683a2d006b62430097793d
+006da46000726c6400773469007523690073136a006a0b6500830847008b3a49
+00b15b4c00b16c0500ac6e0800a7700b009b772b00948e3a0095974300a18848
+00c979c200d16ad400da5be600cc6fca007a5f8c002a5679000e5655001f6473
+0055659800f758ea00fb61f400ff6bff00ff6cce00d2789e00cb9c6400b98752
+008635550087376400883a74009b438000bd3f9100bd3f9300c2419d00b22dbc
+00b443b700a84d9d0064418100604d6300342f36001516180004040600010101
+000501020017080100290f0000522913005e2329003d2a2c0020113000090418
+0004040400010101000101010001010100010101000101010001010100010101
+0001010100010101000101010001010100010101000101010001010100040001
+00070208000d052e0020143800120e33000601440008012b0000001e00000004
+0000000200010101000101010001010100010101000101010001010100010101
+0000000000010000000100000001010100010101000101010001010100010101
+000001030000080e0000231e000b50310005671c0016702a00573f1900763829
+00904e2e0088580c00844f19005c2b1c00241c1a000609000001010100010101
+00010101000101010002020000090a0000293b2100592d200084391c009a5706
+"/>
+<palette number="233" name="Apophysis-040427-6FireDemnOrch" data="002ae6e80008fac70004dab50001bba400008c9500005d870000547700004b68
+00050d5500080f60000b126c0006236a000234690001476500015a6200085056
+0010474a00180a5700442e4d007053430084834a0099b35200b5c34100d2d431
+00e1d39600e8e06f00efee4800ddde3c00cbcf3000b7b84100a3a25200866f46
+00725044000f0e83002221a1003534c000443fc900534bd2005148dd005045e9
+004c3dfc006d3dfd008f3eff00af4aea00d057d600cc50d600c94ad700b837da
+00ad26e4007c42e2009439e200ad30e2008d1abf006e059d0051068700350871
+000c0457001105520016064d00380e40005b16330059122c00570f25005f1023
+00641a33006e1e27007d2424008c2a210099422800a75a3000ab604100d36f55
+00bb3a6000b61f4d00b2053b00a506270099071400960a1500940e1700931506
+0093060f008b170000872d0000844400008a410300903f070085373700894640
+00867f2500509435001ba945001f9c6200248f7f0004939100039c970000b6a4
+0024a5bb00a9a6d100c57fb700e2599d00eb679300f4758a00e0888600cca57e
+00d2cf4c00afaf4e008d8f500089865800867d60006c4190006443d000783fc2
+00b839a400894461005e447400334587002d4e790018467700043ea2001b45b1
+00ae4dc000c553c800dd59d100b67ed5008fa4d90046cdc60019eebe000af1c5
+0005efbe0066a9bc006998a5006c878e009d449600b438b200c826af00c42aac
+00c6337900c5567600c4797300cb817800d28a7e00de7e8900f5677d00ef8263
+00f6b35800fe531f00dc4c2800bb463200705449002f5f8d0020579a0062918b
+00df88aa00df9da100dfb39800efd5b000cfaab20065bbd4004bd5fc002bced5
+0003a3b900004681000f307d001e1a790039016c0068004b00770b2b00750e0f
+0081180000931a0400a51c0900bb311400d84f2500d3534a00c25a4d00c14150
+00d53d6400d1469f00bc46c100c532c8009937c8005b35d6004435cc0020319b
+0010085e0018096500200a6c00241276002435a1003f52bb005954ca0048bce5
+0031e3ed0017f2d2000de7b70004db98005d954c00a45c2c00e0220000e11701
+00d7080000cc070100be0d0000b10f040098101c00852b2a00a90d7000b423b0
+00c827cb00bb3ad5009f35d300753cc9005937bf00451a730048085c00660346
+00640b290096021a00a0091800b50d0a00e6040500f3071300fe441100ff5d00
+00bcaa02009ea6370083c41e0056932b00468a230010524e00012f4900080459
+002a045b00540c56009b095c00c12f9400b138bb00a442d3008145d9006144ec
+00685ef5003ea9df0034b4d9000ec9b40006c3a30007c9b10000d0b80001e4b9
+0001e9b90010e1aa0014d4a1005ab474006b823400853c3300783b040085291e
+"/>
+<palette number="234" name="Apophysis-040427-6CsmcLottoWhl" data="006e440a00ce6b1600e68b1900ffac1c00ffd42100fffc2700fffd2600ffff26
+00faf20900ddcc0900c1a70a00bd940500ba810000be7d0700c27a0e00cb7b0a
+00d57c0600d9831200dc850900df880000ef9b0a00ffae1400ffae1600ffaf18
+00fed70e00fecb1500ffc01d00e7991e00cf732000b56524009b572800744b1d
+0050331300110a11000c090c00080808001b0f04002f1700003d2000004b2a01
+00914a1c009e541c00ac5e1c00985e1000845f0400775902006b540000684505
+0057360b00140600000e07040008080800090909000a0a0a00170f0500241400
+0057340e005c2e090061290400642a0500682c07006e3203007439000074460a
+00724f0b00ab660100a5560300a0470500934702008748000074380000562400
+000b070600070504000303030002020200010101000101010001010100020202
+00020202000410060005100d000710150024211a004233200061542000865513
+00ac680500945a02007d4c000076440000703d00004f2e0d00311c09000c0c0a
+0009090900281e0000432100005e2400006a2f0400763a08007f380a00723405
+003f180000241004000909090008080800080808000606060004040400030303
+0002020200020202000202020003030300040404000606060007070700070707
+0003030300020202000202020002020200020202000202020002020200020202
+0002020200020202000101030001000500020202000202020002020200020202
+0003030300030303000303030003030300030303000303030003030300050505
+000909090045270b0056331500683f1f007e602200b5842700c5bdca00fffac0
+00d2b60000d7b40000ddb30000f1ba0000ffb11300feb01c00ffad1c00ffa521
+00db9b15009057120080490c00703b0700532300002414000009090900040404
+0001010100020000000300000005010000030301000202020002020200010101
+0001010100010101000101010000000000000000000101010002020200040404
+000808080007070600070705000c0000000807030006060600050a0600090909
+000909090015070700361f0000522c00006840050067430700673a10004d2907
+00401d00001709000010050100160e0000352b0700513d18007b6019009d7d16
+00bf770b00dd690000ea741200fd780f00ff8b1700fea21900e8922300c17812
+00a2760000926806007a4d0c0074480b00844c1d00a74a0f00b3530900bc5e04
+00c05d0c00ba6f0a00ab5d12009456090090570600834c000089600000877500
+008e7600009f810000b8960000c7b10300f0b30a00fdaf1100ef8d0600f5700b
+00d4681000a1731e00795b1f0072511e00754807008030000083180000992500
+008134000080370a008f3c12008a4300009c3e0000a94c0700f56d1700d15608
+"/>
+<palette number="235" name="Apophysis-040427-6DreamFaeriRlm" data="000300000001010100130a060026130c003e221100573217006a3c1e007d4725
+009b5c4d009d6f5900a0836500a17e6600a2796700977862008d785d0087725a
+00826d58005e423400573a270051331b004f321c004e321d004e341a004e3718
+007c5333008a5d2e0099672a009c5f3000a0573600a5552b00aa5421009c532a
+0092582a00683a200061331e005a2c1c00512c1a00492d18004d2e1500512f13
+00582b0100582d0900582f11005e3a260064463c00724c4000805245009b7050
+00a57a5000c6925900d1b28000dcd3a800e5d8bb00efdece00edeec700ebffc0
+00e7cd9000dcb68200d1a07500ccab8e00c8b7a700cbb49c00ceb19100d2b08b
+00d2ad8300dacb9400ece49e00fefea800fefeae00ffffb400f6ffc400fcebf1
+00dec4b700caa59300b6866f00b4836400b2815900b07f5900af7d5a009a774d
+009b6d4b008648230070381b005b28130055250b004f2203004e2102004e2102
+004e2200004e2200004f2300004f2300004f2300004e2102004f220300552100
+00542303005d2a15006a36210077432e007d4d3000845833009c684000a77240
+00b4795100bf815300cb895500c68f4e00c1964800b07d4400bd940800bb820f
+0096610300693527005f2d250056262400432620003c241a003623140034261d
+00573a34006c56480081725d00907a6700a0837100bc918000b6958c00b89c8e
+00b39e8300b6a58700b89e9200ba979e00af919d009a8783009e7579008d7a6c
+0042503f0036382e002a201e0026201d0022211c00351f1200461b0b004d2003
+004d2003004e2102004e2102004e2102004d2202004b22020035190b00310c00
+0009000000040003000001070000050b0017120f003725110052341a00734720
+00805f2c008153430079523b00715233005d3a26004726170029181100211313
+001f1e19002e231e003d282300503820006d452b00704d31007c472800693f27
+00583a1e004f392200473d3400554234007c554400956f5800ad856b00b69977
+00a4998700ab958400b3928100ad866900a9745400996d540093715600987056
+009a77510093714c008b624200675c3c005e3e25005d341e00502a17003e220d
+00361b08002a140900250b00001a000000070000000101010000000000000000
+0001010100000202000004080002070a001b0c0700280700003d090d004c0d04
+00472001004b2202004d2001004d2001004e2102004f2002004f2002004e2102
+004e2102004e2102004e2102004e200600532e1400522c17004e281300462310
+003a1d1500341e110028150e0020110c0021100800160b000004040400010101
+0001010100040402001613020028160a00381d1200472313004c2916004b251a
+004b251a004e2a1c004f2c1800562c14005f351d00724b2e00916c6400845a41
+"/>
+<palette number="236" name="Apophysis-040427-6EyeUniv" data="00ec706400d16b6700ce666100cc615b00cb5a5300ca534b00c9534a00c9544a
+00c54f4b00c54f4900c64f4700c24c4500bf4a4300c14b4400c34c4600c54d45
+00c74e4500ee5e3c00ea5b3900e7583600d34c3500bf413500bb3c3200b7382f
+00b5392f00b83c3400bb403900be463e00c24d4400c24e4600c24f4800c04941
+00be473f00bb423a00ba403800ba3f3700ba403800bb423a00bc453e00be4942
+00c6534c00cb584d00d15d4e00cd574a00ca514600c84f4500c74e4500bf463d
+00bd443b00bb403800bd474000bf4e4800c5595200cc655c00d06b6400d5726d
+00dd857700da817a00d87e7d00c2727f00ad678100b3627600ba5e6b00bb6556
+00c4545000869a9800758b8900647d7a006d6878007654770024353d00091a45
+002b0212006f161900b42b2100bb3b3200c24b4300c7554d00cc5f5800d77268
+00de887b00dba07600b1a7600088ae4b0083aa48007ea64500798b3500545035
+000f1f12001b0f160027001b0027001b0028001b0028011600260309002f0507
+0051321300b7382f00be464000c5555100c75c5800ca646000d1706700d27d7a
+00e2a98b00e8bca200eecfba00efd3bd00f0d7c100e3f0bb00d8f2b500d5e2ad
+00e6b29c00e39a9300df968e00dc938a00df948100d6b78800c2b27700a9a661
+00d16f66009b5d4f00664b380048272c002b042100240405000f0506000f0009
+00250206004c210e007f251700b32a2000b6302500b4342b00b83c3400be483e
+00cc645b00d4746900dd857700e18f7800e59a7a00e6b28b00ecd2b100f3e5be
+00eecfbb00e4a89e00e19c9500de908c00d7818000d16e6800cb625c00c65652
+00b93e3600b73a3200b6372e00bb352a00b9332800a74d180086581d006c631e
+007d772d00c4545000c8595500cc5f5a00d66c5c00d9736400d6756c00d27371
+00d67e7c00d67b7a00d6787800d4777000d26a6700cf625b00c85b5400c85952
+00c7575300c4554e00c1504a009478370066694e0056344d004c204100533116
+0062592000665c21006a6022007d84370093974b00989f520091b35500cabe84
+00d3e5a900cde6a400bad58e00abd77e00a4d37700c9b88400cbbb8800d5cb9a
+00d7e2aa00e6e5b700eac5b200e5b89100dbba8d00dcb68900e0a57d00dc8983
+00d8807c00d5726d00cd6b6a00d3716e00d8807400da887c00db877d00da8379
+00d8776e00cf666200c85b5400c64f4700c2463c00bb403800b93e3600be3b31
+00be393000c03d3300c1423900c24d4600c8564c00c8574f00c95c5500cc5d56
+00cc5d5400cc605400ce5f5400d1635600d8745d00ee812e00eb7c2b00d65f25
+00cb5e1d00be561f00b4473200b83f3600bd3d3200c0403500c74c3d00e65c37
+00ee6e2f00f6723100fa693d00ef5f3d00e15a3d00d6564900d2645700e07065
+"/>
+<palette number="237" name="Apophysis-040427-6FaeriRob" data="009c440400762c0000772f0100793302006f4a3400666167005a5575004f4a84
+00474da100474cb400484cc7005665db00647ff0006871f4006d63f8005651e5
+004040d2006658a5006e6aad00767cb6008089bb008a96c0008fa0c10095abc2
+00b3cf8400c0e57500cefc6600d2fc6000d7fd5a00dffe5100e7ff4900f2ff50
+00fffa4f00fad44100edb53500e0962900d07b1800c0610700b7580500af4f03
+00ad5a0000af7d1700b2a12f00d7b13500fdc13c00fdbf3b00febe3a00f9a626
+00ea952a00b2620900a84e0b009f3a0e009339070087380000883806008a390c
+0096440c00a24e0c00ae580d00ba650b00c6730900cb840e00d1951300feaf30
+00f7b93200bf964600af876100a0797c00967e85008d838e007b879d006f6c4b
+00703c000070320000712901006a260000642300006222000061220100672600
+0069280000712e01006c2a00006827000064250000612300005a1d0000601600
+006021000060210000612201006124000061260000632500006b2a00006b2b00
+0064250000140911000c08250005073a0009083c000d0a3f0013084d001e073d
+002a193d00281d4d0026225d0023216800202174002b308c0020247b0035285d
+004b2a450072310b007b310e00843111007e3502007d36020079310000642506
+002c1543002b1851002a1b60002f1d6c00342079002b1e7a00201f7c00322591
+004531a2002b2796002a289f002a29a8003139b5002432d0003a34e0005d61cf
+009595d30093a2b80091b09e008ca3a2008797a6008da7a600a0afaa009a9fb3
+008c95bc006f78c7006662c2005e4dbd004e4fa100606b8900936e7f00a87445
+00ce8e3700df8e3800f18e3900feb33400ffc23800ffc13c00ffc14500f2b354
+00c0a26e00b08b7000ba7f5600c4733c00c3752000ca6c0c00cf6e0d00d2720e
+00e3851100e6881500ea8c1a00e17f1400d5741600d27e1e00b9874000c0b671
+00c5c85d00c3e97800c0fe6f00c1f85f00dee34800cbbc3f00ab9236009b833b
+00b1a96b009ba07d0086978f008ba39500a49aa500af998b00c4ba7d00cffa64
+00f4fa6600f1fa4f00fcf15700ffd44900ffd33f00ffbc3900ff9f2200ffa81b
+00f8d53d00f6e13000f4e03300dae85f00adcd7a00889ab2006562cb005049a6
+003431a40039398f00402c730070556400a1673900c4681500c3641200cb6912
+00cc5e2100c8673c00906c60006a578e006a598f00737466008b672900a74a1e
+00a94b0500a1420000aa4d0000b54f0500bc5c0800c6670b00ce720d00d57e0b
+00ec8e1a00ef911f00f3991f00fa9a2100f8981f00f2951c00ea8c1800d47410
+00bd560700ae4f0000a34801009b4606009d480700a6591500a6620d00a2540a
+00994e0000913d0100903e0400774600008035000091370000963c0000a44902
+"/>
+<palette number="238" name="Apophysis-040427-6FaeriRob2" data="00ae47020080320200762e01006d2a00006826000064220000602100005c2101
+005b200000571e0000531c0000501605004d100b0028102f0003105400070e61
+000c0c6e0019013300330c19004e1800004f18000051190000521a0000531b00
+004c1900004d1800004f17000052180000561a0000591d00005c2000005c2101
+00591e00004a2c3400322356001a1b78002c0f4c003e032100440f16004b1c0c
+00231f5c00231f5600231f51003b1e2b00531d0500582004005e230300661f09
+00691f0000803201008d3800009b3f0000ac4b0500be570a00be590c00bf5b0f
+00e77d1700f0861700f98f1700fcac2700ffc93800fdd43b00fce03e00ffce3c
+00ffb83500e0a53f00c48e4c00a877590097736900866f7900545d840044466f
+005f3340007f624700a0914e00b8b65300d0db5900dbe65d00e6f26200e5ff61
+00d3fb5d00f6ea3400f8e52f00fae02b00f8df2e00f6df3100e2e15300a6d75a
+008d9eba007680d1005f63e8004d4fe4003c3be1004145dc00616aeb007d77db
+008893c000b9cc9400a8c28a0097b8810093b1710090aa610086816100964f1b
+00803403008c360300983903009e400100a5470000af4e0700ae4d0900a64802
+009b3c06008434010086360200893803009e420100ad420000b8510600ba5d00
+00b4590a00a96a08009f7c0600aa7e0e00b5801600b9994200918f80008e93bb
+008d7fd600414ed0003c42c7003736be00534ca9003f317c0036287f00282694
+004e48ff005c57f6006a66ee005c64e9004f62e5005255b400525b6a00665a2a
+0082410000a2470100a04809009f4a1100a4591f009e624000797f410067766f
+004a579b0055588d00615980008375750086927a0097c26800bfd15900d4e547
+00f7e04200f4f34100f2f43a00f0f63400f0fd3c00d3ff5000bdff4e00daf84a
+00f6c33600eeb53300e6a83100ea943100f6a74000dea75700dbae8d00a8c575
+00b7e67200a8f5a300b8ec8000d0f76800f9e26e00fcda4300f7bd3700ffa022
+00f48d1700f78a1900fa871c00ec831800e26d1000d2610300c6620c00c05e13
+00cb6a0c00c66d1300c1721600b6792800c6813e00c29d5600a7b07100889f8f
+00a491a7009e5e83008b5d4e009e552a0094541600813708007b2406007a1f00
+00702c00006f3011007751240064523a004a468100575da9007383b6007a98a3
+008595a4009d7a7e008b6c670077482a0062390d00401800002f0b0f00200001
+001b05080017030f000f02160008032c000b104a002500330049130700612509
+00772e0b008d410700a25e1500b56a2600b86d2c00c4621b00b1581400aa4e0b
+0098450300823501006e2e000067290400632a000065240400732c0c006c3c25
+002d396100232a95002726b000302ecd003a48cb00686cd000afaf9300e5f463
+"/>
+<palette number="239" name="Apophysis-040427-6FaeriRobDet" data="000407540000005d00130c96002618d0003128de003c38ed004947f6005656ff
+00152fce000b178e0001004e000000460000013e0003065a00070b7700131a7e
+00202986001f1da2003a155e00550d1b005b150f00611e0300611b0100611900
+00611901006a1f0200742504008f350200aa450100b6500000c25b0000ce6303
+00ff7b1b00ffae2b00f8a72a00f1a02a00d97d1600c25a0300b14b0100a03d00
+0071250100702300007021000070330000704600007b65280086845100a4a296
+009aa4a3004f57ba00282d8500020451000c04380017051f001f051200270506
+004d0906004e090300500a0000510d00005211000053100000540f0000551001
+0056110100551000005b140000611900006a1e0000732300008b300000ac4502
+00cb6a0300d8780100e6860000f1940200fca20400fda80e00ffaf1800f5a81a
+00d88f1e00cd620000cc600000cc5f0000c85b0000c4580000ac440000902e00
+006b1e020060170100561101005b0b000060050000671a000073230000872c00
+00ab440000d86e0000d9790200da850400cf881200c58c2100bb791900af5904
+00772a0000681e03005a120600550f0300510d00004f0b00004d090000460900
+002902030034000500400403004d080100540f00005f1700006c250000752701
+009c3e0000a7430000b3480000b3490000b44a0000b24b0000b44d0200b64c02
+00c2610300e99b0500efaa0c00f6b91300fdad1800e3a43300b1901f008a8d3e
+0095b09d008ea7a400889eab007d8eb300737fbb00565bd1004344a1005d4835
+005a28050056120000591502005d1904006e1f00007a28000087350000934300
+00c9610000d66e0000e37c0000eb991b00feb52a00ffc93000ffe04400fbe73a
+00f4ec3f00f6fd3d00f9fe3e00fdff3f00fef43d00f9f93900e4ff3800daff5a
+00b8fe8100c1ea6c00cad65800e7d33400f6c22e00f3c02900ffae2600ffac22
+00ff9e1500ff9f1200feab2100f9bc2600f6d03100edca4800c9c77c00acbc8f
+0095a6c0008292df00707fff006871f400656df4006875d5006a587e00803b11
+008226010084210200781e030074240100862b00008333000093410000a44c00
+00c35c0000d1610000db710300ea8e1300fa940e00ff8e0400f78b0d00ef870a
+00e4850300ca862500c67a2e00a4805c009d8c94006b75a6002f2a910059272a
+004e1f1700692202007c2f01008b3f0e00686e620095c37800a7d87d00aae265
+00b7f75b00c7dc5900c3c57c00adc57700a2b5a2008c9ea2009971ad007a67e4
+005c65ff004144d10035358d0081493200843304007f2e00007b290100812300
+00882b0000922c04009b1c0000a2380400ac430100ad490000b1460000b44200
+00a33d00009a3600009a350100973903009e5c0e00b2721b00cbff6c00bdb050
+"/>
+<palette number="240" name="Apophysis-040427-6FlakWhorls" data="00729650003d3b2c002221160008080000040400000000000000000000000000
+000000000000000000000000000b080100171103003f2d180068492d007a5941
+008d6a5600b7885000a897440099a73800867b390074503a006f453d006b3a40
+00693426006b3f2c006e4a320081572a00956422009e711f00a87e1c00ca8a26
+00f4802d00ffcd5d00ffdc9000ffebc300e8d69600d1c16900c0c14d00b0c232
+006dab2c004690260020752000216c150022640a002365140024661e002e4f34
+00343d4200434449004d425c0057417000684461007a485300764a5100734c4f
+00615b4b00634e4a00664149005c4845005350410056494300594345004a3a3d
+0057493c00514d3400534c3000564b2d00584929005a47260055432b0052422b
+004e3e240048452800424d2d003c4f2f00365132003d4c320045473200473a31
+00423a2f003d3b000034410b002c4817002c4628002d443a00324b360038592a
+006d3924007f291c00911a1400a11a1400b21a1500ad482a00ac5f33009e684e
+0093616200a3828b009e7f85009a7d7f00886c7900775b740058365100361f29
+000200050001000200000000000202000004050000110f02002b392a003f613e
+00537842008a78620088726800866c6f008a6c6c008e6c630089805f00859054
+00829e27009fa92c00bdb43100bcb53400bcb73700e7bb5c00f9d14b00c7c034
+00b8c22b007c8f3600768c4400718a53006f7549007c5c51008f5e5a00ae5f5a
+00e4955000f0b24c00fdcf4800fad14c00f8d35100e9ca9e00e4c18700c29b64
+00928453005e6531005b5f2f00595a2e00275725002a661c0029861100468f0c
+00366a170044642000525f2a004f831f006d863200727f30007c6a2200947e2b
+00b29128009f8318009d8127009c8037008d6f49006d634a00595e400059533b
+006c5d26006c6c27006c7b280072783000715144006d494b006644540061445a
+00774d630087546300aa6c5500b7775e00bd876300b9877000c38e6c00d8ad68
+00e99d5f00e1935700d98a4f00eb793000db973200c2872100bc6b2c00ba5318
+00c92f2500c22a2900b32e250099372e0098493a0077434700623e4a00583f45
+00583a4400553735005e2d29005a252100582b14005d2b2200573c35005e3d4e
+0058465600543f52004636510045334d00413c420039352a0016161600020403
+0000000000030000000d0707003e1a2600500e29007c2a2c00923142009d5928
+00b9683100a1662c007f523500584a3d00494e3a003d4f35003e513300535a30
+00735b2b008b521d00b4562300ce6b1a00ee5f1900e4622600cf702000d07427
+00db892300d17b3e00b47e4200735940005c4a3200442d1f003a1606000f0c05
+000100020005060a001e1822002e31680052457300534c7800685a8d0090c02e
+"/>
+<palette number="241" name="Apophysis-040427-11FlarCelebrat" data="00dac1ad00d9bba300d4b19400d0a885007cc1490029da0e0028e3080027ed02
+0037c5310083a84900cf8c620087c5320040ff02003aff020034ff030033ff01
+0032ff000030f301007bb82600c77d4c00c5673300c4511a00dd490d00f74100
+00ff4f0100ff570100ff5f0100ff701500ff812a00e4803d00ca805100cb8154
+00c98053003dff00001fea180001d53100269064004c4b97004f33c200521cee
+006216ff005a18fa00531af500573ed9005b62bd009784a300d3a68900d6bba0
+00dabfaa00dbd0be00dacab600d9c4af00d8bda500d8b69b00d7b19500d6ad8f
+00d0926900cd895d00ca805100c6673400c34e1800c1481100c0430b00f12600
+00f60d0000db005f00be007700a2018f0082018900620184009f018c00ae127f
+00d3906600d3997400d4a38300d6b19700d9c0ac00dac5b400dbcbbc00dcdbd6
+00e8fff200dde7df00dad4c500d7c1ac00d4b19400d1a17d00cb815400c86c39
+00f4410000f3200000f2000100f1000000f1010000a5010000a20000009e001b
+0075014c00721bfd00750dfe007900ff007b00fe007e00fe00ae00b900c10084
+00cb815400cf8d6400d3997400d6a48400d9b09400d8bca400dac0a900ffda91
+00ffb97400d4ad8c00d4aa8900d5a88700d2a181005a6fb2005d4ecb005f44d3
+000192ed0000a7c90000bca60000ba8b0001b9710000c1580000ca3a0000c841
+004ca76200d7b59900d8baa100d9c0aa00dac4af00dec7b500ffe29c00fed88f
+00d0926900d19b7500d2a48200d4ac8d00d7b59900d8c2ab00e9ebc300eaffe0
+00f6fdd300fff1ac00ffeeab00ffecaa00fee7a300d7b69700efcea300e18657
+005e40d600642de9006b1afd007515ff006317ff00531af200742f7000c87243
+00c96d3a008d8230005eaa26002fd31c0022e7010001ff010000ff070000e226
+0027adac0080bfb700dad1c200dfe7cf00e9ffea00edf3cf00dbcbbb00d4b193
+00509f700001acc800009fdb001f70ff002740ff00222efc002125fa002906dc
+005b0194007d009a00a000a000af008800a7008600a4385a00c8764400ce875b
+00ce875b00d18c6200ff974200ff8a3200fe700e00ff6c0c00fe6e0e00ca6c38
+00c96d3a00c7693600c7693500c5602a00c5521b00ff4e0200fe4f0000ff5800
+00ff620300fe7f2200ffa45700d5a78500d4af92009da8ba005c53ca00561af4
+006d1afe007601ff005611ff002500db002700d5002700cd003901bc004300af
+006c02670095003800ac1f0100ba2c0000c44b1600c3541c00c65f2500c55e24
+00c24f1800c34e1800c0471000bf400900bc360100b3230000b4210000ec0002
+00e6002400e1003f00e2004c00c8007a00a7009d008900ee008400f700a1009c
+00b7008c00cb007800db005e00cb704100d0895f00d2a07d00d6b19400d9bea9
+"/>
+<palette number="242" name="Apophysis-040427-11SpacTrees" data="00534d0300260f2100380a39004a0651005d06570070065e006f0359006e0154
+00870646009c173d00b2283500c7434f00dc5e6a00dd555e00de4d5200db4d3e
+00d84e2a00c03b2800c23c2900c43d2a00c83d2d00cc3e3000d63b3100e03933
+00f13b2e00f33e3700f6424100f5444800f4465000f1475100ef495300eb4e57
+00e94c5500bd3a2800902d170063200600591f1d004f1e3400671442007f0a50
+008c073e008d062b008f06180074110e005a1c0500571a040055180300241d0d
+0017080b0035023d005c053f00840942008a072d0091061900900618008f0618
+005a1704005e192200631b4000702252007e2a6500934a5f00a96a5900c78a1f
+00daa32e00a4ff1600a8f91700adf31900cded1200eee80c00f6c51000ecbd0f
+00d8771000ce670c00c5570800b65d0800a7640900a4630800a2620800a05e08
+009452080078552b0068461e005838110056330a00552e0300562300006b2d06
+009d2f1600b7331500d2381400d7361000dc340d00d34f0400e75b0e00d08718
+00c5821100b7783100a347300090162f008c13360088103d0087305000796d79
+007cce6a007cc170007db5760079a96800769d5a00b1515f00a03432009c2016
+008a2509002d1d060021130800160a0a0016080800110a12001419130007331c
+00053b2300073c1e00093d190008431a0007491b00073e17000b340c00073302
+0007310100463905005e37070076360a00942706009e322f00a64c2700a3610a
+00c4560700ca490c00d03d1100ce3f1f00cd422d00d73f3400d5411d00c4390e
+00c82d1b00a6361e009b381100913a05007c360500753303005d360000475500
+0015440e00113809000d2d040018250900160b090013080c001606100014030d
+00100410000b0509000e050b0012050e0013060f001606110016082100280235
+005d0c5b0067095d0071075f00a8079300a12d8e00a16ea7009c7377009fa277
+00b7bc7a00a28b6200a1745d009b6f6e00b3645d00be715500cc7e6a00ca6d8c
+00fffffb00fcf9fa00f9f4fa00f7579d00f6546900f36c4c00e76a5600d5715a
+00aa905f0097af730081b29d007db59c0082c1ac0079c49b007ac97a007bd55a
+0093f41b0078e62300bf780c009f5d07007632050071260900601f0300672505
+0080360f008f440a00966006009f6b0500a7660a00bb760e00d7941100e2ad11
+00eec41600e6991900db971200db6a3000f0542b00e74d2900de3d3500d4522e
+00df673500eb6f4b00da862e00e78f4f00ab83600082627100473436001f1b10
+001f230800454d1200847516009f913900e5965400eb7b5500e0535b00c53c4c
+00af1e2d009115370089283b008d571b009d962b0083e92300aaf6240094f51a
+007be4320067d4550052ca680067d07100a3ce580098b156007ba849007e8828
+"/>
+<palette number="243" name="Apophysis-040427-11FloralQult" data="00580344003e4b53003b574400396436003a723b003c8140003a784900397053
+00745c74008b699400a276b5009f93b1009db0ae00a2b9aa00a8c2a70093cc9a
+007fd78d007cc9630085b77c008fa6960090939c009180a2007c859f00678a9d
+003a7571002b535f001d324d0013243e000a163000050f300000083100011547
+001525470058547700817d8f00aaa6a700b5acac00c1b3b200bba9af00b59fac
+009788830070536400491f450037163e00250e38001408360003033500040033
+00020435000105320000052e0000062a000e0328001c002600250031002e003d
+00170e4d000b0a42000006380006103e000d1a4400101f490013244f004d3a58
+005e445d00ba93a600c8aba500d6c3a500decfab00e7dbb100e1eba200bcdf9f
+00b4e0ad00bfe5b500caebbe00ced9c700d3c8d000d1c6c100cfc4b200d3d4b4
+00cfd89700c4b8ac00a98da5008e629f008e478f008f2c7f0074063700740233
+00700233007e214f008d406c00a3566500ba6c5f00b17f6800a7896500a67c6c
+007d6d4b003b3034002e2f2300222f13002d401f0038522b00438a2c0067ad39
+007eec57009ce36300bada6f00c3db7000ccdc7100c5a87e00b9936400aa634d
+008c25420071022d006d052a0069082700701a330080312d0093433800b16448
+00b76f57009f4c490087293b007c163f00720443006a042b006a0c300051172d
+005228340088ad50008fac560097ac5d0096897600a88e7500a7809300997b9d
+0086676500893d51008d143d008b1a43008a214900b5585000c3725f00e19a7e
+00f5e08300dcd48b00d7c08c00d3ac8d00c69d8b00a4947000b7836e00c88d93
+00cdb89b00d0b99f00d3bba300dac1a200e3c6a400e6d0a700decbaa00d6ceaa
+00ccc0b0009ea9af00929ba800878ea100519f750052a56f00336d44003b4d35
+002f1f1200361016003e021b004e002f006801360060002e005a002300360012
+002c0112001902160007022b0004082d000f0f17001f151e00511328004d271a
+0067613d00678b430068b649007fdc4f009df66600c1d96700eae77c00dcdb88
+00cac58100ada17700896c5a00545456005e6d58008083960091849e00a5a7a4
+009bb2a8008ac8650081ee610077f065006dde5a0056da600059c965004fb049
+005d9b5c0050493700410e47004d0545003e102d00321d30004c3b210040382d
+002d293800202f36000b1f26000e2535000c2041001d2d440040354300573266
+007b2552007b0e690052025b00510545006e0030007804310081213c00983047
+00af656600b89a8000c6a68000b0ad840087ac690070956a005c4d4800592d48
+0063233b00792a30008e293b00b55f5200c2796a00c48c9500c9a4ab00c198a6
+00ad7db1009c829d00787c9700599a84005acf89006adb8b00aee19c00c4d5a8
+"/>
+<palette number="244" name="Apophysis-040427-20FlwrFrnsBFly" data="00eec75000ccaf4900c9a85000c7a15800a7954f008889470078783e00686836
+0069591d007c601a00906717008a6515008564130073621e0062612900485b28
+002f5627003540320024423500144438001b55310023672a001184280000a126
+001a400d002b3706003d2e00004c3200005b3700005f300700632a0f00793206
+007a4a0a0059431e00513e110049390500512202005a0b00004f090b00450716
+006f2e440090284a00b1235100a51e50009a194f008720400074283200735016
+00855c1a00a1782900ac813000b78a3700b5883e00b3874600b3844800b3824a
+00a7945000a4905b00a28c67008a9c900072acba0056d3d6003bfaf3005db7c2
+006a98a80088c07500a6b66700c5ac5a00c79f5700c9935500b18b4c009c8551
+00656565005b6a5d0052705600597b5a0061875e007b85480095843200967a19
+009a76000097751100a0851a00a9952400b29f2b00bca93300c7ae4700d0ae55
+00fbeb6400fbf16000fcf75d00fdf55800fff35300ffec4600faea3d00ffcd45
+00de9e30009b3e4900823446006a2a440065224500611a4600481229004d141d
+004b032b00300d280016182500101828000a192c0010261100272e260035321f
+003d3920005632340053313a005130410066215700561d7c0033207a00142f66
+0021496200315885004268a9004d7fa9005996a9008cc4db00aed9ea00c5d896
+00dfc86b00ffffd800ffedeb00ffdcff00ff88fa00bda09800b6728100ac4678
+0078264a0076184900740a4800790b43007e0c3f007e1b4900a23c54009e4e69
+007d435c0035614a0034624e00346353001b5c480003443000152e2a002c311d
+0063520c007a61060092710000bd850c00c39f2d00c4c53900b6df2100bea12b
+00b7901700ac7a1900a46e19009d631a008e551000875800007a560200856500
+00925804008f5406008c500800826424007e73530083856f0080b182007dbb8a
+0084ffb400a4d68f00b9c48800c4c77600b6bd5300a7b84800a77c3700936b2e
+00457f4d00417f4e003e8050003c7e4000284b3300222b100016150100120800
+000012000002030700031a2c00000f35000e0a2d00120c2800161b05002f2c0d
+00464f0e0053670e0059683100495d440041582e004f4a2000614b0000785400
+00866f0000938a21009d9032009b9f3000b19a3a00b7902900ad7f1d00a27f21
+00a4702400a4771c00977617009e730200a3740000b2970c00b8b04300b29a7e
+007f98fc007180f7002c299e000e2d8000061f5f0015374100272636001f1b2c
+00332638006b254900a5497200fd12cf00c0337500b6545300b16e6800717755
+00536b53004f674f004766440031482b0027411a0026371700022306000c1800
+00283700002b37000039291200441c1a004a1f2600483d410060674500698b68
+"/>
+<palette number="245" name="Apophysis-040427-24FracrameE" data="00fffffd00fefffd00fdfffd00fdfffe00f9fffd00f5fffc00f6fcfc00f8f9fd
+00d5d7d400aeafaf0087888a00696867004c4944003b332b002b1d1200261c13
+00221b15002c16090022140b0018130d00130f10000e0b14000c0914000a0815
+00060d1500060e1500060f1600030c0e000009060002050400050102000d0600
+00190f05001515150014131a0014122000131d2e0012283d00162b3e001b2e3f
+00272c32002d31370033363d003e414e004a4d6000525662005b60640074706f
+0080786d007e808d0091949c00a5a9ac00b8c1c600ccd9e100d2e1ea00d8e9f3
+00ebf6fc00f3f8fd00fcfaff00fdfcff00feffff00feffff00feffff00fffeff
+00fffefb00fcfaee00d6d9d400b0b8bb00999fa20082878a005f676a003e4849
+0024292f00212120001e1a1100151008000d0600000c0300000c010000070a0f
+0004161a0016294a00232f4600303642002f3740002f383f00323c4600373b44
+00413e37004a494400545452005e5e5b00696864008c8f9e007c7c7e00dbd3c6
+00b6b4b5007e86880068727600535e640050575d004d50570056514b0052575b
+004f566000555d63005b6567005b676d005b697400686f81007c838d0090a7b7
+009cb6d100aeb3b600a8a7a400a39c920096816e007d685500674e3a004b3527
+003e352400363023002f2c23002b2a280028292d00282536002a2e37002b3745
+002b4a5f004a4f550051565e00595d680054626d00616267006e6a5e00726960
+007b73680076787800717d890077808f007d849600b1b8c000e0dbd500f4f1de
+00fff0e400c3b7a900b19f98009f878700756c6500564f49003f3a36003c2f1f
+003923160035211300321f10002d241b00322d2700302c2d00373c42003c4d61
+003d5873005f7793006b83a200788fb100a3a8bb00acb9bf00a8b2bc009ea2ab
+00888179008d857c00928980009fa7a900afb3b600cbb4a600c9b1a500b7b09d
+00a89682008e8075008b7e6b006d665c00504d46003c3b360024292c00101922
+00090c1d000e101c0014141c0023282e00292b2a00373634004d464000644d3b
+006650390063554a006b5a4a0063574b005653440054463b00534336004d4640
+004c433a004c4b460047484d0054595f0059626b005b646b006c6761006d6359
+00615443004e4331003e352e0035302c0038343500433c36004a3d340039423f
+003039420029363f00192d45001d24340019122200130b1a000b000600080000
+00030000000601050000040a0005040c0002041000040813000107170002071a
+00060b1f000a11210013263700313e460053637200828b9200cbd1cf00e2eaed
+00e2e9f900e3e7e800dbd3c600d6bfa000b0a29700b69c8b00d9b29100dcc6b8
+00f7e6d600fffde100fffbef00fdf8f200fbfef700fffefb00fffffd00fffffd
+"/>
+<palette number="246" name="Apophysis-040427-24FNouveau" data="009d616100644b730087414500aa371800ad310c00b12c0100b52f0400ba3208
+00a4611d008271430061816a00687a85007073a000615d810052486300533251
+00551c3f00511632005e301e006c4a0b007f510d00935910009f681100ab7712
+00ab9e1c00b8a10f00c6a50200e2bc1000ffd31e00ffd22900ffd13400f0ca45
+00ffb75e00e7cbe200e7a7d400e883c700f2829500fd826300f88a4800f4922d
+00f5a21e00dea32500c8a42c00ae7f2100955a1600825410006f4e0b006f4d06
+0069450900834e3c007c616d0076759f007674a2007674a5007673a10076739e
+00a12c3c00c1253e00e21f4100c52d3b00a83b3600a34a3c009e5a4300835e32
+00a1614500c8815700cb623900cf441b00d1522200d3602a00da7b4b00ef7b54
+00f7575f00d4716800b18c720093808b007674a5007674a5007674a5007674a5
+007674a5007674a50095829e00b5909800bd948700c5997600d7977e00d1a276
+00c3b34400b1a335009f93270099812100936f1b00965e1400a3560000ae2d03
+00b02d0100b2641a00a36a380095715700907373008c758f007774a3007674a5
+007b71a6009582b100b094bd00c4a6cf00d8b9e200c2bae900b9d4e9009ac5d5
+008586c9007674a5007674a5007674a5007674a5007674a5007674a5007674a5
+007674a5008372970091718900a6737400bc755f00c0806400d0907400d4948b
+00957a8d00837ea600aa8f9c00d2a19300fbae7600ffa06700edbe4800e7cd3a
+00ad850b008d6405006e4400005d3b05004c330a0049350300483c0a004c4211
+0072371700b9131500c3131f00ce142900ae2d0e00ac5e2000b3842800b7914a
+00c8886400ae816d00947b76006f699900545372003b5e3e0044332900350712
+003020060054280b00683828007c4945007b324600620e300040014700290044
+001e001c001c0013001b000b00130024001108330018002400211515001e201d
+001c2220000e014900002b5f005354800070699f007170aa007674a5007674a5
+007674a5007a7dad007f87b600bead8200d2d98b00cbc2a500de9faa00b69795
+007774a3007674a5007674a5007674a5007674a5007674a5007674a5007674a5
+007674a500836d9300a1706b00a7923f00c18a3000bf720800ab5b0200bc640b
+00c76f1600d2822100bb781f00b86f2a00af712800af6a25009c6b28009c602a
+007f69520074719c007674a5007674a5007674a5007674a5007674a5008c6b88
+0094655500946628009c701700b8820000c56a0000aa600100866c22003e6c45
+005455730059538100675d91006d6b9c005c59780052436a002f0a40001e0644
+0008003a00080429000f220e000a260f000b280900433601004a3b0200665412
+0067541000726107007e65000091820f009f860f00af6f1500b56c39008a6a91
+"/>
+<palette number="247" name="Apophysis-040427-24GuardFaeriR" data="00e07956006071440030674600005e49002b83700057a8970056938100557f6b
+00bc750b00c7780700d27c0300a75331007d2a600070245500631e4b005c2035
+0055221f00091d1100050f090001010100010101000101010001010100010101
+000101010001010100010101000303000005050000090a05000e0f0a003e3611
+0065593f007a8f64009b966200bc9e6000d3b13a00eac51400e4b80a00dfab00
+00672b20003c19150011080b000a040600040001000200010001010100010101
+000101010000040800190c2000331539004c194300661e4e006419550062155d
+00592a1a006f3a0f00864b0500864a0800864a0c006d37120054241800250802
+000b000700002244001b24480037274c004a2537005d232200671c1600681800
+001f030000100200000101010001010100010101000101010001010100000304
+0006041100120060000f0139000d02130007020b000202040001010100010101
+0000020200060d12000c19220020192e0034193a00553751004b475500404e35
+00572723005a291a006e30450083387000903b89009e3fa300c846b200cd54be
+008a33820075296b00602054005d1d5b005a1b6200392d5d0009287800110c8d
+002c2c9000442f6800482263004d155e00340e4b0023014b0014001300050304
+0001010100010101000101010001010100010101000101010001010100010101
+00010101000400150009002d000f0045000c0a6b00661c73007f2a8f00963aa9
+00b719ab0099189d007c178f007a188200791a76006f1a6f00891c7700983182
+00974492007a6c2f006d633200605b35004d3b15001b13000007060100020300
+000405000002100800001b1100003f0d00005003000f4d0e0058291900ad2a00
+00e73101009c6435009a6f4900987a5e00a76e9900b6857700ec747d00d88960
+009a462e0093391b008d2c0900532613000f0600000602030001010100010101
+0001010100010101000101010001010100010101000101010001010100020300
+00045602000c670e0015781b0032551d006047110092711400aa660300bf5e00
+00c5750200c2770200c46c0000af4b0000a631000078240000532613000f171a
+0006151c001d2343003f2c4c006c3d6900774175008364830089769400987394
+008f8ba6007d8393007566830054376700063e5500034e510006453c00005413
+00064e0f00212b1200532a18005c242500914e5500915a7700a89bc700c3b8b2
+00c8d59000afbc840077756600444154000d3d4900072a16000e050600230401
+005e150200742000008b2f0000833c1e008b463f00882e6c00ab298900bf2891
+00e449c900df9fb700d1c7c800c6c1d500a5c8de00bad2b000c8cab200d4cac8
+00f177ee00f364d600ca61e100b4a2cc00888886007f9571008faa8100b99a64
+"/>
+<palette number="248" name="Apophysis-040427-24GoldenRays" data="0000000000000000000100000003000000241e1900463c320056483d00665448
+008b79550097856900a4927e00ad9a8400b7a38a00b19e8e00ab9a9200ac978a
+00ae948300a7927700928177007e7178007872780073747800706f7a006e6b7c
+0063667900586077004d5b7600434857003a353900242123000e0e0e00000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000016110d002d231a00392e220045392b0044362700433323002f1c15
+0001000000000000001c171800392f300043424e004e566d00505e7700526681
+005c7093005b7191005b738f004e566800413a42004131330041292500010101
+00000000000001000028221c00514338006354480075655800a5938500cfbeaa
+00f9f8f600fbfbfa00fefefe00fcf8f300fbf2e900ede2da00e0d3cb00dfc8a8
+00ccb1a600b5a49000bbaf9e00c2baad00cabaa900d3baa600f4e7d400fdfdfb
+00fefefe00fefefe00fefefe00fbfbfb00f9f9f900dbcbbb00aca18f008d7a6c
+005b52490001010100000000000000000003030300070707003a2e2e003d414d
+0052536700463f49003a2c2c001f181800050505000000000000000000010101
+0033271b00625141006b574300745e4600896a4d008b7053008474520082664e
+00574133002c2019000100000000000000000000000000000023101600412f2b
+00594d41008f705b0093765e00977c6100a4856600ab907200ab917800918579
+007470890074748e00747893008f8c9d00aba0a800ebddd400fbfaf600fffefc
+00f6f0e000a69ca4009e939b00968b9300988a8a0096878a008f7f8000908279
+00957e5e00927b5b009079590084694e00705a4d0069594a005c525100504e5b
+004d586e00685c5e006c615b00706758006d6b6c008e7c68008d796000786557
+005c514b00534542004a3a3a00422f2900241405000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000010000
+0030201300463a2c005d554000706353008f7962009b7b6e00907c640093785a
+0092776200897864007b7b7d00838383009e8a8900a7998c00b5a69300c6a987
+00ffff0600d1b99700d7b29700bca18400b7a28300b4a08700a08a73006f5e57
+004a41380037261c000300000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000504090032303d0056647e
+"/>
+<palette number="249" name="Apophysis-040427-24HunterSunset" data="00ffd90000dc9426008d7628003e582b0023471900083607000a3204000d2e01
+003641000055551a00756a3400b4782800f3861d00be93170089a011006e921b
+00538526002c5b0000255903001f58070018530300124e00001452060017570d
+001b85200017842800138331001382350014823900167d420019784c002b7460
+001d686b0025577000385d52004c633500728d2e0098b82700b4cf2400d0e621
+00fdf00300feed0300ffea0300ffe70200ffe50200ffe60100ffe80000feea00
+00fff00000fff00100fdf00100fcf10100fcf00000fcef0000fced0000fdec00
+00fddf0300fed51d00ffcb3700c9aa510094896b008b7e5e00827352004e6e2f
+002d5e03001b3f0000143300000d2700001a2702002727050051200000641e00
+006c23030071291200772f2100b7581400f8820700fb8d0700fe980700fd9f01
+00eca40200e7960000f2870100fd780200fe750700ff730c00dc70180062611e
+005a8c4300709b5d0086ab780081a46c007c9e610052883200327a1600227406
+000b5b00000034040000440500005406000056030000580100016201001f6908
+0087730000bb980000efbe0000f6cc0100fedb0300fce50300f7f21a00efe931
+00a8a5580018804100157f3500137f2a001f7b2400126a1c0002580d00025102
+000145000002480100034c03000450030005540300145d0e002d8024007cb355
+00c0d76f00f9f93f00fcf82800fff81100fdf40300f9f30000fff60000fef900
+00fff80000fff60000fff40000fef60000fef90000fef90000fef90000fef900
+00fef90000fef90000fef40000fff00000fee30000f5cc0000ecb21300afa32b
+00465f0c003c57060033500000354500003a4d000046540700536624007e8462
+009ebc6200e9cc9400c0b6ac0098a0c4006e879b003d6b8d002a6851001c6820
+0006460a00084209000a3f09000d551500285c3500275b4e004d6d620047604b
+00325131002a5408002c4a0000333000004b2f0000584f0c0051650400849500
+00f3c60700f7d20400fcde0200ffe40000ffeb0100feef0000fdf20000fff001
+00ffea0100ffe40000ffdf0100ffd60000fabd0000fdab0100ffa90800f5be02
+00ffdd0200fee10100fee30000fee10100ffdd0000edb5000095a5200054922f
+004e8134004a762b004a7724005170130052560200594e0000724c0100dd7b1a
+00f5840c00814803005b480600454e0000204b04001c550600134d0300082c00
+000d160000142105002022000029340a002f502300538347005f7a590058838a
+00606a8d00336472002160650022573d001e60190016540b00304800003f4b09
+005852320063643a0076625700695b4e0049604e0025772300086b100006660c
+0000670100136800002e720f00557f1300a3a80400f0c90200fdf90000fde000
+"/>
+<palette number="250" name="Apophysis-040427-25IntoWeave" data="000020ae0000001e00050114000a030a00342a14005e521e00645d40006b6863
+00ac9e5500b79d3000c29c0b00bfbe4a00bce08900bbe2a000bae5b700b5e3ae
+00b1e1a500eee46100f6d83200ffcd0400fda90300fb860200d86d0100b65500
+00b9800000ce920000e3a40100f0c00000fddc0000f9e00000f6e40000fde200
+00ffd70100f6ab1c00efa55f00e8a0a300d3bf9b00bfdf9400c9e38e00d4e889
+00fedb0000dbdd3100b8e06300aee08200a5e1a100abe0ae00b2e0bb00b5dfd3
+00c5e4d200c6ebbf00b5e4ba00a5deb50091ccc1007ebbcd00749dbc006b80ab
+00111f5e000a0f350004000c0003000800030004000300030003000200010101
+0001010100010101000101010001010100010101000101010001010100060009
+0037376b00606584008a949e0082808f007a6d8100636268004c574f00522a32
+0012040000060007000300040001010100000001000000020001010900000016
+0005308e001749b2002962d6002765e2002569ee003077df00179ed800399afb
+0062b0e10077b4d10044699b00121e66000a124e000307370001000a00010005
+0001010100010101000101010001010100010101000001000000020000000200
+0000010000000000000000000001010000010101000101010001010100010101
+0001010100010101000101010001010100010101000101010001010100000208
+0000080900485462005b6380006e729f008d9fcd0085bfca0081c0c9008bcfe2
+0081c3e60085c6dc008acad30088c7cb0086c4c300a0cbba009c769f0074638f
+00494b740003010e0001020a000003060000030400000207000000070000010f
+0003317f000d359a00183ab6002969cd00716fa000c49a8200f2cf5900fbbf05
+00fbb20e00ab8100005eb2050012e30b00172f49002e3c850052699500638cb8
+003f68e600366ae0002e6cdb000c1ca500000d46000004170001000900000002
+0000000200010101000101010001000000010000000101010001010100010101
+0000020000000200000002000000050000000500000006000000060000000600
+000004010001010100030000000b00000011080d00491943006e63830099a0a8
+008ccdc70088cece0088c4e6008fa6f4006f9fdd003c618d002f23470032151a
+00320800005a2d03005540000045260000270b00000f0303000a000000030000
+00010101000101010001010100010101000101010006000200080000000c0000
+0014000000260200005b2a01007b37000096510300ce940500fbbf0500ffd900
+00ffe20000fde70000ffe10000ffd60100fad30000fda00000f5980000e5990f
+00e6bc3400fbca8800f5d7cc00dfd5cb00a9d8b60089ccab003e6d8700243f54
+00000717000d00090028150e005e230000ad3d0000b56b0000ffdb0000df9500
+"/>
+<palette number="251" name="Apophysis-040427-26AlienMind" data="005269c6003e53a600344795002a3c840021317400192764001724610016225e
+000f1b4f000f1b4f000f1b4f000f1a4f000f1a5000111c5400131f590015215d
+001823610024357b00273980002b3d85002b3d86002b3d8700283a820025387d
+001c2a690016235d00111c52000e184d000b1548000912430008103e0015141a
+00412e06002b1b0200171219000409310008103d000c184a000d194b000e1a4c
+004d3e1f005e4a1e006f561d0061532d0054513e005d59480067615300676357
+006b6f88006179db00778cdf008e9fe4008293d2007788c0006579c300536ac7
+006367720095856200c7a45300c0a05a00ba9d61009c875d007e725a00555668
+003d4671001c2c6a0016235d00101b51000e1a4e000d194b000a1241001a1f25
+0041351f0069501d00926c1b00a8833300be9a4c00b58f3d00ad852e007d6326
+0061563a0013205700111d5400101b5100121e570015215d00172661001b2e69
+0022337800223378002233780021327600203274001a296a0015245f00101b51
+000f1a50000e1a4e000d194c000d194b000d194c000e1a4e000e1a4e000f1a50
+001a286500233376002c3e8800334794003b50a1004860b8005a71d100647dda
+008a9dea00839cf0008ea1e2009aa7d400a7acc200acadc100b9b4b800bfb8b2
+00f4cc8600f0ca7800ecc86a00e3c58100dac39900cabaaa00c4b7ae00b7b2b9
+00878ca9003b509f00364a97003144900046495c0050505200565e73003e53a6
+005670cd004f68c3004860ba00445bb2004056ab00384b9a00374a9900334693
+00344794003e53a6004358ad00485eb4005269c6005b73d300617bdc007b96fd
+007490f3006883e4005c76d5004b63bd003d52a5002e408c0023347900192464
+00111c5200070f3e00060f3c00060f3a0004091c0001083400090f41000a1241
+000a1445000a1445000a1445000a1445000a1445000a1445000c184a000d194b
+000e1a4c000e1a4e000f1a50000f1a500014205a00172562001e307000223476
+00283a82002a3c85002c3e8800394b9d00445cb4004c64be005a72d200627adc
+008fa1df00aaacc500bcb7b300c0bba700ceb57f00baa586006e635100454545
+0015245f00131f590015245f001d2c6d00273a7f00384b9a00656e8f007b7c80
+0093a0ca008a9ce4005d77d8005168c500425ab0003d52a500364b9a00324592
+0031438f003144900034479400364b9a00334693002f428e002a3c8400213375
+001d2c6d0017256200131f5900121c5700131f590014205a0015245f00192462
+001f2d6e00233479002b3d850030428e003c51a200455db300475fb7004157ac
+003b50a1003144910025387d001d2f6f0015245f00101d54000f1a50000e1a4e
+000d194b000d194b000c184a000e184b001d202f003e382800b29245006a5a36
+"/>
+<palette number="252" name="Apophysis-040427-26ISpher4" data="00215700003c641d004e6d3600607650006476550068775a00697a5a006a7e5b
+00648f5a00557d4000476c270036631700265a0700205003001b4600001a4500
+001a4500001b4400001b4700001c4a01001f51010023590100275d05002b6109
+00487e260060913f0078a459007da8600083ac680084ad690085ae6a0084ab68
+0080a96500567f3b003f742a002869190028641100295f0900285e0700285e06
+0022580000245a0200265c0400305f0f003a621b003e64240043662e005b5b5b
+00636564006e6d6b0073806c0078946e0081a370008bb273008db375008fb578
+0099a68a009ca98d009fac90009bb3890098bb830094b97f0091b77c008eaa79
+0089af740085ae6c00769e6600688f6000648a5900618652004d7f400046712a
+003e741c00508530006397440072a1550082ab670083ac690085ae6c0085ae6c
+0085ae6c0083ac680082ab670082ab670081aa660080a9650079956c007b7b73
+006d6c6a00768a670080a9650081aa660082ab670082ab67007ca760006c9d4e
+0056873500476e2f00547242006176550063785700667b5a00547c3e00476e2d
+002d630b00265b0600205401001e4f00001d4b00001a410200193c0200173801
+00183b0100173d0000183f01001a4102001b4600001b4900001f4804001e4f00
+001f500100205400002258000023590100245a0200265a07002d4e19003a3a32
+00434537004c66360049683200476b2e00426b2900426b2900426b27003e6c23
+002e620d002b600a00295f07002b6109002d630b00336714003c721a00487e26
+0056813a00678d5a0067845a00677c5b00697d5a006f855f0074955c007fa864
+0072a055006a9b4c00639744004e842c0048732c00447533005e923d006d9e4f
+007ca7600082ab670081aa660080a965007ca760006a905f006b8d5b006c8959
+005f8441005b7a4000587040004a6e300048693000446d2b00426b2700466d2c
+004f7037005c704d006e6c60006b6a6800666666006161610057575700454539
+002e4b150028470e00224408001d4604001a4500001a4500001d4b0200205401
+00275d0500336911003d731b00487e2600689948007ba65f0081aa66007ea964
+006d95630067875600536841003a3a32002e2d29002b2a26001c4003001e4c01
+0021570100275d0700345f17003c5b20004c5e3800595959005e5c5f005b5b5b
+0048633a00435d300036531b0035521a00335518002859080024550600214a04
+002f5019003f5224004d5d38005d5d5d006464640057575700435932003a5d1b
+002c5d0c00285e0600255b0300245a02002359010023590100255b0300275d05
+002a60080032661300416d22006394430072a0580085ae6c009bb98500c3d1b8
+00ccd8c400dce7d900dee6d900cedac600c9d5c100a4b396008ba487007e9068
+"/>
+<palette number="253" name="Apophysis-040427-26ISph2" data="009992b400a3a9c300a5aac600a8abca00a8abca00a8abca00a6a4c700a49ec4
+00908ba90087869e007f829300858893008b8e93009c9fa800aeb0bd00aeb2c3
+00afb4ca00b4bbcd00b5b6ce00b6b1cf00b1b1cf00adb2cf00adb1cf00adb0cf
+00a9accd00a8abcb00a7aac900a09dbe009a90b3009690ad009290a800888c95
+007d808f00787e8a0073748a006e6a8b00746e91007b7398008077a100857cab
+009a93bd009f9dc200a5a8c700a6a9c800a8abca00a8abca00a8abca00aaadcc
+00adb1ce00afb3cc00adb2cb00acb2ca00adb1c800aeb0c700acb0c600aab0c6
+00a8adca00a7acc900a7abc800a3a8c000a0a5b9009e9fae009d9aa300929699
+008285940081742600a5952400cab62300cfd22000d4ee1d00a1c92a0071a63c
+006e6a85006d6794006d64a3007770a000827c9e00847d9f00867fa000918caa
+009da1bc00ada8bf00aaabc100a8aec400a7adc400a7adc500a5aac800a7acca
+00a0a4c1009ea2bd009ca0b9009495b3008c8bad00808696008184950087889a
+00908bb3009b9bbd009ea1bc00a1a8bb00a2a9bc00a4abbe00a2a9bb00a0a7b9
+00a2a9bb00a8adc300aeb2cb00b3b3d100b9b5d800c2c7db00cbcedf00cbcee1
+00cbcee100cdd0e300d2d2e200d8d4e200e2e5ec00e8e7ec00e9e6ef00e9e8ee
+00e6ecec00dfe5e500d8dede00d0d5dc00c9ccdb00c4c7d800afb3d000abafcc
+00a8abca00a8abca00a8abca00a8abca00a8abca00a8abca00a8abca00a8abcc
+00a8abcc00a8abcc00a8abcc00a8abcb00a8abca00a8abca00a8abca00a7acca
+00a7acca00abb1cb00abb1c900abb1c700aab1c400a8afc100a8aeba009fa6b9
+0084869b00818595007e8490007d818d007d7e9000827d9d00817c9c00736ba7
+007167a6007c7bb500837fb6008b84b7009491be009ea1c400a7aac900a8abca
+00a8abca00a8abca00a8abca00a8abca00a8abca00a8abca00a8abca00a8abca
+00a8abca00a8abca00a8abca00a8abca00a8abca00a8abca00a8abca00a8abca
+00a8abca00a8abca00a8abca00a8abca00a8abca00a8abca00a8abca00a8abca
+00a8abca00a8acc900ababc700aab0c600a9afc500a6acc600a0a4bf00968fbb
+007f78a400645a9f0052447f0030215c001e2553001a1c4f00231d5b00594b80
+00746d99008d88b0009fa5bb00afb5cd00bdbcdb00c6cbdf00c6cddd00c5c8d7
+00b8bac900aba5c9008e88c400867db2007167a40064588a0064588a00635787
+00615887005c5082004d55860056507e003d396b0030215c00443d8d00473e8d
+0059559f00666caa008886ad009da2bf00a5a8c700acacc800b4b2c800b2b4c9
+00b4b5c900beb9d000c8c4d500cac7dc00d0ccdd00d2cfe400ded9e000d1d5d6
+00cdd0df00cacdde00c4c0d700b7b1cb00b2abca00a5acbf00a0a6bc00a3acbd
+"/>
+<palette number="254" name="Apophysis-040427-26ISph11" data="00923e560055195f00561453005710480054104000521139004c14420046174b
+00481c710053286b005f3565006f4662007f575f009a5e6b00b6657800c56d77
+00d4767600ce9baa00bf97a500b094a00099799b00825f9700775897006d5297
+00804e9300876497008f7a9b009191b10094a9c80097b3da009bbded009cccf2
+008caeca004abdac0064af9c007ea18d008a94940096879c0096859900968397
+00728b850062959100539f9d007ea6b400aaadcc00acaaca00aea7c900b3b3cd
+00bfb4dc00c8d4e400b4c9db00a0bfd3009aa6ca00948dc1009784b0009a7ca0
+0098708a009679840095827e00a7828600ba828f00c97a8500d8737b00de8e91
+00dbadaf00d8b2c100cab3cc00bcb5d700aeaed500a0a7d3008d8ec4008385b8
+006c568400624d680059444d003d604f00227d520036986e004bb48b003eb5af
+0043b3bf006a4d9000663c8600622b7c005d2e7800583174005b366c00664270
+00865d7b00965e7100a7606800a5656300a36b5e00865e5f0082595f00785664
+0073535e007d3b49006c294d005c18510058144d0055104900541f6300452a71
+005871870063778b006e7d9000768089007e84820083798100695f9100674d7c
+005a4161005b4142006b4a49007c5351007d52590080575d007c575e007b556a
+006c45640058366400442865004328690042296d001b457f001d478300391382
+00422b9300693c9b008941ab00aa47bb00e05f9500d99aa500e2b4b400edc3c5
+00f6e6e600f6e7e700f6e8e800f5e6e600f5e5e500ded8e200afb4d1008796bd
+00828a9d007b658b00736490006b639600605aa0002f50ad005761b8006b6dba
+00a78ea100b895a600c99dac00d4a7a400c3bab500b7b2af00aea4a200af84a0
+00c58b9900e5bbbd00e6c9cc00e7d8db00f4e4e500f1d3d300e6c4c500d99cab
+00bb8a4700b6825000b27a59008f686d00835c710078696c00558e63003a9948
+00389e38002c7b2c004c733e004c353d0035262900351a3d0036204400463756
+00704f86007f538c008e5892009c6c7c008e797400a5826f00ba817600ad7888
+00a17181008e717600837b78007b8e78005a9d670052b177004cb58c00388b6d
+0055566b00765b640070517a0081607f008a6b94008b7f9700897fa4008a79a5
+007f75a9007072bd006e71a40070679c0067609400644781005e4181006b4775
+00784570009d3d6200a53b4f009f5055007e4f55007c575e007d595d00805860
+0093677400af698500c0869500c58b9900ad898900a97486008c5f7e00714673
+00653e6b005f24640055226500492f56004c353d00463136004e142d004d1329
+004d13290051123100391b3d0040254400452d4d004d355500653e6d0074427d
+009e4b9300b6657800db727700df717400b86d7100987071007b6b78004a7375
+"/>
+<palette number="255" name="Apophysis-040427-43HeartFlwr" data="00417e83004d583a004e512e004f4a22004e4b1c004e4d1700654b16007c4a15
+00ad420c00a9361700a62b23009d251f00951f1b00772e2100593d2800473f20
+003541190031511f00204b260010462e0021502500335b1c00314e19002f4117
+00162c3a00184c3d001b6c41005c9f42009dd24400b1d14700c6d04b00e89d2a
+00de833400d1340900c5281100ba1c1900a2142c008b0c3f00821f3d0079333b
+00757367007e878200889c9d00ada7c400d3b2eb00bcacd600a5a6c200857b86
+0048667100005f29000c531500194802001c5c07001f710d001e7a06001d8300
+00176b1300235209002f39000026341e001d2f3d000e375000003f6300004e50
+000d4e5400486177004b575b004f4d400057463a005f3f3400a5433a00e03837
+00f74d6800df475300c7413e00b62d3a00a61a3700ad0d3700b5003700d8000f
+00ff0c1c00ff0b2a00f6241500ee3d0000ee730000efaa0000f6c73d00def739
+00e5cd4900edd48600f5dbc400fad0d200ffc5e100dedfda00dac4db008a96be
+00597897004a8d96005d8f8a0070917e007e9081008d908500a1aba300d298ca
+00ec5b6c00e1424c00d72a2c00c1252500ac211e00951f1b007b221c00563232
+004d3533003c384900373b3f00323f36003c2c1f0044272b004f352600514127
+0047413100464b320045563400505539005c543f0053773a00927055008d8850
+008c956600c2f17d00caee8500d3eb8d00e3ff6000f7f46900eae29700daed9e
+00e8c7d00092b0af003c998e0042837f00486e71004e5742004547390054522b
+008b5a3100d2582500d7492a00dc3a2f00c62a1400af092f00c2002000c1000c
+00ae000100aa000000a6000000ad080600c1000a00b80b0500a60e0b00a93909
+00b2450200a44503009f4409009b440f009b431300a92822009a1d2500842627
+005a3926005c381e005e371600602100004d07110055172600662c3800680e4e
+004e2d5c004f3b47007647370088564b0096594700b3472100de290000ef2f00
+00c73a0c00b73f0a00a84408008f4f0500554f010049590000495604003f550d
+0055531800894f2100ac2d2600b31e1a00b60d0a00b70e0b00bd0f0e00c82c00
+00db200000d60c0a00fc050000ff1c0000df330100b3410200944a0d00633000
+004f2a0f00322b01000d3600002b29000053170f00731d100075141f0075221c
+0063301100553b020048450e00484220004f4428004b5d29004f8730004e884d
+0045876b0044817900406d4c00465c38002a6923001f873a0046912a0081d818
+00adef1100abd533005898420040a1500065b7270071dc020078b20e0067aa1d
+0050a500002b7e0a0039540f00355419003e581700494d1a0053441b00834111
+009f200000c21f0000cc300000bd340800aa241b007f1e18005a312d00444c3f
+"/>
+<palette number="256" name="Apophysis-040427-43JunglThron" data="003baa340012762e0012693400125c3b00135e3e001461410013644200136743
+00218a3600197c3700116e39000e6139000b553a000f4c360013433300193d38
+001f383d001f4d3300195b3700146a3b00106a41000d6b47000d684a000d654d
+000e67510019704f00247a4d002e8e4a0039a3470047ad4d0056b8530073ce71
+009ad09600e1bdc700cfc59c00becd720084b35a004a9a430045924000408a3d
+0018684f0017614d00175b4c00115643000c523a000e533100105529000a5b23
+00195e2800218e250031942e00419b37003299380024973a0022943b0020923d
+00248b38001f7f3c001b7340001a65430019584700164e460013454600134546
+00104f470010784300208b4900319e4f0032a25d0034a76c00439e4e0043a447
+00319d4800269042001c833c0012793b0008703b00076f3a00076e3900026a37
+000b624200104b39000c493b0008473e0008463e0009463e00144041002b4949
+006147640054375a0047285100403945003a4b39003d4b320026434100154343
+000a5f42000c7243000d743c000e7735000e752d000f74260014761f0012641a
+00002514000d1c2d001b1447001c1c44001d244100142e3b0019433f001c6b3c
+00338b4f0067b76e0063b969005fbb640052a452003d8e4c002e7c4c001d6e4d
+000060510003574100064f320005532c00055726000e49130001452c00074a43
+00065041000b5149000f54490013574a001e555800145551000e574600084e32
+00001f00000312070007060e0014181800212b22006e3c3b007e4d51007f6669
+00a1705200bd895000bea96000c0ca71009dd37300a9d29600b3d49d00c6d988
+00effa8200f7e57a00ffd07300d9b4a200e4bac800e8b1c800eeb0c500eeb4cd
+00e6b7c900dbd4aa00c3d4a200acd59b0076c77b006c9c52002b825f001a6350
+00245a4d002b554e00325050005a596700775b4f007e7683008e7a7b0075bb62
+006bbe520088d168008fd362009ad2870092ce900082cd7b0075cb660080cf4f
+0047a8410040a43f0039a13e00349b40002c944700248552001b744400186b3f
+00106e39000d6e39000d633c000c624900066348000464480009634a000c6353
+000c6257000a5d4900065f490002563f0000563d000a523a00035a3700086435
+000a6a2b000f712800107527001e8d2f0031a133003ab0350041ba3b0045b93c
+0048bd390050b53b006bb64f009bc16c00ae8b6100e79a3e00e2993b00bc5e2a
+00b27d4b0083bd680084d0760091d0990096cea700c0dccd00d9c5be00d9c3b6
+00b8d5a5008dcba20083cb8c0081d365006fcf54004fbd440044ad3700409b3e
+00298846001a7d4f0012744b00156f4c00116c4b00126e55001c715400177553
+001e8a56003fa14a0064bf580062cc5d0054c048003dae3a00157c29002a973c
+"/>
+<palette number="257" name="Apophysis-040427-44jawa" data="00795a4800795b530082655c008b706500947570009d7b7c00a1827d00a68a7f
+009c7a7b009775750092706f00815f5b00704f480064453e00593c3400563931
+0053362e004c332e0051363000573a320063443d00704f480078585000806258
+00af978b00c6b6a200ddd6b900e0d1c900e3cdd900dfc8d000dcc3c700c3a3b0
+00b39097008e6c6b007f615c0071564d00684c45005f423e005d3f39005b3d35
+004f342b004b2f2900472b2700442a2400412a22003f2a21003e2a21003e271f
+003e271f003c251d0039251800372614003b2816003f2a19003f2b19003f2d19
+00583b3300674a45007759570093737500b08d9400b997a100c3a1af00d8b9cb
+00e4c4cf00d4b5c700be9da900a8858b009c7a7c00916f6d0083655b007a5b56
+0071504900694a420062443c005c3e36005739310053372e0050352c004d3229
+00482d2400402921003f2820003e271f003d261e003c251d0035211a00321f18
+00321f180037221b003c251f003d261f003e271f003e271f00432b2100492e25
+004f342b00654538006c4c420074534c0074534c0075544d0073524b0073524b
+0061443c005c3f3700573a320053372e004f342b004c312800482d2400482d24
+004a2f26004e332a004e332a004e332a004d322b004b302900462d2600472c23
+00472c2300452c2200442c2200432b2100432b2100402921003c251f0037231c
+00311e1700281a11002618100025160f00240f0a001c0902002811090027160f
+0038211b003d251d00422a2000422a2000432b2100462b2200482c2100472c23
+00452d23004b3027004c3128004e332a0051362d00573a32005c3e36005d3f37
+005a3d3500573a320054372f004f342b004c312800482d2400442c2200432b21
+00422c2100402921003f2820003f2820003e271f003e271f003e271f0041261d
+003c251d0039241c0037231c0035211a0034211a00331f1800391b19003c251d
+003d2521003e272100412a2200452c25004e332a0053382f005c3e36005e4038
+006f4e47006f4e4700704f48006e4d460065473f0060433b005e40380062443c
+006a4c4a007256520084635e0099777600ae8b9200bd9ca700c9a9b800d5bbc8
+00ccadbc00c9a9b800d1b2c400e1c0d100e4cbe000e3d6d000f9f3e300ffe8fe
+00f2dff500e0c1d000bb99a700a783850094727300866462007a595400704f48
+0064463e005d3f3700583a32005639310053383100563931005c3f37005e4038
+00674e2f006a5043007153480075544f007f5e5900886b65008a7572009c7a7b
+00a5828600ac898f00ac8c9100ab888e00a38086009977760092746c00897262
+007b615200806554008b755d00917a6c00ada27400998c79008b764b006b5732
+0060502e005a3d350052372e004f342b004f342b00513b2300583b33005f4139
+"/>
+<palette number="258" name="Apophysis-040427-51KaosGrn" data="00f1e8e3009b4838008937290078261a006d1f120062180b0062160900621408
+006311050062130600611508005f1a0c005e201100513d2300455b3500406035
+003b65350044542f0050391f005d1f10005d160b005d0d06005c0a06005b0707
+004f0600004f0600004f06000050040000510301005102000051010000520201
+00530200005a0604005b150c005d251400564e0c004f77050061850300739302
+007ddd93008ce6a3009befb30075cc8b0050aa640046a260003c9a5c00477143
+00515530005d241300503f0b00435b0300445a0100465a000053410200602805
+00640d03005e0602005900010058020100580501005a0500005c0500005e0700
+0061080000600900005f0800005e0700005e0700005e0700005e0700005e0700
+00540b0500570e02005a1100005c1807005e1f0e005e2412005e2917003e572d
+003a784500318b4b003b822c0045790d0053710800626a030069430200622206
+00601301005f1404005f1607005e1406005e1205005d110100600c01005f0a03
+00620a0000670f0300641205006115080062180a00641c0d0063211100631e0f
+0071150a006a140900631308006213070061130700610f03005c0d0000550601
+00550401005403000055030000570400005d0501005e0602005b060100560600
+00550601005a0f00006018000061280300623806003e5a030039590600345800
+00305800002e5600002e5600002e5600002e5600002d5300002d5403002e5502
+003c5600004f3c090062231200602212005f211200611e0e005f1d0d005f2112
+005e2917004869000046610000455900005f2613005d2212005c1b0900611508
+00601800006018000060180000601708005f1d0f005a1d18005d2816003e5801
+00425d00006442030061320b005e23130061190b006412060069050300710502
+0080190000871a06008f1b0c00982216009b3e1f0074723f008dbf6a00c3c88e
+00dce27800f8f69f00e7ba9d00e8c3b100e2e3d100e6f1b900bee4bd00addea7
+00a5b48b00918d6a007e664a006b4e3000662513006b44030081720d0050830c
+00458c4a003faa72003db6730033af7000389859003a783500456f0900425900
+005f2814005f1c0c00611507005c1000005a110000561706005d230d00425700
+00385c0000365c0000385501003f5500005e2311005e1b0b0060180200601800
+00601800006423030080560a0089711b009c860e00a8af8300c0cba300c4e1dc
+00e7fbdf00fffbfc00f1ecf000f1e6d000a4c09700798a5e00846139006e3722
+00602817005e2917003c56000033550000315500002f55000030580000315903
+003b6302003766300035894b00349757003686490060653d00602c17006d2516
+0089362600a4403000a2342700a31d1c009e000000861a0d00741b0d006d2a19
+"/>
+<palette number="259" name="Apophysis-040427-51KaosFish" data="004b1f5a004f2259004d2059004b1f5a004b1f5a004b1f5a004d2059004f2259
+004f2259004f2259004f2259004d2059004b1f5a004b1f5a004b1f5a004b1f5a
+004b1f5a004b1f5a004b1f5a004b1f5a004d2059004f2259004f2259004f2259
+004f22590050215a0052205b0080495000af724600c7874600e09d4600e19e47
+00e09d4600c67d2e00c27f2100be821400b8891900b2911e00b0912100ae9224
+00a39226007a5c400051265b0050245a004f2259004f2259004f2259004f2259
+004f2259004f2259004d2059004b1f5a0041273600382f12003e330f0045380c
+00684b0000906b1000b88c2100cd953300e29f4600e19f4700e19f4800e3a14a
+00e7a44900e1bd3100cda92900ba952200c79d3500d4a54900e2a74b00d89d65
+00c0a98900c492a700c87cc600bc74ce00b16cd6007f68b3004e65910051215d
+004f2259004f2259004f2259004f2259004d2059004b1f5a004b1f5a004e1c5b
+0050205a0072306d00954081009e5d7900a77b7200b2897300be946e00c39971
+00d79c6400e09d4600ca822d00b5671400b3621300b15e120085540f00543111
+004b1f5a004d2059004f225900351934001c1010000d001100251f1300330b3d
+0050235a00b1705a00b87f5800c08f5700c3997100c19f7a00c8ab8100c7a57f
+00b2897300987568007f625e0067425b004f2259004f2259004f2259004f2259
+004f2259004f2259004f2259004f2259004f2259004f2259004f2259004f2259
+004f2259004f2259004f2259004f2259004f2259004f2259004f2259004f2259
+0051225800b1714b00c57b4c00da854e00e09e4700e2a54800e7a84b00e2a952
+00be9b7300b9917000b5876d00b87e5800aa724f00a98e3d00a6902b00a7912e
+009e7563004d8bc4004b8bb5004a8ca60040737700577f3600896b2d00b15f13
+00b66e0800b3690a00b1650d007c5a03004f411400471d4f004b1f5a004f2259
+0062663300717624007467320047582b00471d4d004e2158004f2259004f2259
+004f2259004c2143004a202e00442b0d00452b0a00341c020034300a00243d13
+00274e0b00386c0a005b56160086621800af5d1100a95000008e1a0300453911
+0023541c001d423a00304e1c0057470c008c580d00b15e1200b6661100b26014
+00883b3100542454004f2259004f2259004b1f5a004b1f5a004b1f5a004b1f5a
+004f2259004f2259004f2259004f225900512546005c5014008d5c1700aa7b13
+00ba801200c1721300b3791500a27b2000746e1a00453c1100112c0000171b04
+000005040011001a0022012e003a103600471d4f004b1f5a004a215d00254473
+001a5d6d00337768003e6b7e0032597a00274579004e225f004f2259004f2259
+004f2259004f2259004f2259004f2259004f2259004b1f5a004b1f5a004b1f5a
+"/>
+<palette number="260" name="Apophysis-040427-51KKlown" data="0029176900863b8d00893f7d008c436e00b66d5900e0984400eda55100fab25e
+00fcd33d00f0e83200e5fe2700dddb2e00d5b836009eaf430067a7510056995e
+00468b6c004e6a7800854c7e00bd2f8500cd198500de038500ca017f00b60079
+003e1c2c002a252600172f21004a4a26007e652c009e802600bf9b2100e29f2e
+00ff883f00e2925f00d98a7800d08292009f6790006f4c8e0046418b001e3789
+002f3239001e5348000d7457003e7174006f6f910082738a0095778300d5aa73
+00ffbe7900fff04c00fede6d00fdcd8f00debfa400bfb2b9009ca2b1007a92aa
+0097c68f007ebb810066b073004b716f0030326b00232a660017226200045f64
+00175c3d00216f1b005478160088821200937c09009f760000ec761f00dc5b17
+005f71050040601b00214f3200216b3c002288470027883e002c8835003da011
+00329008007162070092733800b3846a00bd905a00c79d4b0091b4400087a02b
+00845e2d0099412300ae241a00ca160d00e7080000fb080c00d6142c00cc160b
+00bc400d0093213a006b222500432410003b350c003446080025840200298602
+0075bf06008bbd1800a2bb2b00abca3000b4da3500c2e24300c3c86a00adbb97
+00cab2ae00d6ae5700d3a65d00d09f6400d3888d00bc86ba00dc73c500fe6ed0
+00de337500e62c5500ef263600c5232c009b2022006b2317004c241800351d1b
+005c131a00a50b5100a7075800a9046000a80a8500b9158800b81a7900da1275
+00de053c00df022f00e0002200e0001300e0000400b8021100790b0000612711
+0048361e00105c11000e6a09000d79020012883a002e924a0043885c007ea973
+00d7e74600eaf05e00fdfa7700f5fb9b00fff6b900fff0bc00fef3d500f2c5dc
+00e2b9cb00e384b000ed7cb600f874bd00ed48b000ff31a900fd0e9d00e5195e
+00fe040e00fd030b00fc030900f1050500df010000ba1400007d1401007a3609
+006535210063603700797a720060947000318d820000806d0000854c00007b4b
+00156f3c00106a3d000b653f00013e3600072034003d1c39003d063d009b0252
+00ce0c2f00db224b00b42b7d00aa1980009652a5009281a500a495d600c6e6e1
+00e0d9d300efc1c400ffcead00f2d58700daed3c00bade2600c3aa1200aba205
+00458c0a002e6b1b0034450000633a0e00932f1500bc574d00cf5f3100d95c48
+00ea6a5f00ef4b6600d25c6c00b9526d00924490008c798c009cd08600a9dc75
+00a3e67c00b1d1a800fafcbb00f9f2c800fff1de00fffdf300e8e4ff00f1eae4
+00ffedcc00ffcead00b3b9710066a94200409e0a003e8d0000644f1600951514
+00aa0b1f00d1002900ea003d00ff0b8100ef039400f8008c00ff004b00f1001a
+00ff051100f2080700ed0b0000f2070300e4000000d7280900d22a0000db3f04
+"/>
+<palette number="261" name="Apophysis-040427-51KaosEgg" data="0071595700614945006148440061484400614844006148440061484400614844
+0061484400614844006148440061484400614844006148440061484400614844
+0061484400614844006148440061484400614844006148440061484400614844
+0061484400614844006148440061484400614844006148440061484400614844
+0061484400614844006148440061484400614844006148440061484400614844
+0061484400614844006148440061484400614844006148440061484400624945
+006e595600818272008a897d00949188008479700074625800725b5400715551
+00644b4700705550007d605a00947c6e00ab998300b7a79800c3b6ad00d8d5d0
+00f5f1f200d6d3cc00bcb8b300a39e9b009b969200948f8900887a7a007d6c5c
+007072650082867400959a8400a29d8600b0a08900b1a18a00b2a28b00b2a88f
+00afaa9400b8afa600bfb1a900c6b3ad00c0a9a200ba9f9800aa967d008a685f
+006a534b00654d47006148440061484400614844006148440061484400614844
+0061484400614844006148440061484400614844006148440061484400614844
+0060474300523f4200453841003f323c003a2d37003f2b2d0037302a003c2a26
+003b292500352e2800322c27002f2a2700271e1f00261815002b181c00342021
+004e363400543c3a005a42400059423f0058433e0054413d0050383600482e2f
+003f2a29004e3634005137340055393500593d3900604441005f4642005a423e
+0046323100382527002b181e0025171a0020161700271a140027231a002f2b20
+003d3b2f005e4642005f4642006047430061484400614844006048460064514a
+0085747c00917f86009e8b9100a49a9900a39e9a009f92990095827c008a685f
+007a646600705e6a0073616c0076656f0082727c008e8b82009f9a9400a29d97
+00968c8d008f838b00887a8900897a810086757d0075706c00757367006e6664
+00685652005b4b5800513f4d0061484400614844006148440061484400625046
+00696d5e006a6a5e006b685f006a635b00616355005f5f5300604b4600614844
+00624c410063504100715a4c007e665a00897b720092968500a09b95009ca18d
+00989d87008d827c00766f67006f5d5900624e47005e4b450059493c004f4232
+0045342d003b292500321f25002f1c2200381f2200352027003f2d2d0048483e
+00494941004e4e4200515244005d4b3f00604844006148440061484400614844
+00614844005f4743005a413c00553c35004b3633003c2a26002c191f0026121b
+001f1111001e100f00180c0c00170b0b001e100f002314110026151d002c2721
+00382e2c0047343000513c3b005e464200614844006148440061484400614844
+0061484400614844006148440061484400614844006148440061484400614844
+"/>
+<palette number="262" name="Apophysis-040427-51LavLace" data="00fde2e900ffb8eb00f6c3df00eeced300e5d0d200ddd3d200d2cac600c8c1bb
+00d4d4d200e2d6df00f1d8ed00f3caeb00f5bce900f7d0e600f9e5e400f7eced
+00f6f4f700ffe5f600fceef900f9f7fc00ebf8ea00def9d800e1efda00e4e5dd
+00e6e3d200ece5da00f2e7e300f1dde500f0d3e700f4c3e800f8b3ea00ffafe7
+00ffb5de00f0abe100eab0db00e5b6d600d7abc000caa0aa00c089a500b772a1
+00b48b9900cdbea100e6f2aa00daf3c900cff5e800bff1d200afedbc00b9ccac
+00a5a0d60089648500693f67004a1a4a00431940003c1937003c1733003d152f
+002f0a2900330d27003710250045162c00531d3400501f3e004e2148004c2449
+004c2449004d254a004d254a004d254a004d254a004d254a004d254a005f294d
+0097588700ae799e00c59ab600d493bc00e38cc300d494b700c69dab00b38689
+009154800050234a0052254e00552853006d396300854b7400a0589a00ab6997
+007f41720066335e004d254a004d254a004d254a004d254a004d254a004d254a
+004d254a004d254a004d254a004d254a004d254a004d254a004d254a00512b50
+0098519300a3679b00af7da300b498a700bab3ab00bbc5ad00abb8a700b0a59f
+00a8988100806d67007158590063444c004c264b004b254a004b254a004b254a
+004d244c00744169009c5e8700ae819e00c1a4b600e2ddc900f4eed800fffee3
+00fff3de00ddd4b700cec9b400c0beb200a39b86008a6f8000743a6000521e4c
+007e536e009c798800baa0a300c1a2a700c8a5ac00cca5ba00ca9db100ca8dae
+00ae6b9e00532651004f244c004b234800471a4500421a3f003d193f0044173e
+00421b4700471c48004c1d49004c2449004d254a004d254a004d254a004d254a
+004d254a004d254a004d254a004d254a004d254a004d254a004d254a004d254a
+004d254a004d254a004d254a004d254a004d254a004d254a004d254a004d254a
+004d254a004d254a004d254a004d254a004d254a004d254a004d254a004d254a
+004d254a004d254a004d254a004d254a004a244b004b254e00532c5b008a3e7e
+00b2007a005d25560050234a004d254a004d254a004d254a004d254800571f42
+00662c440091545100a661730091607600583257004b2850004b254c004d254a
+004d254a004d254a004d254a004d254a004d254a004d254a004d254a004d254a
+004d254a004d254a004d254a004d254a00754b5500957e7800bc9ca900e5abc1
+00f0c1d500ffbadf00f0a5dd00ebaae000dea8ca00cfaccc00c3b1c700cbb4bc
+00d4bfbe00e5bec300e9c0d200e0bdd300d5b8b000b3b2a000a7a49100b59b8a
+00c3949c00dbb79500f5d2b400ffebdb00fbfbf100fefff400fcfffa00fcfefb
+00fcf7fe00fff8ff00fffeff00f8fffd00f4fffd00f3fdfc00e5ffeb00f6fff8
+"/>
+<palette number="263" name="Apophysis-040427-51mudding" data="00ab868000e3b6a300e3c5aa00e3d5b200cdbba100b7a29100ae9c8600a6967c
+0087704e007b5e40006f4d32007b502c00885327008c5a33009062400090624e
+0091625c008479890097848d00aa909100aa969900ab9ca100a99da500a89ea9
+00b59d9100baa08600bfa37b00c3a98600c7b09100c6b58f00c6bb8d00c8b992
+00d9c1a500bcb88800c0b37000c4ae5900bba66300b39f6d00ae9b5e00aa9850
+00aa8c6800b58d6900c18f6a00c8947a00cf9a8a00dca69900e9b3a900e6d8cb
+00f8e8eb00ffffff00fcfdfd00fafcfb00edf4f400e1ecee00d8dad600cfc8be
+00a29d99008f8b8d007d7a81006b676e005a555c00584b530057424b005a3e28
+004b371e003e21130036210d002e2208003225090037280b003b3209003b3012
+0041310f0044351300473a18005f512a0077683d00827348008d7e5300a19871
+00c7c29a00fff4e500fbf8e300f7fde100eef2e400e6e8e700d5c3b700debca0
+0097a7be009da1b500a49bac00a6939700a88b83009c827100926e58008a6c48
+0081633f00856b54008d816a00969880009ca89100a3b9a200b3d5c500afc5ec
+00bcdab400c2d2a000c9cb8c00bbc88100aec57700aba15c00b3806100ad6557
+00b15b440083755a007b7359007371580069615e0064635100645c49005c4744
+00473022003c291c003123160033231500352315003e23100041290300432702
+005d270d006a4c260075512c008156330086643e00977748009d754400a08043
+00a6895d00a5846100a5806500a07c5d009b795600917166007d6d56007b5747
+00704b3b005d3422005b391d005a3e19005d3f1b0062421b006d371100754514
+006e471e00704d220072532700775e35006d61310070582c0068502e0061451e
+00534113003a2900003826050037230a002d1d0000251b0000220f01001a1706
+00241c0f0028200f002d251000372e11004c2f0d004a3c170051441a00564624
+00614f37006f574d007a65740082879b00a6a9d400c0b4e200aea9af00c3b392
+00caaa9100c5a58f00c1a08d00c5a48500b38f6b0099796400876448007c543b
+006a5035005f4c2b005a492f005e462a0062452700624a24005d4720005d4523
+00583924004e38210054371900563c1b0061422500634833006d5d4300776149
+00727d5f007c836200887c6400938777008a8a7e0082746b0089745f00866d4f
+00846a49007a5a45007b664b007b6c590081746b008f827200a78c7900ab8c77
+0096866500927f550089714d007b5e4000765f3d006e5d4100635643005b544c
+004f585700645c4f0072604c00755c4800765e4600705c410073583b0069533c
+0073503a00795a3d007f643700915d3800954c43008d4c30008f48280068492d
+004f473200323e3a004c3f3700553a2500564124005c4a360063554a005e4a41
+"/>
+<palette number="264" name="Apophysis-040427-51pane;" data="009a7905009a7905009a7905009a790500987805009777060095750600937306
+0087712500837620007f7c1b007976220073702900605e3b004d4d4d004c4c4c
+004c4c4c002a360e00242a0a001f1f0700262507002e2b0800403d0b00534f0f
+008e734600957f61009c8c7d00a39a8400aaa98b00acac8b00afaf8b00a9a889
+0093ac8c00b2906200ab8c3f00a4881d009d7f110096760500927205008e6f05
+00785f0500695304005a470300423304002a200500251e0400211d04001c1e06
+00211c06003a370a004c410a005e4c0a00584e0c0052510e0053520f00545310
+00817718008e7c19009c811a00957b2c008e753f0086743a007f7436007b792e
+00817e1d0073711e0063621700545310004b490e0042400d00292907001f1f07
+0000000000000000000000000008060300100d0600201006003114060052220c
+00643b0f00715804007d6011008a681e008b7026008c782f008f8b44008d8053
+009ea09b00b2a59b00c6aa9c00c7b3a300c9bcab00beb89600b5b18c00adac80
+00a3a27600a38e3500af824500bb765500ad7c4f009f824a00947e4400837b32
+0098790500997905009a7905009a7905009a7905009978050096760500876a04
+007b6104005d631b0061631c0066631e006c621a0075631b0086690500947405
+009777060093660c008f5613009d4c1300ac43130088571200896c0600967605
+00987905009a7905009a7905009a7905009a7905009a7905009a790500997804
+00977605008d6f040084680400806504007c6205007b6104007b6005006a5e12
+00716f1800827f180094862000a68d2900ac942a00a48618009f7f0e009c7806
+009a7905009a7905009a7905009a79050099780500967605008b6e0600826603
+00755b04004f4d100048460e0042400d004924090056330d0066490f005f4c0a
+006853020064500800604e0e0069581200655f13006660120065621100706c13
+00876a060095750400997804009a7905009a7905009a7905009a7905009a7905
+00967a0f00928114008e881a0086831800807d16007f7b1700807d1600957506
+008e6f05008669030079600400685206005c48030035300a00272006001f1d06
+00201e07002e2b08004f4b0e0052510e0049470c00302e0800221e05001b1a06
+0002070300000000000000000003030300191d06002e2808005e4a03006c5603
+008468040096760500997804009a7905009a7905009a7905009a7905009a7905
+009a7905009978050096760500947405008a6d05008568040086690300947405
+0099780400977804009173050083670400745c04005f4b040037360a00242305
+001f1f0700242305002f2d07005d490200735b03008367040091730500987704
+00997804009a7905009a7905009a7905009a7905009a7905009a7905009a7905
+"/>
+<palette number="265" name="Apophysis-040427-51RiftAO" data="00ac8625008d5017006e3a1700502417003c281600292d1600282d1500282e14
+003417130031150c002f1305002e1008002d0e0b0030100b0033120b0035130c
+0037140e003d181000431d13004a2216004e220d00522305005c2a0700663109
+006246140055401f00483b2a0036322f00252935002428340024283400212f15
+001c361100262c120024290d00232609002a1c09003113090032150800341707
+00441c1200421b1100411b10003a170e0034130c0030100b002c0d0a001b0708
+001503030008050000080300000801000010060100190b02001f0d0300250f04
+0024240800212608001f280900212709002326090025260b0027270d00352317
+0045201a0066461f007b583900916b540091705c0092756500a17c4800a48d49
+00834f51007c4f3b0075502600623a1d0050251400542d170059361a004c4125
+0038412200232637001d202d00181b240015161f0012121a00100b05000a0702
+000f070400100c0f0012121a0015161f00181b2400181b2400181b240012121a
+000001200000010000070400000e070100160a02001e0d03003518080048250f
+007c3e0d009a491a00b9542800bb692f00be7e3600946c74005e6a9e00525e92
+004650850032364200373b35003c4029005046230073584d00a68981009aa096
+00e7c7ee00e9d6c600ece59f00d9c99400c7ad8a00b7947600ad856b00a77e5e
+009a6f4f008c5840008d603f008f683f00966956007c5e560054526000403e49
+002e314000292c3a0024283400202431001d202f00191b280016192a00181c25
+00181b2400181b2400181b2400181b2400161a23001111190013050400190000
+002d0c0700330c0500390d0400471700004b1803004a06000029050000240805
+001e0c0200170302001603020015030300150200000d000000090600000c0900
+0026100300241b060023260900272d1300343718002d361b00252e1300242a10
+0023260900232609002326090023260900241005001d0b010012090000100900
+001f0b0000210c0000240e0100250f0200261003002612070023260900232609
+002f1307002c1205002c1205002c120500291105002810040028100400291105
+002c1205003b160e00472011005e3018007a582a00966b4b00ab886a00d7be95
+00e5d3ad00fbd8c200cbc8cf00adafc4008f90ac00b3bac200cce7e200ccd0d3
+00ded09f00a7ab8800929e76008987720064647e00474a590030314500363822
+00272d1300232609001f100b0012121a00181b2400181b2400181b2400181b24
+00181b2400191c2500191c2500222023002e0e0f0030130d002f140d00181b22
+00181b2400181b2400181b2400181b2400181c25001a1d2c0020243000222536
+001d1f3400161747001e263d002e314200393a4c00544b5e009e8a69008b806e
+"/>
+<palette number="266" name="Apophysis-040427-51ylwAlien" data="0006070200000100000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00010101000d00000060260200b44c0500c26e1900d0902e00d5922d00db942c
+00eab33200e0b03700d6ae3c00c7ad3400b8ad2d00a99f26009b912000457800
+003c6b0b00ca691a00e0712800f77a3700da5f2300be4510008a3b1100563212
+0002020400010102000000000000000100000002000000030000010400000007
+00000208002e69170089932800e4be3900e8c93a00edd43c00efdb4400f4da45
+00f0cc4000f1bb3a00f2aa3400f0a63000efa22c00efad3000efb93500f5d93a
+00f7dd4000fff24d00fdf34500fbf53d00fceb4200fee14700f3da4a00f4d4a1
+00f5dae100f8e5eb00fcf1f500fcf5f100fcfaee00f5f6ee00f3d4cf00f6df51
+00f9e04800e6b63600ae802600764b16004f2e100029120a0005020900010004
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000020202
+006581340094992f00c4b22a00c8b52d00ccb83100d9962e00b186270051360b
+00090504000f010000281103004122060072472400b9862d00de972d00f8ae33
+00fab93900eda93000e19a2800ca691a00852111002d08000003000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000a0000002d120700712c0500bf712900da972f
+00eacdd100ebd2dd00edd8e900f1def200e6e9e000f0e5cf00d3dcad00ead546
+00f1d84800f6de4000f7e04200f8de4100f7dc4300f3d83f00eabb3700ebb838
+00ebb83900d1bc4500aaaa64005b77230037331a000503080000000200020100
+0000000000000000000000000000000000000000000000000000000000000000
+00000200000703000042230f007d8f5300acac9400c3ccaf00d3dcc100d5bf74
+00ebd34b00e8d34400e4c74700d5c12e00af9a0b0068531e001e141200030301
+0001010000000000000000000000000000000000000000000000000000000000
+0000000000010101000b0100004d390000909e0d00b9bb1800ce943300a5752d
+003d2a24000f0b0a000101010000000000000000000000000000000000030000
+"/>
+<palette number="267" name="Apophysis-040427-51elecforest" data="000000000000000000000100000002010007060a000e0b1400201e210032312f
+00822381005c2d560036382b0041402c004d492e00644a3f007c4b51008f3d64
+00a2307800df0fa300e7398d00ef647700dd8b6600ccb35600c5ac5600bfa656
+008e9fa60082759500774c84004d3a510023291f001216130002030800000005
+00000005000000040001040400030905002c2d1f00565239006e605000876e67
+00dfccc800eee1db00fdf6ee00c7dab60091bf7e0095c56d0099cb5c00a0bd49
+008ea85f0055754e002d4c350005241c0002150e000006000000040000000200
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000101010007030400211400
+00792d0b0081310e008a361200753a1a00613e220052321d00442719000c0704
+000d000200030004000a0a0f0011141b00262f17003b4a130062684200799451
+00bac77700ccd27100dede6c00d5c66a00ccaf6900f3883800ab634a00a92356
+008a11700069311a00341f0d00000e0000000a00000006000003030b000b3237
+00086d6900597a6300aa875d00bc7d6800cf747300dc8a7c00dc82a500ffd3d6
+00ffded000e0874300c7662500ae460700a436110083320500554000002b2100
+0000030000000200000001000000010000000100000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0003030300060307000a030b00322b2300524c36004c7b45002a8816002b710e
+00266103000a1e02000103000001010000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00010000000300000007070000202403005c700f006d8a3800a2813a00aa9601
+009659160095433800591e18001f000200050003000100000000000000000000
+0000000000000000000000000000000000010100000907000041250f006b4a29
+00aa783d00baa34300ada05200837654004f4b4a000e191d0003000b00010008
+0000000400000004000000020000000000000000000000000000000000030000
+0008030000190000005b1619009a2051009d072d0093180600ab190c00b12607
+00f5000000d10e0c00b9183a00e9046b00f4179800fd4fa600f65e9b00f94a51
+00f94c4800f05f5a00c7704500a37c5500515e4c001b4c5d00105260003c4736
+"/>
+<palette number="268" name="Apophysis-040427-51ReachMoon" data="008c90210072581d00494f260020462f0020332200202016002a201400342113
+00674c1d008d711c00b4961c00bfa42000cbb22400bfa92300b4a02300a68f22
+00987f22004c23350053342b005a4621006e5c220083722400927c2600a18728
+00c08f2900cd8e2700da8d2500b582210090771d00886d1e0081642000735016
+006c4d160034231b00381d22003c17290040182f00451a3600441b3700431c39
+00421d3c003e143b003a0c3b003a0b3a003b0a39003b0a39003c0b3a003c0b3a
+003c0b3a003b0d3c003b1d2f003b2d22005f4a1a00836713008d771c00988826
+00b7a32600b09c2400a99522008e7a210074602100675522005a4b2400274e33
+0021617d00678f5d0042645b001d3a5a001d3556001d315200192744002f0e3b
+002e0d3a00330e2d00380f2100330e15002f0e09002f0e09002f0e0900381f09
+00361f11003b220e003c2916003d301f0042352200473b2500605730007e753c
+007a733c0068572600573c11004e350e00462e0c003724160039182d00421b36
+00451a3600451a36003f183600391637003a1037003c0b38003b0a3900370b3c
+00360c3c00380b39003b0a3700390b3000380d2900370e1e00370e1e00350f1e
+00360f21002f0e3b00271243001f164b001c205f001a2b57002424580032234e
+0047184600441a4100421d3c00421d3c00421d3c00451a3600451a3600451a36
+00451a3600371b3400371b3400371b3400321b3500341f280039291c00442f14
+006c5e310087714a00a2856300a3855700a4854c0093883600a8902400ba9c20
+00cba32700e3b27800e2c77400e1dd7100e1bf9900f0d4af00faf0e600b3b5ca
+00a39d8500968c8d00897b95007b6d620059374500441d3a00451a3600451a36
+00451a3600451a3600461d340048213300574730007b763600a5982800bfb822
+00d3c42d00d2cb2f00d2d23200d8bf3100d8ba2800cbb02100b69c21008f7f27
+00685d2f004a233500451a3600451a3600451a3600451a360048213300654917
+007460210072652c00706a3800248e2a001e626100173d640024385100352450
+00411c3d00421d3c0044214100421d3c00431c3900451a3600451a3600421b36
+00381b3700330e3a002f093a00350b3b00360c3c00370b3c00370b3c003b0a39
+003b0c360043163300451a3600421b3600381a3400330e3a0037193300351e32
+002c211d00181a2f001319330017182c00321c3100431c39004c23350047351d
+004c320d0040280c0035171f003c0c34003b0a37003b0a37003b0a37003b0a39
+003b0a39003b0a37003b0c36003919310039162c0039162c0039182d00331f2a
+001b182d00121935000e2954000f3a4d00143d690025285f0024235d0024255b
+0025265c0030235900351e4a00341e330035202f00311d2600341d230035181d
+"/>
+<palette number="269" name="Apophysis-040427-51satPhlox" data="00894b0e00624a2e005b55500054617200404f60002c3d4f0024394e001c364d
+0051402e005f4327006e4720009b591700c86b0e00ba7b3b00ad8c6900aa9174
+00a8968000b3dbff00a4cdf40096c0ea0082bbf4006fb7ff006ab8ff0066baff
+00239dff001d96ff001790ff002898ff0039a0ff003d9cf8004199f200379efd
+0028a4fe001398ff001698ff001998ff0031a3ff0049afff0056b4ff0063baff
+0089cfff0090cffe0097cffe0083cbfd0070c7fd006cc0fe0069b9ff00509ee9
+00116fc900014e960001438500023874001961a900318ade004f9ae4006eabea
+00d2e8fd00e8f3fd00fffffd00f9fbfe00f4f7ff00e0f2ff00cdeeff00cbf3fb
+00c5f1fe00c6ebfe00a9d4f8008cbef30081afde0077a1c9006e768300605041
+00111216000925430001387000014fa0000166d000006ee0000076f1000089ff
+00027dfe000164ca00014a980002316700072447000c182800000a1600010916
+0021170d002f1e0d003e260e00472d1300503518006e43190070431900724317
+0079441000774b1e007c532600815b2e008b735700958b8100768896006d90ae
+0047729c004c6b8a0052647800595c6000615549005e462a006a4417004d3318
+003d1e01001f0f0000180b000011080100090400000000000000000000010101
+0000112b00082c540010477d000f559a000f64b7000a6fd7000985ff002385e8
+004496ea005591cf005888b9005c80a4005c758b00373f4a0025242200120f0a
+000201000001000000000000000000000000000000070400000c080000221101
+00321a0000593c1e005d462d0062503c007166620062707b005e6e7d00636260
+0040332a00382e2500312a20001e1a19001f20220001234900003c76000052a8
+000069d600008bff001291ff002498ff002fa2ff003aa8ff0040aafe0046a0f8
+002682d9001f76c600186ab400306599003e6181003c4145004d331800421f01
+003e1c00003a1a0100351901002c1702002411000027120100281a0d00352817
+003a3f45003a434e003a4757002b527b0014467700014b96000657a800005bba
+000d6aca002587e80049a1fa0070c6ff0090d8fe00b5e1fe00bbecfd00bdeafd
+00bfe9ff00c3e2ff00c9f0ff00e1f8fe00fafeff00e0f0ff00cee7fd00b7deff
+0092d0ff0066a9ed00217fdf000066cd000352a1000e3862001e2f3f000e1116
+000008150001040d0001040d0000070f000a141e0013345500235c9300236bb5
+0064a1da0077a9dc0070a5db006f93b70081736800635344006a421f0046290b
+00401e02003b1c0000401f0000532d060071421600734312006e421100462200
+0031170000170b00000803000000000000000000000000000000000000070300
+000b060200231c1400322b2300574d4300666a6d007798bb00bed6ee0096b9df
+"/>
+<palette number="270" name="Apophysis-040427-51SnikRchg" data="00eab49c009a523c00823c2d006b271e00521d2000391322003a1324003b1426
+006638420092574b00bf765500bf775700bf785a00b16a5300a45c4d00a14640
+009e313400b8123800bf164b00c61b5f00ce408200d766a600ca7a9900be8e8c
+009163650069414c00421f330031142300200913002b0c1c0036102500522c3b
+00854b4a00d1835f00e29a6800f3b27200f6c97200fae07200fae37d00fbe788
+00f4e1a600f4e4ca00f5e8ef00f9f3f200fefff500fcfae400faf6d300f3eeb6
+00e7cf9300cb8e7100c5826700bf775e00a9444c0094113b00801835006c1f2f
+002a0b110026090e0022070c0043091a00650c2800771c2100892c1b008e2d1c
+00893654009a767600bb829800dd8ebb00dd86b900de7fb700f2819500cc707d
+00d4123700d00f3600cc0d3600c90d3600c70e3700c90e3600cb0e3600c81a33
+00ad543400a1423000ac2d3200b7183400b4132900b10e1f00b90f2c00bc1145
+00ac8d9500bb929100ca988d00c68e7f00c2857200c4786000b9584f00a11f45
+00671a4e00193c40001a222a001b0915001a091300190a11000f051000020607
+00040d16000c0b1500140a150014081600150718000f0917000b081900140522
+00290837006242590071556900816979009b7d87006381b500588eaa00649bb0
+00bee19f00ced39300dec68800e5c78900ecc88a00ebab7b00ce967b00bec381
+00c5e9a100a8daf100a3d9f0009fd9ef009bdde9009ad7c700c0e3ab00a9d48c
+00c88c7000c57e6300c2715600c5454800c8193a00c9102f00c6102900c00f23
+00bf082700c3113100c7103100cb0f3200ca0e3100c90e2d00ca102700d00d2b
+00dc183e00da1d4400d9234b00d1605200d8874f00db795200ea505800de1f52
+00de194e00e45a5800e9775d00ee946200f6a36f00f39d7a00eec38c00fcd6a5
+00e99dcb00e2a6bb00dcafac00daa6a800c8acab00c2a2a300a2b98500aad384
+00b7da9600d2e8a700e7cade00e0f0fd00eee0e000e4eeb100edd49c00fcc380
+00f1a56900efa06600ee9c6400eb9a6300e9936200cb7e6400a0615a006b484e
+0058385000603d5e005072a20062adc4009fd3e900a9d7ef00c2edc200c0e7a6
+00cce49800c0e3ab00bbe1f400b0e3f600b4d9f300aacae300b99ea700b2989b
+007b9f7b0082c568006db96e006a987b0063acbb006dd5ce0085d8ea008ed9ee
+0094d7e8008ad7e90082d7eb0074cddf0073c4d9006d99bc00ab949c00b09ca7
+00a3d3a30097d8ba009ae0e8009ae1f300a7e6f800a1e2f4009bdff20099e0f2
+0098dfe100a3e1b800a1d884008fc06e00748c68006c4d53006f363d00602f20
+006d161c006a362900622f4000642049006445540078526700a3677300b47169
+00b4826100c6836600cc8b6500cd835e00d3826400e68d6500f58b7d00e9bfa6
+"/>
+<palette number="271" name="Apophysis-040427-51SmwhrDream" data="00282c1d00843c40008e592f0099771e00ad882300c1992800ba993b00b3994e
+00c1997600bc8b5a00b77d3e00ad5b1f00a33a0000aa642f00b18f5f00b8986f
+00c0a28000bda48e00b1a68d00a6a98c009fa7900099a694009da28f00a19e8b
+00a9a05d0086903b0064801a005b6b0e0052560200594c0100604301004b4002
+00404002003f310200473001004f2f00004b2b00004727000048230300491f06
+000d0a0500070503000101010000000000000000000000000000000000010000
+00020100001a130100342d01004e4701006c6837008a8a6e00a09e8a00b6b2a6
+00ffffff00ffffff00ffffff00fce6cc00f9ce9900efbd9500e5ad9200d7c3a0
+00d4c1a000ada365009189370075700a007c680500836100008c670c008f7c20
+008f6944007a6c2900656f0f00606708005c600100615b0400675608007c5102
+0088430000ab490200a1580b0097671500a17f1b00ac972200b1974c008f925d
+00893c46007d373c0072323300682f1b005e2d0400453305002e220c001b2701
+00283001004a4c0100445000003f550000355000002c4b0000235403000f4f01
+001c2e00001f3d0600224c0c00274e0a002d5109003a50070041540300416815
+00476d1a0046460000474b010049500200897d190066680700485600002f3d00
+003635000043320100502f0200543202005935030061310000643200005f3800
+0050400500534d000055580000576301005e570000694f0400795e03007e5402
+005138000043390200363b05002f40070029450a0028500900275f1e00186249
+0004593a003f500a0048570700515e0400645e00007d5f000083750800aa9f05
+00c3ad0c00c7b02700cbb44200b9a75500a99b3a008b8120005b721800566d13
+0065791600ce8f0400dea20600efb50900dbcb0600b4a70900817c0400616400
+003f6e2000366c35002d6a4b005587640074814c00848051008d781f00826501
+00a36f0200be790000c9750100dd660000c26601009e560100864a010079541f
+00882e3a008a3a1d008c4601008f550100b36a0100e4990a00ffb51400fdc516
+00ffea2d00faea3c00d0b48d00d7a89800f0b77200f0c81900f5b40e00da740f
+00af6303008d6102008c61050094690100b9670100e4700300ea6c0600fc8e11
+00e4840c00c58d1c00b7a85700aa967b00a39c8a008b987c008c864800a18313
+00b0890a00a6760700937103008d5a01007f5b030076510100683b02004e3701
+001f260000071e01000004000000010000000000000000000000000000000000
+0000000000000000000000000001030000070a00001219070040230500612702
+0087380000923003007f2c0000502502003c070d00180c000008010000020100
+00010101000000000000000000000002000100020001010100070f0200101e04
+"/>
+<palette number="272" name="Apophysis-040427-51eyepuzzl" data="0044c1dd0033f2ff0030f1d0002ef1a2002bf6600029fb1e0019df200009c322
+0000e2610000e49f0000e7dd0000c7c90000a8b5003a6d820075334f007f203d
+00890e2b00c6073200d9132e00ed1f2b00c3331500994700007f351200652324
+002f7082003b89990047a3b0002399a500008f9a00027b9000056887002d4470
+007e089d00cc04be00df12ce00f221de00db20cd00c51fbd00b816cd00ac0edd
+008a0bd8009007bb0097039f009b176e009f2c3d008d4128007c571300866727
+008f79140096851100978710009989100095850f0092810f00907f0f008f7d0f
+00746b0c0070630d006c5c0e0066580900605505006255060065550700655a0a
+006b5c07006b5a0c00735d0c007b610d0076610b007161090072660400735e03
+006e6008007869080083720800968b0800a9a40800a3ae04009eb8000087dd1c
+009acf0f00a89b00008f82040076690900716606006d6304005d7000002c6c15
+000bae79001a9f6d002a9162003d89440050812600837c38009f7f2c00dc9624
+00d4cf2d00dfbb1f00c3a41d00a88d1c00a48e2000a19024009e8914009e8a11
+0098850f0093800e008e7c0e0086750e007f6f0f0071610900616511003f6d2c
+0010884a0000886700018a4a00038d2e000c9815003d8700004797020033900e
+000c8d79001a80660028735400385e3d0048492700635a0b0066570600675805
+0067580500695b03006d5c0100725d0000806500008a7700008f7b0b008e7c0c
+007c680f006b7d1f005a922f0057964000549a520033e43e000deb0a001ccb02
+004a9e08008c7414008e7a110091800e0095810e00907f0d008e7c0e007a6512
+005c5d0f00445b14002c5a1a001072410013ac6c0000cc870001fba20010e3ae
+0011d38a0038d4110035bd080033a6000067a7000074b30400819000007e6b04
+0075690000807105008c7a0a008f7d0f00907f0d00907e100089760f007d6815
+007e571e0098151a0088141400712724006c451a0069570d00675c0a006a5b08
+006956090069560800695607006a5b060075560300715412006f2c0200594602
+0050460000594a05005e50000062560a0050500600325008000c7d00001d8911
+002a8317004a821d004d7b0f0060600a00655d0a0074640d007a70320079763f
+005881930037a5c0005f99ff002c4dc1006a28c800871cdc00c109f300e724fe
+00e512dd00f9079a00bf006400f46b2700fb8a2a00fae20c00faff2600dbff33
+00aaee29009ce60d00ae9c1200a3950e009e8a11009c8710009b88100098850f
+0096870a00928d0f0096850f00877c09007c810900659a320044b55b0032f37c
+0055ee790047cb530083da1c00b0bf2600d1b92500c3b97100c8bc7200e17e9d
+00f7177a00c0642500a6721f00a36700009a721d00807b2a009f934b0057ddff
+"/>
+<palette number="273" name="Apophysis-040427-51SpherInBlm" data="00908b6b001e191d00262025002e272e002c2b33002b2f380029323800273639
+002f363e002c3a3e002a3e3f003150460039634d004f82770065a1a1006fb0b1
+0079c0c2008be0db0084dacf007dd4c3007ac8a00077bc7d006ea76c0066935c
+0052403e00452a360039152f002a1a20001c2011001c1f11001d1f11001b1509
+001d1508001f1d100029221000332711003c2f170046381d005b432300714f29
+0082715500a7775600cd7e5700c5895500bd945400a48b59008c825f006a6a6c
+0071775b0098946400b19c6500caa46600ce9c6500d3956400c5906300b88b62
+007a727d0075767900717a75007a8f8e0083a5a7008eb3b3009ac1c000d4c7bf
+00e5edd5008adad70080c0c60077a7b5006ca0a700629a990056967e00518b73
+0060959b006fa9ae007ebdc2007dc2c2007dc8c3007dcbbd007dcfb800b1d99a
+00d3c69100e7c99500d1d39a00bbdda000a9d8a00098d4a1007acfbc0079ccb8
+004c75770038595000253e290022311e0020241300181c0e0010160c000c0a0b
+000f0b0c00181619001e1c21002522290025232a0026252b0024242600171719
+0010150f000e120d000d0f0c000d0e0c000d0d0d000d0c080016120700161207
+00111107000c0b07000c0b07000c0b07000a0a0800090907000a0a08000b0b09
+000b0c07000a0a07000a0907000b0807000c0807000c0807000e0808000e0808
+000d0b0c0022272d002f2e36003d3540007d536b00a97c6900dd738100d48389
+00c7b27d00aec08d0096ce9d008dd8b30085e3c9008de9dc0089e3d7007ecdc7
+007ebbbc00555b6b004d5a670045596400365051003849510038424c0036404a
+00303f4600333c4500373945002d3740003a303800444b2c0050502e00444325
+004040240037354000333a43002f4047002f40470032414800354d4d00475059
+007b795300998b5a00b89e6100aab66c008ec493006bb2940052807e0045666d
+0032474c002b282f00161a190013151200141e1500151f170018231d001f2f2e
+003d4b5600455f68004d747b0066a19f0076b1ab0080bebb008dc4a400b1db9c
+00cada9c00d7bd8a00dcbc8900d8ba8600d1b68700c8b07400ccaa6200c4ac70
+00a59193007ca585006da781005a89670047714d00406e5400487151004f7453
+005583690064a0a00070c2ab0076bfa20068b1930058876500385553002f3942
+001f292b00151f1400121c13000f0f07000d0c0800100c0d0016121300171d11
+001b2c1c001e3324001f322c00273037002f2e3600332a2f0034342800433c20
+0031331e0021322c00253d300027463400324e3700395056005f6062005e6668
+00615a6c00414f5a003b384300303d46002c453f0033504b003e5e5d00508573
+0074ada40093c4af00bae7ac00d5d5c900c8e2bb00b3e0a9007cc8a20070b692
+"/>
+<palette number="274" name="Apophysis-040427-51SunrisSpacTim" data="000d3f98004c78d7006f94c60093b0b600a9bfb000bfcfab00c1d7a600c3dfa2
+00cdeb9500dbf28a00e9f97f00eae87700ebd86f00eceb7300edff7700f1f673
+00f6ee6f00eca94000db9e3f00ca943e00b183440099724b008a7164007b707e
+00789fe0007ba1e7007ea4ef0080a0d500839cbb00708bb1005e7ba700876e4f
+009a813e00b09f7300adb59600aacbba009abbc7008babd4008caed0008eb1cd
+00a9c9d400a1c6c7009ac3bb009bb0aa009d9e9900a6907c00af836000aa783b
+00ba7a1800804c0000774300006f3b0100643510005a2f1f0054413a004f5356
+002b57b6003e6fd4005288f2006090ef006e98ec007299eb00769beb007da4df
+007fa7da00a1c3cf00bac3a500d4c37b00ddbd5e00e6b74100e3a93b00dd9a2f
+00c3841a00b5770d00a86b0000a7690000a76700009d610700945c0f0083683d
+00a8855d00bddd9a00ccec8a00dbfc7a00e9fb7600f8fa7300f3e65a00f5c154
+00e5a73800cf9a3c00b98e4000a3853f008d7d3f00807060005d699b003163b8
+003c68c7004d79d8004f7bda00517ddc004e7ad9004b77d6004a76d5004876d4
+00355eb800415489004e4a5b00523b4400572d2e00421b3a00380e36002f0c34
+00261062006a5b5800725e59007b625b00827d6a008f97990093a9b4008fa9b8
+00917c6900a2855b00b48e4d00c2a14800d0b54400d3c37800bfd19700b7cea4
+008ec2ac009fab4500aba64000b7a13c00d2a33700cd8d2100bb7d0e00b17209
+007c4d09005e352200401d3b003112430022074c00021e5d00070e6900002082
+00042f8d002c58b7003763c200436fce00527cd0005e8bf0006f99ef005181cd
+006b6155006e604500725f35007e4b12006e3c0100602f0000511d120051261d
+00482b1d005d2a1500612f0f0066350a006f3d0a007b4904008d550000a16300
+00965d0300925504008e4e060078440a00532b210039263c0009227400113d9c
+001040a2001541a0001642a10014409f00133888001d246a002f2d5200382e53
+00552e1f005f3515006a3c0b00824d070090570600936102009c630000a26600
+009c610000996102008e5c030088670a00915f2e008765490069604f0054627c
+004366aa003665c1003166d000315dbc002b57b6001553ca000e4ed600023ab5
+001642a1001847a300294ba5004b497a0066535500684b390070501d005e4713
+005b2f1600542a1a00512c1a00542e1b00623520007f4a3a008a675100847361
+00847f590082755200756e520077642c008048190067310f004e2923003e1b39
+003d3745006e4239007c5536008568580076697b006486c600658fe1006f9be4
+007fa4be0091a6a100b3955700cea03e00d8982c00ca8a1e00c0801200b77d11
+00c0801e00c9891f00d4942a00db972a00d6922300cc8d0a00a27c2900ba8619
+"/>
+<palette number="275" name="Apophysis-040427-51synaps" data="00aa966100c9e03800dfef3700f6ff3600f6ff4200f6ff4e00e7f74600d8ef3f
+00b9b43600cac13c00dbce4200e5dc5700efeb6d00f1de5a00f3d24700d9c041
+00c0af3b00cc334700d21b6b00d8038f00ce2b6900c5544400c17d4d00bea757
+00b8c34100c8d04f00d9de5d00eaea6f00fcf78100f7f28500f2ed8900ccd153
+009aca06004ea8370057922600617c15006d7d1b00797e22007c7a2100807621
+0096a74100bcc15300e2db6600edeca400f8fee200f9fef000fbffff00fffbff
+00fafdf400d1c8c100b2b1af00939b9e00997276009f4a4f009f505200a05655
+0070445d00852268009b007400b6008c00d200a400df05ac00ec0ab400fc14e4
+00f608f100ee07ad00f6117b00fe1b4900f8113200f3071b00eb062500e5245b
+00e1b7db00e6d2e300eceeeb00e0c0ec00d593ed00d976db00dd5aca00ca21ba
+00bd349e00a79caa00acabb700b1bbc500bfc0ca00cdc5d000daa4d500c1a8a3
+00c8777d00c34c9000be21a400c512a300cd04a200d9009100c6009500c50086
+00c0094100841502005e13140039122700330e28002e0b2900160d22002f1c32
+0020254b00201f4c00211a4d0028155700301161005a1653004f3042002f523e
+002161490087654c009d634e00b3625100b89b5f00cb9a7a00ae976100826d36
+00472a2200341a1f00210a1c001a051a00140019002a0b000034240d005e3905
+0044480d003a560200384b0f0036401d001851000020710800165100000f3a1e
+0047294d00623065007e377d00942b8800ab209300b00a9000a9127d008b475e
+009a494600a9282300981a3700870c4b00b1008100d308bc00f120d300ff29f9
+00ff2eea00f222d700e517c400e701a100de0a9200f80b3900fb051a00f91d0f
+00d4121b00b7006b00bf008700c700a400c609ab00cb17ac00af29a60098427f
+005a453400423734002a2a3400243c3c004048550047305e00633363006e1f60
+00711c93007f177a0096046900a3007400ab006500d1093000d7011900b31023
+006e4d44006d5342006d594000a15e2700ac8e1200917e39008d565300aa0d78
+00c80b8c00d3089f00f022b300f01db800e71ebc00c133ad0098668b00848a66
+0050a27a002b7896002d6c6100254f5d0044324a00592c4000810d3400a3000f
+00a8010800a10707009e011e00880051008c167400944c8c007b7ba1005db5b9
+008cdbd60052f5f20042ade5005eb9b00071995200b49a5d00c6a76400c7ba5e
+00d5bb7e00f0d99300d39b8a00977d86007071610061616100595c6b008a677f
+00b9658600c97c9000f055bd00de1ec100bd14ab00ae009c0097007600700469
+005c1c4100411c24003522420043512e005c5336006b463e00711c5d00681156
+004c06450035163800422f210050381e005d483500755e4e009a733a00c47d5d
+"/>
+<palette number="276" name="Apophysis-040427-51StPeacocl" data="001208c100212530002d1523003a05170065092200900d2d00a1063400b3003c
+00e60d1500eb060b00f1000200ed030400ea060700ed2e0d00f1561400e85f25
+00e0683600c2a24f00a9bc2a0090d606006e9f09004c690d00394f0d0027360d
+000a040000050200000001000000020000000400000806000010090100291121
+00260995001b44c00027377600342b2c00313a21002e491600354614003d4313
+006d500e00835f23009a6f38007d67500061606800655e7d006a5d93007f2c86
+004a0489000010e0001c0ddf00380ade004136ea004b63f7004b4ecd004c39a4
+00521e4500781a2f009e161a00b9101400d50a0e00dc070d00e4040c00e40309
+00f8010900f5010300ee060800e80c0e00e3231300de3b1800ef602800f27442
+00daa6d400c174bd00a943a700934f72007e5b3d00674b3000513b24003c3626
+00393d0b00112800000a150000030300000202000001010100080000001f0000
+004f0004007b000200a7000000ad020400b3040900d50a1000ca340f00c96237
+00a9923200dd554700ee874100ffb93c00fec03500fdc72f00f78c0c00e55f16
+00833a1a00582d0e002e2003002b280100293000001634000024500500348950
+0036cd6c0035ebba003dadab00466f9d00625f5a007e1f4700a8053400b50140
+00c6050a00ce020500d6000000c90f0000bc1e0000a2320a00a95e0000a88311
+009e7d1600599929003da0140022a700003bb53c0065b85c0046b571004bdcbb
+007b9675008d785300a05b3200985a3900905a4000845936005f573300526d40
+00366d460060660000795e030093560600b1200500ce0a0000d7020000e10001
+00e3000900e0030700dd070500c71d0000dc3d0500f04a0000ef4a1d00ff520e
+00ff6c0e00e0520a00dd560f00da5b1400c06b1a00b5461800a0531b00983a21
+004c050b0046050500410600002f000000290e0000261003001c100000241a0e
+001a25170035370500343400003b2f0500382e0b004418190051372800793b24
+00d21e6800d4118e00d704b500901299006920a60078009c005c027d0039144a
+00350419006a000e008a0007009e000000aa08130097060900870c0f007a3c0d
+006d330e0065310000452200004a4204004c4d0b003c6d1e00346b440036533d
+002a4e2a003c571400383d0500131f1500070007000100000000000000000000
+000000000000000000000100000100000003000000140000002d020b003b2049
+007c134b0076006d005c06750060136500662a6800634d3f0083582d00706126
+005b58250035503d0048463a00714f2c00893e1600c8541900cf450700db4400
+00d8501600cd523000de3c5100b6513f00a26a450094533d00ae354600b90e17
+00be030a00c1050600b5000700af000000ab000000930000005710220083051b
+"/>
+<palette number="277" name="Apophysis-040427-51TmplWatrs2" data="003a1f0a001e0c0200211d0f00252e1d002f301c003a321b003c371a003f3c19
+00683810008b401400af491900c7270c00e0050000b61a03008d3007007d390a
+006e430e00663d1d0053280f00411401003d0a070039000d0036020800340404
+0017000800190504001c0b01002b1002003b1604004b2407005c320a007f330f
+0084461d0085592800855f2f00856637008b773f009189480094914e00989955
+00bd9a5800d5915300ed894e00c9845000a57f52009c774f00936f4d00785b3d
+0062513f00623b1c00663412006a2e0900754015008052210084542200895724
+009069320089733c00837e46008c7c4300957b40009b7c3f00a17d3f00966e31
+0099622c00a7683300a8682f00a9692c00a5622900a15b270094430e00852c02
+006e0005005b000300480001003d060100320c010034140400371c07003d2710
+0055311700866437009e7e4600b7985500cba06000dfa96b00efb38100fad58e
+00eca66b00d5885000be6b3500b5642e00ad5d2800a15e2a00995e260091622e
+0087582400874918008e370c00952500008e1602008707040082080300832f0d
+009b663000a1713700a87c3f00a2783b009d7538009c5d2700a13e1400911e01
+006c030000511f14004e2b18004c381d004d4226005852300079593300825625
+00a74c1f00a5421500a4390b00a12c05009f2000009b3409009d3d13009e3e14
+00953b1600643710005b321200522e1400443715003c2b1b0038291400321028
+000f0037001f001e002f0006003b0004004800030062030100780002007b0100
+007c021900503a22004f462a004f523300575a3b00716336007e6836008d662b
+00855622007e4f210078482000744b1d007f541f00885b2400906a2c009a692f
+00ad6d2f00c6924900be7f3e00b76c3300b3592400914312006f2e0400591701
+005a00000058010000560200004f0000004c0c0200470d0100460e0100552705
+0060351300644622006a5c2b00696b3c007e7846008581410088874e0088894f
+007c7f46007a7b4500797744005f584e00494a380045421f00344324003e3d21
+004d381b00683c1500794a1c009c5a2800b3662e00df7f4d00f0a86e00e3ccba
+00ebecde00eeedeb00ebece600eceddd00c8c8ca00d2bd7c00c18b690099887e
+00826555007b6357007a664b006f6740006b5e3c0059533b0054462c00543719
+005e2c07004e140000471700005e2d0d00744a1a00855d39008b764b00ac8e6a
+00b9b47c00cfc67b00e2e39f00ebecda00ecede700f4f3df00edeec200eeeba6
+00eaeb9f00ecd99500e8c78400ddac6900a381440084603000654e2400442c12
+00321503003712000043250d005e3313007c61320095965c009cb06900bac782
+00beba7100b6ab69009f9a5800969753009d844400a78d5000acaf6800a89459
+"/>
+<palette number="278" name="Apophysis-040427-51TeddyScare" data="00b099a3003bdbff0030c5ee0025afde002786e6002a5dee002649e4002336db
+00266fd8002989d7002ca4d60026b5d40020c6d20025d1cd002addc8002dd8c7
+0031d3c600179dba000b7279000047380000282000000a080000090800000908
+00143f3500145e5600157e770012655e00104d46000e3c37000d2b290000000e
+0001030200000000000000000000000000000100000003000000080300000d06
+0012575400186b85001f80b7006593ac00aba6a200b8a16700c69c2c00c9b520
+009e8520002791870029999d002ca1b3002db2c5002fc4d80045c4de005cc5e5
+00b3b7da0075ade30037a3ec002dbee00024d9d40025dad00027dccd0027dccd
+0024d3c20027b4e2002795dc002877d6002559d800233bdb002a25e4002336db
+00274cd900236bdf001f8be5001fafe0001fd4db0026e3d8002ef3d50024dfce
+0025d7c90026afd90022a5c9001e9bb9001ca5b6001aafb3001caeae001d9188
+001e938300156f63000d4c44000a3c3c00072c35001307110003010400000002
+0000000000000000000000000000000000000000000000000000000000010002
+00180016001d104300232071001c22a0001624cf002336db001f3ad300233dd0
+0033188b00130015000a000d0001000500000000000000000000000000000000
+00000000000000000000000000000100000002000000060300000a0900002d2d
+0013504b0011ada20017bdaf001ecdbc0024c7c4001da79a001d857e0010453d
+0001050400000202000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000002040000010a0000001000002333001a3e88001250cb002d70db
+0091828700a65c9600bc36a500c322bd00c026d200ae24b7008e148d0038033b
+0020002400160517000503080001010100000000000000000000000000000000
+00000002000001040000020600040e0d000734370021728d001887bf001c6dc6
+001c33bd00363b8c0035113d0035012f0020041a000b00000003010200020c0b
+0009332f00157359001b977d0013a0900014ad9b0019a1970014897700113b39
+0007121600010504000002020000000000000000000000000000000200000407
+000016140000332f00005560001b67a3001c8fc8002199bc001999ca0020a9d7
+0024a1d7001a96d4001a86de00197bd400225fd2001c4bd5004650cb006974e8
+00a182d200dadee700e2ebfa00fae0ed00c14fff00cb1bde00c71cda00bf21d6
+00aa21b7004b2f7c002f32650027193a001d051f0010040e0003070a00071611
+00083d3500137b720020a39e0021cab5001bdabb0017d6b7000fbba5000fa896
+"/>
+<palette number="279" name="Apophysis-040427-51kaosGardenr" data="003b005000045157001b6a6600328476002aac610022d44c002ce2590037f067
+0053f15e0080f47500aef78c00d1f24800f4ee0400d3c53300b29c6300a8a869
+009fb46f0076c9790085c4780094bf77009fa46d00ab896300af785e00b36759
+00bb333500c91b3800d8033b00c4082800b10d1600a111220091152f00533048
+000400ad00000528000002140000000000000000000000000000000000000000
+0000010600000105000001040000000200000000000001000000020000002b22
+00006f110027c94f004bcb610070cd74004de16e002af568001df65f0011f757
+0020d0880015d2a1000bd5bb0020b28b00358f5b0055885200768149007e783c
+00866f45007e5a4e0087644b00906e49009a744e00a57b5300b5906600e58495
+00f9a1eb00f994e000f988d600cc99a400a0ab730094b0740089b576006cbb6a
+0064b559008b9f080096842900a2694b00b6804700ca984300ff896d00e8918a
+00f378a600ef6d9d00ec629500de639300d0659100b17786009d71a600791bb1
+008904b500741b2d00830d1600930000007e0c16006a192c0046303200492c28
+00933917009a301300a22810008f310e007d3a0d00555b050016400000376f14
+005c721f0095554900a65d5000b8665800f1667900f75d7f00e6687d00eaa383
+00c8b885009dbe760073c4670067cd59005cd74b0070c46f008dcf7800b5c78d
+00cfd99c00f1ecb400f3e2b200f6d9b100e9ae9c00f378a600ff72a400f3669a
+00e3899200c09c83009daf750097bd790092cb7e0099cc7f00b1bc7a00cab67b
+00d8988e00c47c6600ae715600986746005e6d2c00507213001bce4e0006e940
+0000ef430009f04d0012f1580032e75c0044c8510051cd510063b0520078b25d
+0088855c00927d50008e8557008b8e5f007ca6670078c46a0083b96d0080ac71
+00796b6a00775b5f00754c5400af2f2400b12a2600bd373400a1373b00664744
+0042545e001c02a1005c00d900864ee300786ac100af7d8900b18c86009a6462
+00863d1400863d1200873d10008b351200a2211b009d361300b76200007e5b00
+002a280000080a090000030000030002001206000039393b005e544b00856e4e
+00a7a16d00baba7e00bdc48100becc8e00e8c69900e7bda500d1ab7e00ad9b73
+00a4846d00b57c6b00c7666f00b76a72009480680091af690093b779008ed47e
+0098e98d009fff9a00aefc99009bf778007dca6a0055ba5c00699d5d004a6657
+007664640096624c00c7663900f14c4600de2a2b00ba085400ca0ca400896e67
+0045bd5c000fe2450002eb420002ec3f0003eb3f0019da490037ca570071da7d
+00b3e8a000def79900f2f0a500f3eca800eadfa900e9bca500eac8ac00f3ddb6
+00f4f0a600f1e0b200edb6a100ec859a00e85e8f00dd648d00be848300b39d6b
+"/>
+<palette number="280" name="Apophysis-040427-51Thatway4" data="006c371500d0a15900dbc66900e7eb7a00ebd79c00f0c3be00ecb1c100e99fc4
+00a27fe5009a78e3009271e200af9acc00ccc4b700dec28d00f1c06300dfa35a
+00ce875100865b2e00814b27007c3c21007e4013008145060081430500824204
+007e370d0076430f006e5012007249160076421b00834e2000905b2500a66022
+00cd7b2500c5944700d8bd4f00ece75800e4c14900dd9b3b00d1893600c67732
+0087411d006d3310005325040030180a000d0b1000080e13000411170013252f
+0066442900906a2100b2692800d5682f00c4642200b3611500a6540d00994806
+00833700008c38050095390a00874013007a471c0080471900874717008d4d0f
+0088440300914100008c31000088220000822200007c2200005d220200481c00
+00101600000c0e050009070a0010090e00180b1200200f0e0028140b00582500
+007c360000974223008d4c2b00835734008a533400924f34009b4e32009a5130
+0076442300773e200078381d007d311800822a1400932e1200852d0700792700
+006b280000460a00002e050000170000001600050015000a0002001300040615
+00090024001002310017053f00150a3b00140f3700161630003e0c15005c1c00
+00742200005f0c0000560600004e0000005215000064280c007a271700823b0f
+00a04e1c00a44f1700a9511200ac470900b03e0000b14a0f00d86f2d00e57239
+00ed844d00e9914a00e0904500d88f4000e7882c00da7d2d00b8661a00a3570b
+00743f0000613e0a004f3d1500322d1d00161d250015131e00281a1a00623611
+007a370d00803000007c320000783500006a2e000067340900692e0e00712f0d
+006d2c0e006c3112006b3617006f401400794e19007d5319009a5f0f00ba7927
+00ca843c00dc833f00e3894400ea8f4900f4995000ffa86c00f0ad6600d8b283
+00e8e5c200e8e7d300e9eae400e9e8bc00d8cba900d1d3bd00e7e1ef00f0e2f1
+00f9d7f800ffe1f800fcf1ef00ffe5be00dfc48f00b59d5700a07b2b009c5a28
+0098491e00984b1900994e14008c4c1c0085532200884c320073442600664524
+0062401a0068371700613214003b090a0020060900190600002a060000331700
+004f310000633000005f2100005c2200004a1300003811000022040000140000
+0012000000000b00000e0d00001107050009061100130512002f1111005a4526
+004b4768007c6079007a7fe300616fec00755ef400522feb0043245f004d0954
+006c2d4c0079371f00943e1b009e4c1400a0470d0096421300883c1c0079391d
+007b3c1b008e401200a8502200bb6a3d00e5965b00fddd7800f2e87700e7f267
+00e9e56700c0aa6e00bc7b5b008e5f35007946310060481c005d3e1000321809
+001a140800141a1600613a1d006a4c2600763f2a008e4e2b00e27d3900ad591d
+"/>
+<palette number="281" name="Apophysis-040427-51ThatwayGrn" data="004f420d005333000064370000763b0000774100007848000077480000774800
+004e370500423005003629060038270a003a260e00463d1000525512004a6d27
+0043853d0043853e00417d3d0040753d00435221004730060044290300412300
+0046350100455f19004589320043903300429835003f9c34003da034003ba334
+003ba334003aa134003ca134003ea135003da034003da034003d9e34003e9d35
+004086400043804500477b4a0048794e00497752004977520049775200497752
+0049794f00449435004296350041993500429735004495360046923600498f36
+00905a00007d6206006a6b0d0056772700438442004383460044834a0047814f
+004a7f55004b7857004b7756004b7756004b7756004b7756004c7a56004c7759
+004b775600447952003d7c4f003e844500408d3b003f9139003f963700439435
+00428d3b0046923700429537003e9838003f9a3600409d35003da034003da034
+00419935004396350046933500557b2200656310007a5400006b390000552a00
+003c2000003522010046260100582b02005f3101006638000075400000764701
+005c54160050672e00457b4700405630003c3219002d201000251c0b00201207
+002d200d004676460047774b00487850004c775b004b7864004c7764004c7764
+004b7a560073732d009b6c04009e720300a27802006889300047923700469237
+0044883d0043853e0043853e0043853e00437e4400467845006d4511007f5200
+00944e0600894603007e3e010071390200643403004c1e07003f1d01003a1600
+00361502003d1c0000421e02004821040067380400834900009d610000aa8500
+00a2942b007c982700569d2300489a3800429a3400419c3500419c3500409b34
+00419c35003f9e36003e9f35003ea135003ca435003ca435003ea135003f9e36
+004298350043943500459136006a7620009a6c0000a47300008f6c100052765a
+00507762004e7864004b7766004e7864004f775f004b77560047784b003e4613
+002d1c00002c1803002c150700251305002d1103002f15000031220100383002
+004a360000623901007b3b000080450000825600006c623100497750004c775c
+004b78640048786c0049776c004b7766004c7764004c775b004977500047784b
+0038390f00332808002f2408002c2908002f2c0b002f320700354101003c5b22
+0047784b004b7f59004b865a0047814f0040863e004494350043973700439735
+004494350043863f00497c51004c775b004f775f004e78620050776200507762
+005077640050776200507762004e7a61004b7a5800487f550045824900418b40
+004494350044943500448d3b0046853e00437d43005c4712003e281300331d08
+002e19040039200100492e0100693a0400835001009a630000b2a03e00aa7c02
+"/>
+<palette number="282" name="Apophysis-040427-51TreeLife1" data="00c7901100291e2c00593e24008a5e1d00a1731a00b8891700be8f1e00c59526
+00cea93e00d6bb6300dfce8800decf9400ddd1a100cfa97200c1814400bf8535
+00be8a2700ad780600ac770400ab760200a66f0100a1690000a2660000a46400
+00944c00008e440000893d0000832b00007d1a0000741600006b1200004a001c
+0021001d0007060c002d0a0900540e06006a1e0300812f0000893c0000924a00
+00aa710600b07a0800b6840b00c28e1100ce991700d1a01c00d4a82100d6b52a
+00e4bd3200eed44100f0d54400f3d74800e9c73e00e0b83500d9b13300d3ab31
+00c3931700bb8a0f00b3810800ab730600a46504009f5e02009b580100954d01
+00924a0200985101009b5a01009f6301009e6201009d610100905700008a4400
+007445000074410000753d0000793400007d2c0100792a0000752900006d2a00
+007d2c01008b3d0000955101009f650200a46c0400aa740700b17c0a00b6840b
+00b7850c00b8870a00b9890900b9880a00b9870c00ba880d00be8c0f00c49513
+00d0a21900ddb42800e0b82c00e4bd3100e1ba2e00deb72b00d8ac2500d3a222
+00c6971500be8d1000b6840b00b07d0800ab760600a0640200944c00008a4000
+008a3d0500914d06009b5b0500a56a0400b5820c00c18f1600cc9d1900d3a51e
+00d3a72000ce9f2300c9972600c3911b00bd8b1000ad780600a16107008c4310
+007023070036041d00370d260038162f00201d2400312334002b2f5500503467
+00444d4c00524e5900614f670068555400705c4100935f2d00a5690900aa7407
+00b6840b00c08e1100c4931400c8991700cda11c00d3a51e00cb9f1a00c59614
+00b3791600ad742100a7702d00b08aa100a599cb00a89cce00ab9ee400c9c9e3
+00cfc3d100ffe69c00faeb8e00f6f08000f6f87300fef55c00ffeb6000ffe961
+00efca3b00edc93a00ebc83a00edc63b00e8c23d00e9cb6900d3a29b00a06567
+0091582d00834a1f008b4112008a3f0500893d0000863f0100863f0100893e00
+008331010082300000812f0000843401008b3f000090480000934e00009a5b00
+00a1650300a46d0800a07d0000ad7c0300b6840b00c08e1100cc9d1b00d19f26
+00d6aa2300ddb62a00e4bd3100e5c03100e7c23500e8c13500e3bc3000deb529
+00d5a92200c99a1800bd841300a36a1000764c22005d455d006e596c00724b68
+0080463200995e1800a8740600ad7a0700b5830a00af7c0700ac770500a86a07
+00a959040096410000802e0000752300006d1c00005800000041001a0021001b
+0008000f0026051a00620e0300741a0f00751d0f007a2b1c006f5e6e009583b3
+009f91b400837086009e617100a7632600b07b0b00b5820c00bc8a0f00c59710
+00c7a41200d5ac2000eabd0c00ffc52300f0c92c00e5be3200dcb02900d2a120
+"/>
+<palette number="283" name="Apophysis-040427-51TreeLife" data="00a0550200a25602009f5406009d530a00a1570600a65c0300a75f0200a86202
+00a45a03009d530200964c0100904500008a3e0000843700007f3100007b2e00
+00782b01007628010077270000782700007b2c00007f31010082350100863901
+00996e4e00ba987900dbc2a400ead18300fae16300efd14d00e5c13700d09d1e
+00a9620800863901007c300000732800006f2300006b1f00006a1f0000692000
+006e2401007226010076280100782c02007b31040080340200853800008b4000
+0092450100a1550700a4620300a7700000a46f1c00a26f380099693c00916341
+00a26111009a530d0092460a0085390500792c000074280000702400006a1f00
+00621a0100601800005d1e00005a2400005f220000642000006f250000782b01
+0088421100a0683a00b88e6400c4a28d00d1b7b600e4d09b00f7e98000fff582
+00fcee7400fdec6800fae96800f8e66800f6de5e00f4d75500ddb03100b9812e
+009a4e020090420100863601007f300300792b050076270600712a0e006f2309
+006c2101006c2101006f240100732801007427000075270000782b01007b2e04
+008437000085390000873b0100863900008538000084370000833400007d2f01
+007f2e03008437010085390100873b01008c4100008d4700008d5200008d4800
+00823501007c2f0000772a00007529000073280100712501006c220000682101
+00692000006c2101006c2100006d220000702400007426000075270000712600
+006a1f0000671c0000641a00006219000061190100611901005f1c0200621a01
+00661c0100681e0100681f000069200000681f0000661c0100631b0200621900
+00601800005f1700005f170100601800006018000061190100661c01006c2200
+0073280000873a02008c3f070091440c00974c09009c653c00b1865100caa998
+00dccbed00dbcbee00dbcbf000e1d3ca00fcf88a00f3de5f00d3a21f00d58514
+00bd731400a45d03009b4f0100944b0000934900009147000092480100944703
+0084370100803301007d2f0100782a00007628010074290100732b0000772a00
+00792c00007e3000008434000086390100823f08008c460b008b481400927a4c
+00c6a48800cfb4bd00cfb6cc00d3bec700e0cbd400ede0e700f1f0ad00f7df65
+00dcaf5200b7844500a55e0e009a4e02008d3f00007e320000762801006c2101
+00661c01005d17000055120100460e0000460a00004b09000057130000601800
+00671d00006e240000762900007f310100863a00008b3f01008e4300008f4400
+00904202008a3e02008b3c0100893d0100873b0100863a0000893a01008d3b00
+0091440000964c0100a0580300a9660000be7f0d00c78d1000cd981800ce9719
+00c8881c00b06b0e00a3580700964808008e39000080330900822300007d2404
+"/>
+<palette number="284" name="Apophysis-040427-51triflwr" data="00693a04009b5b04009d5e0c00a0621500b1653c00c2696300bd6d6d00b97278
+0094651500603d11002c150d00160b06000001000000000d0000001b0001223c
+0002445e0001396a00395b9300727dbd008199ca0091b5d7009ec3d500acd2d3
+00735f9c0064367c00550e5c002a093100000407000002030000000000010000
+000600000071240a00804105008f5e01008b6e0300887e05007a8006006d8307
+00287501002874000029740000476b0100666302006653040066440700734a14
+005d482d006b374e00845368009e6f8300b29f8f00c6d09b00cccbad00d3c6c0
+00b3939e00b2898e00b27f7e00ab8c9000a59aa2009a95ac009090b600758bc5
+003657ca002e3bc7001723b400010ba100001c8a00002e740000327100073781
+004264d2005789de006dafeb0088bfe700a3d0e300a0d6da009edcd10094b2cc
+008074a200362dae0026348000173b53002b413e003f482900574e1300805507
+00995001008f2e0000850d00008e0a000097070000ac0017008c002500880f04
+0089300400714715004447300017474b000c485200014a59000042620000346e
+0050177e00642a7400793e6a0086415e00934553008e641000965d0600a25402
+00aa4d0000aa530600a74d0300a448000090381200810f1900720d2b007c003e
+00b90b2200cd101300e2150400e11f0500e0290700b04a0000ae4c0100a55405
+00985c0600665f290046552a00274c2b000a514d00003271000b009f001200a8
+000005b700090fbc001219c1001318bf001417be00001e8800013c6800164f48
+003c670d007f810200847d0400897a0700965d06009d570100a6530300a35201
+009645060087381000782b1b00711b4c00510366002f146300132b6700263749
+0001060a00000000000300000007000000443b1c006c4504008b670600887807
+00856a0000725a0800604a1100414520001d4f2a000e55470004545d00106953
+00066b3100016c1a00016e13002a7a25006f600d00915e05009c5b0900a95306
+00db4b3100e05c3a00e56e4300e6542f00e4460700b04c0000ad510600bc6047
+00d78f6700abc0af00addfdc00ade4de009cf4dc0095ebff00aee9f100aee7f0
+00b2e2ee00c6caf000cbc6e400c2e6dc00b4e1cd00c4beae00afa4a000b6778a
+008f426e008022570089215200881c5000961e3900a7244400985d1900a95306
+00b3610000d5651300e9744800ffbb5200f5ffac00e8cbf700e8b2fd00ef9fe4
+00ddc7c900d7a99900e4794b00df781300e05d0b00ce550200b04c0100aa5b00
+00a15603009b580100984f00007c36020081230000830d0000800c1f006a172b
+004b1c3e0034077000280891000f029000180b7f00402258003f2d3b0049441a
+007845040094510300a44e0100ab4e0000a7450000ab273e007f406b00883762
+"/>
+<palette number="285" name="Apophysis-040427-51mitosis" data="004e526d0071314100542e2d00372c1a0035301d00333520002d312600282e2c
+002d2534002f2c370031343b003b485300465d6b00607786007a91a100889cac
+0097a8b80077a5bd0077aebf0078b8c200a3dbd600ceffea00e0fff300f2fffd
+00fafaff00e9d3d700d9acaf00e5a78600f2a35e00f4955c00f7885a00f08247
+00ce956a00b4628600cc625c00e5633200c85b3300ac533500a34a48009b415b
+0071657300767175007c7d77008b8a85009b9893009a9d9c009aa2a5009590a4
+007e818a00525c5d00404a4a002f3938002f292f00301a260033171c00361413
+0033050700590703007f090000970b0500af0d0a00c21f2600d5324300e92114
+00d31505009f220c00a12d2a00a43848009c364800943549007b5347007c212a
+0050182100430c1000360000001e0100000602010004030000030400000f0402
+000e040500101f1a001e242a002d2a3b00333145003a3850004f4a6800544e6a
+0042415300373b45002d353800263030001f2b29000f1e17000a080900080600
+000e060400161a0c001d230a00252d080024350800233e0900303a0600353b39
+005a657b005b798c005c8d9e005b8295005b778c0069758f0060708000596980
+0059746b003f717c00416f7500446d6f00516870005b617b007e608600a36fa0
+00bfb4c400c3c3c900c7d3cf00dee4e700f6f6ff00fcf9ff00fcfdff00fffbff
+00fbffff00c4d4d300b5c5c300a7b6b30097969c007c74890062606d00505654
+002a3b330025353300213033001d2d2b001a2b230015202400140e1a001d0e15
+001e1d1b00361c1b003c1a1a0043191a005a202c0042332e003d465700575560
+008d628d00956592009e6997008d5477006a4f7200574e6900455356003f4247
+00303b37002c333d002d3a46002e4150003b5c51003e5865003d6e75003c5762
+0029333f0027363a0026393500273d310030403500354c440055555300707149
+00717167007d7f7c009e9c90009eaaaa00a1a5ae009e95b2007f99960072789a
+007999b2008fa6b200a5b3b300afbec300d2f9f800f1fffe00f7fffe00e4edf2
+00beadd700948aa2006f638b00646965004363560032494100313e370038413c
+003d5643003a67520034666d00467680004c828e0054738500506d7f00477582
+00477582004a6e7a004c647000464e61003b384b003a273a0050292c003d1418
+002f0809003b000200260402001a10190025262800273039003037490042445b
+005c5b69006781740080888b008e9da20082ac96007e938c007f746e0073583d
+00433e3b00322d310025312d002229220019221f002224190018310700112800
+000f140000080f0000060600000e040200170302002701000026050000300b02
+00331515002721210015201c000d1110001b0c0f00231723001e1b26002d1f1f
+"/>
+<palette number="286" name="Apophysis-040427-51triflwer" data="008e6805008c6c0900796f0a0066720c0053492b0040214a0058496700717284
+00a0cbba00a3cfcd00a7d3e00090c8e5007abdea0079c8f20078d4fb0085ddf4
+0093e6ee00cbedca00c9d2c400c7b8bf00b3979d009f767c007e6e49005d6617
+0000317300021c800004088d001b189e003228af003a44be004260ce00638bd0
+0095a3d400eaebcb00e6dbc200e2cbb900dadd8f00d3ef6600dfdc7800ebc98a
+00d75e0d00d2670900cd700600c3690300b9630000b3590200ad4f0500a75202
+00a54e0100b6410000a32a000091140000871402007e140400840c07008b040b
+0076003d00550d4c00341a5b00281057001c0754000f052a0003040000000000
+00000000004f3622005f34140070330600782503008117000081120100830705
+006c0439004d1373002f23ad004733ba005f44c7005c43b2005a439e00593e9d
+00632f820061328200805485009f768800a1758500a3758200bd857800bc5b3a
+009b5b04009a5903009a5802009b5401009d500000a94d0000b64a0c00bc3e42
+00a55e70005e5da900676eb2007180bb007894c8007fa8d6009cb2c0007188be
+005d59a50071609a0086679000865f8a00865785009f4e5d00a2284f007f340d
+008f3302007a450f00773c150074341b005413350022334f0008425800076354
+0005584e00065d3800086222000759390006505100083f5d000b3e5d00003c68
+00003c6b002a1a590030195800371957005339220074160c007f0d15007c0034
+007d094800742b6c006c4d910070508f0075548d0082628b00856f9d005a439e
+00112eba003f67e000506fd1006177c300a0aeb100d2add600e6d79400e7c993
+00d3614700d25d4500d2594400d5513800c2414500b9333c00a92a45009b1e48
+00a3072e00aa011e00a40125009e012c0093002c0085002d007d0f1c007c4119
+00856100006f65080059691000335a1700124351000e346100041b85000a068e
+0019038a002100950032007e0052186c00852759009c2751009c284f00bf373b
+00f84f0a00e0590800c8640600a4550600975a0100955c020085580300773a01
+00543f14004f4b1e00434a170008050000000000000000000000000000000000
+00000201000210680000257d0002098e00040093000b009a001000960016019e
+000600b1000d24d2000126f9000030dd00120cb4003e0a8900451a4500704319
+0093480700a35a0b00c6766f00d39e7400cc8f72008c59680038323c002b3a3d
+000202020000000000070e000050500a006a800100628100004c7c0400467c02
+000a611300016f10001e7e1c004e7e06008283010085810300897c09008b7005
+00925f0600965e0700a0580600ab4f0200af470000b8470000b04c0000a84d00
+00a35000009a570000965801008c590000753a00006f280a003a0c0000000000
+"/>
+<palette number="287" name="Apophysis-040427-51yggF" data="002f302a0040413b004c4d4700585954005a5a5d005c5c66005d5d67005e5e68
+00646560005f605b005b5c570051544f00484d47003d413f0032363700303234
+002f2f31002a2927002a2a26002a2b2600292a2600292927002b2b29002d2d2b
+003635310034372f00323a2d0032362e0032323000322f2e00332d2d00342a28
+00302e2f00383b400040434a00484b54004a4e58004d515c0052545e00575761
+00545e530051574f004f504b00454646003c3d4200393a3f0037383d00353439
+00323136002e2d32002b2b2c0029292700242425001f2024001f1f2400201f24
+0016151a000e101200060c0a00101310001a1b16001c1c19001e1e1c00242422
+002a2b260036382d00383a31003b3c36003b3c37003c3d38003c3c3a003b3f40
+003b3e47003f4143004445400040403d003c3c3a003b3b39003b3b3900383836
+00343432002e2f2a002d2d29002d2c28002d2c29002d2d2b002e2e2c002e2d32
+002d2c31002a292e0027262b0026252a0026252a002a2a28002b2b2d002f2e33
+003231360032313600302f33002e2e30002b2b2b00292927002424220020201e
+0020201e00252522002a2b260030312c00363732003e3f3a004a46430051524c
+00545550004f504a004e4e4a004d4d4b00494a450049494700494951004b4b55
+00595c630070696500877767009f784400b77a2100af6d1600a6670a00794803
+00684408006c6f7800797c840086899000a3a2a700b8bab500afbeb900a7a6ac
+007f8085006f70700060615b0060615b0061625c0075757700878d83008f9094
+00a6a5a100b9b9c100cdcad400e2dce800fbe5d000fee0c800f2d59d00f3bd81
+0090937e0083857f00777781006969670056575200494947004444420040413c
+003c3d38003a3b35003a3b36003b3c37003b3c37003c3d37003e3d39003f403b
+00434341004445410046474200474843004c4c4a005d5c58006a6b66009f8165
+00d7a25e00d8a56600d9cdb500e2e3e700f0f3e800fde3c800fed9bc00f8c48b
+00b4801d0095620e00764500002f312400252523001b1b1d001a191e00181a17
+001d1d1b0023232100282826002b2c270030312c0035353300393836003a3b35
+003b3c36003a3b35003637320033342f002f2f2d002c2c2a00292e2700293029
+002e2f2a0030312c0032332e0033342f00333331003232320031323400343338
+0036353a003b3b39003d3c38003f3e3a0040413c0040423d0041413f003f3f3d
+003a3c3b0037363b0035343900323136002f2e33002d2d2b0029292700252523
+00232321001f1f1d001d1d1b001d1d1b001c1c1a001c1c1a001d1e19001f1f17
+0020211b002323210026262400282723002c2b26002d2e2900343530003a3b35
+003b3c37003c3d38003e3f3a0040413c003f403b003b3c370039393700303435
+"/>
+<palette number="288" name="Apophysis-040427-51Gwrap" data="0000000000000000000000000000000000000000000000000000000000000000
+00a7701d00c88b1b00e9a61900f2b03e00fcba6300f5bc6000efbf5d00f3ba5a
+00f7b55700a0926b006b827a0036728a001b7f7400008d5f00109a530020a748
+00b5ac8b00866e7a0057316a002b183500000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000000000052351a00a46b3400c2892400e0a81500fa970600ea421b
+00dc241c00ed1e1b00fe181a00e90c1500d4001100981409005c280100000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000067313e00b2732c00feb51b00fab53900f7b55700fab75c00febc1d
+00ff980000c66b1a008d3f35006f39380052333b000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+00000000000100000084382000b05a4b00cb5a4c00b84f3900ae3e2a005f351f
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000031463f00a6927700c5beab00fffff300feffe0
+00fdff7800fbb85f00ff393a00be061e005c252b000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000010101004b76490067ca00
+00aabc4c00bebc6700b999340082682f002c2f00000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+"/>
+<palette number="289" name="Apophysis-040428-1Gradient1" data="001c9d49001f8144000f40220000000000000000000000000000000000000000
+0016620000198e04001cbb08001aca040019da010019da010019da010019da01
+0019da010019da010019da010019da01001cda04001fdb070020db080021db0a
+0014b44c00199e49001f8947001f444c001f0052001e005f001e006d002000a2
+001a00a6004b008300751d62009f3b4200ac654400b9904700c18f2a00ca8f0e
+00ff370000e4341e00ca323d00a5552c0081791b00968b1100ab9d0700ecda0a
+00f3e00a00f3e00a00d8ba2800bd944700a38a3a0089812e008c7e3300907c39
+00969042006d965300449d6500374e6a002b00700037007c00430089003f009a
+00370091000d3524001277120017ba010018ca010019da010019da010019da01
+0019da010017be010015a30200169a050017910900199729001c9d490038a960
+0049a26900cf972900e1bb1900f3e00a00e2c12400d1a33e00f1e9da00ecf8f0
+00f3e00a00f9db0500ffd70000ffc40000ffb20000ff840000c95b0000d5333f
+00cf002300ff090000ff3f0000ff760000ff900000ffab0000ffd30000f3e00a
+00f3e00a00f3e00a00f3e00a00f3e00a00f3e00a00ffc80000ffa00000ff8a00
+00cb911200c3922f00cd693d00d8414c00d1283400f2000a00cc002500cf323c
+00963a42005a4329001e4d110017510b0011550600114a06000e350700000000
+00000000000000000012120d0024241b0026441a003d3d2d004c3d0800204912
+0000000000000000000000000000000000000000000d4a05001281040020bd0a
+001cda040020db090022db0b0025db0e0049be360042c36f0088ec7c00b7e3c7
+0049b36e0049b16d0049b06d0049b06d004a9b69008d7537009f3b4200bd3741
+00ca343f00da4c5600d2269f00cb00e9008b00dd007f00e90049009d0037006d
+0000000000000000000000000000000000000000000e3a0600125606000c7100
+00137904001f934a003eaa640044ad690044ad690031a55a00336d27001d520f
+002f5000002c5500002a5b00002e801f001f934a0020a6500025a050002d881d
+0017910900117e03000c71000013820500149c020019be040019da01001cda04
+002bc8000062ae0000decd0900f3e00a00f3e00a00f3e00a00f3e00a00ffcf00
+00efab1500cb9112008c842d0040a534002dad1b001fd609001ecf0800479e00
+00685d15005b5b4400486f5c00763a3f0099004a009f004600a9003e00b0002d
+0085161e00624c1300136f0500149903001ecf080021db0a0029c914002fa558
+0042a3650047a268007190810098914400c69b4500d1a23d00d1a23f00c99d45
+00d0bcb500ad897d00a13b43007a3a3f0083151e0049080d0075121900803d25
+007e691600a2370000c51e2b00ca002700c0002e00bf2b3600a9771e00a93b43
+"/>
+<palette number="290" name="Apophysis-040428-3Gradient2" data="000061d8005295b3007399ac00949da60092908300908461008b856300868666
+005b5f5e005b5f5e005b5f5e006563560070684f0080724500917c3c00776430
+005d4d25003636280046484000565a590089838400bcadaf00bbb7b900bac1c3
+00f4d8d800cec0c000a8a8a80068729c00283d90001f288c0016138900030080
+0003008000010025000000120000000000000000000000000000000000000000
+00000000000000000000000000070705000f0f0b0012120d001515100026261c
+004949360074ba84009bb68300c2b38200c39f4e00c48b1a00b7811d00aa7820
+00684e1800413419001b1b1b000e0e0d00010100000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000404030008080600161610001c270f00236500
+0040b20000d7211800b91515009b0a1300890c1500770e170040050a000f0f0b
+0000000000000000000000000000000000000000000000000000000000290801
+003b2500002c2c21002e2e220030302400383e4200493590007e405f00b48161
+00caae8400d6bb8d00e2c99600e9c88a00f0c77f00ecb03c00e4940600ff4500
+00fd281300dd0c1a00be060d00a0000000910f1200612d1e00614e2700575741
+0059784900557c470052814600386e44001f5c4300055000001e1e16002a2039
+003611710016138e00290b8a003d03870052088f006e058d0056048900440072
+001715250017161b00171711001616100018181200370f160072115900a80667
+00b20e8000500587002a04830004038000010024000000000000000000000000
+00171711001f1f1c002727270034275b00420f7d003b3797003a389c0071797d
+0087959f008a8e91005b5f5e003030300026261c001515100000000000000000
+0000000000000000000000000000000000000000000000000024070100462d01
+00583800008f5f0300c4820400e4940900e4960d00e8a32a00e9ac4000beb24c
+00928d61007a7054007c433f006f4e1b00a8101400c5332600a1594200b97f60
+00d4827d00f5a2a800e4bc8c00d1bba000bfbd9900d2c49800fcca6500eeb947
+00f7af3000e9a12200f0a11100e6920000e6920000ff540000ee070000e80b1a
+00990813004b060c00290801000707050000000000010101000f0f0b00131313
+00001057000037720000715000528343005ab22800639756005a8a4f00575741
+0044402a0039392a005b3f2e0094334200b109a900cd09a900cd09a900ce09a9
+00ce09a900d941a500d8787700d88f1f00e0940e00c97f0000a77c6900bb8d3a
+"/>
+<palette number="291" name="Apophysis-040602-1" data="00ffffff00ffffff00ecd6d300daada700b8a69e0096a0960096a0960096a096
+008c968c008c968c008c968c008c968c008c968c008c968c008c968c008c968c
+008c968c0061533900686554006f776f007d867d008c968c008c968c008c968c
+00949e9400959f950096a09600919b91008c968c00867f670080684200a13b13
+00d17f0000b67d6c00a1897c008c968c008c968c008c968c008c968c008c968c
+0073613900a0643300ce672d00b5795a009d8b870098938d00939c930096a096
+0096a0960096a0960096a0960096a0960096a0960096a0960096a0960096a096
+008c968c008c968c008c968c008c968c008c968c008c968c008c968c008c968c
+008c968c008c968c008c968c008c968c008c968c008c968c005d635d005b472f
+0003090500010402000000000000000000000000000000000001010000190900
+00472f0d0085533c00887464008c968c00919b910096a0960096a09600b8a67e
+00ffedae00e7ddc200d0cdd600b3b6b60096a096008c968c008a948a00575d57
+00011c750096a09600cacfca00ffffff00ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff0096a096008c968c
+005d5c3e002b2316001b190b000c0f0000010300000000000001010100040300
+003c342700646559008c968c008c968c008c968c008c968c008c968c008c968c
+008c968c008c968c008c968c008c968c00575d5700342925001a150f00040402
+0000000000000000000000000000000000000000000000000000000000000000
+000000000001010100010003000100050001000900110f3600263a6c0067736b
+008c968c008c968c008c968c0095977f007a837a00733c2800611c1500160808
+0004000200010000000200000004000000160000004502130072151000665038
+008c968c008c968c008c968c008c968c008c968c008c968c008c968c008c968c
+008c968c0096a0960096a09600d4d0c800ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00d4d0c80096a0960096a096
+0096a0960096a0960096a0960096a0960096a096008c968c008c968c008c968c
+008c968c008c968c008c968c008c968c008c968c008c968c0096a0960096a096
+0096a0960096a0960096a0960096a0960096a0960096a0960096a0960096a096
+0096a0960096a09600d1b6a100ffffff00ffffff00ffffff00ffffff0096a096
+008b948b005d635d00304040000b11350000177500001777000315770002166d
+0001000900000005000000000000000000000000000101000003000000070000
+003815020075412b0096886b0096a09600ffffff00ffffff00ffffff00ffffff
+00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff00ffffff
+"/>
+<palette number="292" name="Apophysis-040531-100figurine_2abcd" data="00d29f8a00dcb69100d1b29800c6af9f00d09f9400da8f8900d37b9b00cc68ae
+00cf399a00be3a7f00ae3b64008e2e5f006f215b006e265a006d2b590074295c
+007b28600085367700863d8500874494007b6397006f839b006b86a400688aad
+006182a5005b7c9f00557699006463940073509000805384008e567900b1746f
+00be878200b8b79800be949900c4719b00bc4eba00b42bd900a426be009421a4
+00492474003b155f002e074a002c0543002b043d002b043e002b0540002c0440
+00350849004f1f5b00632f6100784067008c4a6700a1546800aa536900b4526b
+00b0466c009f3b68008e306400752761005d1f5e005b245f005a296100454d50
+003b4d7300506a9b004d6b95004b6d900046658b00425e8600465c8100394b79
+00374a740040537900495d7e00586b7f00677a8100597286004c6a8c00485393
+004e2b6d00441b5d003f1356003b0c5000390b4d00380a4b00380a4a002e2a4b
+00303464003d2c6b004b2572004a22700049206f00521d65005b1e59006b285d
+00753265008e3a7800982c8200a31f8c009b277a00942f6900751f68006d1f5d
+0059177100480f64003807580038085600380a550039095300480f5300550e50
+005c1849006c1d560077215a0083265f00a0436000bd5a7700cb5a8600cb6273
+00ce757b00d07f8300d28a8b00d2898500d2887f00cb7f8300c7838400b67788
+00a3839000878cc4007e91bb007597b3005c7697005c4a74005a2f6500511f5c
+00501a6600491a6200421b5e003f1b5f003d1c610030406200374a72002d355c
+002b28530040175900441757004818560050155900561b5b006426590071325d
+00cd307300cb308c00ca31a500bc38d900d73ce000cd67d500c072d700eca4ca
+00efaac700ccc6d400ccb7c300cda9b300a679a200845a8a007d3e6d005d2f60
+003f0f4d003a0b4b003608490039094700440e4a005b1553006e245f00953871
+00b7567500c26e7b00c5737f00c77b7f00c06f7e00bd698000ac687700905873
+00864364007d3b600074335d006d2f6200682d5900632558005d2c5b00652f61
+006c3f6600734f75008c546f00a5636700b86a7a00b5778200af7e82009f5e76
+008f446f00853f64007e3060007d3b5f007b486900864f6e0098478c00be309e
+00b34cb900925b9e00886c9d00838cb5006583a500605f7f005846760052286a
+00561f58005a1d56005b1e5900631e5700651f5500671c5700651b5600651959
+005e1857004e1655004614510047124a0042134a003e0c4900360a47002f0544
+002f0642002f06420033064700370648003a064800390b4c004a0d5000580f54
+005f135100571e510050205a00481b5e0044136e0042116d0038095900310751
+002e064c002f074d003608510045155100551f59006a3c6300915b7200a16d79
+"/>
+<palette number="293" name="Apo-040627-1_chickadee_pix" data="0094786d0082675c00735f5e006558610067535100694f42006a5043006b5144
+00856c6500807073007c74810086777800917b7000907b7300907b7600907b79
+00917b7d00937a7300a78f7100bba47000c3ae7f00ccb98f00ddc5a500eed2bc
+009e89860088756d00736155005b493e00443228003b2b230032251f00211404
+0017090000050001000301010001030200060403000b050500140f08001d1a0b
+0057391d00775c1900977f1500b0910a00caa30000bfa00300b59d07009a8d1b
+009c6f2c008e73680094776c009a7c71009a7f74009a82780099807700997e77
+00967a6f0094796e0093786d008e726700896d6200876b6100866961008a6c61
+008b6f640094786d0090766d008d746d008c746e008c74700089726c00846962
+00735851006b544b006450450057453c004b3a330044342f003e2f2c003c2e2d
+003c323d00342d2700382c24003d2b21003b2a20003a291f00342721002b2120
+00271f0c002620140025221d002a2422002f262700392b22003c2e23003b2e28
+004032320043374300403644003d36460042394600483c460056413c00574338
+004c3a30004030260035271c002c211100231b060019170a000d080500070101
+000300000000010000000000000100000005000000050100000c080000141200
+0031220f003c2c1b00483628004c3a2d00513f3300614d4200654e4800675048
+00755c5700826459007d605100785d4a007b553e0094711f00b87f16009c6d01
+005a4502003e2b020023110300210c01001f0700001806000013010000110400
+000f0500000d0600000e0600000f0601001507000020160000261100002e2200
+0037271a0037281e00372a22003a2c2100382b23002d22200024170f001d0a0c
+0009080d000a0600000905000009040000090100000b010000100800001f0a0f
+0030272800352928003a2c29003b2d2a0047332a004d3d3000624b3d00684d42
+006d5247006f594e00775c530085695d0098776800a4857300a0978e00b29ea7
+00d7ccd000cdc3c400c4bab900aba29d00918670007f675b00735d5200644c40
+004f392c0046301800332518001d1a13000f0a11000b060300060501000f0a06
+0024160d0039281e00483527005e433000694f40006b514200664c3f00574133
+00473529003c2a1e0039281e003e3003003d330000452f000063481b006e572d
+007f65560096786e00a0938a00b2aa9500c9bbbb00dbced500e5d4ca00d9d0d1
+00bbabae009b847e0082675e006a4f46005d4634004e3b2d00433127003f2d21
+00463325004d3b2f00514a2e00604a3f005d473900543c32004634200032291a
+002c1b070029240000352d09003d2c2200523c2f00644d3f006c5245007a5f54
+007e685d00846c62008d7166008d716d008a6f6800836a65007d656300756254
+"/>
+<palette number="294" name="2u0026t.jpg from bTomchek" data="005f0e0000581711005b2817005e391e00613f140064460a00604408005d4306
+0059200c005d171100620f1700640e1400660d11006a0b0f006e090d0070090e
+00730a0f007c1b0a00852c0e008e3d1200884d1500835e180083671000837009
+008d6b070099680300a6650000ac6d0500b2750a00b3760800b5770600b57509
+00b3720a0093640800895a08007f500800834d0600874b0500874b0900874b0d
+00966310009b610d00a15f0b00a5670500a9700000a5790000a1830000a38500
+00a5870100987809008c5e0b0080450d0079350d0073250e00741d0f00751610
+0065090c00630e100062141400691e100070290d0078330900803d0600824800
+00885900008f4e0a008b4d0c00874d0e00824411007d3c14006e2a17006b2219
+007d331a008234140087350f0088390d00893d0b008c440900904b0800a05102
+00a54d0500883e00007b2c01006e1a020068160100631200005a0c0800570605
+005f0608005e0a0b005e0e0f005c0d11005a0d13005a16150063201700632a17
+006b261600753124007f331a00893510009037160097391d009049290087481c
+00863c21007b30180071241000701c0a0070140500700e030071130700772b09
+0081320b00802b0e007d2712007b231700702112007319100070101100670810
+006d1d1400711e1900751f1e00751d2000761b22006a1c1c006917190067120b
+0067100700802b040081360400834104008d4f00009f570200a75c0900b0640e
+00ae771000ae780e00af790d00ae760a00ad730800a4670000a465000099670e
+0096780a0089950500939703009d9a0100a68c0400ad920000ac880000ae8200
+00b8980500bb9a0700bf9c0a00b49c0000b8930000b7890000b7840400b38104
+00b6840700ae762100a96e2b00a5673600915e1c00964d24008c4f190093550a
+0093540700905403008e5400009b540200a05700009d5500009b5203008c4702
+0087420000813a0000733100006e21050061130000520e0000560b060056070c
+004c150e0050171000541913005a1d18006a2a0f00683c0000683600006d2205
+00651307006a0e0100731c0100862f04008545050097560600a1570000aa5c07
+00a6610200a26103009d6206009a5f03008b6200007d6209007e4c05007c3f00
+007238080067420d00753d0e007f3f0f00854110008a44110097540d009e670d
+00a9760b00b07c0400af7f0100af8b0000ab920100a7940700aa960300aea001
+00b29f0500b2a20400b0ad0800b1ac0a00a8a30900b1ac0600b4ac0100b5bf08
+00b1af0400a0a7020098a30000989b02008e920700977d040094730a008c6200
+00805000007b460000783701007e2b090079210b0080121100811411008f270e
+0093470900945a0600956e07009c840000a58b0000a88c0000a6840600a98b11
+"/>
+<palette number="295" name="2u0007t.jpg" data="0029580a004d431000514213005641160059461b005c4b2000454f1f002f541e
+00322630003a212d00431d2a00383c39002d5c48003668630040747f0043788f
+00467ca000609db20069a3b10072a9b0006f9e68006c94210073901c007a8d17
+00446382003e748f0038869d002d698e00224d8000114d6200004d4500004e4b
+0033798300599cb9006996b7007991b5007b81ae007e71a7007566a2006c5c9d
+005c0f2f0086093400b1043900b5333100b9632a00b06c2d00a8763100b09b26
+00b2a02400a7a11900809e17005a9c16004a9832003a944e0040a1680047ae83
+006889b6007879ae00896aa60096766300a3832000b0901c00be9d1800cba52a
+00c6782500c34e2200b4541c00a55a17008e5a1c00785b2100274138000f4239
+0038242300401c270048142b00431939003f1f480049336f00534897005c5090
+008f1e4c00861e1b00972f1e00a9402200af532300b5662400bc7c2500be932b
+00b3bd4200acaf3400a5a126009595200085891a009f7e1d00ab742100c67825
+00d1692c00bb6e1e00a9741a00987b17009890170099a61800859e280072b685
+008ab8c50077b1c40065abc4005baabf0052a9ba0053a0ba0059a1af006c99b8
+0072a0c20086b39e0083a86700809d31009f962100a48e1600b09b1c00b38b1a
+00b2881800a17d15009072120081681600735e1b005f50190066611f0071670e
+0069660000708212006e8412006c871200587f0c005979000065750000656f00
+004d4a0700453005003d170400391d140036242400170b55001d19650014267c
+001d4b7f00454f8a0047558800495c86004c5b9600538fb3006eaec9007cbacf
+0081b5c20066abbc004ba2b6001f9d870016926e0032955e002d9b740057afa1
+0085bcc3008bc4cd008fc4cf0093c4d200aadbdf00add3aa00a3cca0007dc2a3
+0032976b0025816000196b5500145841002e5c380032831d003a7e0f00437e00
+00547907004d6f0100474d0300443b000044380800573208005b2f0800563b0c
+0075661100856d1100957512009c6e0e00a45f1e00b5722300c55c2c00c55e24
+00a85f1b00a2491d0075471500642321003a1d2200241824002a1a1d00391b11
+001e151a001f12190021110000101200000a241b001823270031361800465b10
+003f770a003e7d0a002d88070021840f0030961900059d2e000d863f0010ab50
+001cbd4b0023ab590028a04700319b3600327a4c00497b32007a692300965d26
+009a4b2a008628280074231f00561a1c00402f150017400400325707003e6009
+003c6e0f00376e3400377e60004b7f95004293ae0044a1b3002da0a70037a075
+0038915100628026008b7927008b7b1c007e791300776f300063814300407958
+0036905d0056936a00606841004836320050181700521814005d4308007a5d0f
+"/>
+<palette number="296" name="2u0010t.jpg" data="002a2c43003c374d002b2f4f001b275100121e4f000a154d0011104500190b3e
+002e204300362e53003e3c64003a505e003765580039665a003c675d003f5962
+00424c670025216b00161269000803670004085400000d410004093000090520
+000a0d00000917160009212d00101f4200181d57001d20590022235c002e2458
+002b2b4f001c246300231d70002b167d001f1388001310930009168700001d7b
+0022326e002f4381003d5595004365910049768d0043798a003e7c8700387089
+003d6191003a4a6e00314572002940760018448e000749a7000845aa000941ae
+00344da100385799003d619100455282004d4473004c3864004b2c560052253c
+0056172000440a0000520b1800610d3100681d26006f2e1c00767219007d812a
+00ac8f3300c05f3800d5303e00cb1d2a00c10b1700b10b1d00a10b2400a01c29
+006b2945003a0b7f003c1384003f1b89004d1f87005b238600681d7c006f2e64
+00961531008f304600894c5c007e4170007437840058318000422d9200232d8f
+002f428400653a7f005e3d760058416d0054476c00504d6c0046496a004e4960
+00414139003c3b1f0037350500452d0a0054260f00393d1800353125003f2b46
+004a304900762756007b204500811a350088101a007e122100722d3200523142
+003d2c590029225a0015185b0014125700130d53002107500022135800251659
+00231f5100281744002b1135002f0b270034121300271b1d00102739001a2543
+002c1c5b00422c7000583c8600514c89004b5d8d00576c87006d754c00666c22
+005c7f3d004875b0004e80ba00548cc5004977c400385ea7002f41a7001b2b9c
+002e2b6e002e2e64002f315a002b264e0027204200281a3d00281e3900380f2f
+0038062b0035212d002a302600203f2000183930002c2f4200403850004a4065
+006742760065447b00634680005f4e7b00544b800057538e00665e9a00797198
+006287bc00718bbe007c95cd008196b1007d8da6009841a900712c97006b1e92
+006e2a8d00733d8e0078508f005c70910060696e00584848004a3a3d00263609
+00143e32001f3a4d002f3a5a00293d60002936600036356f0038236400371c6b
+004d1f5d0073433f009b6342009a7a41008d9234006d8e61006885a300526f91
+004664a000435e8b003c405b004a483c00593738004a322e00554021007d3330
+00882b3e007a323e005d274b0056314300503c5800413b47003e464900474259
+004b3b5f00692f5f00643f68004b3b680042297c00291fa4001723a900123bb1
+001139cc00073fd4000a4ec9003150ba005458a2004a4c870057397700434669
+003a3263003b2f57003023410034163a004426420038304500244b4600016146
+00084b540014264c001a30550022455b001c53580027494b003c3e4b00392b3c
+"/>
+<palette number="297" name="2u0015t.jpg" data="00816041009098650098a46800a1b06b00a1ba7700a2c58300a5ca8800a8cf8e
+00b2c1a000b2b29600b3a38c00b1989b00b08dab00b195b700b29ec300b1a6bf
+00b0aebb00b6c6a900afbea800a8b6a700a1ad9d009aa5940098aa910097af8f
+009cb78400a4b47d00acb17700aaab7e00a8a58600a4a78800a0a98a0096ab84
+009caa9100a0929f0090889500817f8c00786c84006f597d006a4e760065446f
+004e152600422c2f003743390044394900522f590056355e005a3b6400665158
+00726d470081915200909b6700a0a57c0099b07c0093bb7c0099b179009fa776
+00a99b8000ada58100b1b08200adb08500aab18800a2a986009ba18500898b80
+008b8064008a6426008f633500946345009a6c4c00a1765300aa735500a56a4a
+00722c2200692021006014210054181500481d0a003b1406002e0c0300401000
+004c210e0058471c006c532c00805f3c00825c4300845a4a00815f5600896646
+009751370084432600713616006c341d0067332500885736008e6f5b009c858b
+0095a48f00b4b89f00a8bea3009cc5a7009ebea200a1b89e00a0b29a0096b981
+007ab1600085a76400909d680098a26d00a0a77300a2a17300a08d6c00a77b60
+00af7957009b795d009b776a009c757800a56e8e00a05897008b719400828493
+007c9a820071837b00666d7500696871006d636e006155610059486a004e3f66
+0056445e00874836008c4c390091503c00894636007f3f3300773d3200873f30
+00a15d3a009a583c0094533f0090573e008d5c3e0080602d006e5d29005e6829
+0050782f0071866500737b6e00767178007e6d7f00735d72007b54730096644b
+0094855c009c8b5500a5924e00a5915f00a78d6800a096720099907300949367
+0089815c007a6844007a6939007a6a2e008b7539008e814a009f7c5600ab8b5c
+00b57d6200b37e6400b17f6600b38e6200a3987a009f9d8400919f85008f8e89
+00827c8a0083737d0088798c009582a2009890a7009d99a800ab9aaa00af95b2
+00a5b2a8009eaaa60098a2a40090a4890093a57d008da170008f9b6d00859a61
+0079885100777f560074716800646a66006e5d7000774f740069547b005b5271
+0055516800575b67005c576e006b5270006a5d6e006b667d00736d89007b708e
+007f7a8e008d788b008c668d0076618a0075658200656273004055560036634c
+004a3a4500581e1a007423060075331100683d1b00804f260091643b00ad714f
+00b9795e00c9877100b38f6f00b48da000b89cb200b89fb500c0a9bb00b5b8b1
+00b9c2a500b1d79a00b1d69300a7dc8a0099b777008d8f4e00706c2d00715025
+0073512e00624061006d39790081427b007e4c7d008d547f00937b7700969195
+00958ea0008b98860081a0640074a14e00748d4c0084884d0091874a00997251
+"/>
+<palette number="298" name="2u0017pp1t.jpg" data="00c77ada00d079da00ca68ca00c557ba00bf63ad00b96fa000b27e9500ab8e8a
+00c4a47b00cda38400d6a38e00eaa38b00ffa48900eba96e00d7ae5400d7ab4d
+00d7a94700d5723900d15e3600ce4a3300d5553c00dd614500d46d4700cc7a4a
+00b9643f00bd593800c14e3100c8473200cf413300ce433100cd463000d25d32
+00d2804800d5887600d58c7400d6917200d5795e00d4624a00cd504200c63f3b
+00c1272700bc313500b83b4300c3334300cf2b4400cc304000c9363c00c5352d
+00bd363000c9443f00cf5b4e00d5725d00e67e8800f78ab300f698c400f6a7d6
+00f7e8c100f5dfb800f4d7af00e4c0bc00d5a9ca00d092d200cc7cdb00a967c1
+00a16cba00a87e9200b07a8a00b8768200ba718700bc6d8c00ce629400ca38a3
+00c23d7f00c9536e00d06a5e00d2565600d4424f00c9506400bf5f7a00ac787c
+00a8776600ba815400b9825600b9845800b5825c00b1806000af838000aa7d9a
+00a988b500a591c400a29ad300b197d600c194d900be96cb00c78eb900cc8aae
+00c3878f00b9725400a95b6a0099458000a5508500b25c8b00ba5b9300c06a91
+00c98f8b00c29f9000bbaf9500c1ac9000c7aa8c00ccaa7d00c4a95c00c0b247
+00cfa74f00d17e4800dc795100e8755a00e8458600fc5a9600fe5c8b00ff7787
+00ee8baa00d5a6a200bdc29a00c2c98400c7d16e00c3c95f00d0cf5900c9c057
+00cba53a00b66c2500b6613600b6564800b25d5600ac6c8600aa6f9b00b4679f
+00bb2cac00b1399c00a8478c00b25b8300bd707a00ce836e00d49d5d00d9ab4b
+00e6b24c00d59a5400d5915400d5895500c68d5800c0755800c96c5a00cc845e
+00b5766f00bd6b7700c5608000d2628600c5699a00da77ad00f1758d00dd9f7a
+00d9af4d00d7cd5e00dfc05b00e7b45800efb48800f3bbaa00d6b4c400e3a0e3
+00b3b8cb00c7c5bc00dbd3ae00ede59d00eef1a200f6e8a900ecdaaa00d9ae84
+00cc904a00c6853100b57f1b00b7721500b9802700c1853c00c68d3400d28d40
+00c0a82e00bba13200b79a3600bf992a00c3921b00bf962c00c2874500c67f41
+00c37a4300be734c00cd785100dd747100cd839a00cf88b200ea8cd600d67deb
+00d0a0f400aaabeb00c7c5d200deecdd00e6e4cb00f5e5a900face9f00edc592
+00eacd8b00e2ce9100c9c97f00cad07000d4de7d00d8de9800dcd79700ecbc8b
+00e59ea600c684b400b469aa00ad50a900bd5b9600c1689400c2829c00db9c8d
+00e5aa8800deae8600dfb98c00c2a4bc00d895dc00bb84ec00af75ee009159e2
+009e54ef00c547d700e573b900e985b700f582c300d78fd100b0a7de00be83bd
+00be89b500ca979400c0996e00c1966300c0aa6100c7b37800d1a97600cfa25f
+00d09e5500d1a75100c99d4600c4933700cb8f3900ce9e3a00c6b74400c6ac3d
+"/>
+<palette number="299" name="2u0017t.jpg" data="003063cc003261cd003465d000376ad3003e5ec8004652be004056bf003b5bc0
+005175b3004b9fb70045c9bb0046d0ae0047d8a10030ba8f001a9d7d0011a080
+0008a38300218d9000288b97002f8a9f003885c0004180e1004380e2004580e4
+003379d800307cc9002d7fbb002993be0026a8c2002eb1c10036bbc00040c9b7
+004aa89a003f7e900034898d0029948a00249b7b001fa26c001ca069001a9f66
+0022844b002a7c4100337538003c792800467d1800477d1300487e0e00558316
+0050822d00477d5b003f7b6f00377a8300316892002c56a2002359a6001b5dab
+002335a1001f2798001b1a8f00253b87002f5d7f002e626c002e6859000b5e56
+00065b5e002a4888002e4486003241840032398b0033319200344da1002c5ebd
+001f71ba001b68a20017608b0015656b00146b4b001576400016823600007136
+00136630003d654a00436f5d004a7971003e797500327a790017848b000a7f91
+003789a1003c89ad004189b900418fbd004295c10030a7c5003193c0003c87be
+003874b3004172ad004071a100407096004974900052798a006281830060917c
+00548d7c00568d6a00588d5900588b5700588a5500579145005189400044683c
+00353b3700545e39005b613d0063644200555e1d0055461d00342528001c2745
+00257d0c00238a150021971f0025871a002a78150018552b00003d3c00034a5c
+000f5a6f001e767a001f73740020706f002e6a5e003c556b0052766a0050805a
+00488774003f84890036819e003687a000378ea2003b9bab0041a8c700369ed3
+003689cd002f6cbf00316cc000336dc1004762b3003b55a2003960ab003664b2
+004562e000496ede004e7add005d88e400518bef004499d2002fa6d00039afcb
+0049b5d1003ccacc003ccac4003ccabc0027c9b4001ed2ab0018baa20022a094
+002c9d9b0034a5a0003caea6003c9fb200339fc6003daac90037b5cc0024c0b5
+0000c8aa000ccd98000cb782001ea98c00309782004d8a8200508f70004e8c5b
+00437750003c774a0035784500398346002d9e2a0032b0200037d2300050c94a
+00489a6a004baf69004e9b770051ad860033ca830015e1800031d1550038bd60
+0049927400456e8400395ea2002f59bd00324cbd002f47b1003244a8003a56a0
+00406ea000418b8a00339e68003b9f2d004b9826003c970b004f78000059710f
+004e74270036924700339d7900469e9000499096004392b0004286ab004779c2
+004273ae003068a300306a9000215f9000094873001242720016166000020353
+00151e6b0024249600343db200204aba002b4db8002f5caf002578a00022888a
+00299586003b868900508f7000589f51004ebe360060be2c0053ad3b005e934b
+0053876100477c82003c7a9300466d98003e6286003a6b89003f747a003b724a
+"/>
+<palette number="300" name="2u0018t.jpg" data="008726ab007a2382008a2c72009b366200af2a6700c41f6c00c2177c00c0108c
+00b1278700b1377e00b2487600ac486b00a74961009e476400954568008e4565
+008846620091588f00974c9b009d40a800933a99008a358a00853a8b0080408c
+007c2a98007b20a3007a17af00811fb9008827c4008829bf00892cbb00912a93
+009d2e7b007b297300723368006a3d5e00673d5800643d52006d444600774c3b
+00936c2700a7772e00bb833600bf6c3e00c3554600c24d5200c2465e00b24765
+00953575006219a6006d10990079088c00820e79008b146600931a5e009b2057
+008b434e009d635500af835c00b5755f00bb686200bb627600bc5c8a00b75aa0
+00c43ca800a526b1009829ba008c2cc300962eaf00a1309c00b2318400b8206b
+00c2216700b92f6300b03e600098485900815353007c4c4a00784541006b4054
+006e4450007a8660008f996100a5ad62009fb06a009ab473008eb46b008db171
+0096a67500919f6f008c986a008a9a6700889d650097a16c009b916e00969262
+008b7e5c008f5b4d009c3e3e00a9223000b11d2500b9191b00bc041c009f1b28
+00a61a4b00a81b5800ab1d6500a61c5900a11b4d00a6133d00a01f3300972524
+00a435170098293a008c2e3d0080344000833b490084404f0086434c008b4253
+00ae3b8900a6398e009f389300a4399500aa3b9700b4319900a52d86009b3866
+009a434c00b4582500ac572e00a5563800855b4d008b7756008e984f00927f61
+00a7518200a555a500a359c8009853c5008e4dc300a658c600b66be100a779d1
+00c899ab00aa967e00a6937b00a3917900989c6a009999630099935f00b49465
+00d0646100c05c7200b1548300a94a8a009b2b9100932b8a0098449100a75182
+0099587a0091795300957a5500997b5700b26c5200d4465c00cc397d00d01a67
+009f206d0092216c0086226b0075256c00772f61006d315300663555005d264d
+005b135c004d0e69006e2574007d19620083106b008b1d5c008230560070344e
+008f31530090304a009130410089303400762232006b1738005e333d005e3930
+006d553b0085553e00815548006d4f5100773380007c39a2008627a9008927a2
+008620840088186c009b216e00933478008a3f7a0094446700994e62009b6559
+009f4c6800a149790097387c008c3f830089317d0071288400582b8800681184
+0095047b00ac166d00a7236c009a145100962239007f1949005d064a004e0645
+005b105100642751007c255800a8246000b4295000c0415400c3425400c23a5e
+00ac3962009739750094337800a22d7b00a42f7600ad1b6c00ad235600b02b46
+00b32b2f00b8350b00c3421800ba4c1900b5352a00b4363900b02d3b00b43347
+00b32d5f00a5377400a93f8a00ab429700ae4a7e00bb516500b6504b00bb4d18
+"/>
+<palette number="301" name="2u0020pp1t.jpg" data="0073e5b400629acb006688db006b76ec007770e900836be7008069ea007d67ed
+007172f1008389f00096a1f00096a2b50097a37b008ea07d00869d80007a9496
+006e8bad008696e3007d99e700749dec008f93c100aa8a9700af7e8500b57374
+00d09f6700c4997600b9938600b1949200a9959e009c7ec5009068ed008062e6
+00707bf1006ab0f50069bfe40069cfd30077d3c10085d7af008ed4ad0098d2ac
+009ecda3008fc7940080c285007dcc91007bd69d007cdba0007ee0a3007cd7ac
+0079d6b90079deb6007bd8b4007ed3b20082d1b60086cfbb0083ccc00081c9c6
+0097c8c400a3c9b200b0cba000b4c69d00b9c19a00afb99400a6b28e0098b28d
+0093b8730080ce82008bcb890097c89000a3c49200b0c19400cfa28300d79a7d
+00e8a85e00dca15d00d09a5c00be976a00ad957900af9d7e00b2a583009fc095
+0088e6a8007ff0b80075f3b6006cf7b4006af3c20068efd10073e4c8007ce6cf
+00a6ead1009fe0bf0099d7ae0095d5ab0091d4a8008fd2a6008ada9f0099d29d
+00abca8400989f6c009a9f6b009c9f6a0097a16e0093a3720086a58600629cca
+0049caa4005ad3a5006bdca6005dd7b4004fd2c2005ccecf0060c8d10056d3cb
+0054e5c40071e7ab0077e7b2007de7b9007ee4bd0078e9b10075dca50065eeaa
+005ef5980061f0a20064ecac006de4b80076dcc4007fdcd1007fd7e3006fd3e3
+0056d1f20035b9e9003cb2f00044abf8004bbce60054c6e00076cfdd0071d4cf
+0083cba30080bf8e007db47a007cb373007bb36c0080b774008abc810092b08a
+0099ba9d0078c3bc0071b7c6006babd10077bbc4009ab2a50093a37400918964
+00ad785000af7c5200b1805500c4755700c87e5900c4805300d1835300e39f54
+00ebad5a00c1be6100b7ca6b00aed6760097f2a20076e8a3006bdfb20052cfc7
+0048b9e1004eade70055a1ed005f90ef005793dc005b9ee400619de30078b3db
+0084bfc70088cca50082bca30089bf8e0093bc840095b4780099a67b00aca078
+00c2b06e00c1bb6e00c0c66e00a6d5790094dd8b007ce8920081e59d007ce4a7
+006bd9be0061d6d0005fded50058e4d90058dde60055dee60046ccf10038c3ee
+003eaaea0049a8fc0057a5f8005399f8003d97f7003b8af100488cf1004f8ef7
+005995f5005e94f4006a94ea007682f2006591ea006793d40079a9d1007bc0ad
+007aba950090ba7b008fc16c0086b5710085b869008eaa600098af6700b8b159
+00c2934100be7b5100ba805800af958400a8a99b006bafc60055add50047b1eb
+00419cf7003397e5003e95e50053a8df0053bfd90054d9d40061e9e50068f6de
+0078eae20080dfe30082ece80086e9e40092ece00082f6d30088dcbb0098d1b0
+009dc1a700a1a688009d937000a59156009e8b530085a86e0075e79f0072cb7b
+"/>
+<palette number="302" name="2u0020t.jpg" data="00b23d1c00a03d1e009f3c26009e3c2f0099292e0094162e00910e25008e061c
+00751217006e1b2a0068243d00641c4a006015580061146700631376006a106f
+00720e68008a1750008f144200941234008a183500801e3700871d3b008f1d3f
+009f0b3d009a134200961b4700902046008b264600812a5000772e5b00672d6a
+006d3773006e497f0071438000753e8200733b800071387f00743a7800773c72
+0067426d006b4071006f3e75007b3865008832550088304700892f3900842342
+007d235700461c7000292287000c299f00194ca1002770a3002e74970035798c
+005f6e8100655d7b006c4d76006f567800735f7b006a63830062688c00607a8b
+005b859d00377aa40045688d00545776005248690051395d006b3952006c3733
+009c4c1b009b5410009b5d0600a85d0300b55e0100b4600700b4620e00ad660c
+00ac6a0900a4772400ac6b1800b5600d00b9530f00be461200bb401f00aa441e
+00967b20009387170091940f007c990c00679f0a0085900600908c0f00857913
+00856518007835560081235a008b125f0097125d00a3135b00a30b5400991348
+00a31a34008d183a0078174000751b4b00721f57005e356f00633b79005a5281
+004e5697005776a4005d77a6006479a8006765a600484ca500364f9100275183
+000f5298001657a0001e5ca9003060a7004365a5006161950071608a007d5174
+009c496700b2252b00ad1c2700a8142400a50a2a00a9163200a31a2e009e2536
+0071365600653f64005a487200594c760059517a0062688a005a7a8700327b72
+00317874004e5291005351930058519500654f80006e518b0071488e008b4689
+00902c7400962769009d235e00a1114f009e0d4e009d0e4e009d1052008a1e5a
+007d1f5400712e3500792a3300812731007e133f008e143d008b143000900a23
+00a71b2600a6262800a6312a00a34926008d562f0070526c005d4368003c3a7b
+003a48870027579900276caf003868b000443c9f00533f86007b357e00891a78
+00790f59007912520079154b00710b4c006d144c0076266100852668008e0e61
+009f086500a90d4c00ba2e3b00be3a2500c2621600c1710e00c16a0900b4530e
+00ad370500a71f23009f1f2000a024220096331e009e4026008a4b1500896217
+008d5e0c008d5f0a00916a0d009a7213009872290067593c006a5b460066464b
+006a3c3f0076473700a54c2400c1551500c24a0d00c64a0e00c7431200b03806
+00b9241e00ae1f190096141e009a0d1d00b1140b00b73d0c00ac5e1c00aa6723
+00a3612500a15758007f5b7500796b6b00725664007356580099502d00a45021
+00933f3500903862007c356f007c50850073588f006d5f9d0065699900676a95
+00616e9a00626b9600535a8400416c590044617100483c8600582b700047307e
+"/>
+<palette number="303" name="2u0024t.jpg" data="000e502200304c3e00453c47005b2c500076255700911e5f0095305a009a4356
+009d6c4300a2723700a7792c00a16a2d009c5c2e00a44f2f00ac433000a23c31
+0098363300a8622600b1701900ba7e0c00b9781b00b9732b00bb733600bd7342
+00b4222d00a72c3a009b3648008e424900814e4b007b5246007657420070603e
+006d5b4d00564a560052395a004e295f00441f5d003a165c003c0e5d003e065f
+0043133b00491039004f0e38005a223d006537420071443e007e513a00976532
+009f722100947922009a711800a0690f007c60130058571700453f1400332711
+0037183800442a3b00523c3e00505e34004e802b00507b1d00537610005b6622
+00735e410060446d0059366a00522867005330690054396c005a4c660064525e
+0062424f005c373e00562c2d0055243700541c41004e1f4a00482253003e2159
+003b1c6000490b6000550d4300610f26006f221e007d361600a03b070095521e
+00be6b0500bb651500b9602600b4642e00b0683600ab6939009f674400a15940
+00a84d38009c5c500097634500936b3a008a6e390082713900836b450079684a
+008457440086454a008934510090294e00981f4c009418560094094c008e184c
+00952e2f007b57330079592d00775c270077632600857128008e5e3a008d5b44
+0078564c006e494900643c4700673643006b313f00650e30005a062800550022
+004e0636005b14360060193d00651f44006c3d470079514500855c3c007d6328
+0080623e007861440071614a00765e5a007b5b6a006a4a5f0058505f00544c5b
+0053475b005b3355005f34520063354f00604150006a46480063542b005f411b
+004b1c260051152800570e2b004f252700683d0a0085572500995d2700a26828
+00a16b2300af763f00b2754200b5754500c16b5200ce7b5100db7a5a00cb7657
+008f6567007a6b6500667163007070540085784b008f76330094792c00a77e4a
+00ac754c009d6c5b0091665300785b49006e534c00643e4b006f34460063153c
+0064063800680934006c0c31005f0f2800581131005d0b3100670f41007b0f4d
+0077065400820151008b0c6500852157007a2d4d006d3f490069414a00684f4a
+007151380078492f005b351e005a39180049401f002a341b00142407000d5118
+0015372900391e3d0046332c003d672800356b0900246b25002d74280045662f
+004f4659004a2d490048164b00411b58004f1d58005c2b5a0053355b00502b5e
+0050276d004b226e0048226b00421b54004f2c54005a3054005e4654006d5458
+00685b5300615b4b007d50390088512a008e67260085780f00688a0000559010
+004f970f00549108007680050086761e00837129008a7e2c00997d290096762d
+009b693600825e4e00794e610082415900833b4f007d4b420064455700664550
+"/>
+<palette number="304" name="gradient0000.jpg" data="00f4000c00ff006600f000a000e100da00df00e800dd01f700dd00fa00dd00fe
+00e500f100f200c500ff009a00e5006c00cc003f00ab0021008b000300830202
+007c0501006f0a0000750700007b0400007b0400007b04000078070000760a00
+00770b00007c0600008101000089000200910005009000020090000000860001
+007f0400007c0501007c0500007d0600008703020091000500ad001c00ca0034
+00fe007500e100a500c500d6009d00e4007600f2007301f8007102ff007201ff
+007600f200ca005400ad0032009100110080070900700e0100700e0100700e01
+008200000095001400a9002900bb003b00cd004d00e5006300fe007a00f500d7
+00f101e000e300ff00dd00f000d700e200dc00de00e100da00fe00a000f60151
+00f43c0a00ef300500eb250000e7210000e31d0000e71e0000ec1f0000ef3401
+00fc371500fb0d0a00f70d0500f30d0000ee0a0000ea070000e4160000e41600
+00e9270100e2310000dc3c0000d9450000d74e0000dc642500f24d5300ff0082
+00ff00ae00fd00bd00fd009600fe007000fd005d00fc004b00f2001000e70b00
+0083060000810300008000000089020000920400009c000300e6000200ec0300
+00e90d0000f3120000f20d0000f2080100f5010d00ee001700c6002300930008
+007c0501007e02000080000000850000008b01000097000900d1003700dc0066
+00cb01d100d900fd00d900fd00d900fd00dc00ff00dd00fe00e100ff00e000fe
+00d900ff00d800fd00d700fc00d300fd00cf00fe00ce00ff00a300ed007700f4
+006e00f7007301f7008100ef008f00e800a000de00a200e1009800f1007406ff
+005b0cfe005111fe004717ff00570efe006504ff007702fe00c304ff00ce01fe
+00d900ff00e700fc00e900f100ec00e600f100e300ff00b400ff008400fe007c
+00fe00ae00e200c200c700d700bc01d800be00de00c200df00ef019d00cd015a
+00ca003400950111008c000b0093000800a9002900cb003c00d0005200ff0082
+00f600dd00f200e300ee00e900e700fc00e100fe00dc00fe00d900fd00d600fe
+00cf00ff00cc00ff008900fe006d09ff00650dff006111ff00640cff006707fe
+006a05ff008300fb00c403fe00cf00ff00d200ff00d700fe00d801ff00d200ff
+00cc00ff008d00ef007400ff007400f7008f00e800bb00e500c300e000dc00de
+00fe01ac00ff008700ff007600ff007600ff007a00ff007800fe007000ff006b
+00ff006a00ff006600fc004b00f4003400eb002100ef002900f0003f00ff0066
+00ff01a100fe00d200f600df00f500d700ff00b400ff008000fe1f5e00d46456
+00dd652600e5540100d94d0000d7230000ea012100fa006400ff00a400ed00e4
+00e900fa00e100ff00d700fc00dd00d900e300d300ff008200f2003a00ea1d00
+"/>
+<palette number="305" name="0t0507.jpg" data="001e3d8f00023c9d0001317800012754000f2452001d2150002c226c003c2389
+00854da4006b53b2005259c100453ea40038248700422791004d2b9b005836aa
+006341b9009085c100abb5d000c6e5df00caf1d700cffdcf00c8fac900c1f7c3
+00d6e4d700cfd5d100c8c7cc00c5c0cc00c3bacd00b9b7c700afb5c100b0b5bb
+00aab1c100a5adba0096ada40087ae8f006f9d8600588d7d003b879b001e81ba
+00065fa100035c930000598600073d64000e224300141a47001b124b00191667
+0031218300232d8e0021247d00201b6d00131257000709420007165100072460
+00053d9e003151a7005e66b1007678b1008f8ab20096a2b6009dbbbb006fc699
+003bfe720025e2620023a55900226850002e515b003a3b670034268800393896
+00586182006e549a008547b2008848c2008c4ad2008246c7007842bc006a3ab4
+004e28950023294100192f3f0010353d00093e3b0003473a00063d2a0006342a
+00002a410001326e00033b9c0004419d0005479e0004529a00104c8a002c3594
+00274d8e0018474100114d3c000b5437000a6c390009853c00277c5300627b82
+00a478c300bd76cf00d775dc00da7cde00de83e000e280f700d989ff00d879f1
+00b06bdf003274be002679bb001a7eb9001683bb000f6eb2000964aa000462a0
+00056da200118e7c001db0570026bf620030ce6d0048ca800064d48c0087c7ac
+00a8c5c900d9bfd800dcb1db00dfa4de00ecb8df00f0b5e500f4bff300f1ddf6
+00ffebd100e4d4d900c9bde100c3bee000bdc0df00b4ccd000a5cec60078cb95
+004abf7900137daf001180b1001084b3000c80af00086fb10005709c00026785
+001f4d42001947400014423f000f233b000f193d00110f41001e154c00312662
+00562e8f008d44b900974cc200a254cc008c63b1007872b8003c6cc1001b72a8
+00274a5000223c4e001e2f4d002d295c00342a6600544c7f005357700063747e
+005f708000286db800178bbe00198ac200218ac3008c9ccd00a3aeec00cdaff5
+00fcb4f600f6baee00f1c1e700c7d3c700b9e9b7008cd991006aea93005dea8c
+007bcc920081b898009b8ab600a08bc600b48dc600d4a2dd00d2a8ea00c4b6eb
+00bda4dd00a983da00bc93d700c6a6cd00bdc5d000ace7c9005dec940022f46c
+000cd64e0015aa4c0025784e004e4b78003d3ca200465abb00395eb700265aae
+001565a200046d8d0027655600235c4d0012343600070e2b00050b2d0005063c
+00160c550024348c002e52a8004e6abe00867cd2008f89eb00d98dff00f797f8
+00f59af700f6a5e800f6a5e800f0b0e200e3a0d500d07cdc00ad64d000aa5ad3
+009e77c800ab87b500a089a300ab7caa00a785c100c186d600dd8df000f190ff
+00fca9ef00f49bf900d78dec00ae76d9008f65a500798382003bad650013bd50
+"/>
+<palette number="306" name="0t0524.jpg" data="00459e9c00373c7300283a6a00193962001d4d5f0021625c0019643800126714
+005f251a00661c26006d1432008022300094302e007d5c69006789a500659aa9
+0064abad0052a2a3003d7a8f0029537b001f3e6c0015295e00141f5800141653
+001e225100452d3e006d392c0092353a00b7314900d5477800f45ea800f1046c
+00d50a6300a2121b00880a23006f022c006a012e0066003000600435005b093a
+002c003b00390e3000471c26005c182f007214390075142d0079142200971017
+00bb211900f6431b00f1531b00ed641c00ea531500e7430e00e23f1100de3c15
+00ea130000d21a0a00ba221400b1110d00a9000700a8050500a80b0400941506
+0070140000680f1300530c11003e090f004b071300580517006a011200580b1d
+002e393b0039313d004529400062332e007f3d1d009e3b1600be391000d24005
+00db481200e0503800e9593400f3633100f95e2d00ff592900fa6b2500ff7e28
+00d2573500dd592500e95c1500e44e1300df411200ec272e00ed2d3a00ef014c
+00ef0d35008a1e2b00682d3200473c3a003a3746002d33530031357200454076
+008f352d009d332400ac321b00a0261200941b0a0075140d0052041e00380321
+0041033400510533004e132b004c2224005e291b00773417007d330c007a271f
+005a1d2200521d21004b1e21003e341800324a100042560100673f0b0094420a
+00c6450b00ce240b00b9260500a4290000a32306008e1b0000691d100046151b
+0021072400170d33000d1442000f114400110e4700181144002b0c2e00391e49
+00430e42004e172c00501b2e00521f30006526390073193200911d28009b1e0c
+00a0040f008a071c00740b2900541741002d2851002838590028265700451c2a
+00572025007c2c2b00842e20008c311600912a0700791a0600621e11004c1824
+00230632001a083400110b37000d153a000a1e4100102746001627550011265b
+00182655001e2a5400222e58002f414b004b4e33006147240068450f007c3a08
+009836130097311900972d2000a02e0a0099200d00a81a1600c51a1000e00919
+00cc091100c60a0900ac0a07008d07040080050a0074100e00701210006a1f23
+0059253c0059304e0074737800a4bc6e005aa15d0046646c002d4374001e2f5d
+000f265c000a2a5d0016335f00153b60000a596a00016e7300027d6800016972
+0002537000014167000e3860001247660026517b0020637e0045738d00579499
+0076a2a30082a3b400bbb8cb0097c8b5007ab5af00489d9a00479298000f7278
+000f6064000f515d00144b6000184c73000f51740007627500077c7600097a78
+00215a610019405f0009325e000628560002215a000d1651001a114a001b0641
+0023063400211749001e265500232c5700273c590030445f002b635800215f5e
+"/>
+<palette number="307" name="0t0533.jpg" data="000420360036276c005463820073a099008aa4a500a2a9b100a4b1b700a7babe
+00a2e0d300bdede900d8fbff00e4e9ee00f1d8de00e8aec300df85a800cd85a4
+00bb86a000b075e3008762a3005e4f64004b3f4500392f26002f292700252429
+002a3247003e384700533f48006d434c00874850007840460069383c0063303f
+0055583d006c7c570084726b009d69800097728d00917c9b009a69ab00a456bb
+0043269400211c700000134d00061231000c1115000a121200081410000a1b11
+0016311e003e86460050a2750062bea50073c8b40085d3c3008bd1c40091d0c5
+0080dec6007ac7b50075b1a5007b8d9900826a8e0073647b00645e68005e4757
+00524652002f343a00273c2f001f44250023412400273e2400333a4000414f52
+00373743002730370017292b000e193900060a4700080f4d000b155300121c57
+00331b7d0023313e001c32360015342f000b3331000133340007262000040e10
+00070908000c050a0011010c000f0a0e000e14100016231900244324003e5e35
+00587547007aa26400638766004c6c69004e6a6800506868004e5d620046585a
+002467560026796200288b6e001a8061000c75540009753700096e3400146e3b
+0018774b004d405c0051456400554b6d00564c64004e575c00475c5f003c5a58
+0015513800114329000e361b000a301f00072a2300062b2300032f1e00034b26
+000653270012633800176d38001d773900377f400039854400458a490075885b
+0078975e0065925600538e4e00498c4b003f8a49002e753b0013582900024220
+00052a1900030b0d000305100004001300010b0c0002110c00052c1700034f28
+000171370008783a000f803e00158741000d753800185f4d002f534f00403e41
+004e3c3200533648005b3547006435470071475300814d4f008f556d00745167
+004a555900435557003d5555002444410012343600123a3100124438002c4645
+00455a5b00458374003b937b0039a78a0051aa94006aa76100738b5b00567647
+001e292b001b2b2300192e1b000616160009121100041d1900062922000a3a2e
+000c4b38000c53290004622e0003603100095c420006523600044c3400034634
+00063f3000092c260015242900161d230020161f0022131a00241615001c1713
+002320190026211e003f24290046272c004c272e0047232f002d1922002b141a
+0020131c001315140016110e000f0b0c000d0709000c0a0b001a1d160027271d
+002e252000413029004c28320042252a0037232500162015000f1b1100080a09
+000507060004000300070709000a0c0b00061414000926210001263900034239
+0004483d000436350017313200282828003a1f28004d313f0041294b0028373a
+0017463c001c644c00426c5600558a82006b9a940071a6a0007eb6ab0087a1a0
+"/>
+<palette number="308" name="0u0075.jpg" data="004a34d700230bab001806a0000e0296000702910000038c000001850000007e
+0000007e0000008100000084000000880001008c00020082000300780002006a
+0002005d000000170000000b0000000000010000000300000003000000030000
+00000000000100060003000d0001002a000000480000005a0000016d00000078
+0000007a0000007e000000840001008a0007009b000d00ac001e00ac003000ac
+00620da600650796006801860054007f00400078003302820026048c00180197
+001701a4003904b8004a06b3005c09af004604b0003100b1002100a400110197
+0000006200170055002f00480045054c005b0b50005b0e5e005c116c00680184
+006a00a2005e06b4005f03b3006100b3005900b3005100b4002902ab001501a0
+0001007d0015056b002a0b590049055700690055006e00610074006d008308ae
+00891bd400832cea00793ce800704de7006f54e9006e5beb00684ae6006a2dc9
+006a006e0061005300580138004c002f00400027002b001b0013002100000038
+000000560000016d0019034f003306310038082e003e0b2c004d0835005e0136
+00690069006f008c007500af007300b3007200b8006e00c1006c05ae006e01a8
+0079019400620280005201770042006f0029006100010073000000760000007a
+00000070000302550007043b000f072b00180b1c00251821003609300051004d
+0051017a003e1bc000421cc200471ec500510baa004a0e80004806670052075c
+004f08300046062c003e05280043032e00480234003e0b670041019600330db8
+003b18cc002700af002101a6001b029e001f019700180096001b00900025008e
+00340071003a0068004000600030014f002f004000210019001d0012002a0320
+00430f3500670099006803a6006907b4006818b9004c2ecc003531ce001114b7
+000b05af000b03af000b01b0000b01af000801a7000000940001008600170082
+0036009c003400a0004105a5005600b900670ad400741fde007c2deb008f3df9
+008760f7008163f6007c66f500775ef0007754f000685de8006650e3005c38d8
+006a19a600670773005b0d3d00500229004401240036000d000b001000010103
+0000000200000000000000000000000000000000000100060001011b00000038
+0000005a000000700000007c000a008700290171002901640024004c00080429
+0000000700010100000002000000020000000100000000000001000200050102
+0002010700030020000001310000004b0000006e000000780000027f00000098
+000100a6001200b4002a00bc004c1cc8007616da007d1de0007d23e700852aeb
+008b27e9008c2ded00863def007d59f100875bf8008957f8008f33f0008332f0
+00723ee9007243e7006840df00722fe1006802c5006101a3003d0035004c035f
+"/>
+<palette number="309" name="0u0298.jpg" data="003a3f07004b2b1400552c26005f2d39006d3033007b342e0074382b006d3d29
+00572f25005a2625005d1e2600621e2000681e1b00723129007c4437007d4749
+007f4a5c005945510047463d0035482a001e3f1a0007360a0005300900032b09
+0007290e000b261300102419000d1d14000b1610000e150e0011140d00141007
+00041a050013342100162d39001a2751002725570035235d002e284d00272e3e
+00234a1b002e4120003938260046312f00542b3900542d3b00552f3e00482c3a
+00442a3700361c3700361b4300361b500043254700512f3f00503341004f3744
+006d4d5c00654854005d434c0056354000502735005023340051203300431a28
+0054182200601d15007940260093643800996b3700a0723700a6804200bf8a48
+00a46c3b00955a2e0086482100713013005c18050056170b0050161200550512
+00620f19007d102f007c1c33007c283700752d3a006e323e0065293100621b29
+0043013100410828003f1020003f081b003f00170041020b004a140a00592100
+00642f07007a2b240078391f0076471b0077461200794509006f341400642a14
+007c492c0080552800856125008459270083522900752617005d121700480010
+003e070200330d0000250e000017100000110c060009190e0005221d0009271f
+00182b180026251a00341f1c00321b1800301814002e0c1d00280b2100230215
+002c040f003a0005003a0604003b0c0400370c0600291607001d2818001a341b
+0012341900172e1d001d28220021292400252b27002e212a003b1a23003c121c
+00441616003a110000390f0300380d060039140c003a0d1200300b130037040d
+00440206003f0507003a08090035080f00291316002c151f002f192500381a24
+003c202e004c1f260046191f0041141900421013002e0e130023160e001a170e
+0018270800162610001426180018191e001e0b210023093800261f2600231e22
+00222e1800283009003f2d1500463c0900523106005a350b0057351200543314
+00512210004f1c13004d17170038231e00352323001f1d1e000f1b11000d1a09
+00162a05000c310f00152717002520260030242e00392e2a005b333400753b30
+007f45390087515100a86a5500c1856300af825900a06a4400986d43009f643a
+00964b46008456320089672000935e2c00a16b2f00aa6639009e544700934b4f
+008f464f0088373e0095275400982d75008c425d00b97f7d00d17e7a00aebc81
+0092be9d008ab47200806c780099506d0070505d00546942006383400075753f
+00725034006840340061342e0057362d00523c2e00303028002d2e29001c311e
+00132823000d22190010100e00170408001d0a0600370b0a004d071100610710
+00640e19005e0e19005c1620004a061f004a061f004f162500492d1500511f14
+"/>
+<palette number="310" name="0u0298pp1.jpg" data="003f3f9700621aaa005b2195005428810049327a003f3c7300363367002d2b5c
+002b202e00281d3900261b450023164d0021125500251d710029288e003a3796
+004b479e00465a950039427a002d2a5f002a206b0028177700291777002b1778
+00581a8500500d96004801a7002e0e9300141c7f00171a70001b19620022255a
+002e2c5b00243a470024393f0024383700273530002b322a002c402e002d4e33
+003b3d56003b3a56003c3757002e244000201229001b151e001719140014150f
+001a0e0e00270805001d080c00140814000e0a1f00080d2a000b0c1f000f0c15
+002a0014002e0a190032141e002d0d31002907440026063f0024063a0017003c
+000c0429000e0613000a06100006060e0007080d00090a0c000e040c00120000
+0019100100170f0b00150e15000a0b270000093900000d480000115700091a68
+00001b760025167f00380d80004c048100580e97006418ae008541ca009f56e5
+008841cf006c3fb200513d96003a2e9300231f90001e186e001d126100210e50
+003e114c0020083c00190a3a00130d39000f0d35000b0e3100040f2d00000c36
+0000044100051156000b1e6b00171d7000231d7500372f84006369bd009f77fc
+00b488f700ffbfcd00ffb3cc00ffa8cb00e4a6b500c3818b00586d8a00364d5d
+0000173300061730000d182e001016350013153c0018144f0014074f000a0f53
+000716410000264d0004245e0008226f00010f670000055900000354000e1259
+001d395100263f54002f4658004147690053497b00645c5a0083714900704032
+005f3e2b0042363a003d313500382d31001d1f2c0012192b00181a4100222f52
+004d1f8c00551b9e005e17b1007224c5006738a0005f479d004752ab00224299
+001a3376004557870044599200435c9e00565da1006e77b2005f669d00526397
+00416281003d586d003a4e5900326135001a5e130019472a0020230e00261f17
+00243444003e4f6300564691007c70c200916fe700906ee7006549c200715da5
+007530bf00752cca007628d600803bc9007428ae006307760044014e00481138
+003019230025192d0024133d002205590021055a001d01680021016e002e0a6a
+00220d68000e0e6e000c0c6400000070000b006f0015078e002d0fa100561ebf
+008153d900a97afe00aacaff0086bddb0056abec008e80cb007766b400754787
+004a287f002c266200381943003a1541002f1c30001516280019172d00180847
+00120f52000f1d66000e1f6700122663000e4c6300003e4d0012254600103142
+00194143000550320021443000302f37002f2a3100241d49002b2156002a205d
+00240b5c001203620010015e00120054000403530000093f000006350007031e
+000000140004021a000100300015004500190c42001021310035742500204e32
+"/>
+<palette number="311" name="0u0303.jpg" data="00b80c2200a05e24007e5812005d5200006b450e0079381c0084271a008f1718
+009e0120008901350075014a006a103c005f1f2f0061293e0064344e0063444f
+00635451002411600021145f001e185e0035314d004d4b3c00624e4b0077525a
+0088428a009c419200b1409a009e209d008c00a000950889009f117300801e5b
+00752b66009b248200841c6d006e15590057136b0041117e00391991003121a5
+00344b6a00485f57005d7345005e6e35005f6a2500506f2200417520003e6d1c
+0046381e0074201600781b2b007c1741006b2647005b354e0050374500463a3c
+0019360a001f290500251c00003b150000510f00005e0701006b0002006a0805
+00791e1b00585d1b003b6f13001e810c002881140033811c0048912600617f5b
+00813b8300703088005f268d006f3399007f41a600793ea800743cab006a59b9
+006371ae00173e8300382f660059204900701e3200881c1c00a02e14009d1a00
+00a43905008b360e00733318005c2e10004629090041181200401318004a101e
+003a262800360e3100312c30002d4b2f0021523a00165a45000e5863003a6f45
+004c9754005f95490072943e0075a23f0078b14000629f4000428c5b002e828c
+000f70a5000042a0000531ab000b20b700080d8b0018288a0056059200600d65
+003f423b002d3c50001b3766000e20720002097e000b05670048004600820a2d
+00981d1800a1232400a3193700a5104a00b1063a00bb001d00cd0c1d00c61c1f
+00851514006b1a0a0051200000452800003a300000273b0800305b260045722d
+00708d30009e8f3400a1802e00a4722900946b2900896d240071691e0061621c
+008c8a3d009b853500ab812d00be833500ad5a54009e338500a2236a009f3833
+00af602700d43f1f00dc331100e5270300ef110c00f2062a00ce003000a1001f
+00851c3a00832a3c0081383f00643734007c593d0084945300799a550078b74e
+0082af3a009ba83200d1961e00d4ce5200ffa16f00d69a7800a19b4700808a72
+004f83bd003d85c4002c88cb002684aa003c7a890057795e0042713a003b4415
+002f2615003c3a14005741360061633b00806f3b00af824100bf812e00b8612c
+00a15019008d442300795a19006b48200050421b004e3c1800650a190067000c
+007a001e008702390097143e00a2194d00b60c6c009d057c0087035700831a42
+00562b3e004c462c0046522e00495a30002f5138000c5a32002c722c00387b2c
+004493440064b848005bae56004e94600045905500507f5100596d6400642c91
+00802aaf00893aad0081518f0088647e00a39db700a65a9b0085479a006a3aaa
+004c40a6000e4f930001427800254085004c4281005e3f4e006d315300a4196a
+00ad1c7700ba1f7d009f2d8500892a6e006f4762007770600076836700757d4c
+"/>
+<palette number="312" name="0u0333.jpg" data="00716a340042492a0034543400265f3f00335e4c00415e5a0041535c0041495e
+001b334b00202e4d00262a4f002d25440035213a00411939004e1238004c1e36
+004a2a35004761460037724700288348002e763300346a1f00265e0f00185300
+0011410d00263a0f003c331200653321008f343100a2373a00b63a4400cc6566
+00bd815f00a45b6400915356007e4b4800844543008a403f00a43e3d00be3c3c
+00bc232600a0341c00844512007e44290079434100784343007743450076563d
+00725e3b00986a5300b8816500d8997800be846b00a46f5f00995f52008f4f45
+00a95e5b00c4766600e08f7200cd876800ba7f5f00a0705c00876259007d4c47
+006f3e2f00541e1c00412325002f282f002c2e32002a343600342b30004f402b
+0062522e0065412e0068312e00531c29003e07240033041d002802170026030a
+00280605001a0806001915080019230a00232811002e2d18002e412e00194632
+003b674e0048625d00555e6d0054646e00536a70002a77930061978a0068bea5
+0076817100486b57002f584a0016453d001b393100202d26000e281b00273222
+003f363900593d430074454d00814b4d008f524d00a7604c00be7b6100cf7575
+00b9506e00834c51007c51480076563f006c533d00656a1a005d801800575f16
+00564823004640230037392300303e2100294320001e4b1200123316000e2b0d
+00142409002e130200321b0f0037231c00302f1d0033362500363f1000514509
+00464e13004e62200056762d00707a40008b7e5400a28d7000c3906100cd6e5a
+00cb542c00cc392900c32e1f00bb2316009810100080080900631515003c070f
+00230e170026161e00291e260029222a0022313600124d510019705f00146346
+00194c4d001e2631001b1c250018131a000c041b0000031a00170a24001e0f22
+00330d2400330d2200340d20003b1918003f2b1300372c0c0024291300261e09
+002c190a003e2811004f26220048311f00424f24003b5c27002d673400156737
+001f87a0001d8c97001b928e001aa48b0002967c00176649000f4434001b1927
+001311140025120b0025140400110801000b0102001f07030036120400651329
+0085222500912d2d00883b410072434d00663258004e2b5500492d5500514046
+00523d2c006e31360075383d00631745004b1b4f003a274500352d44003e4444
+005c5c44006c6143006b544e005c4066002c3254002c2247003e1a48004f1a50
+00611d66004c0146004c0b350038012b00341f2800462c3700543e26005d2322
+006f1e2400791b2900711d2c007335260081342c00863641009f342c00b23c2e
+00a75f2500b25f4100e4876600dc997c00b6aa7800a1ad6500b3ad7100c59581
+00a3918d00a5818500917a8c00866b700076736e00657656006b8f6300378087
+"/>
+<palette number="313" name="0u0752.jpg" data="0020261c004048190051541b0063601d005a5b2800515733004d4c3100494230
+004e422a0059472c00654c2e006c4c2700734c2100513f1f0030321d00293019
+00222f1500202d1b00203225002138300030523c00406c48004e7051005c745a
+00799250007591490072914300697e4500606c48005f6743005e623f00535c3d
+00384f3b0028302300232c22001e2921001d2825001d282a001d2528001e2326
+00151f170016211f00182327001a2329001d242c001d272d001d2b2e001b2b2b
+00172a24000a1e25000f1f1e0014211700172512001a2a0d0021301100293716
+003c43170041401f00463e2700493323004d2820004b2b1900492e13002f2d18
+00383917005b5b29007c692b009d772e00a0763600a4753f009a6c3a00766730
+005f663a00636631006767290079592b008b4c2d00874d3200834f37008d5439
+0093705000586339004a5e32003c592b003b5220003b4c1500394724002b3f33
+003b6a5a0061846700889f750097a57c00a6ab8300bfa9910089afa00085ae9e
+008f9f78007063430060513600513f2900473927003d342500263822001b352c
+00273c3f00323a3e003d383e00453d35004e422c0056453100525333004d5b38
+004d6032004348310040492d003d4b2a003937220032361f002b301a002a2e17
+0014201600151d1800161a1b0016191c0016191e000d12160013160f001b1f11
+0026291e002e381d00303c1f00334022002d452d002c5d3f0038695300476f54
+00617c5d00728a6700839871008c996b00969b65009b98650094976a00929c7a
+00a5ac8300a9b472009fb56c0095b667008ba160006096650051865a00436741
+002a3a1d0025351d0020311e001e332000253a31002c45490035515200404e4e
+003b4f440033402400343d2400363b25003e3d290046442b00494f3300576242
+006c5c45006f5c4100735c3d0067533800593d3100563530005a3a2300704221
+008658270095732900897d350074855b00459a70002f6b75002d495500253e52
+00191c2d00171c2900161d25001b1a1800381e0f0046312000584c34006e6b36
+00828d490090a759008c9d670087956400728b6b00497a6500355f550036492d
+002d34220025233100222d4300253b53002142610021426300214462002c4653
+0025604e0027584300204b41001e3731001b271d00141c1100111d070016180b
+001e1808001f190b00211b0b0021250e00232c0f00252e11002b241400351f14
+003c281d0050391900714c180076511c005e4c1e004a441200303b13002c3017
+002b1b0c00281a0f001f2211001b2616001c2a1b00222f1b002e331c00353e21
+003d5535005b694f00707a5800987e5b009b8c6d00ab926a009e825b00957840
+00977b3c00a3823500a7863700b78f5b00c5925d00bea08800a6a36000928a4c
+"/>
+<palette number="314" name="0u0768.jpg" data="003d75a6001166b600196aae00216ea6002467900028607b002e3f7200351f6a
+006b0d5900791c5600872b540086325100853a4e00833d3b008141280083372a
+00852d2c005b3c4c00546050004d8554002c9959000bae5f0016b1630021b567
+001bb88d0015b2a40010adbc000fa2c9000e98d60013a3d20018aecf001db0b8
+001cc7a50037afca0032acd3002da9dd002e9cca002f8fb7003088bd003182c4
+006a7ab800798e950089a373008a844c008c662500944b1d009d311500a32806
+00a21b07007c154d006d1b7b005e21aa004047ad00236eb1001573a9000778a2
+0010808b00165b78001c376600261e540031054200350b3c003a12370069081c
+00992f1f007e5041006b586a0059609400525aa1004b54af001b79d1001782e0
+004f499f00463e74003d34490038274500341a4100321e470030234e00371763
+0053396800367d770027848900188c9b001a87a3001c83ac002181d7001c84e7
+0014b0d90021aed3002eadce002cb1b1002ab594001d848300198085002e847b
+004c8d5300336d19005b63230084592e00914421009e2f1400a51c0c00a60d00
+00950e00008a0e26007f0e4c0080194d0081254e00a2204400ab2b4e00a43a44
+00985b1c00a53c0c00a72e0a00a9210900b50c1300aa050c008f0d25006d1643
+007d147300881e850093299800992c8000a030680098195000a91a5000a90b6c
+008e0390008b308d0087337300843759007321380065173e006e114800730450
+00831497007716a9006b19bb005d11b6004f0ab200520f9000272586002d1670
+004f0858007c1e3800881c2400951b10009717160083062800730c3700650566
+001f058200151089000b1c90000f3d9d00165cb4002a75d0002949c2004e4ac2
+008542b5008a3368007725620065185c00390a5800060c6e000c1f7d00124793
+001f1b96001c169c001a11a2000f14b8000b15c2000a0ac0000306cd000725e5
+000a46d8001535bc000e39ac001632b9001718c200190cce000e12cb001634c8
+003336c3003431c200352dc1004c20cf006c10cd004a18db003714e2002439c8
+002244e3002c52db00385de1003963d1004964d9006089b5004580a200317395
+00115890001e558b0012206700191164002518460032154500501f4c00545c5e
+0054636a004483660023a277003cad8200369b8b0059829e0042718f00295498
+001a559100205f7e0015648d001b648f001d5f9b003a4c96005331a100552b99
+0047249c003b297b002f1f4300182e1900000d1e001d214e0009506c000b8882
+000a988c00358a9e00378a9800396c9700524da1006339b700652dc6004121c2
+00291db1003339b1001d5497000b619c00126cab00047aaa000c7dbf000d98cf
+002592d30035a0d4002ea6e30031b1f000549edf006a8ec0008554bd00554d86
+"/>
+<palette number="315" name="0u0795.jpg" data="002267860029718a00177097000670a400095f95000d4e86000e4b820010497e
+001a1f71002a136a003b086400430d46004c122800470b1600420405002c0402
+001604000010130200120d160015072b002b034600420062004c006200570162
+008d0f600078245800643a500046405900294763001a426e000c3e7900103786
+0018328600122f7f000f266b000d1d58001f3b670032597600316c8400317f93
+0027c28800179398000764a900114390001c227800191c710016176a00151462
+002b0d4b0047092000490510004b0100004f000900530012005f091e006b132b
+0043151700310c190020041b002b112300371f2c0030333f002947520017587e
+000b73a60020a2ba00227e9700245a74002a506500314657003f3e3c004a243d
+00790b4800720b58006b0c680050076600350364003304640032066500340565
+003a0265003a0c4d002d143200201d180017181c000e142000080a1f00160d28
+0029024100320248003c035000450153004f00560057015800680758007b1449
+008c1744008a11600071096000590260005601560054004d00640348007c1832
+008c3c1700973b2e00a33b4600a8344a00ad2d4e00b8435600bd445300c64363
+00c53d6500c3435c00c84a6100cd526700c84d6200bf4b5600bc465600a05734
+008e530d007c3509006a1705007b2804008c390300955a1800a9723100c86d6a
+00c683730063b591005c928600556f7c00424b82005c534a00795a4800bb4750
+00cd546700c46f6900bb8a6c00a48965008e895f008a715d006e5924005a471d
+00452e340016225c002429730033308b002f4b9400056bad001881a1001a6195
+00192f84001d257d00221c76002b0e6b00440162006a05610090126400b62864
+00c8496400c87e7100c1906500baa25a00d28b1f008f803b007aac310060ae3e
+0082936900679c7c004ca58f00337caf00198bad00129bbb0009afd9000090c5
+000090c5000c72b200096faf00165ca20017378a000e16690002044100110a2b
+00120348001905510020075b002b0666002a0b68002e0c6a00310969002e0968
+0030035e001709580019123c001f0d370038023e00500142004b143100492030
+003e1f270020123300071436000b1c5200121969001f197100221d7900142d81
+00114284000b48890012538900095da3001794b2000394c30012bdce000ac7db
+0015c1d50021baca0040bdb50041a59900418c8700296c7f0036538f0026327c
+0024176f002b0e6b00270d6800221662003a346200501c6400740c6500850e62
+008f1a6b009c1a5a00a01a6300a81f6300b9296600c1386400bd386300af2b5c
+00981e5700880f5f00611e5400580259004f005e004c146d00581b600068082d
+005f0521009f191800b21a2900ac0438009425350070483c0059725d00547771
+"/>
+<palette number="316" name="1u0214.jpg" data="004d400900150c4d0015195000162753000e2b5e0006306a000e34640017395f
+00052f2d001723330029183a002e0c2a0033011a003c041b0046081d00470726
+0049062f00481737005825520069336d0071355a007a374800722c41006b213a
+00751f1e00652b2300553828004b401d004148120039411700323b1c002b3324
+0019232f001a054600130634000d0723000d0c1d000d1218000d121d000d1323
+00293f32002c5237002f663c00385b3c0042513c004c4b340057452d005d3f25
+00613f2600662416006e241700762418006b370f00614a06005d4503005a4101
+0046541900384721002a3b29002d2c3900301d4a0024214f00192555001b3544
+001c4348001e5057001b504500185033001c4c2b0021492400363d1e00382d0d
+003e231c0040251b0042281b00401e22003e142a0040172f00421a34004e2138
+0048233400463018004f371000583f090061330c006a28100070250e00761c04
+006519190064221800642b18005c2f1600543314004e3e0d004f4500004c4a00
+0048540a00434e160038501b002d53200021542800165631001057450008684c
+004e7055006c6f57008a6e5900927755009b80510099804a00b99b2d00967911
+00753c0f00571507005d0e080064080900680f11006e230c00692b0200683206
+0082440000924e0600a2580d0087560c006c540c0064641a00515e0e0036540a
+002c560e00346b2700297423001f7e2000216f310031683100344d2d00463926
+00622922005d1f24005916270050122200480e1d002f0e15001e0b0d0015180d
+0008272200194a470020493c00284831002c41220041461000395008000e4a00
+000d0a0500080d07000310090004292200134d4e00087c59000d8c3300246f37
+004360420077803d00908a3700a9953200aa852c00507726002e511100132a0d
+000f0a11001205100015000f0017051f00160c250024182200231917002a2a20
+00353128003628490031515000334e3f00453d3a00573243003f24350036163f
+002603430027044500290648002f15420042214c0040253800501b2500522214
+00592b1400593a0e005c4418004a4f1900474c1400485007004f47080055280b
+005f1c1600511b1b00420b32003a1d490047155c004e144f005b1e2d00731226
+00781b26006c1d2200592f2100333011002f370e0029230b0039120100561400
+007c0b05008e052100861020007e1234006b035a00640559004e19510055103f
+005c172c00762021007f272600744857005956610034788d0018626b00274b49
+0042434700523f31005d483300674d2a007d670400a96c0100ab731400b38317
+00c36b3900a26522009a672e009c612500a0512600973b0c009827050099131c
+00a02611009c450f008a572a007c4e2a008f554a007d56510082665a004c8275
+"/>
+<palette number="317" name="1u0215.jpg" data="001d231500163b29001f3b3a00283b4c00443f710060439700575185004f6074
+005a789e0041638800284e7200482c6400690b57007e0c5400940d5200941a4c
+0094274600833d35008b3c3600943b3700962f310098232c00a6222a00b52228
+00bc0c0e00a806070095010100880701007c0e01007012050064160a00512606
+00322d0f00680c3500760e3200841130007b0c3000720830005c0a2900470d23
+0019161100161e0a001327040037220b005b1d12006117170068121d006f0b23
+0073082400470d36002419400002264a0003164000050636000605310007052d
+00071e0a00161d0b00261d0c00401208005b07050051120700481d0a002c210d
+001e1e1e00290e1d0045132d0061193e00631e39006623350074211b008c2c14
+00c4281900c01f1400bd161000bb0e0d00ba070a00b8040b00b6020d00920106
+00721317000c081f00060e1f0000152000021b150005210a00042709000a2709
+000741040009471d000c4d3700185138002456390031645d0034547d005d6884
+00646591006e8266005f85560050884700477144003f5b42002b4b33001c4824
+00202d1900113c1100034b0900034d0900044f0a000953140004442c000d213a
+00161445003e04500046164c004e2948004d2c3500232416001a1d12000e1714
+00050b0b00080808000b0505000b0903000c0e0100131b03002e34040045330b
+006b3d02007e2c1e007d3b1b007d4b1800774b1a00483c16002232150006220b
+0008021e001a0a1f002d1221003a252b00473835004d3147006520710069477a
+00823072009c0c4700a9073300b7032000c40b1d00d7050400c6110600bf140d
+0084211b00791e1a006f1b19005e1318003d2f260030552100325d32004d5b44
+00804b2900a51f02009e12060097060b009b161900b00620009b013300930c2d
+008c0e0f008c0f0e008c100e0087100c00881e06007f0e060080020e00760811
+008013280073093a00831542008d0a4c00900e4e00930e39009e044400a9083c
+00c5272600c1272700bd27280094181800681326002d122100170f380018113a
+00051e3c00002a2900102f31003b2d3a0047344700562a4b0065423e0086333b
+00832f60004d72780050786d002b7c5c00207c27001e6e270009674c002c6f5d
+003e6b4a0039723d003e693b00326a2d003b7a34004b62480075582e007e4824
+0091331700a3241e00bc122d00c7123100d3301d00d2372100e1430200e33905
+00e6161200c6291a00ba2c2b00982753007923600059233d003c1f31001e142f
+00082219000530120009361500194524001e4d1f0021581f0028552c00304f30
+00404f5200392a47002c0653002a015d00411a6b004b3160002b4e6e0005767e
+00289b8e0024967500538844008f5a2800a7521b00b62c2c00b1272700913220
+"/>
+<palette number="318" name="1u0216.jpg" data="005539d9002f7b95003b748400476e73006e6a610096665000b25f4d00ce584a
+00aa4e7d00764b840043488c002e359000192394001a1a93001b1293001d0ea1
+001f0aaf001f20b800131da900071a9a00331797005f14950060228d00623085
+0046377a002d348e001432a2001c32b9002432d000303bd0003c45d0004670e8
+00696fd10098b3aa00b5a3ac00d393ae00c580a200b86d9600ad668d00a26084
+0054647100586879005c6d8100736098008b54af008e48ad00913dac009d3596
+009c358e004309bf00330ac600230cce00190cd6000f0cdf000e0cd5000e0dcb
+0002039b000607a3000b0bab001e1dbf003230d3003734d4003d39d6004537d2
+004a49d100565dc700834cc300b03bbf00b736ac00bf329a00d73e6d00ed5a50
+00e5b45500dda36700d6937900c2758100ae588900a347830098377e008f1779
+00872a94007e28a7007737b7007047c7006a43c7006440c8004746ce001858bc
+000272a4001287a800239dac002893a7002d89a2006576bb005a62c4006a63b1
+00867fa900b2729700b0649000af578a00be4a7c00ce3e6f00bc2c7100af1479
+00a80a8300a3077d009e0577009d0370009c01690092127100820d820066178e
+003836a400042aa900022da100003099001a2f8a002d4689002d4988003048b6
+00343dda003132dc002f27df002c20dd002919dc001d26c900182ea60033308b
+0083139300ba1d6400c1165900c8104e00d5135200d5216200d4206100bb1360
+007e266200564a7a002f6f93002a6b980025689d001068b2000756cd000632c9
+00202dd3001b0fc9001913ba001717ab0000189e000419b2000a1cae002616c1
+004b21e300641fd8007e1dce009a1bc0007c11d3005411ec004a17ee00583ce9
+006c59cf00a56cd300a86fd800ac73de00c875b900d18cb800d79a9500d5a28f
+00cb807a00cc787000cd716600dd605c00f4646300e8665800c9816800c78972
+00b8768000c2595d00bc556600bf7687009fa5a1008aa8a00040abb5002caa9f
+006f8a5d008c6f6200a9546700cf3d5400c5256500b2225d00881e76003d4085
+00286697002c83a100169ba00019a29b00299fad0031949900626f9c00a74c8f
+00a83f8200d63c5e00dc263d00dd0d2d00d6171e00d2202000f5211500d13310
+00d1391000c8450100af651e00be452600c140560095276e00663199004f29b4
+003e1ed9003c1de4003230eb00362de0004735e1009251c900b649c600d049c1
+00c54ca900cd449200d7486400e95a4a00e4584700eb3d4700b2245c00821b76
+0036388b00173bb5001c28cc00251bd2004214cf005220bf006d28bf007c0ba1
+009c188800bf2c9700e72b6800f03b5c00e4597a00d08b6e00e2ab7300daa281
+00c67d8800b06d7f00728d62006482600054736100396685002f4785002a3c88
+"/>
+<palette number="319" name="1u0216pp1.jpg" data="0027685000397a7200439281004eab900061ba620074ca350093cb2900b2cd1e
+00b9b64d00baa16c00bc8c8c00ac8896009c85a100818e8f0067977d00629d83
+005da3890041ad36003e943c003c7b42003b8a47003b994d0033a35b002cad6a
+004fcd830046bb88003daa8d0025a29e000d9baf001099af001498af002ea69c
+0037988f004ea04b007eac3800afb92500d2be3900f5c44d00f2b74b00f0aa4a
+00d6695200e57d5400f4915600efaf5c00eace6300e3bd6300dcac6400d99564
+00e3ba5e00e8c33700d4c23d00c1c24300a2965e00836b790076736f00697b65
+005398620054b3550055cf48005ee4610068f97a0071f77f007bf6840099f272
+00a0d47200afc15b00c1a15a00d4815900b88555009d8a5200927f45006b4d4d
+008f89570098964800a2a43900bac82d00d3ec2100cbef2c00c4f23800dded4f
+00e4f54700ffda3700f8c83200f2b72d00f8a63500ff953d00f8875b00f7913c
+00f7b53a00f4c94a00f2de5b00e4da6b00d7d67c00d1ce7d00c3b18300839f77
+0053ad93001e8ea40021799a00256490002b66900031689100346e8600367c88
+0027939d00368d90004688840067828400887d850097809400b1a09000c5b57a
+0082e0700045de83003dd9900035d49e002ec9a1004ab5a5004cc2a2004ccdae
+005fe398007fb49d009f86a300ad869800bc878d00d2447c00d3487100d94c6f
+00e1616200c0b83b00b6bb2900adbe1800b0d219009ed0490068cc6c004e9a7e
+0028699100206f7c001975680020826400288f600036cb79003ce98d003ce8ac
+0020f3e0002dece70025e8e5001de5e3002bcfb70022baa30013b5aa0032c3f0
+0057a7c20053b2b2004fbda20052c9870075c97c009bd55a00c3ef3a00ebf72b
+00f4fc2d00abe20a00abde1900abda280069d92d0066de49005cc4470069c534
+00acb11900b0c41900b4d71900a2f332009df4580083eb72005af67b003ee070
+0040ea870034e388002fd38c0018db95001acaa3001cc09e0039d69f006bf49a
+00c3ff6400ceed6f00d9db7a00dada7a00d8d47b00c8c67900cea57900a89670
+006b9b73004892810038828f002a889200367c9600816281008b7292005d81bd
+002c85bd001a73ab001268b5000797b9001aaab20027cfec0012dcf00022dae6
+0023dbe3003bcba70058da9e0071e7910096e26800d3d64100decb5300dec952
+00d4c64900e4bb3d00e2d33c00ede84200f2eb4300fce44e00e6e74b00eeed54
+00f4fd6e00f3ff6f00fafd6800f0f45500fce46600ebe06c00e2d67000d8b466
+00c7937d00be928900b8938b00b5948d00bc9c8f00d1bc7b00d2d9790099ff67
+0067f684004bfb8f003ff6a30050f2850065e7870080de700092e06800a0d44c
+00a8cf4000c5ce2300c1c23800cfb44900cba95000c7966d00c1c27400cab274
+"/>
+<palette number="320" name="3m0001.jpg" data="0025a6d0001a7ed600227ddf002b7ce8005493dd007daad3006695b400508096
+000c2367001816700025097a0048096a006c095b008008690094077700990787
+009f079700f6378500ea456c00de545400dc4d4900da473f00e03c5000e73161
+00cb206200d0166c00d60d7700ce0f7f00c7128700ca0f9500ce0da400b515bf
+00a308c6006044e600447fd40028bbc30030a38800398b4d00578c5d00758e6e
+00e0795a00ef786100ff786800dc5e7100b9447b00b63e7b00b3387b00ae1d68
+00a9066100b71e5e00a6356400964d6a00755c7700546c8400695c87007f4d8a
+00b71d9900a4198e009216840081198b00711c93006622a7005c28bb007b3bb6
+009c2db000a6a9f000a0c4e7009ae0de0090ced40087bcca0097bacd00988dcf
+00be7dd100b685b300ae8d9600b3718f00b8568900b14c8400ab438000ab3e99
+00b3329900d13b7b00d3317a00d5287a00d42b7400d32f6e00de4d5400ec644c
+00ea8b5500ea8d3d00ea8f2600e5852900e07b2d00ef765900f45d6600f54d98
+00fa56af00c095c000b8a8c700b0bbcf00c1a1d400d287da00eb4be900e429dc
+00e506c300cf05c200ba05c200b906c200b808c300aa04b000b908ae00b62eaa
+007c73c4000d57c4001168da001579f1002675f600432be1003b40a400572b9c
+00a72d6a00b23a4c00be472f00c04f2f00c3573000bd512a00ae3c3200910b4a
+007d0e410077206f0080217d0089228b0095158c00ae17a000bf14ae00c52db6
+00c259d0008f8ace005cbbcd0059b6bf0056b1b2004a949f00397bad002970b0
+002179ab001d4394002036890023297f002d218f001e0795000018a5001319a5
+00222cc2002421cd002716d8002d08ba0044039f006b0980006f078200750598
+007a128100a93e8600a3467e009d4f7600b7528a00de589700df4a9e00dc3199
+00bd2c7100b2307200a735730070296b004d4f8800325f80004c5dab006f45d5
+009c32d000c221bf00c630cf00d946b800d559b100f05bac00f03b8c00dc2d92
+00b32ba9009935a000804097004f62a600756c9700794f8e00915c6200906777
+0090b089007fdd8f0079e6a2005ad8ca0050cdd3005fdcd80062d4ca0072d3b0
+0090a78b0092659000853a8c008b218d008c0b9b00a507a400c017b000ca23a7
+00d1209200ca227a00c21e7500bc2c6900ba1b5d00ba0c4b00be1e6600de1d7a
+00f31c8400e5258a00de1b9100e6239900f30a9a00d40ba500da17b100c81cc0
+00b542d1009565d5009a7fce00627dd6005597f7008877d5009762d800a04ae3
+009642de00af2fde00a719e700b813c900c90dac00d618b800c535d200c256bb
+00de6dbf00b2819e00a1878600bb639600cf5b8a00d85c8e00e1698500e7717f
+00ee667a00e76e5d00ef7e5c00ee935a00ea926400e5c97600ebc19100abbcce
+"/>
+<palette number="321" name="3m0004.jpg" data="00181a26000f140e0020310900324e0400474703005d410200623a0300673405
+0058081300510b15004a0e180033141e001d1a25000e0f240000042400060a29
+000d112e002b2457003b2758004c2b5a005720490063163800670d2d006c0523
+00b31f2d00c41f4700d61f6100a81a4f007b163e00721a3a00691f36004a2515
+00592d14007b751300807e09008687000096852000a6834100ad723d00b46139
+008e484800635a3100396d1b00238431000e9c480026a359003eab6a007b7d68
+006c3e48005c222e00541a2a004c132600451f2b003e2b31003835300033402f
+000b6724001a96200029c51c0040af2200579a29004c7b1700415d060066600a
+006b4506003f3534004a493400555d34005e562600684f190070422b00693e1e
+00693214006d230b007114020061100300510d04004a10030043140200451e01
+00411b0e003c3b430027535c00126c75000e6f93000a72b100146cc600234582
+001e3a3d001c2d2d001a201e0028272000372f22003d4617003a53190049512a
+00514c26004434410053374a00633b5300704553007e505300b67e89008f9f9c
+003d79830038516000332a3d002e233c002a1d3b00261631003d14240053111d
+0055050e00441609003a0f090030080900401b0b006d2914008d4a0400a26009
+00af3c0f00a62509009d0f0300a60e0900b00d1000b20f1000bb133400da183d
+00cd3037008d2270008f197f0092118f00580490003f108200412a840032228f
+001c24770018295d00142f4400164234001856250034570700164906001a3c19
+0029362f003c0779004b0e76005b167300692a63007c254800842e3b00903729
+00d1292000d81f2100e0162200e43b2800e8642300f36c1b00e46e4a00f19530
+00e2932c00f5a71100efad1000e9b41000eca80500e09c1500c8a00b00bd8816
+0068774e006a8052006d8956007da0440070b6320085b43400aba10e00b0a913
+00d49f1b00c07e4200dd645900db665d00df845500d4904700c88b6c00c7a977
+00f8a77800e19c7800cb917900ac4b5600943450007b28380072212000721f17
+0071170e00670d19005b040c00530b0f002c0f14001a100e00020b10000a0c0b
+0015120100161803000d290300042c140002321a00112f0b001f13150053092c
+0093173900ac343500c8515500ca683b00bf7e6000c5837500a872660076504d
+005e4b3c00694137007b4c4400a14d2b00c3422500e76e0600d8800000e98c09
+00d98b0f00c7870c00b86c2000aa7726008067130053871b000fa8550001b985
+00178d8f002c81a600294dc800533b8f005c3c91005e2391005623680077115b
+008e1f52006f1a3100571f28005b2a260061251b00652c250064351b006e4519
+006b2a2800652d48006d075b0059135c004d1e5500370d5f00450b3e00250d41
+"/>
+<palette number="322" name="3m0005.jpg" data="0070232d0055082800631e210071351b00763522007b3529008f3b2e00a34134
+00aa097b007c0e74004f146e00371d69001f276500161f60000d175c00231c4e
+00392141007864870073828b006ea190007abea50086dbba0085e3b80085ecb7
+0060d69c006ace850074c76f006c985400646a3a0052592a0040491a00213615
+000e2d250002165300071749000d193f000d1d33000e2127000f202500101f24
+0025302200512519007d1b10008c1e0b009b2207009f250300a32800009b3b08
+006d3c1c0021250c00211a0700210f0300100b070000070c0000040600000100
+0015030f00200909002b0f030032171500391f28003c2e37003f3e46004e6b4f
+00526e48002e621700335c1400385711002a581b001d592500104a2100134427
+0031380f003d311b00492a27005550410062765b006495650067b4700066e981
+0059d5730036945f0021695f000d3e5f0006266000000e610011083f0023112b
+002c21250024262d001d2b360020253f00241f4800211e4900123a46000f5b3d
+0020563600255e29002a4c29002f3a290033382800383627003d2533006c2c2a
+0091173e00800f28006f071200541213003a1d150012202100022f1800063515
+00075023000e67270011612000155c1a00246a11002d710c00287c240042785e
+00439895004286740041745300457356004a725a006885690082955e00b1b64f
+00ccc56a00f6e29b00ead47700dec75300e49c4800f65d4b00b5885100988f4e
+00b98c6b00af997800a5a68600aab08800afbb8b00adbc810094b6620075ae81
+00579a8900277c5f00187a67000a786f000b695700066136000f871b0019810e
+000f4303000f3e0c00103a16000e2a2e00162e3200331b3f0046065a0047184e
+00342d560039571b00527019006b891700a79e1b00e5af1b00ffc42100eca235
+00707e2f00657c2b005b7b2800646232006a593f003d4837005e513100724319
+006a3b210051202600452d21004d683100698c300085a13b00a2b84c00cacc2b
+00ef8f2100ce832700ad772d00af5b3900a9203c00d1093000d4050b00c51321
+00b91619007d0822004e0926004c0b430074176800641c72004c147f00334367
+00254b5e00204f490030773100546c3000616c10006d5f140071520200592c03
+00501d0800371009001f0a1b00090516000b0819000b1425000d1c23000c0c14
+0019170b00181b12003a36100060571c00957238008d94350077815c007a9f5c
+0073986c0071a26b006da38900aa7db6009e777a00936a7a0084697000774f71
+00716555003c6d4d0011726900164c780011455a000a444f0011515000214c3b
+003c453000623f19007a671b0090751a009d852f00ab6d3c00e55d4f00de5159
+00b5566c00bd326b00cb107700d3165000d24f3b00af6117006c761300218022
+"/>
+<palette number="323" name="3m0006.jpg" data="000d75ce002c7234001a6f1e00086c090027390f004606160045053600450456
+0026057600150c680005135a0009154f000d1845001d2449002d314e00302c4c
+0033284a004613600055125f0065115f005f1269005913730054146e004f156a
+00400a8200381d880031308e003b358700453b80004e437200584b6500884a55
+008f484600a6693200ab532300b13d14009b370a00853200008c31050094310a
+00ca1a4800d8223c00e72a3100df563800d7823f00dc853c00e2883a00dabc66
+00cde5450081ac5d005da15a003a96570049915f00588c68006880620079755c
+008a5350008749640084407900906566009c8b53009a8d520098905100718641
+007f58530065205f00791b67008d1670008b1c5c008923480090382e008f7230
+0094b55e00a7b56600bab66f00a9be7d0099c68b0089af910079999800689fbe
+00478ee6003ca6d60066a3ba0090a09f009d9f8300aa9f6700df984600ed912a
+00c73d3a00ae2c3f00961c450097173e009913380081063d0077033000720c24
+005017200050035100540a580059126000530d5d004d085b005a2752005e264d
+0081481d00984f2700b0563100af5d4500ae645900a47a84008c64c400366fb2
+002b81b000148bdb001d86e3002681ec0058cbf800a4c1ed0098b2e50083bbb2
+003ba08e002a906e0019814e00247d4d0030794c004a7a52005f6c5800995643
+00934338006752510068676100697d71003a967f0021b1960021af9f002488aa
+005169490087723600bd7b2400c57f2c00cd843500cd623400c94a5b00c4477f
+00d7278a009c0d6900970b69009309690089148700684377003b6d78001d4b7f
+005027510050333f0051402e002d5d2d002f4553002a447f00164bbb001074e6
+0029a0f4002ec9f90030b4d80033a0b700069b7e001fac3c008ba22000b98a18
+00cf7b2500cb692100c8571d00c3190c00b8180800b10f0a00a8031100880223
+0065064a003b055900150858000d054e0009003000210031003a0e25002e2b56
+000043740003648200068691001391ce0005cde60015d3f30006cbd10030a9bc
+001b92b200188b7a003d5f6100445567004b403a004b2c4b005d273f0081452d
+007b3b22007e3515007c250700611610004d2331004f3e220026341a0025370d
+003a6013007a3d000081420c008a7f230077a34e0093cd5200c2e24300c1dc2d
+00bc9f2a00b9741500a64e26008b481100867b110092940300bd980200c17b0b
+00b95c0f00ce361100b81a1700b4091900a6131b0096191500840b1e00991125
+00a6002a00da1c4a00da205200ce1a3d00a51b2b0093140d0098030000a91400
+00ab140b00a7151500b21d0900b4341b00ad713d009e735300795c94003678aa
+003a61980030407b003822510054225500541e6a00784262005f845b00816466
+"/>
+<palette number="324" name="3m0007.jpg" data="0000d59d000cd5dd000bd9e3000bdee9002bdaca004bd6ac0077b39f00a49092
+00d58e3e00d4814000d4744200a75d5f007b467c007f399000842ca4007531ad
+006736b600406e7d004f7e6e005f8f5f006181530063744700676e5d006b6974
+007864a30092798c00ac8e7600a4777a009c617f009f578700a24d9000a14294
+009f4b9900865ea5006569b5004574c6004a5aa9004f418c00523a8600563480
+007a386800853b7800903e880093358600962c8400a41c7b00b20c7200b20763
+0090254f0081434600a3533a00c5642f00dc503600f43c3e00f3254300f30e49
+00f0256400e3345800d6434d00a83f51007b3b55006a3a4e005a3a470044325c
+0029517500307aa1002b649b00274f9500233d9c00202ca4002b18a800220caf
+00082c9e000b5d9e000f8e9f000aa2ae0006b7bd0008b2bd000aadbe0025a4b7
+003773cb002b589b00444b85005e3e70006b496d0078556b006c555d00568b6d
+00247579001e6581001856890015637f0012717500006c7d00037e83002e8074
+003a767600614d7000654a680069476000634263005d3d660044684e00509e52
+00328e5b0023726500145670000f4c76000b437c00023797000127a2000b2bcb
+001449f1001482bf000a7ebb00007bb7000575b4000371b0000258a5000434a2
+0012159a00201198002f0d9700270f8d00201284001115810021157900371784
+0032027000472e6700492f63004b31600053564f0070976200b0ad7800e6ab7f
+005991db002da6c80002bbb60004bfb20006c3af0028cf7f0038ba50003cd650
+0039df4d004acb8b003cae96002e92a20010838a0014956e003cb9550046bc72
+0020b86f0017a769000e966400225f64002e387d0044268800471ba2003d10a1
+0059099e006f22a4007025920071288100651d81006a06a4005f07b3005a31bb
+00503fbf006348b8007752b200a0579e00e046b800a158ce005e72e5004a83da
+00219dd9000da9bf0019c0ae005ba3a00097957c00b59c4200e1ac6600ed925d
+00e8477b00dc326f00d11d6400b20b75009014e6006a1be9001730ec000f73bf
+001873bc00144da4000e34950005258c0001217800132579001620810011408e
+0031308000402284003b1783003a2894001c478b001b5587001f7c6a00317566
+00405453003e2d63000c2f4f00054455000c5b7c0003758f000278aa000379ab
+00078bbc0007a8bc0009a3bd000281ae000375ab00076ba6000d37a5002f2aa2
+004426a0004929a80057189b005f2480007d197c008b0c670082375e006f2477
+00453490001159a5000374ac000c7592000e768100084c7d00004681001c2664
+0036216e0059217c005d04780061176400590749005b214a00762d5a007c5268
+00a378b000ab98cf00a5bbe200a6a0de00bc91c900ad6aba0088638c00a25299
+"/>
+<palette number="325" name="3m0008.jpg" data="00ce4f9c00c1237a00be1b7a00bc137a009c0f71007d0c680084215c008c3651
+00a39799007eb09a0059c99b0058c2b50058bbd00061b8c4006bb5b80073babb
+007cc0bf00acb28400c1886300d75e4300a75d2c00785d160083500f008f4309
+008903020081160700792a0c0075330e00713c100063341400562d190027060d
+001a1d2c00324a2600444a2400574b230054661b00528214004f8728004c8d3d
+0029864f0029804600297b3d001d58230011360a000c310a00072c0a00182916
+001e260f00731305005b0a070043020a002d060600180b03000e060d00040217
+000d235d002c2065004c1d6d004641600040655400476340004e622d0030973b
+001a7727000e7e0e001d710b002d6409003a600900475d0a0064393200864436
+00a0492e009938240093271b00802015006e1a0f007a2c1900863f23008b364d
+008159620077b47b008cbe8000a2c98600adc68200b8c37e00b7c2620092b849
+006d7f55004b7f5200297f500018795a000874650010917f00159691001b7caf
+00433c89004f0e9000671b90007f289000901e8800a1158000ab1c8500de448a
+00de5c9c00a46b61006b7a2700457e230020821f00137626000c7e4d00139363
+001d9e9a003dd0d70042c8c40048c1b2003da1970024b5500026a93700489708
+00406a060046510e004d39160040341000332f0a0025340900026c1400028128
+00019f42001e6b49002762530030595d004d38790055237800671e7a00702a70
+0082326500673452004c3740004e3c4e0050425c00572677005c3a99008f40ab
+00b93a9100cc66a500c76fa900c279ae00b258b0008b349c005b1a5c001e0934
+00081b050007160d00071216001c182700482c29005d291e00741624006e0724
+00730d3400a1215100a01d5900a01a61009e206000a7437700b05ea600906abd
+0074a9950065a5880057a17c003d756800234a6b001410650027066e004a117c
+003d317b00465d89004b6f8f00599cb60068b4b4004db0ab004e9ea9003e9d97
+00116c5d0020665800306054002e5e62004e647b00619d9e0079bcaa00bcccc1
+0091a0b3006f60890079326c00721e5200770a5b0060094e0057034e004a2537
+0037212e00362839001a3842002e0764004d1964004e086100510464005f0b6d
+00531e660048336c00554663005d7158006cb88a0040ce9c0041d8e30050cacd
+007cc4c300a0a5c500a69bc6009a7dd100a04ebd00b134be009b269800973b6e
+0076603b006c4b4600434537004e272c0051222a0044192c0060062000661325
+00692e26006a3b1f006b552c006f6b2b00797a36006e5944005c4f6d00213c71
+0005368200041e7500342e6e00584ea5007357ab0073a1b8008691d1007479dd
+005f5fd9007461cc00a783a900b3836f00ccc05200c59e5100b1784300615d14
+"/>
+<palette number="326" name="3m0009.jpg" data="00524519006f092100580f350041154a00352751002a39580026436d00234e83
+006fc4a3007dcca2008bd5a20094cda2009ec6a30075a589004d846f003c7771
+002b6a7300054ca6000450950004558400214e76003e4768004c3b59005a2f4b
+007c141f00660c1d0050051c00350310001b020500130404000b070400010504
+00041002000a11090007160500041b0100071f03000a2306000922080008210b
+0031291e00482c1200602f06006a3a1500744625007d452c0087443400907a48
+00a3da650094dd8e007fb277006b87610053844e003c823c00397e4400377b4c
+00098088000799ac0006b3d1000bb3d20011b4d30012b1d20014aed200169cbf
+000f72920003369200062f81000a28700007255b00042246001626190018341d
+000d843200269c680040b49f0028b09b0010ad98000c988b0009847f00186e4b
+001a6d290028570f001a4d0c000c430a000c3708000c2c0700111b13001f1c31
+00487355006f916f0097b089009faf8c00a7ae8f00baa8a600b1c7a100b2dc90
+0096b9750043726800276164000c51600010376600141d6c000f17620014195d
+00131b4000242a3e00353a3d003438380034363300261c270041272a0059242c
+00921e1f00be260f00bb240a00b9220500962908006b0d050038180100301305
+00350723002727300019473d0028673e0038883f003c9f6600269c8200228f92
+001e81a00008898f0007828c00077b8a00045e7800056863001e494f0010453b
+00062d12000d1f0f0014110c0016170900181d0700121f0100082f0000092401
+00191d06002e1a00002d1801002c17020017140d00161b1700211c2000300f24
+00180219001e0a130025120e00320309003a020300400e030041040c00780606
+0083180e00541d18004617220038112c002e073c001f0b2e000f112800131718
+001f011b0028001d00310020002c112200360d1d003b0f1c00471230006c1027
+008f212a008d161200951e0800881910006a110b003d18060038190500491f11
+002a281c00253b1700214e13001c643c004e7a56005e775700756e3800893a1b
+00a31d0400b91617009e0f2b00870d32005b1553006e357a009c638c006f677f
+0034527800204a7200101c8000140c83000e137b001e105d00100f2f00111312
+000f1a12000c240e0018270a00262310004f301b004d6c1c006d8e0b00a26709
+00b05013008b5e61009c7d9c00acabbb0091c3b80092bbb30087a291006195a0
+00468676001a727600116b830022698700198288000c849d000793ce000f9bd0
+001994bd000d729000025b7d000e266400071f4d000d162700150e30000c0938
+000a06410001146300070b860010098b00050f700000073d000510300000081d
+0002091b000904220006124c00040f51000f1e57001d104500270a0200210d32
+"/>
+<palette number="327" name="3m0010.jpg" data="00f4876000dd827000e78e8000f29b9100de9d8f00ca9f8e00b7a27b00a4a569
+00366e270036552000373d1900483f1500594111004d340d0042270a00372710
+002d271700045216000c5c220015662e002b641d0041630d004d6512005a6717
+0068680e0075591900824b2400915e2200a1722000a2782200a47f2400bc9643
+00d9963f00e5bd7800cba67600b29074007e7178004a537c0046387300421d6b
+00311c570032375d00335264002b535d002355560021404700202c3800222337
+001f2823006f6714008c892d00a9ab4600b8be5300c8d26100e0c26700f8b36e
+00bf909800b1a47800a4b85900a3c34d00a2cf41009abc400092a93f00aa9329
+00ac843f00a5833c00905e34007b392d0074333a006d2d4700711d2a00752a25
+007f1e2f006e1c33005d1b3700451b23002d1b0f002c1409002c0e04001b0804
+0016170500050f4d00100d52001c0c57001c0b5a001d0b5d002b0251003e1349
+006a303c0085292300a0220b009a29060095300200923a120073481500655c0f
+00655e10002f521a0018604700016e75000a5e6700134f5900131c57001d0e53
+004b405100626343007986360081742c008a632200834c130082421c007e4913
+00773a0400713c1a006d371a006a321b00613222006437100062281200732811
+008d190a00832009007a2709007135040068430000706009006b7709008b9211
+008e7f1800b1a01c00b3aa3100b6b44700d4cd3e00e1cf6300dfdf8700c3db7b
+00baf54b008de23c0060d02e005dc624005bbd1a0043957f003396810012649e
+002577a90043a89a0052a5a90061a2b80061698e00a44d6000942b3a008b2226
+00951a3600aa275100bf346d00bb506c009d64470091604f008f6050006c4759
+0051244d003a203d00332036002c212f002a18320024122a002a1325002e1a25
+00571225005b0c1f00600719005b021400620e0c00530400004c0c02004e0f08
+004b1b05005f1c09006e1e1700772016007d2b16007d351f0086421d00954b0c
+006e5b0f0061530f00554b10006136260067202400771a15008713160098052f
+009b022e0081041600661409003b260b00231d0f0012290d0000350700161c12
+00110a2c00020f3200060435002d043e0056013a00730d3c0071042e0059051c
+00520612003d040b0023051d0029022f002b0d43003617530057126500612064
+008e534d009e754700a78c6100b97c5f00a9607100b4419c00715ab50063c7e1
+006cd4dd0056c493003d957d001c8c73001e5365000b1548001a155800061e7e
+0023487f000f6d7700127c70000f763e00374836003a33200054202400531b0a
+0056200400602a08005d470e00606d1b0081a949006b894d003c608200314580
+003c3c58003e3842005f2c2900683440006f354e008e3c4800a11b7a00842e6b
+"/>
+<palette number="328" name="3m0011.jpg" data="001f3d230008242800082f2b00093b2f000b3037000e2640000d1e39000c1733
+001f0f1c001a0e2e00150d40001b0881002103c3002e08b3003b0da400320b87
+002a0a6b0032022c00390d3900401946006d2455009a2f6500b83b6500d74866
+00c493b000a498a800859da10091b693009dcf860097c08f0091b199009191ab
+006db6a5004e9cde0042b8db0037d5d8003ed9df0045dee60057d5ed006acdf4
+00999ce3007f88de006675da005f66ba0058579b005a5397005c4f9400622493
+005f218400682a7d00512f75003a356d002b496e001d5e70001e5b6c001f5869
+003a7c4c001d684d0000544e0010586500205d7c003d5986005b5591008178ad
+009875ab005e4b9d0052367e0046225f004433590043455400315b6700358083
+004779dc00476fae004866800039446a002b235400361f5300421b520065286e
+0057207b00501897003729b6001e3bd5002243cc00274bc3004261a400457a9c
+00449889004385670042734600306035001e4e2400082b0b0000260100020e0a
+00051b0f002f1f06003a49210045743d00399650002db963008dd08d0083d44b
+00f5ea1e00d4a52300b3612900cf363500eb0c4200c63868008f294e00431834
+002f1b370013161b000b111400030d0e00040507000200010001000000000d00
+0014222300293131003e403f004d5c4f005d7960004c8187005391b800669b95
+00477e8100103f1f0008281c0000111900000d11000005050000020100000000
+0000000000000000000000000000000000000000000003000000040400000306
+00000000000000090004031100080719001b1032001f2148001c0d6200081856
+000c0139000d0636000e0c33001f081a0044001d00652b3a007876460076a696
+008cdd980070d0dc005fade0004f8ae4005685d5006372d100617acc005499c2
+0093dec9009fe2c600abe7c300bc8cf200bd6ac600d861f100f042df00d916dc
+00b74195008b388a0080196c0052265700561d540070124700950e74008e276c
+006120b8006422c2006725cd00a826ae0098368d00c1436900a75b3b0069751f
+0042401900363a150049250b00540f14003d0319002f1c0d0022491200356f35
+003f7b61003887820041759a003c57ae001b34b3002534910014166b001b1032
+00120a15000203070001000500080003000d07090025000e0027170a002b2e1b
+0022392900163e33001f3331001227440000274e000c2869001d0e6d003d126e
+006b189e00cd22c800a22ffc006c19f1003633f600684dfc00704fff006b68d9
+00586eff004f67ef004a7fdb00488dac003772800016505c00154f4300193124
+00181e1c001b18230021143200281e3700421732007d1b4200811f4500423155
+0038335300311c4300312e29002b3c3400233039001e244400331551003a1653
+"/>
+<palette number="329" name="3m0012.jpg" data="00142249002416300024224800242e61003b358300523da6003e38ba002a33ce
+0029176900322854003b3a400056332300712d060096751300bcbd2100d6de54
+00f0ff8800fddc8b00f3b66e00e99152009f513a005611230045082500350028
+0009000c0004020e0000051100000a150000101900011315000217120007060b
+00161b0400183e2f004c584700807360008b819000978fc000908cc4008989c9
+005b0cf1004e18b00041256f0039124f00320030002c032400260719000e0500
+0008000200000000000000000000000000000000000000000000000000000000
+00000000000000010000000200050006000b000b001100100018001600381130
+005f143200d6487a00ea5e6900ff745900ee6b5f00dd626500bd2a600090105d
+004d0849004d0951004e0b5a00580e56006211530060105b005f1063006d1d66
+00911b570085337100a1398b00bd40a600cd41c400de42e300bd74fa00aea5da
+00ef839200c96c7200a45652007c333b005410250033040c0025120b00140000
+0023000f0039042e00440238004f0042004202470036044d0040285c003b487f
+004ab4e60073aae6009ca0e7009fa3e000a3a6d900ae7c7f00a43ba200a82f99
+00b31e9e008707800082138a007d2095006f2a9f007a57b5007d5a90005f245e
+003009380026142d001c20230020212400242225002c353c00502e470092513f
+00bd813900afc92a009fca240090cc1f0075a267004f8f6a005371a7002a6e95
+001417780015105e00170944001506310014041f000e020e0007000000010000
+0000000000000002000000030000010400010c0e000c1b080013170900171403
+0030370d003f4307004e4f01005252160072510a00746309005e7d16003e693b
+0035523300403949003e4b4c003c5e5000577768005ba2680056d74700b4ca68
+00cdf92600c6e32200c0cd1e00caa04e00e4a68100efcd9d00fcc0e400ecbeda
+00f0ac8500ff994600ef541e00c024390066093600542e5300402c5d0042385a
+0043365400633b5300834052008a5c78006996ab001ebdb90017c7f8000292e8
+00284ea100602b950073269600921e9d00930690009f017800a9307700b23a93
+00e92a9b00db18a200df0d9400d70fa300cd069d00ab0593005d297e00404b69
+001639790017616000304242001d242e000f275500171c5e003c00510070186c
+009222aa00ad26fe00d202f400e320fa00f202d300db0d5f00cb244f00841740
+00571447004c073e003f044400330243002a002e001f0425000f14180004151f
+000b1036001b0357001d1453002f145700541c5b00622283008133c500943bb9
+009844b300a427c1009415e200cb48ee00a29de00058c6ab005abea40048e274
+00769d2000827a1500616906003b3d0000382c1c0063143100b2284c00c94c50
+"/>
+<palette number="330" name="3m0013.jpg" data="000a51310039515d0029778200199ea70015bdaf0011ddb8002ad6af0044cfa6
+005b8ea1005c889e005d829c005d7a87005e7273005a69650056605800524a49
+004e353b00b13d0c009e300d008c230e006c1a08004c1103003c0f06002d0e09
+00051c24000a3b3200105a41000d6f5d000a84790018827f0027808600217e76
+00106852000045470010395600212e6500283c7400304a83002455660018604a
+00076942000b6435000f6028000b3d1500081a020004150100001000000e0c00
+00191d0e002c4f0d003083130035b81a0028951e001b72230018572500153c27
+00153122001e302a0028303300373b4400474656004f4e5d00585664004f444a
+0047451e00461f10005f2b0f0078370f0081450a008b53060090681000ba551f
+008f1d13005819150022161800160f0e000a0904000b0802000d070000100b00
+0015060100180f14001c161500211e1700282c17002f3a1800414b16006d5926
+00827c0a006c850800568e07004c8f0500439004004857020025400b00272300
+00310f05001b0d04001717020014220000112100000f2000000b360000103605
+0026320a0053461100815a190098751d00b0902100bed00a00accd0e007ee323
+004da81c00446d2b003262190021580700157f050013a30300149b03000b7207
+0010410a00183b0a0021360b002b320c00352f0d0058480c006d7a34007e8d24
+0079822f006f55620062436c00563176005d3b91004f3491002a32630013314b
+000e332c00153b25001d431e00213e1e0025391e00203828001a3a2b00033f35
+00125439003d7b30005eae2b007fe22700b0c81800c5cc0d00caa70d00bd901d
+00c34e2300b8332c00ad183500a3093d009e1b2900811525004d3109003a171d
+003f0a3600371b4b00351a430033193c00320b1e00450e0b004c0608004d0f00
+004f2c0e00473c13003f4d1800264e190011663f000e813e0009bd16002ccc24
+002ea31e000b7a360018562f002b3a3f002b2d3900331c4a0032235c00451f52
+003b084300310534002803250035081c00310e1400381d240026192a00260a3a
+0020104f00162c41001a2e2f0004161a000a141d0021111c0026070f00320107
+0035020000440f07003e0c0d0032100e00232927002b2f1e00312f16002c3518
+0023342a00512b54006f05500090112400ac4d2100b57b000088c311007cbc20
+00676e6700645c9800555da500507ba6003b76c4002f629700297d7f001d7f56
+0013773900157d4c0027756500357b7100249168002a855900116c43000f5a43
+000d4b46001d3c5100253a4b0024404c00165544000968480009635700006c6c
+00057b650000a58f0001ac9c0005b5a10012c5a8001d8fb30042b3c3003cc7a0
+0038bf970029ab7f005577670094792c009e750c00908b2d002e7912006c9616
+"/>
+<palette number="331" name="3m0014.jpg" data="00b5470c006f3e3a00714e2900735f18009d581600c8521400d14a1600da4318
+00d0422c00a239350075313e00501c37002c0730001f062b00130526000e0716
+00090907001606070023070a0030090e001a0e1100041414000516170007191b
+0020131a00211a320022214b00253c5e0029587200265d720023627300166375
+0014748000267b82002d747000346e5f00276564001b5d6900104d6100053e59
+00175f6d00217f68002c9f640039ba680046d56c0047cd660048c561006fb157
+00889a4e007f6534006d553c005b464500583a3f00552f3a0059313b005e333d
+00c0462f00bb4e3a00b65745008d4c4600644148005a364200512c3d00471a2f
+00591218005b0d0b004f161000441f16003a2114003124130037392b002f2428
+001526130016331500184117003031230048222f0054262700602a2000940a19
+0099030f005f1718005b28230057392e0066393400763a3a008b3c3700972c1c
+00b8181a00ad231b00a32e1c009c4f230096712a0089852a00548a2a0028702e
+00025d0d00803e0200a3220300c7070400c8030200ca000000a41409006d1404
+001e0701002a060b00360616003d051400440412003b0d1000360b1400401818
+00351b1a00211d0400141b0500071a070016280e000d2b1300043b010001530b
+002334440027413e002b4e380030443d00363a430036324900282746001c252e
+002f0f26004c141d00550d29005e06360078101b0082060800ac050d00ac1409
+00b7180500a71f110097261e0091221b008b1e1900563f1f003a593000376038
+003255410054893b00528f39005095380067852b006f5f450059631a00545e15
+0044351e004a3b1d0051411d005b4132007f5b2900a05b1800b94f1100bf4b12
+00b4340300bb372200c33a2500cc3e2800c2191200cb0f0600d4350e00d25326
+00ec913e00ca934c00a8955a00829f83006a8a5900626c6d0061605e007c664e
+0092854e009199500096a153007ab9470064c8560032a5570013b955000f9b44
+002b8a2c00278a3e00238b50004caa540072b04b0091b74a00b4ba7200b3ca96
+008dc9ad0096e6830089b35d007e9d40007a872f00506554004a655600393f63
+0040324b003c273a005b193d00620c390069233b007b301b007f3c2b0055444a
+004c505b00455e5b005e493600855e2500ac4c1000d1531900cd722c00e5943b
+00be944c00bc955e00c2a25500cdb26300d6b36100d6c15400dbd65e00f0da6b
+00d8d06300c5b86900b7ba6100adc45000a7bd4e009a9a42007a902e0055963c
+003eb059002aad6b000d856a00078730000a6d12002e6f11007b861e00a09843
+00afaf5900cce56300cae95f00a5d567009bcd4a0093a43e006d8d440036835f
+003d8f69004f86810039b0760059a6820093c57c00bfbe6e00bcada600b8a97e
+"/>
+<palette number="332" name="3m0015.jpg" data="005f621300605c3f0064644900696d5400568256004397590049835f004f7065
+0055443c006c45380084473500a6674400c9875300c97c5700ca725c00c37a6d
+00bd827e00c05b5100a157460082543c007452340067512c00625c2a005e6829
+006287530068905e006e9a6900658168005d696700606564006361620071714d
+006f582e0086581c00885e32008a6548007f7d5c0074967100819971008e9d72
+00cbb17800a88b87008565960079526c006d3f42006a39370068332d00732429
+0072192f00340e05002f0f0f002b1019002b0c21002b0829003c0c23004d111d
+00750e39007418390074223900633f3e00525c44004b5c5100445c5e003f6955
+002b564500174f20001a3a1c001e2619001e1d1c001e141f00200530001a0935
+00120820002b1a2500442c2a003631340029363f0023333a001e3135000f2533
+00122231001d26250020323300233f420020434d001e48580032547000266f66
+0045767200416866003d5b5b0043525000494a450049443e00614834005d232f
+00630e3700682747006f1e440077164100721448006d124f005d103c00481b38
+006b338a006a1f7a00690b6b00750f540081143d00820d1d0074171200802101
+006c2d1e004e0c1600450d19003d0f1c002b1e16001a220a00132d060000470e
+000e96800026918d003f8d9a003199830024a56d00059b4400167c3300346826
+004c4c3200995f8f00a2679a00ab6fa500bb93ae00cb5eb900c02c8c0090256d
+00c6144e00ab113000910e13008e191c008b2425009029180097350e00734418
+00534e16002e7316001f791e00117f2600218b41002c805e00499c800013ddad
+0075c6d70084bbd70094b0d700cf9fd100df93d400fccdaf00f2ad9000c9c387
+00bfc48a00ca9c9e00c2a19200bba786009e736300885b560075504a005b3630
+0026341100303b11003a421100314f0f002b531f0032453f002c5243003f564c
+00316c320027633d000b56520006533f0019703d001c8833000aac3d000fba2e
+0041b258004bab520055a54c0069936d0062808000569ca600ad8d9000bd6559
+00d05a3e00bb274900873f330077343d00553a4900413d4b00224549002f3648
+00552756008b42550098604f00bc6c5100cf633c00b439170098241500892b05
+00602e0900573a0e0050252f00511f42003012440026104100200c2800172212
+002126080003301100042b180000260f0017181200010705000c0c180007141d
+0001102300001824000712320003134400172a3b002f39420044343e00532d3a
+00552825004c1a19002a0c0e0014110a0017201d00173239001246540018615a
+001474660031665200337d4a00376d4b003a64580038434900393742004e2626
+0045111300470d0b0046200b004d1d13005e320f008139110094473f00983d2a
+"/>
+<palette number="333" name="3m0016.jpg" data="0094552a003361320028422d001e232900111f1d00051c120006260a00073103
+002b61130028701400267f150024890f0022940900469108006a8e0800808814
+0097832000b7852c00bd992300c3ad1b00c6a82400caa32e00c8a74700c6ac61
+00bd9b5300c97b3200d55b1200b03b15008b1b190086141000810e0700811121
+00941d5700c3334a00c2424b00c2514d00ca444800d3374400d3353400d33325
+00d8574200e4493300f03c2500e3241600d70c0800cb141a00bf1d2c007e1d14
+0054250700350105002b0e1300221b2200112933000037450001495700025b69
+00095f9c000641b3000324cb00461fc100891bb8008f1ab800961ab800b321a0
+00c023a400ce0d9a00c7189b00c1239c00c1229a00c1229900c12c86008d396d
+00491c3d00422339003c2b3500403f4c004454630051596c005e5e7600528193
+0048a78500379c98003b86aa003f70bd003958bb003440ba002a2a8a003b3267
+00452b2a0045251e0046201300532214006025150082391000954b4000ab4a51
+00a83c6d00761c59006619500056164800471447003912470024394e00145533
+0003613d001b654c00346a5c003d6d7200467089005968ad00485aa60054247a
+0046154200750a5000860d5f0097106f00bf199700b91fa500a033b000662e9b
+003f219b0027179600100d92001d147f002b1c6d002a1757003c1c430011393b
+001555320029544b003a5944004b5e3e006d77170087743a00ab7f6600ae748c
+00c54b6200cb5e4b00d1713400c5772f00ba7d2a0092791c007b632300805510
+00703f31007d16690072116700670d650049008d000d12c4001340cf002b76ad
+001b497b0021447600283f71002d7a94003a8a95000f85a300249a840023957b
+0016973300107d2c0019721d0022680f00285125002b534a00385269004f5e95
+003b576f0038545e0035524d002a2c2b003037160026411600223114000c2400
+0012110f0015071600201734002b165100380b820055298a0090498100b53d87
+00c4547800d4576200e45a4d00d9484d00d52f6100eb2b6600ca2f8b00be2d8a
+007f2e940055299a002f227a000f156d0000324c00063d6600105d79000d84a2
+000d92a5000b91ae001285a4003b7984006c566d005b5e5300737744004b9059
+003780550020875c003e875a0084914c00aba255009b915400708e760038895e
+00416b5d0035633f00583e63007b417300a6436f00b3505300bb4f5f00b54f67
+007b57630071526100533e6900132962000c364c002527360037162b0040032d
+00331121002c1507003519010037210900362b0b003f3e290054574e00716a4e
+00bb625e00c4507500dc589400ce6ca900d46e7b00cb765100c48c2b00c4830f
+00b1810300ae7e02008b7b0200658e16004b931500666e32009534a800774f67
+"/>
+<palette number="334" name="3m0018.jpg" data="00153fb500034cd900035dd000036fc7001c80970036916800359a600034a458
+003e6f690034555c002a3c50001932460009283c000a3949000b4b5700164951
+0022484b001c4e3100176121001274110013771300147a16001f7b16002b7c16
+008e7d1500bb9c1700e9bc1900d29f2400bb833000b47d2f00ae782e00c75f5e
+0093565500ac8d9c00ca9d8000e8ae6400e5a06500e3926700df7e8f00db6bb7
+00a04a7b00842d660069105200641a48005f253e006c2736007a292f00a02633
+00911e490026083e001b115b00101a790023356f0036516600335a710030647c
+001395a2003f958b006c9575006e9f700071a96c0070b065006fb85f0075c75b
+007fc95600ecbd3100d48c2000bd5b1000a1461b008632270054240d003a0e0d
+003c0e11005f1a1e0082262b008c1f1e00971811008d292100843a31007f4e23
+006a4f310030580f00323e230034253800343d410035554a0063755f00698a6d
+0096c05a00b1c17400ccc28f00c0ba8300b4b27700a1b8720085b6750067a576
+004dbd75003eab4e003a914300367838002f752f00287227002b7750003f8561
+004786370050953b005aa540005bb042005cbb450057c04a0053a55d007d9245
+007360360061431d005e3e28005b3a3300424e2800304c1c002254190022692d
+005f4f520071557400835b97007f689f007c75a80078b49a0078b677007db180
+00719f9d0061585b0068436c006f2f7d00513e90002f2c71002a486e00284b81
+0053475f0064594c00756b3a006d6f2e0065742300926a0b00c4781600c37723
+008a522100661f5900611959005c135a00390a5800181178000815a2000e189c
+0011616a00106e6300107c5c001f744d002e5f3200524825006a3527009b3101
+00dd400b00eab21500e9b72800e9bc3b00c4bf6e00a2c25d0095b56c007bb79e
+004a7fb1004b649a004d498400601f5500451f34002029260000250a00002905
+00004e02000443180019460f00175f1d002468110025630d002b4e1800463410
+00ba1d0e00c31d1900cc1d2400e0691700e6992f00ebb94600e4a65d00a58f77
+006f6379003d5a8200363c92001b19bc000b10ce000425e4000017c700141098
+00571d8d006b1f830066048d007f049200a4285e00a8282700bb131000c73325
+00974539007f8a4e0072816000478a6b0023765a000354570000495900023a5f
+00184a5500216b4a001186350016902d001a7f2f001951240025372900253036
+00282a360010263300171c2f00100a2e0008151d00041c0c001a121d0018050b
+002e031400340b0700352b0800431a1e00841f2500960f0900b40c0100d00b03
+00d0051b0093142500491a2a0026172e002b0b4c00570a5a00692280009d3197
+008435e6007f5ac300836abb0071898900abae6900b4933600eaa00d00e88a18
+"/>
+<palette number="335" name="4u0002.jpg" data="0071c42a004ea0100060840d0073690a0064540500563f0000543c0300533906
+005b590e00777b0a00949d06008e850900896d0c007b6807006e640300595c07
+0044540b00205c20002467360028734c0026794c0024804d00287c4a002c7847
+003b4c2a003f3b1900432b090047291d004c2832004a28350049293800412347
+00482e490050285c0061215300731a4a006d163a0067132a0064152800611726
+00371315002f192b002720420021383c001c51370021603d00266f4400386048
+0045554b009f286000be236600dd1e6c00bd334c009e492c00864e24006e531c
+00438c1700309229001d993b001e9448001f8f550023865400277e5400366d46
+00486e3f005a5f49004961420039633b003c4f3c00403c3d0032443800275531
+001e7524002a801900378b0f00317b09002c6b03002d5d01002f5000003e4c0f
+00503c21004c540700456f07003f8b07003a910e00369716003b9e1d0039942b
+00286933002a5128002d3a1e0037311900412814005b201a006332140061301f
+006e2b34008d35340087413b00824e43007b473500744028007d601400766903
+009d881d00a7981400b2a90c00b0a80800afa70400bdb61000c7974b00bb8432
+00b0604700b0343c00b2373a00b53b3800ae6733007d7c1200599b200073c24f
+0070d053004db446002a9839001c8f41000f87490001905a000c994b0005962d
+0030a427005bdd630066cd620072bd620055ba5a0032705b00235e4800203e26
+003722070043120e004f02160052071200550d0e00620d100058171b004f2b15
+00423f0800241e0600232c0800223a0a000f421700014c09000e4106000c300c
+00090a0f0012090b001b0907001d1100001a101100130a250021181b00232e26
+002a252c0076554c00905e4300ab683b0099be1800a1da190081d92b0073d534
+0035735a0034635500345451001a2d3c000303390016112800083329000d5815
+001c4f0c001d4a0f003d410f00553a0d0079371d008d1f280096242c00912d2b
+004c961b003e991d00309d2000138b2a001c8131001979310013772f000a8131
+0012854200048356001d814d00167f4600177332000a78310005722f00166126
+0016441d0029292100351312002d13140021131300261c030039150500410800
+005a100d006b2f0000593c040054551b0063533a0068653c00507e3500536c1b
+007c6e0b00a8702600b3663800906038006e532800635107006a3f0c00673500
+0070310e0075201d0072122d00870e2f00a4164e00aa0d5e00bb095d00a80a57
+00991e4c0083243a007321380074133c0084103300962b4900921f6000731f53
+0073305b00862d6500b41b6e00ca146100c3125800b9184e00b81d4500981036
+00890e2a00882c41006d4a510060683f004a8d2600339830000a984e00199444
+"/>
+<palette number="336" name="4u0003.jpg" data="00431e490094376c0094504900956a2600784f17005b350800413d0500284503
+0036541e00455f3e00556b5e007c627700a35a91008c78aa007597c400799aca
+007d9ed1006bbcd9005da9b1005097890049976c0042984f003f8d4d003c834b
+000974160005630d0001520500143b120027241f00371f2900471b3400543a57
+004c4859003d594b00334c31002a3f1800243f16001e3f14001f42170020451a
+00052d2d00031a22000107170014111600281b1500281c1300291d1100450b19
+0070172b008c336100862b6e0080237c0077265c006e293c006e2031006e1727
+0043150500401e0a003e28100057232000711e300071293b00723547006d5440
+00a95f5200b5db520089c960005eb86e0055ae6e004da46f00776c74007b608b
+008e74bd00986db500a367ad00a660bd00a95acd00b148c900ba37c500a33ca5
+00922f99006a093f006f123900751b340062233c004f2c440048525c00436082
+0024748b00338d750043a75f0045a4530048a248003b763e0042595100474c4f
+00522a1e004b0a060051232c00583c53004f46570047515b002f6d6a0023746b
+000b6a6200075b3d00044d180013491e00224525002e302b00451a5000581670
+00560a6e006d006b0063045c0059094e00470841003d0d4b002f0261000b185e
+00011c3100172237002d283e00341b51003b0f6400432a640057496300714961
+00825572007f438d007a328b007621890072218a006d1b65007112640061105d
+006b0a57006f076f0074058800720a820070107c005e0b630046104200273325
+000a640200153e040024360e00342e18004e0e05005c0b1a006305290056102c
+0041103000381026002f111d00290e2f0023172f003934310058445d00856568
+00bd806d00c3b65a00c7b36300ccb16c00ce928a009c8b8400498e89003a7f9c
+00399482003c978100409a80003e988e0056ab8a005eb976007e91a000828da3
+004995880033855f001d7c52000c6e48001173400013704300323f350039122f
+00501b4900551d59005b1f6900591c7b0070419100745574006f785b00519d52
+004dae3d00399f32002b9032002e902d0039752b002b6c360018532700083d2b
+00095d2b000c5935000444440006465000065657000a51630009465b001d3e69
+003e61740070688000b2617400a759950087498a0084339a007d225f006b133d
+005715450058246600655b7d00377a950043989d00759bbf00968caf009d7aba
+009a5aa8009356a400683b98003e57900024816e002d8754002c8a4e00208342
+00176d2c00035513000232080005150a00050310001e021900261d1400222b18
+001b2d0700062a04000e130f001716240020042d001c053d00340f3a00400942
+00502155004e4061004e4c620045514300307034001b6f3300196f26001c6122
+"/>
+<palette number="337" name="4u0004.jpg" data="00440a940011277200253e6b00395664003f56610046575e004a505e004f4a5e
+00623321008d221000b9120000ca361d00dc5a3a00de892600e1b81200b4bf14
+0087c6170044da21002ed1500019c9800019bf900019b6a1001ea48200239363
+003894270029ac14001ac401000dc60f0001c91e0014ca300027cc420059d853
+0074f8550067c5ad0035999a00046e8800196d71002f6c5a00495f520063524a
+00a4233f00a21b3500a1132b007d185400591d7d004517890031119600331287
+0032275f00980c4b00a71b4100b62a37009c55310083812c00738e2e00639c31
+0016a900001aa407001e9f0f001f9f3200219f56001b9f6000169f6b00319ba8
+004294c4008dcbe0007a92af00685a7e0060537900584c74003e607900216f55
+0051a6490039be3c0022d7300015e4250008f11b0009dc24000ac72d0004b73f
+0022a8530035a3d80047c0b5005ade92006ae574007bec560089cd5e0083c049
+005f9a4a005e8135005d69210072621d00885b1a00a0671a00bd722100d5703c
+00a25c5e0088725d007784600066966400559d600044a45d004db043001eac40
+0023ae2d001eb03a001ab347001bba52001dc15e002fdf62001dfd800004f58e
+0012e49b001969dc001a57ed001c45ff00172ce900170fee000c0db5001e0a7b
+0046184900230e460001054400040f4100081a3e000a1a3e001a3338002a261b
+002f0e170027010000210e00001b1b010010270d001933180006450c00255a0c
+001d5a1f001a661a001772150020870c002a9d040041b90a0040af0a003c8c11
+006b6e1300a97d1200a8951300a8ad1500bd740500c46f0400af630f00bc6f1f
+007d5e3200854c31008d3b30008e41250092542d00ab510300bb561200a65520
+008d4c360035637d002b6b7e002274800020887d00229459004977460067523d
+008f23060087270600802c070057491800271c160025092000301c27004c1f40
+004f2e3f002f4b11000c471900046b560001466700006aa4001f4be200342ded
+006601b5005c17a300522e92006c2b6b0045585c0038712a0035851400387113
+003f6a1100536728006c523900813f2900844f300078732f00517420004b8924
+00358761004d757700614993004d1cb40071339600855175008ea3540098a22f
+00b47e5000b7687b007457a9005c81d2005747f2003944de004216cf001a2398
+00163e58003d2b3b002c2e3b00104b4500345a6700256d7b00055286000e0ea4
+004809b8004a2eb700247070000980260007af380018b8340011ea21001ced32
+0038c922003cc51d0054c8270058d80f0043ce01004db40f0055812000504f3b
+0041553a003a4f3000245c2f002e7725004c982c008fca2000bdfb12008cd60f
+0075dc1d0073ed320078ee3a005bdd450069a742004e9b3b0034c0290044ad37
+"/>
+<palette number="338" name="4u0005.jpg" data="003f3f5900416c72004a826f0054996c008c9c6f00c5a07300ce877400d76f76
+00c63cb300a420cb008305e300610fc2003f19a20049177e0053165b00461f48
+003a28360037541e002c824c0022b17b001ac9a20012e2ca0037d8b8005ccfa6
+0053b8340069c82c007fd82400b3c75600e7b78900e4a89500e299a200d561ac
+00b23cd1006f05e1004b11d000281ebf001e44cb00156ad7001660b80018579a
+002453710024677a00247b84001c8c8a00149e910012bb8d0010d9890002e089
+0001ed7f0003b15c0024ae3c0046ab1d003d861200356207002d5c0700265708
+00086a430011615a001a5871002f5f880044679f005662b300695ec700a354d3
+00ba61e300d563ee00d64de100d837d500d32fd200ce27cf00b738bd008625b2
+00aa3e7000856c4c00609a29005abd300054e037004acb4f0041b6680026e389
+0022e7980020c59d0031ac860042947000459e620049a854004aa7230043af1d
+006fb1190089ad1700a4aa1600b9ba1e00cecb2600c5e812007ff024005df443
+0045e44a003fc394004c989100596d8e007a5997009b45a000db459e00db5fa8
+00b043d200875ad0005e71cf00557fce004c8dcd0047b8c00066c1b2006b7edc
+00ce9edc00e4639c00e7599900eb4f9600d9377300c04f3d00bd386700c13270
+00fa318d00ec677d00df9d6d00deac7300debb7900b6dd6a007cdf370075df34
+0066b528009e707200b15e7100c54d7000bf3a8d0090458a005f235f005f0451
+0049610900556b100062761700506a18003e5f1a00394c0c007a6111008d2f23
+00bb384800e5099100da0c9600d0109b00a4199a00781e75006d1373006e108c
+008c2fc600a127b900b720ad00c6089c00a604c900901fe1009124cd009e4dcd
+008f3cc8005862b9004867ae00396ca300369099003776a9003760ca002e67d8
+003f38b900393da1003442890025559500305d98002b6c80001f53830024417d
+002f2a6c001b244d00113c2900264212004476130063a102006ea60d007bcb12
+006dc41f0073b13500799f4c00dbb97100d0747700b6609100a9499000864a7e
+00773ea7005f4493003b64920036647c003a546d0027636100327554004d9645
+0070773300b56e3000d3832c00609722004ea62e004da0440031a657001cb541
+0008914d000074380017784d001c516100134c600007536d00215f92001185b4
+001aa2ba0010d6e10009f0de0006f4d4000aecc7000ee8cd0010e3d40029bfbd
+003ab0ba00546cc400616ac7007940a7008241a9007137b2005f1282005a2367
+003f0559003a11570030155800254b5e002b5d800018879a0022b4a7000dc8a9
+000fe99f0009e18c0011c1700017815900194534000c3b04000a290700061e11
+0009112600082520000035460018424000204d50001e846c0014b997000f9b74
+"/>
+<palette number="339" name="4u0006.jpg" data="00239fb7003dab8e003cb976003cc85f0051bc5a0067b056007c8c3700926919
+0073212d00802a1f008e341200ac510d00ca6e0900bc7b2e00ae895400a29771
+0096a58e0060cac8004dcdc5003ad1c20029a7b800187eaf001d69ac002355aa
+00534896004464a2003680af00438b9d0050968b0061948a0072938a008b969a
+0094b8ae0069d9cb0057dbd80046dde6004bbdd100519dbd005ba4bc0066abbb
+0051b89d0050a69c004f949b004e9284004d906d004b8964004a825b00415848
+0042352d00593924003a562b001b74320028784300357d5500387f4f003c814a
+009c741c00c0621f00e4502200ec3d3100f52a4000e91f3d00dd153a00c40a31
+00aa0f49006a192a006931330069493c005a553e004c61400030674000097e47
+00099a4f00079e5f0005a26f0029b680004ecb910050c7a10053c4b20053dbd9
+0050e1e6005ed5cf0068c1bd0073aeac0085a1900097947500a7795800d34436
+00f0263400ca282c00a42a25008425280064202b001f380000025e1500098735
+0019b52e0012d04c0018b429001e980700158d05000c830300016c1a00088609
+0018b83e001aac51001ca06400268c6300317963004d745500a05c8500ab3b8f
+00ad2f9b00851d7c00a5166b00c50f5a00c9115700d5195400da094b00d91731
+00dd3f1000e34d1700ea5c1e00dc533100cf4a4500954e300097543900925455
+00b26160009e304b00953b4a008d4749005f3f4a0030255f00681370006c066a
+00892472007a4e7e006c798a00678096006287a2006d66f0007752c3006d159f
+005f3877003e664100367e30002e9720002991080051971a007d820c0098670b
+008b27100076210b00621b070081100c009a1e280088203b00810e5300891560
+00c9066400e00d5400da064300d4003300c50b1600ae050200e5300500e33905
+00e1481f00c5582500aa682c006e872c002fc1160020ab36002e9254004e7c34
+00827940008583520076748100725a7a006c56a100715aa20080538a00953658
+0095754f0084806000738b710063897a00308977002a9f8f000a85a700206f74
+0042547c003656610023345f002c5859002a5f65000d8659000d925300059557
+00118a85001281b800126cba003c7dd7002c95b5002bb68d0012b7580002ab4e
+0008a937000f7a3400166c2f00106b4c002981680032a38f0026b5af0044c1b9
+0042dd9b0042e0960069b888008da897008da09a0084926e008a9457009f5b38
+00945124007f2d180078381d00724f4b0050663700287d1f00188c0d001f781a
+001b62200030390a00772b1b00a6222000a9092f00c4053000d7022200dd091f
+00ce171900dd371f00cf392b00b72a550093377a006630ac003843dd002219ce
+002e0293005a008a006201a800700b8b00660a6100802f5a00c3324300e83c0a
+"/>
+<palette number="340" name="4u0007.jpg" data="000c0a3900001725000d1314001a1004001e20110023301f001f4627001b5d2f
+00235242002f4f41003c4c41006d4a35009e492a00b23b2700c62d2500d32d25
+00e02d2600ce601300cc6a1200cb751200a7650e0084560b0075450f00673514
+004e303a0050314000533247004f1c3d004c0734004005330034033200201631
+000d233b00113b270022462b0033512f00223f2600122d1e0011251a00101d16
+000e011f000708240000102a000c09280018022600160224001502220017081f
+0010091000222416002f2e21003d392d00394c37003560420035664500356d48
+0042b66b0046c196004bcdc10046aab6004288ac003f7694003c647d00324e52
+00343a5a0046353d006c2626009318100094121900960c230083111b0054151d
+003b302c00312f3100272e3600182d34000a2d3300072c2d00042b2800011f03
+000c1502001b0104000f04080004070c00080c14000d111c0016233400204647
+0004948b000c909a00148daa001e7b8e00296972003d52530047493c00464526
+00764d0f00bd761a008e6638005f565700465c63002e626f00268b97001b93ac
+000f91c2000ca3c60009b5cb0006b0d30004acdb0003bdee0007c3f30019c5f3
+0042d1d90052c6dd0050c2cf004ebec2004093a3002a848c00255e6900263e48
+00292651002c2d45002f343a0033283600381c33003915170039121300440702
+003e0b07003f1e0d004d2511005b2d1500794a1400a6561900b6510300c64201
+00f5501800ea441b00df391f00e7411d00ef4a1c00e25b0a00d24f0700c45216
+00c2771a00616d1b00676c39006e6b5800725f6500815151006a4c5800635844
+0076332000942f1c00b32c1900dc060e00981004006a1f1a0052242f00443435
+0037443d003843350039463d003b4a450047465400405f6200317e8600378a98
+001e705a00266353002e564d003b4b4b0038424b00313e5100213f5700225663
+001b8384000d828c001d8190001e717f003f5374004f3e50005d4749005b484c
+005c68660054707b004c7990006491bb0064b0c0005fc2e90050c1e3004e98c9
+003992ba001a799500004b60001a294a0016193c0019153a0025273300193c42
+00123c4a0003555300026747000a675f0016708b00367aa9004a599e004d3873
+00820f92006c295e008d384f00854227007638390058454100494e540043706d
+003682800034a9990038d1bf0044c2b600488f8100647b8b00567578004e7874
+00406f8300426173003f475a002a3b59002c42500026443a002c3e3200143c34
+0009311900023001001b19020029170b00381c11002f3917002c342700303d43
+002f354d003f27570041345000462e46004e1420002f1109001f0e070013010d
+000e01120009010e000c0314001a061f0026092700430f35005a0830006d0949
+"/>
+<palette number="341" name="4u0008.jpg" data="005cd7df005cd4e2005fd7de0062dadb0068c3cb006eacbb0080a7b40092a3ad
+00ac65610090595100754d41005d4d4d00464e5900435c6500406b72003f676f
+003e636c000753770015738c002394a20020a7be001dbadb002ac2e40038cbed
+005fc6f3006cb1da00799dc1008593ac00928a97007e7a87006b6a7800555756
+00443a53003c1b300037172d0033132a00441c300055263600593a38005d4e3b
+00635a5d005f8281005baaa50057bfc00054d5db004cdadf0044dfe30037dcd8
+0037d1d90052a5cf00569bc3005a91b8005893b7005695b600529cbb004fa4c1
+004096ad00358999002a7d8500236579001c4d6d001d4c63001e4c590012515a
+000a454b00233c5b00283457002e2c5300243454001a3c55001e4b5e0020727d
+002d99c00040a5ce0054b1dc0055acd90057a8d700599abe005b8da600727473
+007a534e00986466009484800090a49b0072999d00548f9f00438095003b7984
+00284e730020558900185da0001b69a5001e75aa003092af003f9fb5004fa0a3
+00569ab10010759300085b7d000041670001416600024265000331520000263c
+00190013004c0a180080151d009a1c2700b5243100df464b00f15f4600e62832
+00d4203d0088526000755b7c00626598003f5baf001a7d9400249f8a0023847d
+0024635b00275456002a465200274f5a002458630013778f001ea4a50042a5ba
+005ca9b300a8a19100b88e7b00c87c6500af67510088503f00724e4000634c3c
+00373e360036464000354e4a0044544e00535a5300696057009b797000bb756d
+00d7675100a055420080513e00604e3a0054595200535a530039705b00386582
+001e7795001f7e960021869800357a99003f76940055729200475f6900545b54
+0097594e00cf5f4900cf615000cf635700b26f7800a69d8e006dad9d002bb8c1
+0018b7d5001bafd8001fa8dc003cbbce0059c8c10058cdc4005bbce90056c6ec
+0033cfdc001ccae20016c7e80014d2ec0016dcdb0021e5e40020d5ea002fd5e5
+0029cde60020c9e30017c6e10006a1d7001091c8002c9dd5002791c3003492ab
+001a71820015596e00244959001d3e5100192f3c00131d36000e171c00133220
+00202b4700283c3d0039434c004d3c4e0067434500821e2a00aa0d1800cb0e15
+00ce0f1600d63a1200c81c2c0095212a00821729006b030400640702004f0200
+004b344800485a80003484a7002ea1b400319fc2003b93b900557ac1006080c9
+00907a91009c758700ad6c72009d798700938c9e008ab0b1006fc9bf0066cdde
+0053d0ec004beaff005ce9fa0057e0f20065dee7006ae4e90064dae40067d9e4
+006cdede0072d1d5008ab8b600a6a89b00c6796f00d8655200e1635400d47360
+00cf806f00b89b890097aeb40079d7d60069d7cc0058d2d50039b0d000209daf
+"/>
+<palette number="342" name="4u0009.jpg" data="00383fe500450de000670ce300890ce6009414e500a01de5009921e4009225e3
+00984af600a157f700aa64f8009b69d2008d6fad00ae4d9b00cf2b8a00b82493
+00a21d9c00523ace004558c6003876bf00468690005497620047ad79003bc490
+0000bfc90016cec9002ddeca0032b9bd003795b1004d77a000645a8f004f1e77
+006d183500cf6e4d00ca776100c6807600b350a500a020d5009721d5008e23d5
+00800cde006708dc004f04db003d05db002b07db002312dc001b1edd002f39d9
+002949ea002c54e9002c57eb002d5bee00305aea00335ae6003e5fe9004a64ec
+00654edc007244a3007f3b6a009c685a00b9954b0098905e00778b72004d8d7d
+003a978d004d96da006378db00795bdd007d4fe5008244ed008d41eb009522df
+00b708df00b60dd900b612d3009f4abd008983a7009094ab0098a6af00b79999
+00a7a493006bb1990062aaab0059a3be005aa2c4005ca1cb0072b5c8009d92e1
+008e5be8009262c300966a9f009375900091818100929a7100b9967000b0a35d
+0080ab660038cb63003ec74c0045c435004cd23c0053e0430067d33200a99c02
+00de322800a7266f00701bb6006f24c0006f2eca003c57d8004280c9005988d6
+00679ebc00bd947e00c3998300c99f8900e09d8200d78a7600cc847600df8a61
+00dc922500e06d2c00e4493300d84d2900cc521f0092545700844f93006a3ca9
+00684ddc003963c7003d60c400425ec200495098004e3287009c135b00bf1a69
+00ec027300df0b7c00d3148500ba117f00a20f7900a50e6d00c70b6c00c20877
+00a41787008106dd007111e000611de4004616de00470cda00541bd900662bdb
+00c57b7000cf7f5800da834000b9ae2100e8973b00e3a76900abb1a5006bd0ca
+0062e5ef0031e4e80030e5e3002fe7df002ee5e90031ebea002bf2d1001ddfdf
+001464f1001f63ee002a62eb002d51e7003c44e400433bdc004622da003416cc
+003c0ee2005624df004f48e4006066de007d86af00967c7f006b4c8500861d71
+00a445890096599c00886eaf007481c70053a0d80056bfd40036c9d90039c7d1
+00308daf0033779a00262d8500250a8b003b3b9b00465fbb005089e3004d73e2
+003a5bde00305bde00366edb003278e7002c92e7002fc3e7002bd8bc002dc4b3
+004aad81003f834a0057894a00775d4e00755a3d006656490076697000538288
+006d6adf008b63e000896ce200897bdd007a90db005ec9d10050d7db003cd9ec
+002dccec002ac4ea003c9ada00476cdf004f2fdc006620da007137e1008656ce
+00ad768900c2897800cb8e8900a087ae00a69ce1009198de007b69ef005d6de6
+00616aeb007d67ed008c55e7009054e800864ae800934af100944cee009345e7
+008232df008027c10096139700a7155600cb302b00ab310000905415002dd63d
+"/>
+<palette number="343" name="4u0009b.jpg" data="001c591e001f2c1b001b3e150018500f0020551400295a190021571d00195521
+001345060014470300154901000f4f020009560400055b0e000161190006641a
+000b671c0004583600155f390026673c00276b4500286f4f0026725200257656
+002984730036897a00448e81005592800067977f0074a2890081ad940096ba9e
+009bb39b008ba987007c9c81006e8f7c00658e77005c8e7300588d7400558c75
+00398b7f0043998a004da8960048a09300439990003f978e003b958c00348e82
+002a8c7f00267558002a775a002f7a5c003c846c004a8f7d00539989005ca395
+009bcdc200a9d4cb00b8dbd500ace2da00a0e9e0009ae8df0094e7df00b2eadf
+00cceef000d1e4ea00bedbdd00acd3d000a7ccc800a2c5c10097b6a40095ac92
+00729e7a0066936f005a8864005a8864005a886400588e640056946500569a61
+0058985c00698f5e0068906800689173006f967600779c7a007ba081006c9a80
+00538a7300458a6a00388b61003a815c003c7757002e6b4a0028673c00236736
+0022753100228372002f8b7e003d948b00469d90004fa695005db094006bb695
+0078bf9f0076bd9e0074bb9d0070b99f006db8a10068b2910066ae890068b28d
+0071b2920079a38f007ba48f007ea590007da489006e997d00629576005e937f
+0074b8930085c7ab0096d7c30099ddcd009de3d80093dbcf0081cab60085c5a2
+007dbe96006ea8780068a5720062a36d00539c65005292600051945f00498d50
+00256c2a002a692c002f662f00366c34003d723a003d714100447851004f815e
+004c8b6e002f7b5f00257353001b6b480014664200165b3c00145c34002e6939
+004f794900537a4400587c3f004d88440049844400427a3300407b39003f7750
+00347d6000449084004d958d00569b96006da49f0077aeb1007cafb00082b1a9
+007caeab0077aead0073afaf0063a7a6005fa4a100509b96004c958e003f9386
+00338d81003f8978004b8b68004d8b660051835e005383510048793700306730
+00395e19003461240030652f0034724b004b815d00539768006aa472007ba796
+008cb7b0009ac4c300a5cad000a9d2ca00abd6c300afdcc500a9d3c90097ceb1
+0086ccb2007ec7ac007ec5a70085c2a30086b5ab0085b4ae0087b4ad0089baa5
+0099c0a300a2c0a600aaceb20098bdb6009cc3a4009abaa2008bae9a008cae95
+0087a9900087a792007ea590006ca7930067aa890064ad9000589f9b00549a92
+004e937e00598e7a00548f73005a92750064957700689485006aa3900073aaa4
+0078aeae0081b3b00085b9b70088c3a30084c19f0086bf9e0087b2a90085ada2
+0079b5990076ba950076bd9d0073bfa50064bfb00067a9a70063a5a30056ac93
+0057ae8c005aa880005ea67400579775004f88750038836f000e6b4c001c765d
+"/>
+<palette number="344" name="4u0010.jpg" data="003bafae0020a3ad002eabad003db4ae0075b59f00aeb69100a59c62009c8333
+00e0612c00cd3b3b00ba164b00b40e5400ae065e00b21c6e00b6327e00b13c95
+00ac47ad005f6ab9004959b2003448ab00412f7c004f164d00522a5700563e62
+0014678f001261a000115bb2000b52b3000549b4000b41ac00113aa4001a2d8c
+003033a6002f42a8004e5db0006d78b8008f71b800b26bb900a04eae008f32a4
+005a369800434aa3002c5fae001f8aa30012b598000dc5940008d59000279082
+003d677f003251bb002c6fd200268dea002a88e8002e84e7002c77d0002b6aba
+001061ba001654b5001d48b1002351b4002a5bb7002d60b3003066b000366ab5
+002969b3000c6ecf00226ccc00386ac9004b72cd005f7ad1009387c700b397c0
+00ae93be00926ac4007741ca006733ca005825ca005819c600580dc2006006c7
+004e07cd006117cc007015db008013ea00930bed00a603f000bd08f700a820e4
+008745c3007454c3006164c3006256c2006448c1005135ac004435aa003829a8
+003234bb003255c900214fbf00104ab500183cb500202eb5002d239d003729b0
+003372b9002d88b900289eba003092b3003886ad004d5bc400434bae00313ec0
+002133c5004b0cf1004f15f300531ef5006736f2006b16c9006a17b1006e086e
+0087066000ad055900d4055300d7055400db065600d30a4e00c9165a00cb1979
+00de347300ce548700bf639200b0739d00b089c2009d7dbc008252b600752e94
+0041046b00680a59009011480096114b009d114e00873865007920720074187d
+0069299b006733a200583ba6004a43ab003451b5003857c3002841b700254fb1
+002256de00285fe9002f68f5004560ef004c34c8004e12ca005d13c2006d18be
+008618d300bd0f9400b0108400a4127500821a9300891ea2006d24bb00723ecf
+007050cf006f4ac9006f45c3007d43bc00a760be00b164ca00a169ca00aa70bd
+00bd60a7009c387400aa145400a8056000ac10630092177f0073288f00693796
+004130b200382dbd002f2bc8003411cf004617c7004521bf005317b500390897
+0038128b0056168e005634a200301fa9001209ba001213cd001112c2001621b7
+001c38bd000f3cbb000143b3000d1e860031218e005c1e81009e1e7f00c95586
+00dc916900e3a65300e1a35a00b0abaf0085b899005a8cbd003a92c400397bd1
+003a59c5001e5fbb001e5bb600203dbf000e4bc8001a49fb000e1aea002e3ace
+005260cb005666c8003d93b40045a6b6004995af00538ac0007f74c0009d65c8
+00865bce007e65cd006667c4005c75c5007284c600879dc600629e9f003ca789
+0061868e0071469f00904f3d00da713a00ea7f2100da7c3c00cf8f3700d99f3c
+00e4944d00c1467200b21f6f0095518200887770005bc36c004ae685000dca86
+"/>
+<palette number="345" name="4u0011.jpg" data="00150e900004318200073583000a3a8400102c8f00171f9b0017269700182e94
+0014427400164f6100195d4e003e6b4300647a390084652300a4510d00a34f0e
+00a24e1000932a0d008a1d0800821103006d15160058192a00521c2e004c1f33
+0033142400441c1e005624190079270f009d2b0600a42c0900ac2d0c00ab4016
+0096340f004914100029210a00092e05001438090020430d0038350d0050280e
+0070331400775a21007e822e006982240055821b00416d1d002d582000326f4e
+001c614f00236c61001b6180001357a000143fa8001628b0001725ae001922ad
+00074791000c546b00126245001a5c390023562d002b591a00335d0700537a03
+0032a01b0042980f0046960a004a95050064b30f007ed21a0097c44500a2cf50
+006e6965005e5a6f004e4b7a004e4875004e457000503c730052337700422c77
+003b278a002a2798002120a100181aab001615a8001410a5000b1c9e0015189b
+00110982001e0773002b0665003203550039004500280229001d111f00231c2c
+004118280028195a00271c7100261f8900491386006d0784008b157500c71d3a
+00c91a1f00bb221700ae2b0f00ac2a1100aa29130083242c0062463a00514664
+003e3c6b000e1985000c1084000a08830000059b000f0db800131ab00018229d
+0034336f00462c49005825240067291c00772d1400aa331100aa320d00b73503
+00c83b0d00b6481500b04b0d00aa4f06008e6e07006596070084aa050083980d
+00ae6a1900bd5a1c00cd4a2000c93b1400c52d0800ad000200bf160300cc2906
+00c7320700da931500c48d1b00af882100acac1600908f110086692f0082585a
+00aa0b8c009c0e8d008f118f007e199300761c800060275e004a2934004b2927
+00352b1000272d0b0020240c00191b0e00131e2000180d1e0016065100082456
+00113a94000d3a9700093b9a0011659300287e710054a72100889f1100a8c839
+00b9962200a76e2700a449100095261500821006006b1d19005d2524005a362a
+00492562003a1e5f002c185d0014116800181b78001e1d7b00121f8700232c87
+00221e9600181e96001d0a88001d118100312289003d098f0053189000722c74
+008824300066282b0065292900622139004e2543003a0d500032056a00250c60
+00300356003f064a00380f53003d1a5c0046246e00372a72002a3a8800234584
+002b4b98001759b0000764c300164daa00173aa2001034a2002034a400282a9b
+003c3795006a178300803b96008b3b90007f59500084371900773213006b2822
+00531834003a1e590031386c001840590011316e00191e6000190a6f0014017e
+001502800020109400161e9a00112f85000b2d6d000a2c48002b203e00352736
+002e264d001d3c7300194b6e00134d9600126faa001372b6000d67a60012509d
+"/>
+<palette number="346" name="4u0012.jpg" data="0045379900323f8d001a468c00034d8c000d459200183d980023369e002f30a4
+005e2c8300531d7300490f6300380d6100280c60002c184d0030243a00381f44
+00411b4e0050154d0060104f00710c52006f0f6e006d128b00660f9300600d9b
+006c1fbb006c23aa006c2899006b2bb9006a2fd9006b3bdf006c47e5006646d5
+004545db003f23cf004120c900431ec3003a24c000322abd00392cbb00402fb9
+0025289900361f8e00471683004f0c7f0057037c0056038000560484003f1195
+002e0a8600410a65004a065a0054034f004f2348004b43410040384300352d45
+00113a7c00195195002268ae00496ec7007074e000757bd9007a83d2006e75c6
+006560b400422cb5003c1db700360fba00380bbc003a08bf003c12a600341388
+001e104d00190b460014073f00110b3f000f1040001011470011134e001f2643
+001f3743000c4271000d3c7d000e378900123796001738a300305dba003771dc
+002472d4002169d9001f60de001e52db001d45d8003b1acb00401ac7003f13c0
+003428ba001856a1001764a1001773a2001f83b8002794cf0048a1dd0068add7
+004e94ea004084d8003374c6002771b0001c6f9b0016688e000682b6000a8cd8
+001087e3002c97df00378add00427ddb004759ab00623f9300643c7100582c67
+00262d7d001d247f00141c81000a217c00002678000010770000146f0004216d
+00072f8400107685000f707f000e6a79001b528a00263ea8003242a400375ac2
+00216cd100126fb80003729f00066796000a5c8e00043a780004266d000c1e6a
+001b1672003c03a0004206ad00490abb003808b600291088001f096b00110865
+00130e7500110e72000f0f6f00071166000b12630005025b00031e4d000b1c54
+000f22670017358f00163aa100163fb300322fba003231b9004146ae004d2b99
+0043126300450e5800480a4d004b0a4a003f0a42004118500022136400151869
+00111869001b1c5c0021165b001910530010085b001a0c64002411600025176c
+003c158a00351b8f002f2294002222860014108800153194000a60910004709e
+001f89d70044a0eb004b93dd003f75d900614fe100606be7006d77f000738ad6
+00708cd6007299d20073a0db006da0cb006dadd3006daad6006e97cf006993c3
+006d80c500776bc100763ac0006e32a4005f39a000444c95003158a5000c5f95
+00035f92000b5e90000c389700161eaf00350fb4004610bc00591dd5006a1ad1
+00680bce00650bcd005215ec005306ea004603df004510d2005607ba005e06b2
+004c0e9d0072079300710e8c005e0a58003e044100420234003b053600360c3e
+0040074b00480c6c00620780006e108c0059228a004c2b940035359700222c8d
+0017357d001e257d00202a8300223099002f43a4005151a7006f76d0007169d0
+"/>
+<palette number="347" name="4u0013.jpg" data="007b5f51009d8f2e00adac3800bdc94300b3c36300aabe8300a6be6c00a3be55
+00b0b42b00b4ad2300b8a71b00b29d1400ac940e00a58714009e7a1a009e6f1e
+009e65220075554a00613748004e1947003b0f530029066000181a5f00082e5f
+002c686900376d640042736000616552008057450087544b008e52510081674c
+0075765600819a63008d885a00997752008a623f007b4e2d00764d2700724d21
+0054431800604919006d4f1b0070532500745830007c5c270084611f009a6725
+009e6425009b6e09009e7e1300a28e1d00a89a2700aea73200b0aa3100b2ae30
+00bbb52d00bcb92b00bebe2a00c0c43600c3cb4200c5c64900c8c25000bcd95b
+00afd26e00a3e27000a6e06800aade6000badf5e00cae15d00d0dd4f00d0db4e
+00c6c73b00c3bf2f00c1b72400b7a12400ae8b2500a7802600a0752700936a3c
+0084533200894329008b4633008e4a3d00914b3800944c34008f4e2e008c551f
+0086520000815600007d5b00007a57000077530000714c050079410600864e03
+008d630d00ad910200b29c0b00b7a71400aea51600a5a41800af951a00ad941d
+0094790400876c04007b6005007b5b10007b571b00735225007f51160094651f
+00a0801900bcb22c00bfb92e00c3c03100c2cf4100c3d64800cad34600c9cc41
+00d8ce4800cdd34d00c2d85200b0d256009ecd5b0084c26d006dad8a00429f95
+0047ab630060865d0055874e004a883f006675240070701a007c601600976d0b
+00ab860200af910800b49d0f00ad9d1800a79d2100a6a43700a0ac400096ad41
+0088a646007c9a400085a344008fad4900a8c44b009dd15500a2d957009ed959
+009ed3610096c55d008fb85a0081a05a007d844100856a1b0090691e00906f28
+0098632d009f7b2700978323008f8b2000747d2a007c7024006a6022004d591b
+005f3b0b005c3b0500593b000062420000773800007c4c0e007e530f00694c10
+00463509003d141800471a4300242462000332680016534e0032321a00423e19
+005252140061561600705b18007e621800786e1700697624006274280066803f
+006b803500808b25007c82160091741800956c12008e6815008260200070623b
+004751460036685c00387c49002d746600236e5a00044d6000032e5b000b2850
+002b0b4a00232925000c3a2f00091717002b0d0d00302a0a003b3a01003f3915
+005638200062402500684c1a006a56190064710700647c020084a715009fae2f
+00b5c94400a8d75500a6da5e00a8dc6000a6d95600b6cb4a00bdcb4000b9bc37
+00aea81e00b18c0a00a06e0b0092601700834826007d3829006d443000794a2e
+007b482d00875346007b674f006c7a56007093530083a551008cab5f0091c15e
+0086dc6d0082b86c0070c05f006ea36b00799d5700849f5800bf8c3d00a09847
+"/>
+<palette number="348" name="4u0019.jpg" data="00932524009c4c0f0094610e008d760e00865907007f3d0000864302008e4904
+008c731f00758642005e9a6600549c6b004b9e7000519b740058997900589978
+00599977009e5043009d4930009d431e00885f2d00737c3d006b824000638843
+006f915f0089894300a4822800a5601800a63e0900ab400b00b1430e00b4551b
+00a26634007b8057007073680065667a004a5a7f00304f8500284a8c00204593
+00177b9f001a87a5001d94ac002b9ab90039a1c600408db4004879a2005b737d
+00655c5d0093151800920d130092060f00900e09008f1603008d1c02008b2202
+007e1a1800801715008214130085140b00881503008c170200911901008a1700
+007c180100882b0c00932d09009f2f07009928050093220400921f04008a1704
+0069031000590412004a061500280316000601180003001b0000001e00021a1c
+001d262f0033322d0025282300181e1a0016171c0015111f00030e20000d1615
+00572a250073391c0090491300965013009c571400955c0500955e0300884d07
+0096470c009e5506009d4c0a009d430f00a03b0d00a4340c00912b1c00812b1a
+005b2b3b004737550033446f00373f69003c3b6300563a530067464100804535
+008b3a39009041220084482300794f250060441500735121006b4749006b605c
+00965e4300a8513700bb442c00b63d2900b1362600a53712009c310d00833703
+00642b1700140e3400120c3600110b3900180c3a0016174500251e470043434f
+003e8d6e005983620075795600706d51006c614d006c4d390066372f00492531
+0039245d001d2160001a245a0017285400161e4d0046314000613f350075282e
+008d2e1a008d321c008e361e008c351a00913c06008b370900873014008a2918
+007f321e007025290074262600792824007c2a15007a1a1b0081050f00770713
+00510e0600400f06002f1106003926170043220f005a2e150070380000853802
+008b3100008e3201009a210600961907008e12080089111000881319008b1120
+00753b6b00644c6700545d6400488e76002e7a920006569f00135287001c4758
+00163e57001f2944002739470033414e00404a63003d6074003a707c00556773
+00796155009b5d3800a12e2900a93b1600b82f0d00cb190b00a11f09009b2a0c
+00871f26007528380051414100514f5a003c6f730039739b001c5d8700192883
+0025257f00582874006e2d31006c1a1e00690e150060091c00540719004e1211
+004616300031163f000e1f39000c2953000b426900008a87000587b9000586c0
+0019929d00039c8700199f98002474a700375e9f003f46630044464500513e1d
+0038271500190909000f150b002c2306004e240000781b0900931216009f141b
+00a1040f0093020900901011008a200a00873307008a4212008f612500915c18
+"/>
+<palette number="349" name="4u0022.jpg" data="0070383900474b3400545b3e00616b49006857430070433d0069383e00632e40
+004b15220038191800261d0e0017220a0008270700192803002a290000352a07
+00402b0e005c22210067181b00720e1600751e1f00782f2900713632006b3e3b
+0073534600766f5200798c5f0078706700775570007b5673007f58770096475c
+00b6556800c7686400b6575900a5464e00a2394100a02c350098212b00911722
+004b0402004b0908004c0e0f005818170064231f00693019006e3d1400771b1c
+007a0f2100990f28008f1c3000852a39007a3e3100705329006a512400644f20
+004d2f090042360e00373e140044440f00524a0b005f4e1e006d5332008b463f
+009f3b4700b9203e00b0234800a8265200a4265100a1275000a62e47009a2e3b
+0071461c005247140034480d00394e1d003f542d00434f3000484a3400654c36
+00814e3d009d425100a75a5600b1735c00b5986b00babd7a00aeda7b00a09a60
+00a86354009c584400904e3400883a350081263700742731006b161d0073060c
+007202100063041c005e041d0059051f0061062700690730006b0c2a00720525
+007b090900821008008918080088120e00880c14008a0e1800890d1700830e17
+0084101900770b25007f082a0088052f008c0a2c008121470096284b00863241
+00742d4d00731a450072073d006d053a0068043800610f33005e0f2c00561728
+005d2129006030300058342a0051382400323d1d001b3a110013400500064904
+00182f1d001b1a25001f062d001b082800170b23000e12130012151a00312016
+004518120063080d0065090a00680a08006b060a007f1016008d0e2300992331
+00934a430093584a009366510081984800838d440074623e00894c4900954d51
+00a1604e009b5949008f515100844a5900752d52004e3f44003a3f2800271521
+000b0811000705100003021000070a130013051400211515002d111f00490828
+004a0728004207250046162200482e3700523024006d25330070213e0073113a
+005b0d2500541027004e1329003b122200322119001a3e18000c532b00164636
+000828370023172d00290f2a00211032002b0a4300210337002e062b00400615
+0040070d0041051100470521004b032b00480236004a0f2f00481c2d00502431
+00462155004335580053575a004c3a52005e1952007b1137007d043a007d0532
+00740a320070102c0069171b00671519005e121c005611140058121000571d09
+00571e0a0051220400442302003c1c0d00341004002c180f0024270a001a2916
+001921160032211a004a142400571a2c005e17370064103200611021004d0f1e
+00491a14004d200b0056301d007a3a3000804c37008b4a44007e40350076302e
+007c1f0e0072110000680f0100681a0e006422160057270100463a00004e2f03
+"/>
+<palette number="350" name="k2u0217.jpg" data="003e8b6b000c606000106d7000147b80004d7e93008682a700bb7db200f079bd
+00ea59be00ae45c6007232cf00601d9d004f096c005b0a5e00670c5100730c5c
+007f0c6700e9467500e9445700ea423900e9464400e94a4f00c94b5b00aa4c67
+0040182100251510000b120000051201000012020000100700000f0c00000215
+00060620002a0a5d00500c6500760e6d00aa398a00df64a700e76bb000ef73b9
+00f390a400f1859400f07b8400eb565500e7312600e6302300e62f2100e42c20
+00e41414004d0b260037051d002200150018090b000e120100081b0200022504
+00238a39005c8e650096929100c385a000f079af00f078b600f178bd00f06cc2
+00ee63b600e9429c00d32da200be18a800aa159b0097128f00732480004b2096
+007a7ac000b080d900e787f300f0a9f100faccf000facdf000facef100f9cdf0
+00f7bde600f297d400ed5eca00e926c000e726c100e627c200ca19c200c11cc1
+00861082006e0d6a00570a52004b094b003f09450035093a0041043f00440e42
+00490a430058073f00690e52007b1666008e137700a2118800dc487c00ed625f
+00e7416700e8347a00ea278d00e8219000e71b9400e61c9600e71a9b00e61c96
+00e61d9100e935ba00e83cb200e843ab00eb47a600ea4ca100f84a9100ee5d5a
+00eb565200cb9c4800ace33f00a5db33009ed4280038752500545f37005b0c43
+007c0b6500c82bae00db46b600ef62be00f28ccb00f6a6db00f8bbe500f9c0e9
+00f5abdc00f4a6cd00f4a1bf00f5a0be00f6a0bd00f59fb800f79eba00f59cd2
+00f6b3df00f4a1d700f296cf00f18cc800ea56b400cd2bb4009f189000790e6e
+002c117c0027156500231a4f002b2833002a582a002267280020422a00221618
+000e160100051d1d00021b2500001a2e0002154f00130b7a000e2f8e00281ba7
+000c54b800146ec4001d88d000107bb30023548e0068207400842f9600b815a2
+00c615ab00e61ba800e4229d00e6249f00e82bac00e938bc00ee46d700c247ed
+00c821ad00b8199f00a81192007f106c007a0f61007d0b63007e0e7200a01a95
+00d734b300ef77c100f5a7d100f8b9e400f4aee000f297d200ee65b700ba2fac
+0082256b00490e3c002f07290022052300230819002f211e00244e0c003b572f
+00422b48004213470044134a00663f6e00436d61001a4a5600043b4f00093c57
+00260c790030006a00641580009f1d9700c733ab00e664ae00f07bbf00f28eca
+00f299d100f290cb00f17cc300ee66b200eb50ae00ec4faa00ec4ba900e947ae
+00ec43a600ea3b9800e8379200e91da000da249b00bc15a3007f0e7600510b6e
+002c14900015199400102e9c00103796001f117200081c41000a0211000a0009
+00230124002f003c00270d5400250b480005083b00020d29000b1f3800035644
+"/>
+<palette number="351" name="ku0213.jpg" data="00328e000035a80d006cad0600a3b30000bf9e0400db890900cf861800c38427
+00b82f7f008433a3005138c8004b3dcd004643d2003e46cb00364ac500404fab
+004b55920071474b00612b6800511086003508a9001900cc001200d7000c01e3
+003901b80050089c00681080005c147a00501974004e3276004d4c780027a389
+003fc469000de2780006a2a5000063d2000f64c8001e65bf00305eab00435897
+006c732f00545220003c3111003d320f003f330d005c2610007a191300ab242b
+00b63a3800f30e4700f92c3500ff4a2400fc741200f99e0000fc8b0400ff7909
+00ee0d0000df180000d1240000aa2d1000843620007a233300711046006b151e
+0053001d00300019002b161b00262d1d003631350047354d004029b800471ee4
+003806f3002c03f0002100ee002e0fe5003c1fdc004237e1004950e6001da2da
+006ad8cf008ac9ae008a95b6008b62be008359b4007b50aa00a0536500b28657
+00bd67500092576d0067478a005e3e930056359d003a31c200633fd5007915ef
+007f4ccf005b248a004e1c6f0041155400401148003f0e3d0062045c0082064c
+00ae3d4300cc714800eba54d00f5b93c00ffce2c00eae03100fffd2700ebfd09
+00f0da2200feb51a00fd9e1700fc871500ff4b1b00fb482000ff2e2900f82224
+00ce474300e32f3400f8172500fa0d1200fc030000fe000800ff044a00f30251
+00d12070009164c9007f6cd8006e75e7002cb8d90020cbbb0029fe880042ff81
+004a7ed100325caf001a3a8d0011338300082c7a0004949d0012ea970001fe91
+0001faa00008c0fe0004b4fb0001a8f90003c6e40001fba20000ff81000bff86
+0026e0610031eb4d003df73a0038fd4d0024ea730034eb8e004dda8b007ac36a
+0076b38700ca4a9d00c5498600c1496f00df4c5600da885000e4894200dcba32
+00c17e51009e5f44007b40380050154b0010004d0001035600000a42000d0206
+001f1017002e213f000010750000007a00140b88002c09970037067c003b004e
+008a115800a71c6500c5277200862b7a0065519900466dc8003767cb00209fff
+000ca0f80000b6f6001bd3db0015d6930008b46c001c8d5f0000504f00003b69
+000029740000009500080dbf001d1bc400285ed8002f79fc001ba0ef001dc9bb
+000dce73000dbf6b001ed4440051f42b0032e00d001ed1040020ca2b004f9d51
+00819b540095ce6300b0b45f00f7d54000f7bc1600f3ab1900f1704600df6242
+00ff5b4a00ff426100f4297b00eb027f00df006b009a00ac004a07af003400bd
+002a06a8001600730019024a00270923005f074100a8065c00dd225900b400b7
+00ac06fe009513ff009650cd00998cb8009bcf87008fd36c009ea04d005b7b10
+003b3b2100260649000a036b0031239500272f9a002d26830004374a001b660b
+"/>
+<palette number="352" name="ku0215.jpg" data="0030171b0026091b003b122100501c2800512e4800534169004a2f6d00411e72
+00573c8d007526740093105c00680a45003e052e00360b2b002f11290031172d
+00331e310047375400343f5d00214867002c4f5700375748002d533f00234f36
+00164326002541300035403a0033254e00320a62002c09630026096500280760
+00161b390020290e001a250e0014210f000c161000050c1200020d1300000f14
+00151342000d15420006174300151f360024282900332c2500423121004d312e
+00662d2400a92e1f00ba261200cc1e0500cc250900cd2d0d00cd271a00ce2127
+00e43d2d00db251800d20d0400c00c0800af0b0c00a70c0b009f0e0b00860a0c
+007c0e0d00751102006c160300641c0400611b07005e1b0a005d1c0a005a1d18
+006a26310075313600813d3c0091352e00a22e2100a72b2300ad292500bb2225
+00bb183300850b3c00671a2b004a291a003c2c17002f2f15000a33070019630c
+000533050014200900230e0d00300706003e0000003f210900431b0f005e0e1b
+00671320006d11260075081f007e00180085010e008d0205009e080000b10600
+00c80d1e00ba0a1600ad080e009f0e0b0092140800810c05007f020000630000
+0060120e0063141900661116006a0f1400761d0f00961c05009c160d009d180f
+0095431300892f14007e1b16007a19180076171b0065182a0043141e00320524
+00161221000a1e3600121e34001a1f33002e132400591b200080252400993130
+00ce1a2500ce1a2300cf1a2100c81e2200c1232400c01f2500b013320092253a
+00932935009f1e0900ae1d0400bd1c0000bd1d2500b22b2800951231006f0a34
+00670f37005410460041125600461f6e005b116600621460006d11360077153e
+007c174100832d780083348800833c98007f3f9500853f8700a3345f007a3d42
+00535240004c564400455a4900494f4b004438440027152100170b1500190f0e
+00180003000e080c000c16170006232b0010223000103233001337290010441d
+000d322b000a302a00072e2900011d2100031614000620050001160300081110
+0004070c000b0a060026230000353d180054612c004f713e00286e5200476b47
+0060674800568453003f87470029843e00106e3a001361510030556800357d71
+00889f950054535800344851001d3b4300184131000653290013563700095e3f
+0010563e0035474b005d41350065153000750d2400941121009e130e009b1009
+0087040c00840a17007700240075072a00750827005a141e003216240019282b
+00132d2a00183d2b001d3f26003e4b2f00534431006a4c0e00a34a2c00a7552f
+00a84c1b00c2281e00ad2309008d1f120077241c00502512002a0c180026101d
+002618270031351a00672c1e00862e1a0097353200864f3000554e7000685b53
+"/>
+<palette number="353" name="s00026.jpg" data="004100b4001b006100220050002a0040003b0524004c0b09005e0a0c00710910
+00a72c0300cc320200f1380200d0260500af1509009a0b5d008601b2009101c0
+009d01ce00cb05f800c403e000bd01c800b0086d00a40f1300ad210b00b63403
+00ff791f00f6912900eea93400dd963100cc842f00bb762c00aa692900bc3807
+00d73e0200ca791e00bb6b1d00ad5e1c00a1541900964a16008a4919007e481c
+007e1c0100761901006f170100771b00007f20000083300900884113009d5f24
+00a1662a00dba33600cf943400c4863300b6772e00a9692900a55f2200a1551b
+00731900006d0d0200680104006600430065008200600092005b00a3000f00d7
+000a00e2001b015a002d0531003f0909003d0a06003b0c0400300b03002b0908
+00110706000c04090008020c000d010f001201130012011e001301290023003d
+0033014a006a00860073009f007c00b8007301ce006b02e5002600f5002500b9
+007c216e00b7524700f3832100f9942100ffa52200ffb83200f3d63a00f6fc44
+00d8e54f00d1a03700bc863000a86d29009d652800925d27007c791200895a26
+0061331100552f0f00492c0e003a171b002b03280020013d00140a4600000134
+000701250015060b001e080800280b05004a1601004e1600005a1203004c1300
+001c041c00120228000901340008013e00070149001f014b002a004c00430084
+007a009100d3bf9e00e9d67d00ffee5d00f8f84c00f3fd4f00ddeb4d00f2c73d
+00d5973400a56c2500764117005e330c004725020036110100211403000b0801
+0006070200000403000003070000030c000103120010031d0024003e003b0052
+009000b800a700c400be01d1009202d6008b00bb008a009b009b0d2700862502
+007c3e1700723e16006b3a1400643612006f3913006e4b2100534d1900454926
+0030240c00201c08001014050011120200080a0700050b0b0000130d00000d03
+00020a000004070000020701000106000000040700000410000c041c001b0035
+00420057004d006300580070005e007d0053006800400428004c1c05004c1802
+00340e0100250a0300100903000606080001040d000103120002021e0008012d
+0006003c000900510018006e00110198000e00960005007d0001005e00000048
+0003022e00010214000004100000020e0001030f000003120000021b00000120
+000101230009002b0028003f0034004a0056006b0065007a0090084800a1521a
+00a7551d00975c2400804c1d005039000035110100130f0000070d0100060b04
+00060805000507020007060400080401000e0701001b0d00002b0d02003c0f0c
+002b002e002d00410039005f00350082002a0080001500830016007e00060066
+0007004d0006004d00030045000500430001013d000802280011200d0006041a
+"/>
+<palette number="354" name="s00043.jpg" data="0031485a003b636d00407378004683840049868d004c8a970061929200769a8e
+00abb98600a7b17900a4aa6c007aa5840051a09d0065afb20079bfc70072abb2
+006c979e00938254008a604100813e2e0081371f008131100081340c00823809
+00843f080080591e007c743500897f4100968a4e00988d50009a905200a19d5d
+00a8a76400a0a56500899e6d00729775005b8b7b004480810046846a00488854
+00857f41008c7c3400937a280091862b0090922f00948d3a0098894600918551
+008f8969007666590065734b0054813e00405234002d232b002a202900281e27
+0025161d00281e25002b262d002c2e37002e364100303d4a003245530073554a
+00824e5b008155380088602d00906c22008d6e20008b701f00867f2500858312
+00828009007d760600786d0300716306006a5909006e4e080072440800714101
+007938020066340100574b070049620e003d5113003241180030475500345463
+004a869100658b8200819073008d966c00999c65009d9e6200978b4f009a833d
+008b6e2000724607005d3e090048370c0047390b00473b0b00434f0700555700
+007d8343007d8458007d856e00757364006e615b0039544f002c3c49002e3440
+002c2c36002f39450031445100334f5d00417d7d004599890048998a00499d8e
+0052939700698c7f0080856700858660008b875a009b8e4a0095772e008f6221
+0084411700552800004d25000046220000381c040030171200271a2100252331
+002b3b54002e415300324853005247470073473c0081442500863811007d2b03
+006f2a00005a210400512005004820060048370300594007004e490500464004
+00383c0100332e00002f2100002415100027181d00252736002a334400304a59
+0039704800615e110064530c006849080058350d004e2716003c1f19002c222a
+00261e2b00241a26002317210026161900361712003f1b0d00461b08004d1d06
+004c1e0400421e04003a190a0027151300231313002314110025170c00312500
+00253602002b2d0100312401002f1713002d22280035303600324853003b7c51
+003a7f5300417b7c003e6e700035556200324c5900323b4000362d2e00381a12
+00381a1000291e26002b262d002c2932002c2a35002a273200291f280027171a
+002315150024160d00321d000045240300493301005c4126007b652c00948449
+009e955000a69d5800a29e57009e964e00989433008a7620007c5f130078450e
+00712c0b0063280000644002006f52020065540000625a000068540b007c5f13
+00896e1d00998232009f9243009e973f00a49e5200a59f5100a09f4500a59f51
+00a6a05200a3a05900a4a05900a8a45a00a9a95f00a6ac6c00a5ab6b00a6a660
+009e964e009b894100907725007e6515008c531e008a5221008f6e39008d5c24
+"/>
+<palette number="355" name="s00118.jpg" data="00d1786a00db806d00d5806b00cf816a00be736000ae655600a45b4a009a513e
+008d4d44008e51470090564a009d595000aa5d5700bd6b5f00d0796800c77275
+00be6c8300a1719b009b7baa009685b9008e91be00879dc400899ac4008c97c4
+00a085ba00b27eac00c5779e00c5718700c66b7000c1686e00bd666c00965364
+00864d5e00724a6200774653007d4244007743410071443e006a474200634a46
+001e5267001b536700185567003b5e6a005f686d006964740073617b007e688f
+00887cae00b1b6ca00b3c6cf00b6d6d500d9d4c700fcd2ba00f4d7b100eddca8
+00ffd08d00eaaf7f00d68f7100ce7f6b00c7706600c16b6300bb666100a45656
+00944e560090526700785e6d00606a7300405d6c00215165000848520009152f
+00110f12000a0b12000307120001123300001e550001265500022e55000f464b
+0022495a005e5c740088637800b26b7d00c9737f00e07b8100f5919100fa9291
+00f8ccc100f0dbd800e8ebf000d1dfe400bbd4d900bfd1c5008aa9be006883a0
+00516c7300096d6300075e4c00054f3600074228000a361b000d3006003e3224
+0068353c005b404f004e4c620052567300566084004d608a0067658c00877a8b
+0098a77c00be826a00b9746d00b467710092587100865067006f4d6800744e67
+00c2687400d7797c00ec8b8400ed947f00ee9e7b00f1b57900eec47c00f4ce7b
+00e9c29900d6aa8d00e1a38f00ec9c9100ee9a7800df8b6f00df846f00e48a70
+00eb858000cd7c9100af74a2009e73a1008e73a0006a8cb100568d940023815f
+000b653f0030322400383d2e00414838006f6b4800945b5000af6c5b00c57864
+00d8866e00d8836d00d9816d00d2747200cd777600b76f94008c719e004c7ea1
+001c707a000a7c7c000b6b71000c5a66000a576900174e8600247d8b005b93a4
+00aa7fcf00b681c200c383b500c8789d00c9759600c16c8100ca717300b1657f
+008f668e0065597d00485f89002f5d9100193c8d000b597f00137b8800138384
+006691b300729ab8007fa4be00b7b98700dd9b7900d4937300ce866d00ce7668
+00bf6d5f00b8695c00b1695a009a6253009f5d5100a05a5200ad5f5b00c76566
+00cb706b00c76d6c00bc666900af5d5f0091516100884e5d008c4b5100844647
+007f434200804740007e4440007f41420082454400864c48008b4f4500844943
+007f4342007e453e007d433f007c423e00773f4000723d43006f3c38006d3a39
+0052413700325d270029662a002c732f0030534d001b4754000a3e490010192a
+001b1b2700392326005e343800703e4700714556007c465400804348007c4145
+006f3b3f00582e2f0044242500271919000c1409000117000014160b001d1e0e
+003f211f0045322c003b334000443c4900504154005a4b5e0067445c008c525e
+"/>
+<palette number="356" name="s00138.jpg" data="00f7a40000b0624c00aa5c4200a45739009e523a00994e3b009a4e3e009b4f41
+008b423b00853f3b00803c3b00903f2e00a0432100b24d1c00c5571800ce6017
+00d869170093bc3000958a440098585800a35b4e00af5f4400ba613200c56420
+00ea760f00ec790a00ef7c0500e5830200db8b0000c0a81200a6c625007ae21b
+0040db1300a4de1700b8da1600ccd61500e2ce1000f8c70b00f7c40800f7c105
+00f9bf0600fcba0b00ffb61000fdb30a00fcb00500fbb20400fbb40400fab301
+00fab80200feb40500fdaf0400fdaa0400f6a30800ef9d0d00e88b1800e17924
+00c5643700d66c2900e7751c00e6731200e6710800e46f0600e36e0500df6b00
+00de690a00b3521b00a4482100953f28008b3b2b0081372e00703031006f2e32
+0083372a00983f2200ad481a00c1601000d6780600e3840600f1910700fb9c04
+00fb9c0200ed7a0500c8601300a4462200923e270080362d00662d360053263b
+004522430043214300422043003f1f45003d1e4700381d4800341d4b00381d48
+00371b4400381d4a00301a4c0028174e0029174e002b184f002d1b4f00351d4d
+00401e41004c233d0059293900632c36006d2f34007f322200983a1600ab5000
+00d5740000f8ba0500f6c00b00f5c71200e3d30e00c0ce0900d3c90800eeb300
+00faa90000faa00000fa980100f8940100f7910100f2820400e9790b00e37504
+00e3750200e27c0000e67f0100eb820200f58c0000f88f0200fc960600fd9907
+00ffa90400ffab0800ffad0c00ffac0900ffab0600fda50300fa971500f68819
+00da6c170089310900812d1100792a1900712e2600672b2d0063282e00632b36
+00642c3700652e3a0066303e00692d37006b2e350070303100733230007a332f
+007e352e0081372c0081362b0082352b008433200086341e0088392a008a3820
+00953e23009b402200a1432100af4a1c00bd531900dc660e00dd680b00df6b08
+00db680b00c05622009a4a31007e352e007d342e0083362c00913c27009c3e1a
+00d7630e00dd680c00e46e0a00f1810300f78c0000f68a0300ef830500e57007
+00da680500b64a0c00a33e10009b3e0500a4410000b54b0000d3670000e88000
+00f2890900f7910100ed860500e47c0000db6c0000cb5d0e00a74812008b3a27
+0078343100652c35005c293a0059283b0059283b0059283b0057283c00562538
+0054273c0050254000472241004d253f004f2237005b283b006a2d3400763028
+00953b2000a45c0000d3800000ef9a0c00fc992200fd9f2500ffa33c00ec8a33
+00b66246008d4a44006c313700612b380058293d004f2a4b003b204d00391e4b
+003f1f460043214400482140005320310045152500360b2600530a0000571306
+00602225005b283700612b3900632b36006d2f34007d3936008b443000a85f3e
+"/>
+<palette number="357" name="s00149.jpg" data="00910f19007c1b150066111500500816003904190023011c001a031e00120521
+0000171d00031b2100061f2600082424000b2a2200142320001e1c1f0017181e
+0011141d00030418000202170002001600030016000400170004001700050017
+001a0320002f031c0045041800710d38009e165800aa196300b61d6f00e60d64
+00f9065a00fd025200f7034f00f1044c00ec075700e70b6200e50e6800e4116e
+00bb2e8e00af308d00a3328c006f1d5d003c082e00370629003304240024001c
+002200190022171b001b20240014292e0015382c0017482a0016492a00154b2b
+00093d2700042b2000001a1900000f1800010417000102170002001800000018
+0000051b0005112700041c320004283e00072840000b294300122948000d1e38
+000a0e2900110d2400190c200017071b0016031700120117000f001700060118
+0001091c00031a2200022625000133280000372d00003c3200002f3f00072b43
+00242c53001a335600113a5a000f3856000d3652001a1f3d002c11340039072a
+0034051900351218004514180055171800671b3a00791f5d00b51a6800e11878
+00f30f7100eb0f6f00e3106d00de0f6700d90f6100b901330080011f004d0020
+002f04170007011b0005031a000405190002051800030418000f0520001b021f
+0016062100120a24000e0e280013143100181b3a0031173e0032183d00371b43
+005d337300c0196900c90f5900d3064900dd0e1e00d80a1e00c50f1b008a2916
+00560a16004605170037011900300418002a08180015071e00070d2500021d2e
+000d2d2c0001313b000129380002213500011e2c0002132700040a220001091e
+001002190018011800200017002f02170041011c005100210081061a00c2061f
+00f2211a00f95c1700f75d1700f65f1800e3591a00ce4c0e00b1451e00984123
+007f1e18007e1d17007d1c16007c1e1600671517004a082e00380e3400161632
+000b17250004162400081027000513200005111d00130d1900250e18003f1217
+00a43c1700c73a1700eb381700f8461600fa3e1800da146b00dd187400bc2d89
+00ad1965008d053500ae002500ac053d0085175400731f5b0026564000263e2e
+001c312a0018251b001d1f1a00271c1800391515004c191600651c16008e3318
+00cc2d2900df131c00e9131d00f1022c00f4003600f9004400fe004800f8003f
+00f3024700f0014400bb013200b1002a0062031b00460c3400342753001e2c4f
+00003f500002536e00196dad004585e600247dcd001654830004516b00013445
+00002230000015230001091e00060117000e001700100018001c001900220018
+0024011900260516003a0a180053101700780f1600b0002400d0131a00de121b
+00df111b00db0f1b00c300280090012c0069031b00440c1500001e2000211313
+"/>
+<palette number="358" name="vchira_0001.jpg" data="009d4b3300da3cce00e530e600f125ff00f41cf800f814f100f315e800ef16df
+00c042fb007872f80030a3f60021b6f40012c9f30014ccf40016d0f60012e2fa
+000ff5ff0012f4e00026e6d5003ad8ca005adfc7007ae6c4007af0b1007bfa9f
+0060fa9a0055fbae004afdc3002eece10012dcff001adbfa0023dbf5004aeec9
+005efab9009eddae008eeea2007fff970090e19000a2c38a00bfc39700dcc3a4
+00eca67500f2bc5d00f8d34600fae92300fdff0000fdf20b00fee51700f8cf13
+00f1c82e00e2c75e00d1bf6500c1b86d0085c595004ad2be0029dbcd0008e5dc
+0016d1b6004fd4b70088d7b800a5babf00c39dc600dc95c700f68dc800f28b9e
+00d78abe00c288b800db64d800f440f900f03bf300ed37ee00e915e300d00de5
+007b0da40089069e0097009900aa1a9600be349300cc559300db779300ca8460
+00be5b3400a6398800b949ac00cd5ad100d55ec400de62b800e87e8000f89252
+00f9be3400fba05800fe837c00fb5b8e00f834a000f128d000e80fcf00d010d7
+00c5009a00710b4a00783025008055000084690000897d0000a4b50400afb306
+00ccec0b00dce80700ece50300e9d40400e7c40600f0bb1300f1b93200ddd737
+00d4dc6500a6b68700909b8c007a8191006f4e3d004f16390040005c0064116b
+0097115600980e64009a0c72009f167a00a4208300d21b8d00dc14d900d107d9
+00e406e300dc09e400d714cb00d31fb200c61c63008a2b3300885d0000766110
+00486630003a5b18002d500000285104002452090027370000133100000d3117
+00003f32002591da002398de00229fe20004aad000037db0000a2a7f001d3b7b
+007212a7008520cc00992ff100bf08df00cb06ec00d215ee00b148c800a13bdd
+008a3ed400403c93003d347d003b2c6700014423001f2d0900150a120012090e
+000507000004030b00030016000f152d001e14460025232e003f040000440005
+00560a24007c12430092358e005f82b80068d0ab0063e8bb0058d8f5002fc1fc
+006faced008d85ee00ac5ef000cf32f300e51df200ac26f7008f2bfb00635cea
+004cabe50029b2d60024bb920057c15f009abc0600b5bb0300bfb90100d4a517
+00ed714d00e74f6800ea398700ee0eaf00e82aa600f15d7d00ffbd5300e9ef37
+00e7f82e00d7e76000c7e37f00c9eb8d00a2da910097fb7f00b3f57100adef59
+009bca0c00ac9013008b60020095720a00b9950b00fbc72300e4ec4b00cef580
+00a4cb9f008ad8c80069b5f10078b0eb009cc8c900c7d8c800c8dead00accbc3
+00a887d800915df0009233c3006914a50076008c00470060003f00650031183f
+001e183a00290011003c270000452300005c4e00006073070060bb44005ce273
+0028c286004b686e006f3d3e006b005c006a0051007e1309006c150e00420013
+"/>
+<palette number="359" name="vchira_0003.jpg" data="005527bd008d17c300950ba7009e008b009300860089008200830286007e048a
+005a0c940063098e006d0689006f03840071017f007b036f0085065f008d134d
+0095203b009a510c009b5a0b009d640a0090690700836e0500836e0200846f00
+009c8f0300a8a11500b4b32700d9ca2300ffe12000ffe41d00ffe81b00ffe714
+00f5da0700bfae0600b29b0500a58904009b820800927c0d00886f08007f6204
+00932d2100801851006e048200670f9b00611ab4005e1aad005b1ba7005f0871
+0081253400a25c1e00a86e1600af800e00ba920d00c6a40d00c7a81500c8ac1d
+00b77e1500bc553900c12d5d00c01f7100bf128600bf187a00bf1e6e00b72262
+00c1245700c4225b00c3206200c31e6a00bc197000b5157700a8008300870998
+00610e9a00640788006801770069016f006b0267006e01680072006a007d046d
+00940c5800891c31008629270083371d007d3d1d0077431e006f3416006d2b11
+004d0d04004e1d04004f2e050058380700624209006b4b00007f6400008c8600
+00ae9e0300f27b5300e86c5000df5d4d00d04d4500c23d3e00af393500ae2b3d
+00c1424d00d0495000e0515300cc3e4f00b92c4c00b1215600a5343800944713
+007e470700745c0200735d0300735e050073600400785e0000965f1f00a13741
+00a50d6000a9196500ad266b00ad266100ae265800b1422f00bd681500da9317
+00e89a1e00d6b80a00d5c20a00d4cd0b00edcb1200f8d00e00f4bf1b00ed8d36
+00e9843200dc872600d08a1b00c3821200b77b09009c68150076481600794106
+00773000007600450076004b00760052007d0057007d0461008a026800930571
+009f1b6700a2245d00a52e5400a13a3300a25e2100a76e1700ac790600ac7711
+00b2701900a2442200a53a2d00a9303900a4293e009e1958007b0f7f005d1da7
+004652da003e63dc003774df007d48e0008f11b3009e008b00ad057e00d22a65
+00dc426600eb765300db973600f4c92200ffdc2200fff92200fff31500f9d61c
+00ef992800e88f2c00e2863100d0643300bb4f2b00ab2d45009a1647008a0058
+0088006700830976007e047b0094017600a2087800a10572008f0769008d0267
+008f075b009b0e520095153600951b3200982427008c4322008b4f1300826400
+008863000099680200a15e0300975c000089490c007c421c007230200082113c
+0073005d0072006100620068005f00800051038b00520b8f005900890072048b
+00800a78008c0377008c057b00960080009f068200950aad009113bf00810ec1
+006c16c3007d27c8006f32bb00612bc900572bbe0071099c00930f63008e262f
+009e4c1d00a1660c009a7600008c6f09008c7d06009c840600a17e0800ac8401
+00bc900000c6950c00dca60800face1700fed12000f9d12400e2b62200df9f17
+"/>
+<palette number="360" name="vchira_0012.jpg" data="00d3305b00711700004e2000002b2900001f1e1000141420001c0c250024042b
+0076023100910b4400ac155800ab1f5300aa294f00d4526900ff7c8400fa8881
+00f5957f00c6c8b300dba9c300f08ad400da649300c43f5200a52b4e0086174a
+0064122800380915000d0002000b0004000900060004090f000013190014083a
+0035003800380f13003f130f0046180b00703c0f009b601400ab880a00bcb000
+00d2ff5000cbe05d00c5c16a00a4985a00836f4a0089503900903228007f2e01
+00a9622200aad1760091e76e0078fd660063f672004eef7f003cd979002bc474
+001a65a80029409700391c860043177b004d1270006e09700090007100940871
+00650f320023320900112d1a0000292c000035230000421a0024655100369279
+0035e779003be9820041ec8c0049ef840051f37c0063f1790075ef76009efd6b
+00bdda6c00d4d09300c6d69700b9dc9c00a9d2900099c8840063a65f00638f76
+000d436500064c76000056880000709300008a9f000c84940000727500289a78
+002ac26d002ed46e0047e2730061f1780069f6720072fb6d0089eb640097fe65
+0090ff600083ff620076ff65006cff660062ff680062fc840062fe91006bfc9f
+0069fb8e0087eb770086e7730085e4700095ff6b0080fa5a0077fc650066f663
+0031ca560031a65e003282670025856b00198970000895530032a143003fbc34
+0078c96200b8d08600dbc68000ffbd7b00fd7d7400da5e4200bba11800dbe800
+00fdff2400f4fc2a00ebf93000f5ed4400ffe15900d6f95f00c3ed59009efc66
+00a7ff6b00c1e67d00c8ee8300d0f78a00e4e79000c5ea81009af8880076ff84
+0075f0850084f2880093f48b00a5f699009ff3930086e78800589f6300266d69
+00093e5d0028214b00311049003b0048004000530041015700390d6400782b89
+00b212b400c356a300d59a9200dae22c00e9de1200bb8a2300b3592400b1314a
+0078284f0047043700290b55003010710044138800885c9100a9b68000bfdea2
+0099e1bb00a8eab100b7f4a700bfcdbc00c1eacc00cad9de00b7a0f200b25bf8
+0096a9a50083a568006abd79003ee3940038eda00023e991001ef2b8003becdc
+0074c5e30094e2ba0083f5ad0091f6a60084f98700a8f67f00b0de9600a9bb89
+00aa9b94007539750061294400510f330032222c0032361300382d0f00452d23
+0066430900744710004a80000045890e003177380049bf35007fcc6600aee98b
+00c1e09000d7c89d00dbc88600dfc96300b1b06000b0433e00953e4400941834
+00821b2e00922f2a00ae392800ab7110008dcd380055ea5a005af87d004bff9e
+0048e7c70079e9c30091f5c300a8f2d700b4ddcf00a5decb0095bad40064c8ff
+0033cefc00586fdf002999cb0013daa30053ffa7008fdbc100a5c5ba00ff91a3
+"/>
+<palette number="361" name="vchira_0013.jpg" data="00b4d7f3006760ea005d4bce005436b200592da0005e258e005d1e8e005d188f
+00401fae003b2bae003737af004538bc00533ac9005f37d3006c34dd006f44e6
+007354f000726fd8005c67c900465fbb00415ebf003c5dc400395ac3003658c3
+004b4dd6006541e2008036ef006938e000533bd1004e3ccc004a3ec8004037c6
+00323db100555bd3005e59e0006757ed007d43e900942fe500a22dec00b02bf4
+00b33fec00ab42f100a445f700ac49ee00b44de600af59d900aa66cd009752bf
+005c2c9900290d35001e062300130011000f0012000c0014001200180019001d
+0020145c00390f7500520b8f006d08a4008905b9008e0abf009410c600922fd8
+009266fb00777aff00736eec007063d9007a72d3008482cd00d6ada900edd1ff
+009470f8008c8af80084a4f9006c9fe700549ad6005099dc004c98e3005987e5
+005867e400404ec8003f3cbc003f2bb0003e26b0003d22b100451da400430a95
+00340c6c002606540019013d0019023b001a0339001c0231001b0421000b0d1a
+0006072500090d3d00170c4700260b52002a0950002f074e0030024b00360057
+002b1770002b1c78002c218100262c8b00203795001b449600113e7f00141b6c
+00111957000b0a2c000f053000140035001f033600340549003a0360004d0688
+00741bc1007a23cd00802cd9007a24cf00741cc600671cc1005321b400403da8
+003f4fa6006d4cd700764ed6008051d500833dc400732ec9006d1ab4005e098b
+004400560055006f006700880073089f007f10b7009e1ed500ac4adf00b057ff
+00b95afc00b46cf200ac67f200a463f300a244fc009520ea008f17db008918cc
+004329a8003e2d9b0039328f00242b860029207300212c6200271c5400291354
+0036107500620a9200690c9800710e9f00661cb100532cbb00523bc7005948d5
+004f54ca004b49c900473fc800473fb800373aad002a359f002a2c9b00253ba0
+00224ca0001a5398002059aa002760ba001674b400236bc0003081d2002963c6
+002a3eb1002d34a400302a98003b1e8a00551b89005c269600702dbb007046c4
+008368c5007e46e7008738df008218c0007220b3006e27b3005e28b40041369f
+003337900021568800213d7c002b357c00283078002d257200544272005a419f
+006051ba005b43bb00513aae00542aaa005311990042058600450f8100320c7b
+002a1385003f2097005717ac005a0db5005822c0005a2abe004b41c8003658d3
+00316bcf002e62d000255bbf003247b4003d3eaa0049308b004d167e00341d78
+00201c70001a1b5e00170366001700530021055c002b085a002d116800281f78
+001e248600163b820012315d0006185800040f4d0000092a000408130008000f
+000e010b000503110007131300071e2e000021310006183c0000215000092241
+"/>
+<palette number="362" name="vchira_0014.jpg" data="002de67e006eb7440064ad3e005ba4380051983c00488c4100338454001f7c67
+000c5e2d0007471f00023111000e3911001b41120028561b00366b250036652d
+00376036005d93710038897100137f7200097969000073610000674f00005b3d
+004574140074772900a47a3e007f6022005b4607004a3b030039300000233110
+001e37190019262c0018223100181e36001e262d00252f24002e47200037601c
+0063770000727b1500817f2a006f543d005d2950004f20470041173f003d0d35
+003a0a20002b1c00003b1f16004b232c0088413600c65f4000b8883500abb12b
+0093cc6300adce5100c7d03f00ded64d00f5dc5b00ece95000e4f74500e1f584
+00dee5b10092d0b700bfc8c500edc0d400edc3bb00edc7a200cab8880097a17c
+0053644000464d3c003937380022252e000c13250006101900000d0e00001f0d
+00002400000f521c001c5f3d002a6c5e00338e7d003cb09d004fded8005aeeca
+000ebfad000a968900066e650003545400003b44000e162d0003061700000a0c
+000011030000220000103b110020542300356138004a6f4e0079a3510084ba7e
+0083a2b6007fb4d1007bc6ed006ed9e00061edd30050fad60022fbe60000f1fc
+003dece50067d2da0077b2d5008892d0009287c90093919f0084727e007c7c72
+005575740056656a00585560005e5360006452600091597e008a467700610888
+003c056a00124b3c0013523200145a28001a5b21002b480800324100002f3c00
+00242c070014320300043900000234000000300000002f0000242e0000072700
+00002813000f452d00124a2d00164f2e0027403d00513565008c1cc900bc2cbf
+00b9438f008e4678006349620046382f002f1a1f001d181f0019220d00121200
+00040d00000018020001190100031b00000f230800242c21002a283500262138
+001e324d00163342000e34370019331a00242a10002a1f09002d050d00240b0e
+001617120000281a0002313b000d2b4700112f4900102449000f102c000f0913
+00002100000e2c05001d380b003c4e12008a882100b7a00400d4c92100a9bb27
+007bc528009eaa4800a1b05b009ab07f00a2a78700a393ad00b868a30087548f
+008a92b9005c8bb7005d95c80073b9b7007dbab50077958b00738b6b005e8f71
+006aa4740091afa70092e5bb00ccecad00cdf09e00b7c68100ba9f8100a7a771
+00768a42006b5c3b004c482200203e2600145c2e003b60410086895c0098cb90
+0088c8b0007af2aa005ef5b00055f1b4004bff93007bdb5300c2d62900f8f500
+00d2ec2900cfdb5500dad56f00bec97a00b1c5860084c8b30070bed2004abfc6
+0028b4b500005f86002b435b001222560012173500000325000c0b2a003a033c
+00560054006a008600750a9400c423b100b634ca008722c0005906880013213b
+"/>
+<palette number="363" name="vchira_0015.jpg" data="0068537a0000306e000020650000115c00252862004a3f690062376c007b2f70
+007d3d7900803f7d00844282009a719300b1a1a400c9c5c900e2e9ef00ebf4f0
+00f5fff200fff0be00d7e1c700afd3d1006a9cad00256589001a5386000f4284
+00120e5b001a08520023024900381f55004e3c6200553c68005d3d6e00491f75
+003b1562002c003c0035183d003e303f00453c6a004c4895006450a4007d59b3
+00aa43c800945bce007f74d4007d80bd007b8ca600809ac40085a8e20097c1fd
+00c5aef200cde0e400dbeccf00e9f9ba00f4fcb300ffffac00ffffa100ffff96
+00f7da1400fbdc6000ffdfac00f5dac700ebd5e200e8cef000e5c7ff00ffd2ff
+00ffc3ff00f1bce600f5a4c500fa8ca500f28ea900eb91ad00b3628b009d7c97
+008fad7b0075c072005cd46a0053946d004a5571005153710058517200636069
+0096827700d9cd9900dcc1ac00dfb5bf00dfaaa200e0a08500fab16200f18e4b
+0076575d00a3748200d192a700d69ba700dca4a700c1b2af00b3b29e00748e9f
+00596c7a004d324100472c3c0041263700502c49005f325b00733a65005e2f65
+00211837003224410043314b0052415e006152710078829d00869fa600aec8d7
+00cac8de00fff5ff00ffecfe00ffe4fe00cbcee100b4cae200a78cd9006c73aa
+004b30a3003e36a800323cad002842a0001f499300295f9d001c62b8000c6ac2
+002167bd00608cd3007294d900849de0009f9bef008694d3005896c90065c0c1
+0055bf8e00719973008e735800b1825100d4914b00eaa93300f9b61d00ffc955
+00f3d18a00d1e1b000d0cec300cfbbd600bcc8e000c3d3e300bcc8e000a8cbe1
+006f7daa005971a30043669c0031468700002f8e00071c77001c1680006614c1
+009007c700c708eb00c607ed00c507ef00941be6007b29ef008b4fed00953bc1
+003c0a49003a08300039061700340d000031100100260000001700110012003b
+000e193700201e4f002b385b002f325d00281777003c005d0033014800420026
+0035130000331a000032210000382322003627460039404a0052317800801d94
+007c0ba1005619a2003571a500598cce007d9bcf0097c1e900b3ecff00cffcf9
+00f7ffff00ffece500e0bddb00baa3d7008675a100686d8a0050537600263f75
+0008245300001f3c00090d56000b014a000010440000023d001f083c00400823
+0093202d00ba123500d03b1a00ce6c0700b9670400c35019007f441a00742000
+0060140000520400004c0000001e0002000206290001103100110e2d00411c00
+006e2b2500963e3c00ae433b00b7754100aa8f3400cf781b00e9542900e95429
+00ea483300cf545600b65f6700925a630078374b006c2d4a0056303d00472e2a
+00432040007d0a41009e05550098203900c82d2900b6440000982a1100770700
+"/>
+<palette number="364" name="vchira_17.jpg" data="00173b370008804300149b4d0021b6580026b853002bba4e0021b2550017ab5d
+0000826a0009707000135f760009598e000053a700104a9700204188002a358c
+00352a9000750aba007f08960089077300740466005f015900470b5b0030165d
+000065620009647c00126496002454a5003744b4004141bf004c3fcb006833cc
+007b20c600a305cb00af09c900bc0ec800b016d100a41fda008745e9006a6bf9
+001387860020a56f002ec458002fcd640031d771002fdf7d002ee7890029eb95
+001ce1990017cf85000cbb750002a765000fa06d001d997500129d850007a195
+001597c9003a6cd4005f41df00912fe600c41eee00dd1fe700f721e100f2408c
+00ba525b00700077005a2ca3004459d0003963cd002e6dca001698bc001da97a
+0015a7520020ae4f002cb54d002ebe510030c7560031c7550033c755003ad361
+0037db6a003adc6c003fe06b0045e56b0043e0640041dc5d003dd254003ad35e
+0033d3650025c4640018b564000caa6700009f6a000d7b780011577000173365
+00352e7400420a7700460f92004b14ae004a15b1004a17b40055139b005025a8
+003a42c100344fc0002f5dbf00266cc0001e7cc200067fac0000a49900008790
+000388830000747a0004586f00093d64000022500004222000001d0d00134812
+000082620010a7670021cc6c0026d271002bd977002bdf880012d3a40001d7bb
+0006badf0030b6ff00309ff0003088e200286ac8000d4d950010396d00171459
+0082005600810f5600811e5700771973006d159000762cc7005150dc004353b2
+001c7a860003706a0011605c001f514e00234f4e000b6f55000b846100109c5f
+000cb678000db97e000ebd840004b89f0006a5a9000cabc10014a9c1002a91de
+00418cf2002f9ef00020b1db0011c5c60016deaf0023ec9e0030f29b0033f49b
+0030f29b002ef19a002cf09a0020e99d0015dea70012d3b60028a3e7006484f1
+009c38f200dc14fd00ef15ef00e602eb00e200e000c101ae009d2c62007e1d52
+002400280016062f00090c37000b175f00191d740046237f003e199d00362ca6
+00422697004f0e7200310e52003f0049004600410062004900640346007a1040
+007a391d002d811f00239535000d8a3c00148640001e9c480018a556001bb763
+0020d07b002be789002ce98d002cec960031f2990037f08b003af08b0038ec88
+003bef84003fe875003ddf650037d45f0036d4630036da6a0038e371002ae78b
+0024e9990020e99b0024ea9b0024ea9d001fe79e001cde950012d09200199d75
+00027e660000405b0024052e0044091d001f01250012021c0014430d00176a1a
+0023872d002d904f00169f510017ae5d0019c4760026d3790024e48f0027ec9a
+002aef9d0028ed9d0026eb990022e89b0017d9930016cb840020bb60002fb949
+"/>
+<palette number="365" name="vchira_18pp1.jpg" data="004a07b700660fd0006c42e7007375fe008074fe008e73fe008d6ffc008c6cfb
+00c534b300c636b000c839ad00b74ecd00a663ee009882f6008ba2ff0082a5fa
+007aa8f6006a77f7007d73f800916ffa00a263f000b457e600c051d500cc4cc5
+00f26ab200e14ca600d02e9b00c21f9200b5118a00b7118900b9118800b91188
+00c1209200e2689700ef779800fc879900fda7ad00ffc7c200fdd3c600fbdfca
+00fafdf200fcfbf800fef9ff00f5f8fa00ecf8f600beebf10090dfec0078cad8
+0091a2ff00ffa7ff00fbabea00f8b0d600f195cc00ea7ac200dc57b600ce35aa
+008b0aac008410b7007d17c3007d1dcd007e23d8008428db008b2ede008f48e6
+00965cff009c85ff00ad9bff00beb2ff00b59bf800ac85f2009d6df700a140db
+00a90e8e009e097200940557007f045b006a035f0075016100810064008e0174
+0094038200a60a9100af0d8c00b8108700b80f8400b80f8200b90d7d00ba0f82
+00bf1b8c00cd2d9600db3fa000ea4b9000f9588100fd4c6600e92c7000dd1764
+00ce1769009d045700a5035e00ae026600b4066f00bb0b7800b80c7a00bf1180
+00f5486600ec437800e33e8b00dc388500d5337f00d7298a00c1148000ba0c7b
+00c70b6a00b80c7800b2067300ad016f008c007800880390007d099e00820293
+0098079400a00a9300a90d9200a9119900aa16a000ca2da200c441a900cc47be
+00d866d700f887c500ee87ce00e487d700e8aae900bdbdff00b2dbf100f5bfd9
+00fec0c500f2aaa700e6948900f2837800ff726800ff5a8500f85d9700e7579c
+00d7329b00ac088100a40684009c05880081007c007400870041127c004c04a6
+004205a8004302ad004400b3003b02c0004a00c7006012d700704af700895cf7
+009b4fe700ab22b600ac1fad00ae1ca500a815a3009b12aa00822da6007b3ad2
+007170e7008c6aeb00a764ef00da72e100f680cc00fa8fb900f498cb00f39bcb
+00bb90d50074aaf4004495e70055c0d4007ee7e000cfffe200f5fff400eef5fd
+00ffefff00f5e6ff00ecdeff00f0c7f300d99bee009670fb005448f0004d00c4
+004800cc001b01de003759d5002f99c9003ca5d400249fc0001c96bf002b77e5
+005658f8007012c0007507b600890dad00a315a700a726a500a06fc100769fee
+006da9f20077a5fa008e90ff008760f1009933d4008d1ac000990ea500a40c93
+00b3118b00b8148f00a8169d00920fad008b1ac2008a1dc6007e17be00890fb2
+009e0ea400ad1ba400af159b00bc1e9900d432a100df51a500ec679e00ff87ac
+00fb8faf00f2a9bd00f9dec000ffe3da00fdeded00fff0ff00f6e4e400ffd7df
+00e9b9f500a873f500974dea008527d700750cc000720ab5006605b700650ab0
+00710a9a007200a1006405b9006111d6005151ef002c79e5004bb1d90034a9ca
+"/>
+<palette number="366" name="vchira_19.jpg" data="00e180a100f6d45600e7e94100d8fe2c009ece1700659e0300667e0100685f00
+00bd970600cec10800e0eb0b00d5f51800cbff25009bf938006bf34b0062f462
+005af67900cff35b00c8e67400c1d98d00ade492009af0970079f28a0059f47e
+000df4d40007beb00001888c00015d6c0001334c0009253e0011173100071717
+00030c1100062d00001b3e0200314f05005a740800839a0b0089c0220090e639
+00ade17f005da86d000d705c000c5846000c413100073b3a000236430013365e
+00232e6e000d265f00253334003e410a003f420b0041440d002b420a00154008
+0002290a00232b0500452d0000684600008b5f0000a07a0000b6950000e2e500
+00f8ef0c00f1fa0000f7fb0000fdfc0100fafb0500f7fa0900f5ff0b00e5f91e
+00f1e92c00f8a85d00ff678f00fa539300f6409700f6648e00f6898600ffa062
+00fb9d3900ab9501007d6f0000504a0000375b10001e6c20000a895600009f83
+003bfdbe0059ddb40078bdaa0087c0a50096c4a0006586a5002d926a004a6032
+0025490b0000251d0000241c0000231c0001232a0003233800052a4400181155
+00260b52001f053300190015001c0318001f061b00210132003800410059014f
+006a006e0092008600a8019600bf02a600ee3c9400ee6c5200e58e2700e9cb00
+00b47a1900945c0c00743f00005d320000462600002a0800001c0100001d0a0c
+00290a08005700210077063e00970d5b00c00a8100c902b300d507b100d20bc0
+009016d1004851a400018c770001816d0002766300076a3e000544290002321a
+000a280e00015a3e00016550000171630006885a000998630000ad8a000fe0a7
+002ea966002b9d400028911b00305507003a630300389101003490230046b01c
+0036b63d007ad9410053b034002d8727001a3d0700161000000b080000001200
+000803070008030300080300000201090003030d000201060003000400080000
+000402070006000b000f0015001d061a002b001c004b003d00630156006e005d
+004603500037014a00290045001c0436003b0117004a14120062171c008e2e22
+0094411500a34f4400ca495b00990f40008a1434008715390084083a00711730
+005603370037090b0035050500371605004b2a0900383f0c002f2009001d2a00
+0020270000644703009c5a1000c8750f00ecc50e00f8f22000fffb2200f8fc0f
+00ebff0c00e9fc1400c5e22800a4be07006b7e010059590000418a00003b9400
+00609f0a0075af0d008bbb0000c2d81300b5ae1500b7493a00c82c5c00fa26b8
+00d803bd00d805c300e507d800fd1bde00e58fb400eab28100ebb96200dfd341
+00b1ff4700e1e53600e9e12600f2b91400c46e190077411200472b1300331316
+00241e38001f1e6c006a006e009004af00ac0cb6009509a800713d6d00094172
+"/>
+<palette number="367" name="vchira_28.jpg" data="0000022c000047b1000c65c3001883d5000d75d6000367d700055bbe000850a5
+001a446c001d374f00212a33003c332d00583d28004b453c003f4d50002f414e
+001f354c0019232f0026141a0034060600360c080038130b003f1a0a0046220a
+00722906004f260e002d2317002b180c002a0e02001b0a03000c070400030200
+0004010a000d03040036101200601e2000823e1f00a45f1e00b2611b00c06419
+00a67c4a00ac906f00b2a59500d2aa6800f2af3c00f8c72b00ffdf1a00fce945
+00fef27a00dde1fa00bcb8c1009c8f8900737071004a5159004743530044364d
+00282c3800374a610046688b007a93ac00aebecd00b7c6d300c1cfda00c1c7e7
+00adc2d7006589a100525491003f1f8200400f55004100280032031300480610
+00690c17006d0f140072131100630c160054061c00580525005d052f00850535
+00a51a130099161b0067314400364d6d00315083002d539a001853a300345ea8
+000343bf00113ac1002032c4003626d0004c1add005827d0009717d000cb01d1
+008906b4006e23bb004e3cc3002e55cc001a47c0000739b400002882000b2b54
+000c094c00110a5700160c630013147900111c8f000233ac000b34b400102eb2
+003d0ba20033064b002204380012022600070e160000061600010b2400000a25
+0000094600060747000c0548000f03390012012b00230031003c080c00731a00
+00ab350300c7612300b6703b00a5805400c09c9e00cbc1c900dacbc600dcd4c9
+00dfcea000dcc8a000dac3a100d3b99400ccb08800bb8b4d00dc953900d57d0f
+00dd5e1700dd247000c7167800b10980009f028f00a501c000d00ab500ff30c6
+00da91a200cf96a600c49bab00c8719300df238100b3059800970187006c02ac
+005700550010061e000a03160004000e0005060a00220c0100381d0a00622602
+00ba2c2200bd1e3000c1113f00cd2d4900de117000bc2872009d7750007e6b99
+00477199004073a2002482cc003078cc005748d5004d14b9004e198100680c3b
+008a480c00944a07009e4c0300b7520200cb680200db660000e2740100d07407
+00d1751000c0692200a7693600555c620055595a00393c31002b27260043230c
+006f360b00b05a0f00de603700edac4400deaa5600b37d3f0090643700865334
+004b3827001b222800101d2d00010a3300071b4d00011554000a326300002172
+0002207a0001389300115eac004793c40069a8d3009abad300c7d5d800dcdadb
+00dfe0e200ded9d300c2d1d80086d6f70079a4d9005eb1e3004d94d6004e9fd6
+0038b5eb001b96e4003d90d4003e51de003e24bd005b029800650159005f014b
+003402330054032c0091093700c4126800db247700d3139a00e001d400d505d7
+00b901af0071228d007d0052007b123d0081674c00ae8d7e00e8ded400d9bda8
+"/>
+<palette number="368" name="vchira_2pp1.jpg" data="00b3b50000e7a10300ef990100f8920000d2740000ad570000a55200009d4e00
+0085141a006c0f3b00540b5c00411d5e002e3061001727a200011fe3000428f0
+000732fd000ca5c700119ea000179879001c935400218f300027972b002ea026
+00105a5d0009448c00022fbc001626d3002a1eea00330fd0003c00b7005c158d
+007a213d00eb8c0000dfbf0200d4f204009df2090067f30e004ef3150035f41d
+0011ec760027bb73003d8b710036875400308437001f834d000f8263000f4271
+0003479000028d7a00086474000e3c6e002e236a004f0a6700540a64005a0a61
+00382964002f57410027861e0015b91e0004ed1f0009f01f000ff3200027fa19
+0028f80f0056c5210069a910007c8d0000568c0000308b0000008700001acb18
+0075ea2c00b4d53c00f4c14c00f4c04200f4c03800f8c63200fccc2c00e1f718
+00e6ff2000fee30000f9b30000f4840000f9670000ff4b0100fd2b0a00ff170c
+00f7034b00980282003a02b9002409c3000f10cd00080cdd001309e6000a10fc
+000721fe000655cb000f58c400185cbd000e58d5000554ed00154aee00213ad5
+00ac926f007ec2540050f33a0030ee3d0011ea410016ea570016d1800003b085
+00278bbd001708d300450abc00730ca500bc027100e2014300d5083300e41618
+00e3333e00b21e5d0082097d00620591004201a5003706c2001e02c8002f03a2
+004b0277006e0d5000800e470092103e009b054c009a0f3900c31d1d00fc2e09
+00f34d0300da430b00c1391300af3f17009d461b008544280080293a006f4d27
+002d8e2f002ec8460038d53a0043e22e0050f9060080ee0300cddb0800e9d31d
+00c06a0000b95a0000b34b0000a2453300664c710033565c002d8c380025c645
+0015e219001be3070023ea0f002bf1180049f00a004ee10c0038cf200042d642
+0044cefc003190f1001f53e7001e30f6000116fb00010be6000313ec001517f8
+000b26ef00002bd5000021ce000917ab0006309200072f86000b2e7f000d197b
+0053423b00555920005771060094840000b0860000c1a00000bcaa0000c7bc00
+00cfb40300e0961b00de8e2d00de775600ffa84700f2923b00ed552e00f33d0b
+00dc460900c55b0f008f4a0700215203002f8c07003bc609007ce30000c7f703
+00d7e70b00e2e40700f0b60d00ea9a0f00dda70900a4b52b0098bc120076d107
+00a8c400009fa30e00a58500008f8b03008b9e000059c301003fd300003ddb00
+0077eb0400a4f40500d7ea1200edeb0c00ffc32800fd8e0800f5700700dd8007
+009c8e000078c8050046cc13001cf123000bfc310042e42e0080f20900b2e504
+00dad02000f1b40e00f0930700e8760400f9340700fa170e00df011800c10b22
+00cf051500da000e00e30c0700fe220800f64b0300e46b0200bac94c00c17d18
+"/>
+<palette number="369" name="00017" data="0056a2b4004fa4bb004fa3bd0050a2bf0056a3be005da4bd0060a4bc0064a4bc
+0069a3b90066a7b70064abb60061b0b4005eb6b3005abeb20057c6b10057cab0
+0058ceaf005fdfb20066e2b2006de6b20075e7af007de9ad0080e8ab0083e7aa
+0091e2a40095dfa40099dca4009dd9a400a2d7a400a1d6a300a0d6a300a1d2a2
+00a3cea400a6c4ac00a7beaf00a8b9b300a9b2b500abacb800ada8b700b0a5b7
+00bd95b400c08bb500c382b700c37bba00c475bd00c172bf00be6fc100b86ac5
+00b167ca00a365d1009c67d300956ad6008e6cd500876ed5008570d3008472d1
+00837ac800877ac7008c7bc6008e78c4009176c2009074c0009072bf008d6eba
+008b69b4008867aa008566a9008365a9008164a9007f64a9007f62aa007f62aa
+007d63ab007e67a9007f6ba8007f6caa007f6dac007e6dac007e6dac007d6baa
+007d6aa700806ba6007e6ba9007c6cad007b6bb0007b6bb300796ab7007567bc
+006c62bd006867bd00646cbe00626fc0006072c2005b79c8005780ca005386cb
+004e8ecc00459ec5003ea1be0037a5b70037a7b30037a9b00039afac003ab7a8
+0039bea00037bf9d0035c09b0033bf9b0032bf9b0032bf960036bf91003dbf8d
+0044bf8c0052bd880054bc870056bb87005cb5810066b27d0070b378007bb673
+008cbb6a0092b8660098b5620098b2620099af62009ca96200a3a46200a9a067
+00af9d6c00b69a7e00b5978100b5948500b78b8b00bb818e00c3799300cb7397
+00dd6c9e00e266a200e760a600e75ca800e858aa00e852ae00e74eb200e64bb3
+00e54ab200e44eb100e34fb000e351af00e251ab00e24fab00e34cad00e347b1
+00e540b600e23fb500e03eb400da3eb200d43db000cc3dae00c53eac00be3fad
+00b83eac00ab41a400a7429f00a3439b009a46910094488b00904987008d4886
+008e4784008d4783008d4783008f4784009143840091408300913c8800903590
+00912d98009126a2009120a7008f1da5008d1da4008c1ea2008a20a0008b249e
+00932495009424940096249300992091009b1d90009d1c90009d1b91009e1a8f
+00a21a9200aa1c9600af1d9900b31d9900b61c9a00b51b9800b11e9500ac2091
+00a6248a009f288300972b7b00902e790089347900803a7b00763e79006d4178
+0069467800664b7a00634f7c00625382006255880060588f005d5c98005b609f
+005c65a4005c68a5005e69a700616bac00636db200626db8005e6bbb005c6abe
+005b6bc0005a6dc4005b72ca005f79cd00657fcf006986d2006c8cd3007091d2
+007295d0007195cd007098cb00719cca0072a0c900739fc900749bc9007797c9
+007991c8007e89c8008182c700867bc2008975be008772ba008671b5008373b2
+007f74af007978ae00717ead006d88ae00698faf006595b000619ab1005a9fb3
+"/>
+<palette number="370" name="040208-115" data="0058afde0064bbea006ac0ee0071c5f2006cbbe30067b2d40062b1cf005eb0cb
+00858ea8008f92a6009997a5008d9da40081a3a3006f8e86005e7a6900597b6d
+00547c720033676400284252001d1d41003a1a590057177100661e8000752590
+004e488200507ea60053b5cb0044a7cc003699ce003598cb003598c9003098c8
+003b94c1003692c0002e8db9002789b3002378a1001f6890001c6178001a5b61
+000a242b000b1c1f000d151300060b0a00000201000001010000000100000000
+00000000000000000000000000000000000003030000060700060d10000d151a
+001c181d001816240014152b002326340033383e00383e42003e444600405e58
+0081676e00aa7d8600ae919a00b3a6ae00b5a9b400b8adbb00b3b2c800bbcbe1
+00b5c3ee00b6cdf400b8d8fa00b2dcf400ade0ee00a7d5e700a2cae1009db4d7
+009db1d400a0a3be0096b0c6008dbdce0087bdcf0082bdd1007db8df0077c5ee
+0077c0f40081cdf5008cdbf70091e9fa0097f7fd0095fcff0097feff00a0eeff
+00b0eeff00b2ebf100a4d0dc0097b6c80095b8c10094babb0088bcbe0077a9b0
+008ab0be0085aec30081adc80082a5c400849ec0005b61b300675cbb00836ebd
+00b685bb00998da8009c8fa100a0929b00a0828800a27d7e00a3656400aa4e4e
+00be435300d4374700ea2b3b00da344700cb3e5300cc516100ce546a00e15881
+00de384800d75e7600dd607f00e3638900d4617400e15f7500ea647400e77183
+00db97a900d092a900c68da900bf8b9e00b98a9400a36a7000a3545900a03d45
+00a03345007d324a0072263f00671a35001b0d3300020b230005000700010002
+001c00230023032b002a073300500c5f0064285d006e1f3c008f2034007d2c25
+0076233a00640a6700690d68006e1069008d238400aa56a200b5649d0097769d
+008c616c00885c66008458610081646a0081747e0063707a00415e7d003d5774
+0043476700824662008a3532008d3334009228390097203000902d3500a0333a
+00a02a2c00a6303400ad363c00bb3e5500bd435500bb405200b3434700b03e42
+00aa434400ae3d4100aa404200a5414000a2414600a6535800a6585d00a3595b
+009d6661009d6a7400a05f61009a605e0098727100907c800086818c00767b87
+00778f880072948900749b91006c9eaa0067a4a60066d3b60074f7ea0076f9f7
+0081f8fa0087faf70095faf7008df6f5008df9f00092f7f70092d3ec0094cbe4
+0090e2e40088c7e90087aede0094c1e100a6c0db00b6d0f400c5dbfa00d6defc
+00d7dbfa00c1d8fc00addffd00a0defd0090ddf40081ceec007dcbe90066efe6
+0063ccc70054a9c500468995001577650018635b00183e3800172e28001a1a1b
+001a201e00222e2a00235c4300306571003e6b77003e8ba0003e96b80048abdc
+"/>
+<palette number="371" name="040221-00" data="0070544a0061535000605350005f5451005c4d49005a47420056433e00523f3a
+00432b280041242100401e1b00441a15004916100050130c00571109005a1008
+005d1007006f15070079190900831d0c0089200d008f240e0090230d0092230d
+0094250d0095270e00972a0f00902d12008a301500842e15007f2d1600702916
+006023140045170d003d140b0036110a0034100900320f0900310e0900300e09
+00310c0b0036100e003b151200461e1a0051272200582b26005f302a006e3b31
+007b4439008d554900955e52009d675c00a16c6100a6716600a9726500ac7364
+00aa6a5900a46150009e584800954e41008c453a008a403500893c3100843427
+008734270088322400833327007e342a007c352c007b372e006f312a006d3430
+00733d350073423a0073473f006f4b43006c4f4800674d4800624c48005f4c46
+00624b4200754e3c00845a470093675300996e5a009f756100aa837200b08d7d
+00b9948200be988600c39d8b00c7a28f00cba79400d6b6a600ddc4b700e2cec6
+00e2d5cf00dcd6d300dcd7d300ddd8d400dfdbd700e2deda00eae4e000f3ece7
+00f4efee00ede9e800e7e3e200e2dedc00dedad700d2cecb00cac4c000bfb8b5
+00b5adab00aaa5a500a9a4a400a9a4a300a9a5a400aca9a800b0acac00b2afaf
+00b7b6b700b6b6b600b5b7b600b4b7b600b4b7b600b3b4b400b1b1ae00aea8a6
+00ada19c00a98e8100a88a7b00a8877500a87e6900aa7b6200ac775c00af755b
+00be765700c6775500cf785400d2775300d5765300d8754f00d26f4e00c96847
+00be604100b2553400b2523000b24f2d00b44c2600b4492100b3481c00af4819
+00b04a1c00b44c1e00b94f2000c4552700d05a2e00d9633300df693600e26d3a
+00e36d3b00df633800de5d3600dd573400d7513100d14b2c00ca482700c34521
+00c0451a00c0431a00c0421a00bf3f1b00bd3b1c00b93a1d00b13a1e00ac3f23
+00a8462a00aa4f3100ac543a00ae564000ae564300a75242009a4c3f008b453a
+00723c31006e3a30006a382f0067342c00693129006f2e2400732c200078301d
+007d331c0085371e008d3d1f0097442300a24a2900ae502f00b8563300be5b36
+00c15b3700c05a3700bc593500b85a3600b6583700b6573700b5563500b15131
+00af4c2c00ab462400a9432300a8412400ac452800b24b2d00b4533600b75b3c
+00b9614100bc654800bd694d00c06f5700c2755f00c57b6900c5827100be8879
+00b6897d00af877a00a9827500a07b6e00976f64008e655a00825e520073554d
+00654d44005b443b00553e330051352b00512e220054281c005a2519005e2217
+00622317006a261c00732a1d007e2b1d00872c1c0092301c0099301b009a331c
+009b3624009a3d2b009943340095483b00935044008e534700865446007a5348
+"/>
+<palette number="372" name="040221-11" data="001f0f7200281588002d179100331a9a00371b9f003b1da5003c1ea7003d1faa
+004121b2004322b6004624ba004925bf004c26c5005128cc00572bd3005b2cd8
+005f2edd007035f3007837f9008139ff008a3aff00933cff00973cff009b3dff
+00aa42ff00ae43ff00b244ff00b244ff00b244ff00b143ff00b143ff00ac42ff
+00a440ff008837ea007831db00682ccc005a26bb004d20ab00471ea300411c9c
+002d14840029127f0026107a002a1280002e15860032168b0037179100401b9e
+00481fab005927c700602cd7006831e8006b33f0006f36f9006e36f8006e36f8
+006230e500592dd900512ace004b27c6004625be004423ba004222b7003e21b1
+003c1fab003b1fab003e20b0004222b6004323b8004424ba004424b8004322b6
+003e20b0003c20ae003b20ad00381ea900351da500321ca200301ba0002c1a9c
+002a1b9c002d1da8003220b1003824bb003b25c0003e26c500462ad1004d2ede
+005f37fd00663afe006e3dff00703eff007340ff007640ff007940ff007b41ff
+007e41ff008141ff008141ff008141ff008141ff008141ff008041ff007e41ff
+007b41ff007740ff007440ff00713eff006e3dff00673bff005d37fa005332ea
+00492dd8003321ad002e1da2002a1a970020148000150c6a000c075800060349
+0001003b0003003c0005003d0007003f00090142000e044c00140657001a0b65
+001f0f7200281588002a168c002d179100331a9a00371ca0003b1da5003d1faa
+004121b2004322b6004624ba004724bc004825be004c26c5005128cb00572bd3
+005f2edd007035f3007536f8007a37fd008139ff008a39ff00933cff009b3dff
+00aa42ff00ac42ff00af43ff00b244ff00b244ff00b244ff00b143ff00ac42ff
+00a440ff008837ea008034e2007832da00682ccc005926bb004d20ab00411c9c
+002d1484002a12800028117d0026107a0028117e002e15860037179100401b9e
+00481fab005124b8005927c700602cd7006831e8006e35f3006f36f9006e36f8
+006230e5005d2ede00592cd800512ace004b27c6004625be004222b7003e21b1
+003c1fab003b1fa8003b1fab003e21b0004222b6004424ba004424b8004322b6
+004121b2003e20b0003d20b0003b20ad00381faa00351da500301ba0002c1a9c
+002a1b9c002b1ca1002d1da8003221b1003824bb003e26c500462ad1004d2ede
+005632ed005f37fd00673bff006e3dff007340ff007640ff007940ff007b41ff
+007e41ff008041ff008141ff008141ff008141ff008141ff008041ff007e41ff
+007d41ff007b41ff007841ff007440ff006e3dff00673bff005d37fa005332ea
+00492dd8003e27c5003321ad002a1a970020148000150c6a000c075800060349
+000301410001003b000100390005003d00090142000e044c00140657001a0b65
+"/>
+<palette number="373" name="040221-12" data="0061512300525e2e00516131005064350053653600566637005e683700676a38
+008a723b0093743f009d774300a1764200a5754100ad713a00b56e3400bd6b2f
+00c5682b00db632500d8622600d6612700cc602600c25f2500bf5d2200bd5b1f
+00ba511300b64e1100b24b1000a94b1100a14c13009c4d1400974f15008c5318
+007f5418006f4d150068491400624613005c46140056461600504717004b4818
+003c4c1f00394c1f00364c2000364a2000364920003548200035472000364822
+0036482200394b23003a4d22003c4f22003e5022004051230040512300415124
+00465527004d57270055592700635a2500725c23007a5d2300825f2300916122
+00a0662400b9672400c4642000cf611d00d35f1a00d75d1800de581200e0540e
+00d54a0900ca450800bf400800ae3c07009e380600963706008f370600803407
+00723007005a2606004b2205003d1e0500361d0600301c0700271d0800201e08
+002120080025220700292407002b2408002d250a0035290a003e2e0b004d350b
+00613a090085490800964c0800a7500900ac510a00b2530b00be540b00ca5509
+00d7510600d24d0400cd4a0300c6470300bf440300af3e04009e3903008e3605
+00833408006d360f0068371100643914005e3c1a005a3f1d00594220005e4222
+007549220085542200955f23009d652700a56c2b00b47a3600be823f00c58a47
+00cd914e00dda25900dfa75d00e2ad6200e5ba6f00e3c17a00dfc58400d8c186
+00d5af7c00d8a77200dba06800dc9b6300dd975f00e08e5900de815000da733f
+00d9662f00e1571300e2560f00e4550b00ea560800ed560800ef580800ee5709
+00ee570a00ed580a00ec5a0b00e75f1000e2651800dd6d2100d9742c00d37936
+00cd7c4100be7e4800b87e4900b27e4b00a37d4e0099794d008e764d0086724e
+00786a46007467430071644100685f3b0063563300624c290067431f006e3a18
+00753512007c320f007e350f007d3910007b3b13007a3b13007a381100793610
+007635120074371300723a1400704119006e4920006f51260071592e00726234
+007b6a3700847337008e783600987b3500a57e3200af833200b1833600b68338
+00ba863900b9843800b27f3300ad792c00a77526009f702600976a2800916a2c
+008f6d34008a723c008774410084784400847d4600887f47008c7d4500987b41
+00a2793e00ab763b00ad723800ac733700ab743800a9723700ac6e3400b2682c
+00bb612500c3581e00cb541700cf521400d1521300d2541500d2541500d35314
+00d64f1300d94c1000dc460c00df420800e0410800e1410600df410500df4005
+00dd3e0400da3c0500d7380500d4360500d3330500cf330500c8340400be3606
+00b43b0900a93d0b00973a0a0089380b007f380d00763a0f006a3d130063471a
+"/>
+<palette number="374" name="040221-13" data="00497f7d00578d8800588d8b00598e8e0051868a004a7e870045788300417380
+002e5c6b0023505e001845520012354b000d26450011184500160b4500190846
+001d06470021154e00261e56002c275e00382f6b0044377900483d7e004d4383
+004d65900049718f00457d8e00437f89004282850041818300408181003e7c7a
+0039737500255c5a001b504b0012443d000c393300062f290003282500012122
+00001415000014130000151200001c170000241d00072b24000e332c0020403d
+00324952005660770063658000716a8900766e90007c7297007a6f9700786c97
+00685b88005c547800514d6800404659002f3f4b00263b44001e383e000e3033
+0005282500002b1400032f180006341c000a3720000e3b240014432c001a4835
+00265e4700306754003a7062004879700056827e005f868400688a8b00769096
+0081949f009499ae009899b0009c99b2009e98b200a098b3009f95b1009f90b0
+009f77a9009a69a500965ca200915aa1008c58a000815b9c0077599800705895
+0068509000584486004e4e800045587a00415f79003e6678003b7178003b787a
+00438182004d888500578f88005c928a0061958d00699b94006e9e9c006ea0a2
+0070a2a40069a2a100659fa100629da1005a9a9f0050959d0047909a00469098
+00468e98004a8e9b004f8f9e00528e9f00558ea0005e8fa2006693a3006d96a8
+007199ac007b9db1007d9db100809db200849eb10088a0b30089a1b5008ca2b8
+0098a6bd009ca7bd00a0a8bd00a0a9bd00a0aabd00a0acbf00a1adc100a0adc3
+009eacc20094a8bb008fa6b7008aa5b3007fa1ab007199a300628d990054848d
+003e6d71003967680034625f00295750001c4640001039320006312800012a22
+0001291c00002913000026100000240e0000200900001c090000190b00001a0f
+0000190f0000160c0000140a00000e090000080b00000513000003210000002e
+000f00360021003d002e034700371152003e1d5f0043276d00462b75004a2b7a
+004a2f790046367800433e78003a4b7b002f577b00255d7d00225f7d00215e7b
+0025647b002b6a7e003072820033798800387f8d003d8190004386910049898d
+004e8b8d0050898f00558692005b7d93006175930066698f0064598500574777
+004c3b6a00422f61003b2c5a003b2b5b003e2b5e00382d5e00332e5e002e335e
+002b425f00315465003c677300497b810054888d005e8e940067959a006d989d
+00729b9f00779da0007a9fa2007ba2a5007ea3a70082a3aa0088a0ad00909ab1
+009590b300978bb500948bb700908cb7008c8fb7008a90b900888bb7008584b2
+007c7fad006f7da50060809b0052869100478989003d858000367e7900317872
+002f736c002c7365002f7562003178600033776500377769003b767100407a77
+"/>
+<palette number="375" name="040221-14" data="008d7c9600947c86008c7f810084837c0074897f00648f8300599186004f948a
+004e9b920050a29a0052a9a30058aea6005eb4aa0064b9b2006bbebb006dbebd
+006fbfbf006ac9cd0063ccce005cd0d00061d4d30066d9d6006ddbd60075ded7
+0088e1d90079dacf006bd4c60053c1b6003baea60034a59d002d9d9400268e89
+002a817c00327865003470570036694a003b633b00415e2c00495f2c0051602d
+0072733d007d82490089915500919b56009aa657009ca956009fad5500a9ac53
+00b3a95100bc995800bd905700bf885600bd7e4b00bc744100bf6f3900c26a31
+00cf471700d73a1200df2e0d00e4260e00ea1e0f00e81e0e00e61f0d00d6220d
+00c4210d009e2010008d2116007d221d00792220007522230063292c00523134
+003d4b43003a5b4b00376b5300417558004b805e004d82610050856400518b68
+00528f690053976e00529a6f00529d7100509b71004f9a7200469475003b8d71
+00237c710018766e000e706c000d6e69000c6c67000f69620012665c00166457
+0019645300155e4f00165d4a00185c46001b5b43001f5b40002f5236003f4d2c
+0059442400624123006b3e23006e402400714326007d3e25008a37210095301a
+00a028160097201200922214008d251700832b1c007c312400783e2f0081433b
+0083434f00874052008b3e55008a3d5700893d5a008c4c66009e587200ad6c7c
+00be708900e06a7a00e2607300e5576c00e84d5f00e7455200d8504900c8564b
+009f543b008d482f007c3d230077361e0073301a00673014005f37170053401f
+004b4a26003b5a3400395a3800385b3c00395d42003b6347003a694d003e7152
+004b7f55004b7f54004c7f53004b7e4e004b7d4a00467a47004177470041794a
+0045804f004a8a56004b8c57004d8e580050935900509459004f935c0052935e
+0056956400559363005592630055906100558b560051844d00507c43004f743b
+004b6b3300455f2b003e5729003c5223003a4f1b00424b18004e491400584813
+006d401000723e1000773c1100774310007f4d1900895a2700936c3900a27e4a
+00b28d5700c2916200c1976300bd9e6400b3a26800a1a76f0093ac770089b17b
+008fb6820092b7830096b57a0096b16c008daa5e0087a253007f964200868e36
+0091863100a27f2a00b17d2500b6782100bb762000b0751f00ab791f00aa7c24
+00b2822e00be8a3900c6934500d0985200cca06300c3ae7400b7ba8300aeca97
+00a9d7a600a9e3b700b1e7c500bdecd300c4eedd00c7ebe200c8ecea00c3ede9
+00c1ebe600bae2e000bbd7da00c0c7d000c6b2c000cda0b800d092ae00d185aa
+00ce7ea500c87ca500c07ea900bc7aa500c078a200c673a100c569a800cc65ac
+00d163ac00d365ac00cf6aad00c174aa00b77da400a37fa1009a82a10090819f
+"/>
+<palette number="376" name="040221-19" data="002391ad002c8ab2002b8ab3002a8ab400238cb3001d8fb2001c97a8001ba09f
+002fac810040ae790052b1710062b7720072bd740080c468008fcb5c0094cc56
+0099cd5100abcd4500b5c84c00c0c35300c2be5700c5ba5c00c2b65b00c0b25a
+00aeaa5a00abad5e00a9b06300aeb86f00b3c07b00b5c38200b8c78900b6cb9b
+00b5cbab00acd0c200aed5c700b1dacd00b1e0d300b1e6da00b0e4df00afe3e4
+009bd1f10092c6f1008abcf20086b9e90083b6e00082b5d80082b4d0007cafbe
+0077a3b100617e9000566a82004b577400434d60003b434c0038404400353e3c
+00273924001f36220018332100123020000c2d1f000b2c1e000a2c1e00072d1f
+00083022000d3f2a0016432b0020482c00254a2e002b4c3100354e3b00424c48
+00534c67005d517400675782006c678e0072779a00777fa1007d88a9008a96b6
+0091a3c000a1b3c6009dbcc1009ac5bd0096ccbe0092d4bf0088dfc50083eac9
+0087f5bf0092f6b2009ef7a500a4f79e00abf89800aff29100b3ee9000b3e78b
+00b3e08900b9da7d00bbda7500bedb6e00bfda6e00c1d96f00bed07200bbc77a
+00aca98c009b9a9a008a8ca9008389af007d87b6006d81c400647fcc005d7fc8
+005d79c500526bb4005269ad005267a60057659b00646a9100717786007d8182
+00909681008f9582008f9584008f9385009091870096938d00939099008f8f9f
+008b8ea9006d91b9006292bb005894bd004d9ac100419dc800389fc700339fc0
+003595a2003395900031967f0031977d0031987b002f957d002e937e002f887b
+003784770042866b00418a6d00408f6f003e937900379786002a96940023959b
+001f95a1002098a000219b9f00289d9c0031a29b0034a09b00339992002f8d87
+00267a790019555400184f4c00184944001d403b001f3f330023463100254c33
+0024573a0023593b00225c3c00255f3f00255d4100225d4300235f460023604b
+0022644e00236951002a705300357656003b7a59004b7f5d00568067005c7f70
+00597a7c0058797c0057797c004e777c0051767400557470005a716900576969
+005361640048555d003345540022354400142633000b1b220003131a00021016
+0005151500081f1b000f2e2400193c2d00224836002a533e002f5a4400335f45
+0032644800336b4f00377757003e826500499376005aa2810068ac840073b183
+007bb381007ab37c0077b17f0072b6870071b88e0070b890006eb6900070b289
+006ca87b0061986e00558b6500467c5e00356d5800255d540019504c00114143
+0008333a000429310002202900001b230000181f0000141c0000131900001219
+000113170001131400031314000313160003141b0003182100021e2a00052834
+000c3a3f00164b47001f505b0027596d0028678100247394002078a5002282b2
+"/>
+<palette number="377" name="040221-2" data="002e1010002f1010003011110032121200331212003513130036131300381414
+003b1e1500391f14003821140036201300341f1200301e10002c1e0f002a200e
+0029220e00242c0f002531110027361300293b15002b4117002b4217002c4418
+002b4719002a4618002a451800273f16002439140022371300213513001a2e10
+0013290e000a1c0a0008180800071407000612060005100500050f0500050f05
+00040c0400040c0400040d04000c130600151909001a1b0a001f1d0b002b270f
+00363113004a471a004e4c1b0053521d0052541e0052561f0050561f004f571f
+0054602200586524005d6a26005f6b2600616d2700626e2700636f2800667028
+006e782b00687028006068250058602200535b20004e561f00434d1b003b4719
+002e3c15002c3a14002a381400313d1500394217003f471900454d1b0050561f
+005a5d21006f6f280077772a007f7f2d0081822e008485300086883100848831
+008389310081883100808831007f8730007f8630007f8530007e822e007c7f2d
+007c7e2d0078792b0071752a006a722900646d27005f692500556323004b5e21
+0036511d002b471900203e16001a391400143412000e290e000c220c00091a09
+0007160700061106000612060006130600081708000e220c001b2f1000293c15
+00455a2000516624005e72290063752a0068792b006e7c2c00727e2d00747b2c
+0076782b007b752c007f782d00837b2f008b813200948735009b8f3800a1953a
+00aaa13d00ada63e00b0ab3f00b2ad4000b4b04100b9b54200bab64300b7b542
+00b6b24100a8a43c00a49f3a00a09a39009a9137008f87330086813000807d2e
+00787b2c00767b2c00757b2c0073792b006f782b006b732900676d2700666925
+00676925007271290075732a0079762b007f7b2d00837e2f00857f3000858130
+008b8832008b8a32008b8c32008d9134008e9234008f973600919b3800939e39
+0094a13a0096a33a009aa53b00a1aa3d00a7b13f00b1ba4300bcc54700c3cf4a
+00c7d94e00c7da4e00c8db4f00c7db4f00c5d94e00c3d94e00bfd64d00bbd24b
+00b8cf4a00b2ca4900adc64700aac24600a9bd4400a7b74200a4b13f00a1a73c
+009d9e39009e9839009d943800978e36008f85330089813100827a2e007b742c
+00756e2a00706a28006f6628006961250061592300594f200050431c004b381b
+00442d18003b231500361d1300351b1300341d1200341f120034211200342712
+00322b12002f2e10002f361300313c150033411700364418003547190035481a
+00344a1a00334a1a00324a1a0031481a00344719003444180035421700374217
+0038441800394418003a4418003b4418003a421700393f1600383b1500353613
+0032321200322e1200322a12002e2410002b1d0f0029180e002b140f002c0f0f
+"/>
+<palette number="378" name="040221-21" data="008a6557008e6965008e6b67008f6e69009170690093736a0094746b0096756c
+00906f69008969640083635f007c5c58007556520072514b006f4c44006e4a42
+006e484000693f3b00653b380061373600613735006137340062383400643935
+006b3f35006a3e3300693e3100653c2f00623b2e00623b2d00623c2d00673c2d
+006a3e2e006d402800693e2300653c1f00633c1d00623c1c00623c1c00623c1d
+00663f1f00633e1c00613e1a005c3b160058391300553711005236100050350f
+004f3511005037130053391600563b1900593d1d005d3f22005e3f24005f3f27
+005e3e2b005c3d2c005a3d2e005b3f30005c4132005c4133005d4234005c4036
+00593e35004f3630004b332c0048312800483127004831260048312600493126
+0051362d00573a32005d3e380063423e00694744006a4947006c4c4a00715150
+0077585800886766008f6c6a0097726e0098736e009a756e0098736e0092716c
+00846868007e626200795c5c0076595800745654006e4e4d00674646005d3e3f
+005336390043262e003f2328003c2122003b2020003b201f003c201c003c211b
+003f231d0041261d00432a1e00442c1e00452f1f00493522004f3a2400564028
+005c452d006a4e37006e513a0072553d00795c45008366500091766100a08671
+00b8a19100c2ad9e00ccb9ac00cebcb100d1bfb600dbccc500e4d8d400ece4e1
+00f3eded00f7efeb00f4ebe500f1e8df00e9ded400e2d4ca00d9c9bf00d4c4bc
+00c4aea600baa29600b0978700a9907e00a38a7600957a640089715b007f6754
+00765f4e006c533f0069513b00674f3800614b31005a462a0055412500523d21
+00553c1e00573d1e005a3e1f0060422200664625006b4a2a00704e2f00765133
+007c5638008c603e008e6240009164430095684700966a4b00956a4f00936b55
+00936d5a00926d5b00916d5c00926e5e00926f5e00926f5f008f6e63008f6e68
+0091717000997c7d00a2888b00ac959800b49e9b00b8a19c00b8a19d00b09697
+009f8e92009c8d94009a8d9600958c91009086880089807e007e6e6e006e5e5c
+005f4c490053413e004a39350043332b0041302400432e2000462f1e004b321e
+00523721005a3f2500624729006c4f3000765737007e5f3e008768460090704f
+00977756009a7b5c00997b5f00977a6100917461008b6f600086695f007f635b
+00785d580070565200664e4c005c454400543e3f0051383b0051373700533837
+00583b37005d3f390060433b0060453d0062473f00674c42006e524400735846
+00785e47007c6249007a62490075604600705c43006d583d0069553800675332
+0066512c0067512900654f2500644d2100634b1f00624b1e00644b1f00654a22
+00674a25006749290068482a006b492d00704d3200765338007c574100845e4c
+"/>
+<palette number="379" name="040221-22" data="005b6c64005d6d620059695c005665570053625500515f54004e5c52004c5951
+003f4a470038424100323b3c002b343800252d3400222831001f242f001f242e
+001f242d0021262b0021262c0022272d0023282d0024292d00252b2d00272d2d
+002e38360037413e00404a4700525b5400656d62006d746800757b6e00808777
+008b918000989d8800989b8700989986008c907d00818774007b827000767e6c
+00656e5e00606a5b005b6658005a655700596457005a6458005b6559005c655c
+005f676000636c6400646e6400667065006570650064706500636f6300636e62
+0060675a005a625500555d50004e554a00474e44004348410040433f00383a38
+0031343400242a2c0020252a001c2129001b2028001a1f2800191e28001a1f28
+001b202b001b202c001b212d001b212d001b212d001b212d001b222d001c222e
+001c232f001e25310021283100242c3200252e330027303400293133002b3033
+0030353200343a35003840380039413b003b433e003f474300454e4b004b5753
+00525f59005c6a6300606f660065746a0067756b006a776c006b786b006a776a
+006d7b6b00717e6e0076827200768273007682740075827500718074006f7f73
+006e7e6f0067716300626b5e005e655a00545a5200494f4800414742003a3e3c
+002f303300282a300022252e0020232d001e222d001b1f2d001a1e2c001a1f2c
+001a1f2c001d212f001e222f002024300025293300292f36002d363900313b3d
+003b4642003f4b4400435047004451480045534a0046554a0047554a0048564a
+0049564b004d5951004f5b5400525e580059666000606f6800677871006e7e78
+0077878300798884007b8a85007d8e85008190850083928300848f8100848d7d
+00828a7800808772008086710080867100808671007d8470007b816e00767c6b
+00676f5f00636b5c005f6759005860530050584f00474e4a003f464400363d3f
+00303739002b313500262b3300222731001f2431001e2230001e222f001f222e
+001f242e0020252e0022272e00252b2f002a3031002e353500323a390037403d
+003d464200424d45004751490049534a0049544a0049544b0049544c004b554d
+004d584e00505d5000546154005a695b00647163006e7a6a0075806f00788272
+00788473007983720079817100777c6d006f74650064695c00585e53004c534b
+00444946003c414100363b3e0031373a002c323800282e3800292e37002c2e37
+0031313800363439003a363b003e3c3d0045423f004d474200534c4500575048
+0059544b005b594e005f5e510064615500676358006965590069665a00676759
+006766590065645800626156005f5e5400595c5000555a4d0051584b004f574b
+004e584c00505b50005460560055635a005664590056655a0055645a0058685d
+"/>
+<palette number="380" name="040221-23" data="006d231e0057161f00511f1d004b281b0049311700473a1300493b14004b3c16
+00574f210064522900725632007c473a0086394300893743008c3544008c3343
+008d324300831f3e007e1c34007a192a00721d1f006b21150068201200662010
+00662010006322110061251200592b170051321c00503721004f3c26004f492b
+0051592e0039733200318240002a914e0027a14f0024b251001eb54d0018b849
+0010a34c000d994a000b8f48000a843d000a7a32000b7133000c6934000f5a3c
+000d584a00116e5500126a580014665c001563640017606d001c636a00216668
+003e574c004d4946005d3b40006f323f00822a3e008d283d0098273d00a92b3e
+00b6334900b52d6400b62b6900b72a6e00ba2b6d00bd2c6d00bd2c6e00ba256e
+00b51c6800ba176100c0125b00c00b5400c1054e00bf044900be044500bc043c
+00b9033600a70628009a0720008d09180089071400860510007f040b00760406
+00600505005b0506005705070054090700520e080048210b0042360e00444714
+004a4615005442120055471000564d0f0057490f005945100060340c0060200a
+00500800004404000038010000330000002f0000002800020025000300220104
+002302040027020400280203002a0203002d0204002f0204002e030400280206
+001a0208001605070013080700110808000f0809000f090a0010070b00150b08
+00210e06003a100400400d0300460b0300510803005e0802006b090200770804
+0088030a008d020d009201110092011200920214008c02140087021500830214
+00800114006f010f0068010e0062010d00570209004f01060048010400420102
+002f0505002b06060028080800220c0b00230e100028101300311217003c151c
+004a141b0069181a00721618007b1517008d161500a00f1700ad0b1b00b40e1e
+00ad111700a61415009f1714008e201a007932230068423300544c3e0041513c
+002e5339001b5536001458330011533600164c3300234131002f382f00403329
+005a2f23005a3023005a3223005933260057362e00573a3300593534004d3233
+00452a2b003b1f2800361d24003c1a2100441c2200501f22005c1b2900631532
+0069143c00731a43007d2846008b3449008f384b008c325000882d4d00832b46
+00822c390082302c00812b24007d241c00771b17006e111100660b0e0060070a
+00590606005507040052090200530e0300581105005e150600621a0b00691b16
+006c1c2400741933007b153d007d153d0080113c007f0e3c00800b430085054f
+00890353008b03510093024900990242009f074200a50f4600a6184c00a72150
+00a8244f00a9294b00aa2d4900a9364a00aa414c00ac474d00aa4b4c00ac4949
+00aa494900a8494700a64644009b454000973c3a009136340087312c007e2723
+"/>
+<palette number="381" name="040221-24" data="0060574500665d4b00665f4e006761510064615300616256005f6258005e635a
+006c726600727a6c00798272007e867500848b7900858c7900868d7a00868c79
+00868c7900868772008585710085847000898572008d8774008e897600908c78
+00989582009c978500a09a8900a19b8900a39d8a00a29c8b00a29c8d00a09d8f
+009c9a90008e93890083897f00798076006b726a005e645e00575d5800515753
+00393f41002e353800242b30001d242800161e2100141c1f00131a1e00131b20
+00141e25001e2c360027353e00313e46003a464c00434f5200475355004c5858
+005d69660067716d00717a75007a827c00848b8300888e85008d92870096998a
+009d9f8d00a7a38d00a8a28a00aaa18800aba08500ac9f8300ad9c7f00ac997a
+00aa977500a7967200a4956f00a4946e00a4946e00a4946f00a5957000a69572
+00a89b7600b1a48200b1a88600b2ac8b00b2ac8c00b2ad8e00afad8f00abaa8e
+00a19f88009a98820094927d00918e7a008e8b77008b867000877f6700857a5f
+00837557007c6b4d0078684c0075664b0075674d0075694f00766c55007c745c
+0091886d0099907400a1987b00a3997d00a59b8000a69d8300a19a86009b9685
+009592850084857a007f8177007a7d740072756c006b6d630063635b005a5a51
+004c4a44004b443c004b3f34004c3d31004d3b2e0051372900563324005b321f
+0064332000703e2b0076432e007d4932008a543b0097624800a56f5400b07d5f
+00c3917700c49a8200c6a48e00c6a89200c6ac9600c5b29f00c3b7a500beb9a7
+00b7b7a500a2a698009ba09200959a8d00898f83007d83780072766e006a6d65
+005d6055005a5d5200575b4f0054554a00525346005454450059554300605743
+00675b43007b6645007f684500836a4500876c48008a714b0090754d00947651
+00997956009a7a57009c7b58009d7c57009b795900937859008d755a0085725d
+007e7262007c7567007f7a6e00858073008b867a008f8a7e008f8c7f008a8a7c
+00767b720071766e006c726b00636c66005e6764005a64630056636400526569
+004d666f004a656f0044606c003c5b68003a5664003a515d00374b5700344852
+003247540031465400314653002e4553002e4554003143520030414f002f3f4d
+002b3f5000273c4f0023384c001e344a001a324800193049001a314800203449
+00283c5100334557003e4e5a0047545b0050585b0055585700595350005a4a43
+0058443b00553f3500533d3100513b2b004f38280049372500443323003c2c20
+0032241e00271d1b001c141800140d13000e070f0009060d0007080e00080b0f
+000c0f150012151b00181c220020232900292a2f0035303300403736004a4037
+0055463a0055473a005548390053493b0051493b00514a3c00534a3d00544e3f
+"/>
+<palette number="382" name="040221-25" data="00adda0400bbc20500cbba0500dbb20600daad0600daa90600cfa40500c49f05
+009e880600918504008483030075860400668906005f8e0600599407005c9809
+005f9c0c0073b4220087bb38009cc34f00aab65000b9a95200bda64b00c1a344
+00d4b25000d7a34b00da954700d4812e00cf6e1600ce691000ce650a00cf6407
+00d1590700d13e0500d22c0500d31a0500d90f0400df050400e0040300e20403
+00e1040500e3050400e5060400eb0a0400f10f0400f2130400f3180500f42306
+00f5290500fa2b0300fb2a0300fc290400fb280300fa270300f9230300f82003
+00e80f0300dd110300d3140300c81f0300be2a0300b7300300b1370400a84c0a
+00a0621500a9924500b29a5800bca36b00bca66a00bcaa6900b7b45b00b3be5a
+00b2b86400a8af4e009ea638008aa6210076a70a0071a709006da8080069ad0d
+006db60e008bc40d009bcb0d00abd20d00afd90d00b3e00e00c5e70d00d7ee0b
+00ebe80500dce10500cddb0500c5d70500bed30600b2ca0400a3c1030091b703
+007cac03005f9e0600599c0500549b0500529a0500509905004f960500529406
+00568d06005e7d0500676e05006e660400755e0400824d04008c430300983403
+009f230300a40e0600a3120500a3170500a4240400a03602009c460400985405
+00a0700500a56e0400aa6d0300ac670300af610300b3580300bf4f0400c34305
+00bf350500a12b06009a2b0500942c04008d2906008b240500902506008f2806
+009d260400ac1a0400bc0f0400c20a0400c9060400d1080600d60f0500d11a07
+00c8280700a8410800a14807009b5007008e610800867108007d830800768f08
+0079a205007ca4040080a7040085a9060085aa080083a5090084a20800869d07
+00889607007b8d0b00778c0b00738b0c006e890a006d8508006c860600688607
+005f8d08005f8e08005f8f080060940700619c080063a6070065b1070069b807
+006fbb090073bb0e0078c0100085c70f0094d10a00a7d80900b5d60a00b7d10d
+00c5bd0900cbba0700d1b70600e0b10400e5aa0500e5a00600e58d0600e57706
+00e95f0600f04c0700f3400700f7390700fa370600fb350600fc360700fb3708
+00fa3c0700fc440700fb4b0700fb520600fa530700f94e0700fb450700f93c07
+00f6300600f2280700ec230800eb260800e9340900eb470a00eb591200e7711e
+00e8852b00e3983a00e3b13b00deba3d00dac63900dac33700dbb53d00e1a637
+00dc893200d8742300d25f1400ce510c00d04a0600cb460600cc470600cc4505
+00d0460500d04b0500ca590600ca690600ca790600cc830700c8850700bb8407
+00a9800700978006008c83070081870600778605006f86050065830300638603
+0065920300689d05006ca704006eaa040074af040082b9020093c80500a1d705
+"/>
+<palette number="383" name="040221-26" data="009d51530089465b007d405b00713b5c006b375b0065345a0065345900653458
+00783e5f00824360008c496100934d60009b525f00a1566000a75a6200a85b63
+00a95d6400ac5d6a00ab5f7200aa627a00aa658400aa698f00a86c9400a76f99
+00a3719d00a3709a00a46f9800ae759900b87c9a00be839d00c48aa100d198a3
+00daa3a500dda49800dd9f8d00de9a8200db937c00d98c7700d68a7500d48873
+00bf7b7100b2716f00a5686e00985b70008c4e72008749700082446f00783d6b
+006e386b005e3569005c346c005a346f0061356e0068376e006d386d00733a6c
+008844620091475c009b4b5600a34b5000ab4b4b00ad4a4900b04a4700b24a44
+00b14a4400a64b4c00a0494d009a474e0097444d0094424c00903f49008b3d45
+0079384d00733854006d385b00703b6000743f65007b43640083486300925666
+009f626b00ae797b00ae808600ae879100b1889300b48a9500b88f9600ba9096
+00b8909300ad8b9300a28694009d819300997c930092748c008e6985008f627e
+00905d7700955f6f009b697200a1737600a4777900a87c7d00b3848500bc8b8f
+00cd96a200d49dab00dba5b500daa9ba00daaebf00dab7c500dbbdc900debecc
+00ddbfcf00e0c1cf00dfc0cd00dec0cb00d8bfc800d3bbc300cbb1bb00c2a6b0
+00b395a300ac8d9d00a6859800a5839600a5819500a2798f009e6d86009b627f
+009a5a79009c526c00a1546a00a6566800b05d6600ba646600c56d6800cb776c
+00cf817a00c97e8000c37c8600bd788800b8748a00b06e8c00a76b8c00a46a8b
+00a66c8a00ae758b00af768c00b0788d00b1788c00b0798d00b27a8900b77a82
+00c87e7500c97e7400cb7e7300c97f7200c07e7500b67d7900ab787b00a27079
+009d67720094506000934b5c00924758009142530090405000933f50009a434e
+00af4f4b00b5524a00bc564900ca5e4900d5654900df6a4d00e4705100e77857
+00e67e5f00df826a00d7847400d1857800c8807b00bc797c00b0727d00a86c7a
+00975f7800975e7700975e76009a5b73009b576e009b5169009b4e62009a4757
+0096415000943e4a00943c4500943c4100973b3d00993b3b009a3a3b00983739
+00963637009634360095343700963638009a393900a13f3c00a9443e00b1493f
+00bb4c3f00c44f4000ca514100cf514200d2524200d3544200d0534300ce5242
+00cc504200c94d4000c4483f00bc423d00b33e3b00a83b3c009d394000943744
+008f3848008f3b4b00913e4c0097414d009c474f009f4d5300a1525a00a55860
+00ab5c6400b3616500be626500cc656100d96a5d00e46e5e00eb726000ef7864
+00f0806900f1866e00f3896f00f4896d00f58a6b00f5876800f3846400f18363
+00ef866400ec886700e9886800df826400d47a6000c8705a00ba645600ac5852
+"/>
+<palette number="384" name="040221-27" data="00c88b6400b4805e00af7b5d00aa775c00a7745900a5715700a26c57009f6857
+00935950009256490091544300955a3f009a603c00a76b3b00b4773a00b97c3b
+00bf823d00d2924100d7954200dc984400df9b4600e29e4800e5a24900e8a64a
+00f2b75500f6bd5900fac45d00fcc65e00fec96000fcc75f00fac55e00f5bf5b
+00efb55700da9b4c00cf8e4500c4813f00b9743900af683300a9632f00a45e2c
+0091492500873f21007e351d00792e1b00742819007327190073271a0075291a
+00792d200084363100883e3a008d464400934e4a00995751009c5b53009f5f55
+00a2685b00a4695c00a66b5d00a56c5e00a56d6000a56e6100a5706200a97564
+00ad7e6700b78d7000bb916f00c0956e00c2966e00c5986e00ca9b6b00d1a168
+00e2af6b00e9b66f00f0be7400f5c47500fbca7600fccb7400fecc7300fecc6e
+00fecc6900feca6000fec55d00fec15a00febd5900feba5800fdb65a00fdb45c
+00fdb36000fdb56100fdb76200fdb86200fdba6200feb75e00feb55e00fdb45f
+00fdb36000fcb36600fbb66b00faba7000faba7000faba7100f9b97000f7b76e
+00f2ae6a00eeaa6600eaa66200e7a46100e5a26000e49c5f00e5965e00e4915d
+00e28c5b00d67d5500d1795200cd754f00c16f4a00b86a4600b5674600b86849
+00c0715900c5756300ca7a6e00ca7b7200ca7d7700c8827d00c6857e00ca8b7f
+00cf928100e0a68400e5ab8500eab18700f2ba8a00f8c28c00fbc58a00fdc885
+00feca7800feca7100fecb6a00fecb6700fecb6400fecb6100fecb5f00fecb5e
+00fdca5d00fcc15e00fbbf5f00fabd6100f9bb6700f9bb6d00fabc7600fabf7e
+00fbc68b00fac68b00fac78c00fac48b00f9c38b00f9c18900f8bf8a00f8bc8a
+00f4bc8a00e4b27f00deac7900d8a67400cc996800c08a5800b57c4a00ac6c3e
+00a2592e009e542b009b4f28009044200085391a00792f12006e240c00631908
+005a1405005a15090060170f00651d13006d251a0077312200823d2b008d4732
+00985e3f009c634300a1694800a9755400b2805f00bd8d6a00c99a7600d8a57f
+00e3b18400edbc8600f4c48700f9cc8700fcd18500fdd08100f9cb7d00f4c178
+00ecb77000e4ad6600dba35c00d69a5400cf964e00ce924900cc8f4700ca8843
+00c6834300c37e4000ba783f00b3713f00a86a3f00a2683f009f6742009e6643
+009f674600a2674800a56b4b00a8705000ab715600af765c00b37c6000b78062
+00ba856300bf886200c3896200c68e6300c9916700cd956d00d0997100d49c75
+00daa27800e1a87900e6ac7900e8b07600e8b27300e9b37200e7b37000e6b16e
+00e5b06c00e6b06a00eab36900eeb76700f3bb6600f8c06600fbc46500fdc865
+00ffca6300ffca6100fdc76100fbc16200f3b76400eaad6500dfa16500d39565
+"/>
+<palette number="385" name="040221-28" data="0000000000000000000000000000000000000000000000000000000000000000
+000305040006090900090e0f000c1213000f171700101a1a00111d1e00122020
+00142323001b272800192527001824260015212300121e2000101b1e000f191c
+0011181800111b1c00121e20001a2a2b0022363600243b3b0026404100305555
+00476b69005ca5a0006bb4af007ac3be00629d9b004b78780048777600467675
+00213a38001d31300019282800162525001423230013202100121e20000e1b1c
+000e1b1c000d191b000b16180009131600081214000711130008111200091111
+0009111100091111000a1212000c1414000e1616000e1616000e1616000c1716
+000a161400071113000711130007111300070f1000070e0e00050d0d00050d0d
+00020e0f00030e1000050f1200060e1000070e0e00060d0d00050d0d00040c0c
+00020c0e0004181800081f1f000c2627000f2728001329290017282900182929
+00172828001425250012232300102121000e2020000e1b1c0012212100172828
+001b333500304d4d00365757003d6262003f656400416967003c626500425c5e
+00375f5e0033565700304d50002c4749002842430028414000263f4000243636
+001d35300016242400141e1e00121919000c131300070c0d0003080900020403
+0002020200010201000002010000010000000000000000000000000000000000
+00000000000007090001080900030a0a00091111000c1618000d191b000f1e1e
+0016242400162525001726260015262600142626001324240014232300162424
+00162727001827270018272700182727001728280016292900122d2b00162e2c
+001c3533001c3532001d3532002135350024363600203636001d3130001e2c2e
+0019282800112020000f1d1e000e1b1c000d191b000e181b00111b1e00162022
+00192d2c00192d2c00192d2c001d333300203636001e3535001d3131001b2e2e
+00192d2d00192b2c0018292b00192b2c00192d2d001e3535001e373600233c3b
+002b4345002b4647002c4a4a0031515200355759002e4f4d002d4d4f002b4848
+0024403d00233c3b0021373a001d3333001c2d2d001c2e2b00192b2c00182c2b
+0018272700132222000e1b1c000c161800090e1200050a0c0004050800030407
+0002070800030a0a0004090a00050a0900050a0c00070c0d00070e0e00070e0e
+000911110009131600071616000a1718000c1618000c1618000e181b000d191b
+00121c1e00121e200012212100142626001728290018292b00193030001d3333
+001e353500203636001e383a00203a3b00203a3b0027403f00284140002b4b4a
+002d4d4c002d4b4b002c46470027403f00263f4000213f3f00213a3800203837
+00213a3b00264343002b484800304d4d00355a5a00366262004b8183003c6667
+"/>
+<palette number="386" name="040221-29" data="002c281c003532230035312400353125002f2f22002a2e200028291d0027241b
+0023231900211f16001f1c13001c1b0f00191a0c0017180e001516110015150f
+0015150d001614070015110500150f0300110d02000e0b02000f0c0300100d04
+0013130b0016140c0019160d001b1a12001d1e18001f1f1a0021201c0027231a
+0029271a00363320003d3a240044422900564f3000695d37006e623a0073673d
+006f6949006b664b0068634d00645d3e00605730005a512900554c2300413a1e
+00373119002c26100029220e00261f0c001e1b0b0017180a0015160a0014140a
+0011100b0012100c0014100d0013110c0013130b0012130b0012130b0013120d
+0015110e0010110c000e0f09000d0e0600090c0500060b04000d0e09000e0f09
+0011100b001111080012120600171405001c1704001f18020023190000281e03
+001f180600201d0e00221f10002522130026221100282310002d220e002b2613
+00212212001c1d110018191100171711001716110017140f0019170b001e1b0a
+001f200e0027281800292818002c2918002d2b18002f2d1800322c1600352d1a
+003a341c003a341c003a341c003a351a003b3619003d3415003e3919003a361d
+003a351f00403c2300443d2500493e2800574e2f006e6544007e735300887b58
+008b806200827a5b007a745400716b500068634d0055523f004b4535003f3c2d
+00343225001f1c17001d1a13001b180f001a170e0019170b001b170b001f190d
+00241f0b0028220d002c2610002e281200302a1400322d190036311e003c3626
+003b392c0041351f0041371f00413a2000453b22004c412b0062562e0073684a
+009a916a00a7a06f00b4af7500c1b77c00b7ac7e00b4a375009e947000868265
+00686151004b4630004a422a00493f24004b431f00585220006c5e31007b6e41
+00a69a5e00a4996200a2986700a5997100a0977800a29b71009c9164008f885a
+0079714c00665d3e00534a2b004c442000474121004a432600504d2e00625b41
+00606048005f6047005e61460053513c004d4b32004c492a0048442b0045432e
+004a4833004e4c370056503600615b4100615b3b00695e3100584f2e00514326
+00433f24003f39230038372200342d1a002d2719002e2b1a00312e1d00312f23
+003e382800514a3000685d4100796f5400897d53009787560080775000695e42
+00514c2c00433c1f0039331900332d17002e2913002d2717002c2b1700302b18
+00312b110035311400383210003b330e003b3714003c331200382d1700322b19
+002f2c190029281600222013001f1d100018180e0014160b0015150b001b1809
+001f1c0b0025200c002c2512003b321500494226006c5e4100897f6400b9af8c
+00ddd6ac00e9e0b900c4b78d00988f6e008076520071684100534e31004c4227
+"/>
+<palette number="387" name="040221-30" data="0054241f00523e37005a3e3800623f3a0073373000842f2600882920008d231b
+00920f0600840a030077060000680f0a005a18150055231c00502f23004d3428
+004a392e004b3f2b004e3f260051402200564427005b482c005f4c3100645137
+007d4d3700854431008d3b2b009a301b00a8260b00a6200800a41b05009c1c03
+00901702006c160a0058170e0044181300392319002f2f2000342a1f0039261f
+005219130066100c007b0706007905030078040000770d030076170700732b1b
+0078342d0087715f0090796d0099827c0092827d008b837e00847b75007e736d
+006f453e0062312d00561e1c0049100f003c030200340201002d0201001e0000
+000f020000030000000200000002000000020000000200000003010100070504
+00131511001c1f1a00252a2300323930003f493e00454f44004c554a005d685c
+0066706100646f5f005d665700575d4f00555e4f00535f4f00555a4d005c574f
+007f75680091806f00a38c7700a4957f00a59f8800ada38b00aaa18f009b9e8f
+008c8c84006e645f0062494500572f2c00522725004d201f0041151100390c05
+00290c02001e0c0100140d0100120b0000100900000c0500000a0500000b0200
+00130000002f0000003400000039000000400c040044180b0049140d004f180f
+006723130064261100612a0f0062270c00642509004d2a0a00322b0a00251d07
+001d1606000a0904000806020006040100040300000202000001000000000000
+00000100000303020007060500080806000a0a080010141100171b18001c1f1a
+0020271f002a241c002c2119002e1f1600321b110034140c00320f06002d0a01
+001c06010017040000120300000b0000000600000006020200080604000e0b08
+001b0c0800340b08003b0a0700430a06004e0302005600000059000000560202
+0046181100451c160044211c0045362c0046493b0052554e00626460006e766d
+007e857b00878d86008d978c0091978c00908e89008b898400857d7c007a6e74
+006d6969006d6968006d6968006d696a00706f6e00777b73007c807500858172
+008d836f0089826f0089816a008a7d630081736300766b62006f63590067564a
+0060483c005b3d350056383300593f360059473d005a4d4800605a560061635c
+0062665b0063695c00696f60006d7467006e7b6d0072806f00727b6f006d776c
+00606f6100535a4c0048493b003c382a003925170039150d003e0e0500480700
+0051010000590101005f01010064010100640101006302020063020100620000
+005d01000052030100420300003703000028040000150400000d0600000a0702
+000c0b060012140d00191a1200272215003c281a0053241e006a291e00783123
+007d3128007f342c007d332b007229230062241d005e1815005e0f1100581a18
+"/>
+<palette number="388" name="040221-31" data="002e2b1b0034311f0033302000322f21002e2c20002a2a2000292a1f00282a1f
+002e2e2400343325003a3826003f3b2400453e2200463e2300473f2500474024
+0048412300443b1d0040391d003c371e003b3419003a31150039301300392f12
+00342c100030270e002c230c0027200d00221d0f001f1b0f001d1a0f0019170f
+0017150f00171711001b1a1200201e14002a271b00343023003b372900423e2f
+005f584400635b4700685f4b00655d4800625b46005e5640005a513a004c422e
+003e3621002a25130027211000251e0e00241f0f002421110025221200272314
+002c2819002d2919002f2a1a002e2818002e2717002d2615002c251300282210
+00241f0c001d1707001a15060017140600161306001513070014130700131208
+00101009000f0f08000e0e07000d0c05000c0b04000b0a03000b0a03000a0902
+000807010007040000070300000803000008030000090300000b0400000c0600
+00100a0200100c0300110e0500120f06001411080017140b001b180e001f1b10
+00242112002e2a1700312c1600342e1600352e1500362f1500352e1500322b14
+002d260e002a240c0028220a0026200900241f0900221d0800201b0500201a04
+00201a0300251c0400261d0500281f07002d230a0032290e00372c1100393016
+003a3521003c3725003f3929003f3b2a00403d2c00464330004c493400564d38
+0059543b005e593b005e573a005f563a005b543c00545039004f4d3a00524e3c
+00605b4d006a635200746c580079715a007f775d008a82630092886700998f6a
+009d926b009c956c0099936c0097916d00918b6a008b8668007c7c61006c6e59
+0051514000494b3b0042453600373a2c002d30230029281c0025231700222013
+001f1d10001d1c0f001c1b0f001c1b0f001c1c10001d1c10001f1e1100201f13
+0023221700232217002423170026241800292619002c2a1b00312e1b003a361e
+0045402500524d2d005d57340069643b00746d44007e764c0080774e007c754a
+00716941006d663e006a633c00655b3600645c350068603a00716c4400837b54
+009f956100b5ab7600c4bd8800cfc79c00dbd3a100d8cf9e00c9c09200b1aa88
+009e98790087826700716a52005d574000524d34004c482f0048452e0044432d
+0043412b00413e27003e3b220038361c00323116002c2a100027230c00211d06
+001d1802001815010015130200141203001512040016130500181507001a1909
+00201e0e0028261100342f1600413b1d00504927005f572e006d6535007b703d
+00867845008b7d4a00877b4b007e74480072684300655b3d00554e3500453f2c
+00373221002c271900232113001d1c100019190d0016160c0014140b0012120a
+00111109001110090011100a0014130b0015140b001f1c0f0026221300302b1a
+"/>
+<palette number="389" name="040221-32" data="00cec3b800dad0c600dcd2c700ded4c900e2d9ce00e7ded400e9dfd400ebe1d5
+00eadfd300e5dace00e1d6c900dcd0c300d7cbbe00d4c8bc00d1c6bb00d1c6bb
+00d2c7bb00d6cdc300dbd2c800e0d7cd00e7ded400eee6dc00efe7dd00f1e9df
+00ebe2d800dfd6cb00d3cabf00c0b6a900aea29400a49686009a8a7900856e59
+00775e48006344290061442b0060452e0063493300664d3800664d3800664d38
+005c443000583e2800543821005338220052392400533b2700553e2b005d4631
+00674e3600755e4a00796049007e634900785f4800735c47006b554100644e3b
+00503925004c35220048322000543921006141230067482c006e5035007b5f45
+00886d52009b8a7800a0918100a5988b00a5988b00a5988c00a5988c00a5978b
+00a9968200ae9b8500b4a08900bca68c00c4ac8f00c5ae9100c6b09400c8b298
+00cab59b00cdb99f00cbbaa300cabba700c9baa600c9baa600c5b7a600beb3a5
+00b9aa9b00b2a29400ab9b8d00a8978800a59484009e8d7e0098897900978778
+0099897a00a69a8d00b1a49500bcae9e00c0b2a200c4b6a600c9bba800cebea7
+00cdbaa100cbb69c00c9b39800c6b19800c3b09800bfae9a00beae9c00bbaea0
+00b9afa400b9afa500b8aea300b7ada200b5a99e00afa29500a69888009b8a78
+00806c5800755e49006a513a00674d3600644a330062472f00634730006b4d32
+007656370082685100876d55008c735a008f7a6500907e6b0095816b0096826c
+0099856f009c8a76009f8f7e009f918200a0938600a3978b00a99e9300afa49b
+00b3a89e00c1b4a500c5b7a700c9bbaa00cdbeac00d1c1ae00cfc0ad00c9b9a6
+00b2a29200ac9a8900a79380009b836c008c745d0083674d00795a3d00694c31
+00593e2700452e1a003f2a17003a2615003f2917004f3621005c4734006f5b4a
+009d8c7b00a5978800aea29500bdb2a600cbc1b600d6cdc300e0d6cd00e5dcd3
+00e8ded300e9dfd200e8ddd000e6daca00e3d6c300e0d2bf00ddd0bd00dacebc
+00d9cebf00d9cfc100d9d1c400dad1c700ddd4ca00dfd7cc00dfd7cc00ded5ca
+00dad1c600d6cdc200d0c7bc00c7bdb200beb4a900b6ab9e00b1a39200b09f8c
+00af9e8a00b09d8700b4a08a00b5a49200b5a69600b3a69900b2a79c00b3a79c
+00b2a79c00b2a89f00b3a99f00b4aaa000b5aba200b7ada300b9afa400bab0a6
+00bcb3a800c1b6aa00c7baab00ccbeae00d0c2b100d4c5b300d6c8b700d8caba
+00daccbb00dacdbf00dcd0c200e0d3c300e1d5c600e1d7ca00e2d7ca00e0d7ca
+00dcd4c900d9d0c500d5ccc100d2c8bc00d0c5b900cdc3b700cec3b700d0c6ba
+00d3cabf00d9d0c600e1d7ce00e7ded400ece3da00efe6dd00efe7de00ede4db
+00e9e1d800e6ddd500e0d8ce00dcd3c900d5cbc100d0c6bb00d3c9bf00d1c7bc
+"/>
+<palette number="390" name="040221-33" data="00875c79007c4c6e00754469006e3d65006a3b6400663a6300633b6400603c65
+005c467c005e4f8900615897006863a1006f6eac007677b0007d80b5007c82b6
+007c84b800777fb600767eb500757eb500787bb1007c78ad008078aa008578a7
+0092769a00956f920099698b0097618400965a7d009456780093527300934b6b
+00904769008a4568008a466a008b486d008e496d00914b6e00944d6e0098506e
+009c5773009c5c79009c6280009d6888009e6e91009f709400a0739700a67899
+00ab799700ad759000ab748d00aa748b00a37288009c7086009a6e8400996d83
+00986677009a6475009c6373009f687700a36e7b00a2707d00a1727f00a27685
+00a07b8900a17b8d00a17a8e00a1798f00a47d9200a8829500ac889800b291a2
+00af9eae00a499ab009995a9008b8ba4007d81a000777b9b0071769700666e92
+00616a8d005b678600536984004c6c8200476d8300426e8500396b8200316481
+002a5579002a4d71002a4569002a4262002b405b002c41520030434d00354651
+00384b590043576b0047536e004b4f71004b4e70004b4d70004c4b6c004c4869
+0046496b0044506e0042577100405973003e5c75003862790032687800306876
+002f6774003a767d00407b7e0046808000548e8800629b90006ea899007bb4a4
+0091c3b5009fcbbf00add4ca00b5d8cf00bedcd500cfe5df00e0ede900ebf0f0
+00f2f1f200f1eaf100eee7ef00ece4ed00e4dee900dad9e300d8d9e200d4d3de
+00d0cfdb00d2cfdb00d5d0dc00d6cfdc00d7cedd00d2cfdc00d4d4df00d7d8e2
+00d6d9e100dfe4e900e1e6ea00e3e9eb00e7ebed00e0ecec00d8e8e900d3e0e4
+00c6c8cf00c4c5cb00c3c3c700bcbebc00b6b9b200a8b3a50095a89800829989
+006f847a00535f5b004e58550049514f00474d4800445043003d54400034573d
+00254a3600244534002341330028373200323737003e4041004c4e4f005c6262
+006d7472007c85820089948f00989d9a00a9a3a200b8acae00c7b5b800d5c3c8
+00eee0e300f1e6e800f4ecee00f8f6f700fcfcfb00ffffff00ffffff00ffffff
+00fcfbfb00f8f2f400f3e7ea00ead9e100e1cbd600d6bccc00ccaec100c3a3ba
+00ba99b200b18da900ab819c00a47491009c678200925b76008a4f6800834a60
+007c4c5f00785163007b5a6900826372008e717c00977f8700a3888d00ae8e90
+00b3959000b5979000b4989000ae938d00ad908c00a9908e00a78d8e00a8868d
+00a8828600a77c8000a4757500996668008f585a00844d4f00784445006c3b3f
+0064353c0062343c0064353f0069384500714150007a4b5b0083556500885e6f
+008d667900916f8100967689009b789000a2829a00a98aa300b08fa900af90ad
+00b392b200af92af00aa8fa800a2859e009b7d950095778e009370850089657b
+"/>
+<palette number="391" name="040221-34" data="009e7e5300b0956d00ab987800a79b8400b5a99600c3b7a800cdc2b400d8cec1
+00f4f0ea00f8f6f200fcfcfb00fbf7f200fbf3ea00f5e5d800efd7c700e8cebd
+00e2c5b400b59d98009b89890082767b0071657000605565005b506100564b5e
+00604d5700705057008054570090545000a1544900a7544400ad544000b1513d
+00a84f3b0090413000813a2e0072342d00703a30006f413400754a38007c533c
+009c7f6400b0937b00c4a89200d6bba300e9cfb400eed5b800f3dcbc00f4dcbb
+00eed1b800e3aca200e5a59100e79f8000e1997100db936300d98e6000d8895d
+00db885800d3895400cc8a5000c1814800b7784100b1713c00ac6b3700a15e32
+00954c280087371c008c3e200091452400964c29009b532f00a9643c00b37453
+00c59a8200cfa98b00dab99500d5b79500d0b69500c7ae9200bea79000a49993
+008d8a8b00626b7400565761004a444f00443f4b003f3a48003b364500373447
+00532b3400622b2b00712c2200732b2000762b1f00752e1c0073341f0071412a
+00644c3200494b42003d4d4d00324f59002a545f002359650015586f000b5175
+00073873000c356a0011336200172f5b001d2c550028294a002e254000362235
+0039232b0053201a0058221a005e241a006c281f0074362a007d45330089513a
+009b593b0098583c0095573d008e553d0088543e00764f3900684630005e3c2b
+00583428005d3f320061463900664e4100736355008a786c00a18d8400baa596
+00d8bca200d3b69f00cfb19d00c7aa9a00bfa49700b2908500a77b6e009c6757
+0090554100783d3400793d33007a3d33008749350095583700a1653e00ab7247
+00c58f5800cd975b00d5a05f00e1ad6600e7b66b00e7b87000e7ba7300e8bb77
+00e9bd7b00ecc18200ecc48700edc78d00eece9c00f0d6ac00f2dcbb00f5e0c3
+00f9eddd00f9f0e400faf4ec00fbfaf800fdfdfd00fefefe00ffffff00ffffff
+00feffff00feffff00feffff00feffff00ffffff00feffff00feffff00feffff
+00fefefe00fdfdfd00fcfcfc00f9f7f600f4ede600eadcd400dbc8bd00c7b2a6
+00ab9992009185790078716300626550004e5b3d003b553600314b2e002d452d
+0035492f00455230005c6a380074773f008c814700a1864f00b3875100c59456
+00d2a05d00ddad6600e3b66d00e3b87100e4ba7200e4b97300e5b97400e6ba76
+00e9bc7400eabd7100eebd6a00eebc6600edbb6600eeba6600e8b46600e2ab5c
+00d49b5300c38a4900b57b4500a56c430096603f008550360073402d00613327
+00512c280043292f00362733002e26340027202f00201e2b00231d2b00211a2b
+001d1c2b001816260011162400141c25001e212400282b2a0036342d00434139
+00555547006a674f007e79590095835e00aa8d6100a6865c00a38155009f8051
+"/>
+<palette number="392" name="040221-35" data="00baa0b600be85a600bd799e00bc6e9700c2689700c9639800ca669900cc699b
+00ca85a900d094b400d6a4c000d2aec200cfb9c400c8c1c400c1cac400c3cdc7
+00c6d1cb00c6cecb00bfc6c300b9bebc00bbbdbe00bdbdc000c1bbc200c5bac5
+00d3c5d100d9cdd800e0d6e000e0d4df00e0d2de00dcd0da00d9cfd700cecbcf
+00c2c6c600a5a8a800969c9a0087908c00808b86007a8780007a867f007a867f
+00818989007f8f8f007d9696007893980074909b00708b99006c869700607690
+005466830046476d0044396300432c5a0045225000481946004b1b46004e1d47
+0060375600664361006c506c00695e7500666c7f0064708100637483005e7483
+00556f80004f5c7300564e69005d4060005d395b005e3257005a285000582850
+005d385e005e3c600060406200584a600050545f004b5b6300466268003e6971
+003a6c7500386b6e003b656f003e6070003f5a7100405573003f4975003b4171
+0032325c002f2852002d1e49002c1a46002c1743002c1244002a0f42002c1243
+00311a4c004b3166005b3877006c3f890072459000784b9700835b9e00896ca3
+009882af009b86b0009e8bb2009c8ab0009b89af009a80a8009a7aa2009a739b
+009c6a9300934c8900904687008d4086008b3785008b3683008b3d8100873e7f
+0080437f00814982008350850083548500845885008362830080657e007f657a
+007c5d73006e46650068405e00623a580056334e00472940003d1d370036132f
+0038062400380c2500391327003a192b003c2030003f2a36004d3744005d3e51
+00674c6000756b760078737b007b7b8100828488008a8a8f0090919600949499
+00999b9f009a9c9f009b9da0009a9da200989ca100939aa0008c98a1008695a0
+0081939f00818d9900818a970082889600867e9500877493008a6589008e557e
+0096416e0097416f00994271009b417200963c6c008d3162007a2e59006c3353
+00603f520053494e004a46440039413b002d3e3200284031002c4b3800395540
+00596f5e0065786900718275008a989000a2aaa700b4b8b800bdbfc000c2c4c8
+00c0c6cc00b9c5cc00acbec90099b1bf0088a3b6007698ae006890a8005e8ca5
+00548aa3005187a2005188a4005189a5005187a5004e839f004b7497004b648f
+004c5788004b4c8500474d8000444b7e00444880004e4c83005e528c006d6594
+007a7a9d00888eae0099a7bd00afbacd00c3cada00ced8dd00d1d9dc00cbd7d4
+00c0cdc800b2b9b8009da7a700848e91006b7677005462630043464f00393249
+0035254b0039204d00432754004c315800513a630056477100585180005b5c8b
+0058639100516891004d6f91004a7190004d778e00527691005a7b940065849c
+00778ea3008ba0ac009dacb500a9b3b900adb5ba00adb2b600aeafb600b3aab8
+"/>
+<palette number="393" name="040221-36" data="0008040b0009040d0009040e000a050f000b0612000c0715000e081800100a1b
+001d172f00251c37002d21400030234200342545003424440034244400332444
+00332444003126470031254600322445002f213f002c1f3900291c3300261a2e
+00170d1a001009140009050f0008050f0008050f000a0711000d09140014101d
+001d17270032293f003c304900463853004d3e5a0055446200574765005a4a69
+00604f70005f4f71005f4f72005c4c6d005a49690057466500544361004c3e57
+0043374c002f273500241e2a001a162000120f18000b08100008060d0006040a
+0002000400010003000000020000000200000002000000020000000200000002
+0000000200000002000000020000000200000002000000030000000300010004
+0004020b00080512000c091a00141025001d183000221c350028213b00322946
+003a304c004539570046395900473a5b0047395c0047395d00493a5c004a3a5c
+00493957004636500043334900403046003d2e430036293e0033243b0032233c
+0031233e00372849003d2c4e0044305400473257004b355a0055395f005d4069
+006a4e7e006e53870072599100735a9300745c9600735c9800735a9500725891
+006f548b00634a7c005e4778005a45750051406f00473969003e336100362d59
+002e2449002f22440030203f0032213e0035223e003d263e00442a40004b3045
+0053374b006446570069495a006e4c5e0079546600855c6f00906476009a6c7f
+00a5779100a3789500a17a99009f799a009e799b009c789d0098749b00947097
+008e6992007b5d8700745883006e547f00624c770058446f004d3e660046375d
+003929490036264400332440002d1f3900291c33002a1b2f002f1e2f00352332
+003c253400462937004629380047293900452838004327370042263600442837
+00472a37004729360047293500442632003b212c003019240023111c00180b14
+0010060e00090309000501060003000500020004000200040001000400010004
+0001000300010003000100030001000200010002000100020001000300010003
+000100050001000600020008000300090004010a0005010b0006010c0007010c
+0007010c0007010d0007010e0008010f0008010f00080110000801100008010f
+0008010e0008010d0007020d0007020d00090411000b0616000f0c1f0017122a
+00211a35002c233f00372c4900423451004d3e590057456100604d6b006a5675
+00755e82007f678d008970970093769d009b7da100a280a200a683a100a9859f
+00aa849e00a8829f00a3809f009d7b9d00957698008c6e910081668700775d7b
+006e556f00644d63005b455b00513d530046354b003b2d430030253c00281f35
+0020192b0018122100130d19000f0913000c070f000a050c000601090008030b
+"/>
+<palette number="394" name="040221-37" data="00805c3900765333006c4c2e006245290051382400402b20003b272000372320
+002d2020002a2020002820200027202000272020002620200025202000252020
+0026202000272020002820200029202000292020002920200028202000282020
+0026202000232020002120200020202000202020002020200020202000202020
+0020202000202020002120200023202000272020002c2020002f212000322221
+003f2c290048332b00523a2e005b41300065493200694c33006d503500715238
+0073533900715238006e4f36006b4c340067493300634732005f4530005c432f
+004d3a29004836270044322500422f2300412d2200422d2200432d2300442e23
+00462f25005037290054392b00593b2d005b3c2d005e3e2e00623f3100644032
+006a4532006e483200734b3200775034007c5537007c5639007d573b007f593e
+007f5c40007f5d41007c5c3f007a5c3e00775a3e0075593e006e553d00634f3d
+0051403a00473935003e323100392e2d00352b29002d25230023202000202020
+0020202000202020002020200020202000202020002020200020202000202020
+0020202000202020002020200020202000202020002220200025202000272020
+002b2020002f2020003021200032222000372520003b292200443227004f392e
+00654c3f0072584a008065550084695800896e5c008e756400947a6b00987d6e
+00997d6f009a8073009a7f71009a7f7000957a6d008f756900876e62007d6458
+006850440060473b00593f3200563c2e00533a2b004f3527004d3425004d3523
+004c3522004732200045302000442f2000412d20003f2c20003f2e2000403120
+00493726004a3827004c3a2800503e2c00524031005644350059473a005e4c40
+00624f46006b584f006d584f006f5950007059500073595000735b4f00705750
+006952510067505100654f5100675052006d5556007a615d00896f6800997f70
+00a4887600ac8e7c00af917d00af917f00b1938300b3978c00bca09300bda091
+00b5978200ad8f7900a587710092755f007c6353006d574d005d4a450056413f
+004f3b35004a352d0047332500493421004b372000503a2200573f27005c442c
+0062473100674c37006e533d00765b4100816243008c6a470097714b00a17a51
+00a9825800b0896200b58f6800bb946b00bd996e00bd986d00bd976d00bc956d
+00b9946e00b5916e00b18d6d00ab896b00a0806800977662008c6d5c00826457
+007a5c500073554a006d4f4500674740005f413d00593d390055393700523835
+005238340052393400523a3300533b3700553e3a0056413d0058443e005c453b
+005e493b00614a3900624b3700654c3700695038006e533a0075573b007c5d3e
+008b6745008f6a45008d6741008b633f0085613e00825e3d00795735007d5b39
+"/>
+<palette number="395" name="040221-38" data="00c5551600bf501400c04f1300c14e1200c5501300c9531400ca541600cc5619
+00cc642900d06f3400d57b4000db874e00e1945c00e6a26a00ecb17800eeb67d
+00f1bb8300f6ca9100f5cb9200f5cc9400edc89100e6c48f00e1bf8c00ddbb89
+00cca77500c49e6d00bd966500b18d5f00a6845900a07f56009b7b530091734d
+00896d4a0082684600806443007e6140007c5b3a007b5635007a5332007a5130
+00754d2d00744c2c00734c2b0076492700794623007b4521007d451f007e431e
+007b421e006f4322006b412100683f2000663d1e00653b1c00633a1c00623a1d
+00563a2100513a23004c3b26004e3c2600513e2700533f2700554028005a4228
+005f4428006b46280071472700784827007a4926007d4a2600834b2400874b23
+00914b2100944c2200984e23009b5024009f532500a0542500a1552600a45625
+00a4552500a15425009e5224009c5023009b4e21009a4d200098491d0096461b
+009541160096421600984317009a4619009c491c00a1512300a55b2d00aa6335
+00ad683a00b6703e00b8734000bb774200bc784300bd7a4500bb7b4800b97947
+00b7774400ba794600bd7c4900bf804d00c2845200c78a5900c9905f00ca9565
+00c8956500c4916300c38f6100c38e6000bd885c00b3825800a6785000966a45
+007a502f006f482900644024005f3e23005b3d2300533b24004c3924004d3822
+0053361e0062351800673517006c361600733816007e3a15008c3c1200973d10
+00a73c0800aa3c0700ad3c0700b03e0700b3400700ba430900bd470b00c14c0e
+00c24f1100c5541600c7551700c9571800cc571900cd581a00cb591a00c9581a
+00c0541a00bd511900bb4f1800b34a1700aa471700a34819009c4a1d00974e24
+0096542a00965e360097613a0098653e00996c45009b734b00a17b5300a78359
+00bc956400c1996600c69d6800cea26a00d5a96d00daae6f00ddb27500e1b879
+00e6bd7c00e7bc7c00e5ba7900e2b47200dbab6c00d4a36800cc9e6600c59664
+00b4875900b1825400ae7e4f00ac734400ac6c3b00b0683400b1673300b16834
+00af6c3700b26f3a00b7733d00c0794000c87f4400cd824900cb844b00c7834c
+00c4814c00c27f4a00c37f4900c47c4600c2774300be713e00ba6a3800b46331
+00ae602e00a85e2d00a35e2f00a05e31009e5f33009f5f33009e5e32009f5e31
+009e5c30009c5a2f009b592e009d5a2e009c5a2d009c592c009c582b0098572c
+0093562d008e57300087583400825a37007d5c3a007a5d3d00775d3d00785e3e
+007b5d3c00825e3a008b613900956537009e683700a56f3c00ac764200b57e4a
+00be875100c98e5400d18f5400d38f5100d28c4f00cf894d00cb854e00ca854d
+00cb814a00c97b4300c5733b00c26a3000c0612700c15c1f00c4591a00c65616
+"/>
+<palette number="396" name="040221-39" data="002c29260027273000242d3b0021334700253b5700294468002c4a70002f5178
+0034669a002e68a500296ab0002163af00195daf001856a40018509900194d92
+001b4b8c0028467c002c427200313f6900393d5e00413b5300463c4e004c3e4a
+006d534f008163580095736100a4866f00b4997e00b9a18500beaa8c00c7ba99
+00d1c7a800e5dbb800eae1bc00f0e7c000efe6bd00efe6ba00eee4b700eee3b4
+00e8d9a100dfcd9800d6c18f00c7b18400b9a27a00b1997300aa916d009d815f
+0096744e008e633700926436009665360096684000976c4a00996e4d009c7150
+009e7f6000a0876900a38f7200a5987e00a8a28b00aaa69000acaa9600acb1a4
+00adb6aa00a6b3ae009da9a700959fa1008e989a00889194007f848a007c797b
+00756b62006d655900665f50005c584900535243004f4f44004b4d46003f4a4f
+003b4c5900335e740033677a003371810035758200387a8400387e8b003c828d
+003e8a9700418e990045929c004b949800519695005d9992006a9b8b00719881
+007a997c00879a8000909c8300999e87009fa18900a5a48c00aea78e00b8ab8f
+00bcab8d00b3a28600ab998000a4927c009e8b79008c7b730081716f007b6a69
+007b6b69007e6d68007f6e6800816f69007e6c6b007a6b7200766c750078767d
+0090948c00a1a59400b3b69d00b9bba100bfc0a500c3c3aa00bdc9b000b5ccb1
+00aeceaf00a3c7a500a3c3a100a3c09e00a6b59700a3ac9200999f89008c947f
+006d72630063605300594f440057483e00554239005236310051302c00502b2a
+004d28270045212300412123003e22230037252a00342b350034303f00363a49
+00484b5b004d515e00535761005e65690067727400747c7b00808980008a9183
+009b968300b1997300b2987000b3976e00bd9a6900cb9e5f00d39f5500d99c4d
+00e99a3300e1913000da882d00c87c2900b76f2300a2651d008e5c1c00875e1b
+00856317007b5c170069551b0058491c00453e1a0033331a00222c1d00192b20
+0020332b0024352e0029383200353d380043403c004e453f00574a450064524b
+00725d5500806a61008f7b70009f8a7e00ab9b8b00afaa9900aeb6a600adbfae
+00aec6b400afcfbb00b6d5c100bfdbc600c7e2cc00c6e7d700c1ebdc00b7ebe1
+00abeae300a0e3e4009edfe5009edde30099dbe70091d8e90084cceb0073bfe2
+005da7d2004c92c3003f7fb00035709c002d658a0027597f00214d72001a3c5f
+00152b4e00171c3d001d132c00251120002d151c00371b1e003e212100442726
+00482f2f004c39380056434100624f4c00715e58008070670092807500a09084
+00a69f9000aea99700b3ae9d00b4ae9c00b2ac9900aea79300aa9f8d00a09685
+00948c7b008680700076706300675e5200554f4400454138003a353000332d29
+"/>
+<palette number="397" name="040221-40" data="006f362b005d2d25005f31270062352a00673c36006c44420067454500624649
+00504e56004b4e5700464e580034465200233e4d00183243000e263a000e2034
+000f1b2f0014121800180e13001c0b0f001f070f002203100023051200250814
+002d212f00352e41003e3b54004245600047506c0046547100465977004c5b7b
+004f5b7a00514b5e00463e4f003b314000302331002615220022111e001e0e1a
+00110e1a000c0c1900080b1900050c1900030d1a00030d1a00030e1a00060e18
+000b0c130017080a001c08080022080600280906002e0b0600310b0600350c07
+00410f0c0046120f004c15120051171500561a1800571a1a00591a1c005e1721
+00631e2c0073334700773a52007c425e007945620076496700694c7000605277
+00565e7f004a5774003e516a0033445900293848002935420029323d00282c36
+002a2429003215130036130f003a110c003b110c003d120d0040150f00441b15
+0064362a00784133008c4d3c008e4f3d0091513f009b544100a0553f00a8553e
+00b6533b00b7533c00a64c3c0096463d00903e39008a3636007f292c007c2729
+00662a310055202b00441626003d101e00370a16002f040b0026040500210503
+001e05050023040a0026050a002a070a00310a0b00370a0c003e080d0046080f
+0063121200761a15008923190091291d0099302200a03b2d00a8473600b24d39
+00b3513700a0503900954e39008b4c39007842360063352d00492a2300351c1a
+0020090d0021070b0022050a0023050a0025060a00280608002c060600300605
+003306040032060400300603002e060300280503002104010019040100140201
+000b01000009010000080101000602020005050900060b130007121d00071525
+00081525000613210006142200061524000516260005142300030f1a0002080e
+0007010200090001000c00010012000000180100001e01000022010000240000
+0027010000280100002a0100002b0100002c0000002e0000002e000000300101
+0037040200390503003b070400400c0800441615004d24270056343b0066474d
+007a555500896560009f746f00aa878900b89ca300c8acb300d2b9bc00e1bdbd
+00e4c1c400e0c2ca00d9bfca00cfbbc400c2a9ae00b49a9a00a4858600916f6f
+0085615c00734a4200623a2c0051312000422b1f0040322d00423b3e0049444d
+004f525a0056606b00626e7d006e8094007e8faa0088a0bd0095aeca00a2b7d3
+00abc1db00bbc7dd00bfcde500c6d3e800cdd5ea00cdd7ec00cdd5e700c5cee3
+00bac6d900adbace009eaac0008d99b0007d849e006e708900625e7500554e60
+004d3e4c004a2e3900492028004e161b004f1413005114100053150e005b170c
+00691d1000742616007a312100753327006e2f24006d3024006e2e2000713526
+"/>
+<palette number="398" name="040221-41" data="001a5264001a44590016405400133c50000f3a4a000c3944000a39410009393e
+001043420012403d00143e38001339310012342b00103227000f3124000f3123
+000f31230011312500102c220010281f000e201b000c1917000b1715000a1613
+000b19130011211a00182a22001e332b00253d34002640390027433f00294849
+00274c52002454640025596c00275e74002761790028647f0027648100276584
+001f5d7f0017537800104a72000b40660007375a0006335400052f4f00032947
+0003243d0004202f00041e2800041d2200041e1d00051f180004201700042216
+00032a1600052f1c00083422000b3b2c000e42360010463d00124b440018554f
+00206159002e796900357e6f003c8375003e84780041857b0042838200428189
+00418098003f7f9a003d7f9c003c7e9b003c7e9b00397c9b00377a9b0030749a
+00296e98001a5e8a00135480000c4a76000a47720009446e0007406a00063d67
+00043c6b00033c6a00023d6a00023c6800023b660001365d0001325400002c4a
+000029450001254300012544000125450001244400012343000123410001213e
+0002213d00072540000c294300102d460014314a001d395000254256002c4b5b
+002f525f00305b67002f5b68002f5b69002e5a6b002f5969003057640033545e
+003049480029403d00233832001f322d001b2d2900132321000c1b1d0008151c
+0003111d00011123000112230001132400011225000111230001112200021021
+00021122000212230003132400021223000212220002101f0002111d0002111d
+0002142000041c2e00051f330006233800082a42000c304b000f385000144054
+001a4d5e001a4f60001b5163001b5165001b5065001b4d640018475d00194355
+001b3f4b0019373800183535001734330016332f0018333100193534001d3a39
+002d494500314c4800354f4b003a5650003c5b53003c5e55003b5e5500395c55
+003a5e55003b5f55003c5b52003d574e003a50480034493f002c40350021372c
+000f3020000b301f0008311e0005321e00063823000b422b00124b320018543a
+001e5d430022654a00276f53002d785d00307f6800378975003d8e8000459289
+004a9593004d9398004f929d005090a0004f8ca2004f8aa6005089aa00538baf
+00578fb6005a92b9005c95ba005e96b9005d96b6005894b4005490b2004f8db1
+004b89b1004785ad004380a70040799d003d70900037688200305e75002a5469
+00234b64001b45620014426600104068000f3f6a00103f6a00113f6900134067
+00184268001c466b001f4c750022548100245c8e00266399002768a300256ba5
+00256ba000236a980021698f002069880020698100216b7d00236c8100256d85
+00276e850024677b001f6173001a5c6d001858670015565f0014535c0015505c
+"/>
+<palette number="399" name="040221-42" data="0093a0b500a6abba00aaadbb00aeb0bc00aeafba00aeaeb900aeabb600aea8b3
+009f9da9009097a7008191a600738aa5006584a400577ea2004a79a0004376a0
+003d74a100316ca400306ca500306ca600366fa6003c73a7004377a9004b7bac
+006d8fb9007b9bc1008aa8c9009cb4ce00afc1d400b8c5d500c1c9d600c5ccd5
+00c5cbd200bfc1c800b4b8be00aaafb50099a3ad008897a5007f91a300778ba1
+00597492004e6b8900446280003c5b7c003454790032517600304e74002e4b6d
+002f4867003e526c00475971005161770055657b005a6a80005a6b81005b6d82
+0057687e004f627b00475c78003c557400314f71002d4c7000294a6f00244871
+00214877001f4a7f001f497d0020497c0020497c00214a7d00244c7f00254d7f
+00274d7c00274e7e00274f80002a5385002e588a00305b8e00335e930035639c
+003767a4003567a8003567a8003567a9003567a9003567aa003567ab003568aa
+003769a700406da7004a72a7005177a800587caa006987af007691b5008298b7
+008f9fb900a1a9b900a0a6b3009fa4ae009b9fa900989aa4008c909c00808695
+006d788700667181005f6b7b005c6a7c005a697d0056698200516a8a00496d90
+00416d910032648c002f6089002c5c870026578500205684001d5988001d598a
+0027558600325a85003e5f8500456286004d668800526a8b00546a8c00536989
+00546884005c6579005b6478005a6378005663790053647d0056657d005c687f
+00677184006e768700757c8b00787e8c007c808d0083858f00898b94008d8e99
+008f939c009699a300989ca5009a9fa8009fa3ae00a4a8b300a8adb700adb0b9
+00afb3bd00aeb3bc00aeb3bb00acb1b900adb1b500aeb1b500afb0b600afb2b5
+00afb4b700bcc1c300c0c4c700c4c8cc00c9cfd500cbd2db00cad3dd00c8d1dc
+00b6c3d300aebccf00a7b6cb0091a3c1007b90b400667da500526e980045658e
+003b5e8d00315a8e002c56900028559100275791002b5c95002f629a0033669f
+003968a2003c69a100406ba1004970a4005578a6006182ad006e8cb6007d97bb
+008da1c1009dabc400abb4c600b4bacd00bbbfce00bfbfcd00bebcc800b8b6be
+00afaeb6009fa2b0009094a7007e849f006c7896005e729100506d9100456992
+003d6190003756870033527c00325176003553770038567a003d557900405575
+00445570004b576f004f5c72005560770059667c005e6c8100667283006d7786
+00747b880079808b007d859000818a9300868e9700888f9800878f9800818c98
+00778697006d7f920061758a00556a81004b6078003f5771003a4e6900384963
+003446600036466300354a6b00374e74003f547b0041598000445e8800436291
+00436698004a6c9d005172a0005b79a4006781a6007188aa007c90ac008899b0
+"/>
+<palette number="400" name="040221-43" data="00354b4c003a5052003950500039514f00354e4d00324b4c00304a4c002e494d
+002947500027434d0025404a00233c46002238420023353e0025333a00263339
+00283338003036390033383a00373b3c00383b3b00393b3b00393b3b00393b3b
+003c3c380042403b0048443e004f494300564f4800585049005a514b005b524c
+0059504a00584c4500594c43005b4c42005c4b41005d4a40005c493f005b483e
+00543f38004e3b34004838310046393100443a3200423b3300413c34003f3d39
+003d3e3b00393c3c00383b3a00383b3800373a3700373a3600363a3600363a36
+00313533002e3131002b2e2f002a2b2c0029292a002a292a002b2a2a002c2b2b
+002f2f2e002f3c40002f444a00304c54003150590032545f0037606c003d6873
+004871790049747c004a77800049798300487b8600477a850047798500487581
+004871780047656600465d5a0046554f0046524b00464f47004447410042433b
+00413c3000453b2d00493b2b004b3c2c004e3e2d0052402f0053423400524338
+004e443b0048433c0045423e004242400041424100404343003d434700394349
+00303f4800293a430023363f0020333c001e303900192a350017283300172833
+001b2a350025373c00283a3e002b3d41003044460034484900384c4b003f4e4c
+0053564e005c5b500066615300696253006c6354007067560072695700766b56
+007b6b57008e755d0090775f00937a6200987f680099826e0098857000948674
+009d8f7e009f918000a1948300a1928100a1917f009d8b770094826e008c7966
+00857260007a6a5b0078695a0077685900726353006c5b4b00655545005c4f40
+004d4840004a47410047464300424546003d42460039404500353d420032393f
+002f363b002a333800293238002831390027313a0027313b0028343c002a373d
+002e3e41002e3f42002f4043002e4144002c3f4500293f4500283f4500273f46
+00273f4500284044002b4042002c3e3f002d3a3a002d3634002f332f0030312b
+003631290037312900393229003c332a0040362b0044382c0046392c00483b2e
+00493c2e004a3b2e00483b3100463d3400443f390042423e0042464500444d4d
+00495452004f5b580055615e005a6562005a6865005967670058676800566768
+0056686700586865005a67630058655e00535f5a004d5a5600475554003f5252
+00394f5100344c5000304b4d002d474b00284349002741490025414800244047
+00223e4800213e4600213b410020363a0021303300232c2c0027282500292521
+002b2520002e271f002e271f0030271f0032281f0034271c0036251900352318
+00352218003322190030221b002c231e00282321002524210021222200202224
+002124260027292a002b2e2e002e32320030393600323e3b0032414100324545
+"/>
+<palette number="401" name="040221-44" data="0038200f00512811005b291400652b1700682a17006c2a170069281400662711
+00561c0d00511a0c004d180b004b180a00491909004e1a0900531c0900571d09
+005b1e0a00661f0d00661c0b00671a090064160700621206005e1005005a0f05
+00440c05003e0d0700390e0a0037110e003615130036171300371a14003d1e19
+00482519006836270073402c007f4a3100894c2f00934f2e00964c2b009a4a29
+00984b29008d4527008240260074331d00672715005f221200581e0f004c160c
+0045160d00361e0b002d1d0900241c0700211b06001f1b05001f1c0500201d06
+001b1a05001a140400190e0400200d0400280d0500300e0500380f0600481605
+00591f07007b2e14008f3e2200a34f3000ad5b3b00b8684700c4825600d4915e
+00d7915600d2905d00ce906500c2825700b7744900b06b3d00a9633100994d22
+008e3e1e008b2f1a008e3a250092453000974f38009c5a4000ab6a4d00b77450
+00c8795500c77b5700c67e5a00c27a5400bf764e00bc6c4100b7583400b24a26
+00ac4120009c3713009c3511009c3410009c330f009c330e009f340d0099340b
+008d300600882b040084260200812301007e200100791d0100741b01006f1a01
+006b1901005d1603005915030056150400501507004a13070047110800431009
+0043100a00481009004e1009005211090056120a005f160900691a0a00721f0d
+007c210e0085230e0083220d0082220c007e230c0077210d0070200c00691e0b
+005a18030056160200531402005213030051130500520f0500510d0400500c05
+004f0c04004c0706004b0505004a040400430203003a04030030050300270403
+001c020100190200001702000013030100110401001103010013040100160400
+00170601001808030018080300190904001a09040019090400150a0400120a04
+000c0a04000b0904000b0904000a09040009090300090a03000a0c06000d110c
+000d191100152116001f271a002e2c1d00433022004f38270062442c0071502d
+00965926009b582400a0582300aa592400af5e2100ac622100ab601f00a45a19
+009d4e1a00974519008c401700843918007b3519006e2a1f006220200053171c
+0044101700390f11002e0e1400240c13001b09120012050d000e0407000c0706
+000f090900150d0b00200f0d00311011004313150053171b00601c1f0069221e
+0073241e007f241d0084231a00822218007b2113006e201000631c0d0055170a
+0046110600390d03002d090200230702001a050200120402000b030100060200
+0004020000030100000201000002010000010000000000010000000000010000
+0001000000030001000400010005000100050001000500000005010100060100
+000602000005020000050300000505010008070100110b02001c1108002a180b
+"/>
+<palette number="402" name="040221-45" data="004e616c004a575a003d4a4c00303d3f003443460039494d004051550047595e
+005c7881005f8594006292a7005f97af005d9db700559eb6004ea0b600479db4
+00419bb2002c90ac002a8da600298aa1002980970029768e00276f8800266882
+0023496a00243d5d0025315000202648001c1b410018173f0014133d000f0e35
+000d0a30000c0b31000b0f36000b143b000d1b3e001023420013284500162e49
+001e43630021496800244f6d00224e6a00214e6700204b65001f4864001c425b
+00183953000b2a42000925400008203f00091e3a000a1c3500081b3300071b31
+000b1e35000e1e3100111e2d00121d2a00131d280013202b0013242f00152d3a
+0015374500194e63001c5d7600206c8a0024739100287a99003388a8004193b0
+0056a1bc005fa1bd0069a2be006ea0bb00749fb800719db6006f9bb5006694b1
+005a8ead004286a5003784a1002c829e0027819f002281a0001c83a2001887a4
+001c8aaa00238bab002a8cad002e8dae00328eaf003794b2003b99bb00419dbf
+00499cbf005a95b8005b98b8005c9cb8005c9db6005c9fb4005a9caf005a91a4
+0053778b00496d79003f646700385f6300325b5f002e4f5b002a465e0025445e
+0020435e0015506b001654720017597a0018648800196e940017789c00167f9f
+00187d9c0018789900197397001a7195001b6f94001d6992001e6790001f6890
+001e6b93001f71980020719700217297002375950023768f0023768b001d7387
+00166a810017677e0019647b0018647b0017657c0012647d000d6884000b6c88
+000b708d000d7294000e7093000f6f920012688d0016638700195f82001d5e82
+002e5d8200325e8200366083003c6383003f6a87003e708c003f759200417c95
+0048849a005890a5005b92a9005e94ae006597b200719eb7007aa2bc0084a4bf
+0088a4bf0087a2bd0086a0bb007f98b200768ead006b87a7006380a0005e7d9e
+005c79980057749400527392004f6e8f004a6c8c004765850042587800394e67
+0027364800223040001d2b3900151c2a000d0f1f0009071d00090922000a102c
+000f19350014244100182d53001b3d66001d4c7a001e5b880023678f00296f96
+0030779c003880a300418aa9004a91ae005599b300629db9006fa3be007daac2
+008bb0c60095b9cb009dbccf00a3c2d500a6c5d800aacadc00aacfe000aacee0
+00add0e100adcddf00adccdd00a9cbdd00a0c6d90099c0d2008fb3c30082a1b0
+00748e9a006579840058676f004c5659003b4347002a3438001c273100192332
+001a253500202b3e00283549002b42590033516e003c5d7e00486b8d00577898
+006384a0006d91ab007598b1007a9eb6007ca2b7007ea3b7007ca5b9007ba7bd
+007da9c20080acc40082afc50086b3c80087b5c900749db30065879c00566f81
+"/>
+<palette number="403" name="040221-46" data="004c51530055595f005c616a00646976006e728100787c8c007c809200818599
+00888ca5008589a3008387a1007d819d00777c990070718d006967820064627b
+00605d75004f5069005250610055515900585256005c5454005c5656005d5858
+006d655d00736a60007a7063007c7265007f7467007f74680080756a00807770
+007e78770078777e0074757f00707481006a708200646c8400606884005d6584
+004f57820048507f00414a7c003a437800333c7400313a72003038710030386f
+0031387000323b7000353e7300394277003d477b00424c8000444e8100465182
+00575d850065648800736c8b007b718900847687008576830086767f0087737c
+00867078007c6776006c5e72005c556f00534f6c004b4969003b3f6300313660
+002631600026315f0027325f002b345e002f375e0030385e00323a5e00363f5e
+0038415b003b4256003a4155003a4155003a4154003b42530038405200383f51
+0038405b003b4462003e4869003f486b0041496d00404b73003f4978003d477a
+003a457c0037427a0035407700343e7400343e7300343e7200394071003f4672
+005b5977006c647d007d6f83008273860087778a008f818e00958791009b8d94
+00a0909500998e9d00968e9f00938ea2008a8eac00878fb100848db300808ab2
+007a86af007984a9007883a400767f9f00747c9b0077738f00756d8800776b82
+007e72820092879500978c9d009c92a500a39db000aea7b500b6b6b700c3bdb9
+00cbcbc800c9c7c500c7c4c200c5bebc00c3b9b600bdafb000b1a7ab00a39ba5
+009690a2007a7b930073768f006c718c006069860058608300525c8100505a81
+00576088005c648d006269920070769e008488aa00969bb500a9acc100bbbecc
+00cbcbda00e7e5e700e9e7e700ece9e700e9e7df00dedbda00ccccd100bebdc5
+00a1a0a6009b999f00959398008988910082838e008083920080839100828591
+0086889400878a9b00898fa7008790b000828cb1007c86ae00737da8006e78a4
+006d75a1006f769e0071779c007778940080788d00897d8a0095838b009e888d
+00a9909000b4959100c09c9600ccaa9d00d4b2a800dabeb600dfc9c100e4d0c9
+00eadfcf00f1e8d600f5f0e100f0f3ed00e9f0f300dce7ef00ccd8e400c1cad5
+00adb6c90099a5c000828fb3006a77a20059638a00495175003f4663003a4258
+00363e5400363d4f00363d4f00383e50003e445400424a590049505d004e5563
+0051586a00545970005359760053597a0054597c00585e7f005c6182005f6485
+005e638800575d8800535986004f5684004b528100464e7d003e477700363e72
+002f376f002c336d002a3170002a3370002d36710031397400363d75003b4277
+0041497600474e73004a506d004a4e64004a4d5e00494c5800484d55004a5055
+"/>
+<palette number="404" name="040221-47" data="008d805d008272570075665100695b4c0059534a004a4b49004b4b4a004c4b4b
+004e4e4c004d4b48004d48440049413d00463b37004438350043353300433532
+00443632004c3c3300553e32005f413100654131006c4231006b4331006b4431
+00624534005a43340052423500493e3400413b34003b38330035363300283133
+001a2c3200052833000227320000263200002532000024320000233100002331
+0000233100002331000023320000233200002432000024320000243300002433
+000025340001263500082a3700102f3900213a3f00324645003c4e490047564e
+006b72590077795c0084815f008e825c00988459009e855a00a4875b00ab895b
+00b18a5900af855400a67949009e6d3f0099653b00955e38008b52320082472d
+00793e2900773d2700763c26006f3a260068392700633727005e362800553529
+004c342d003f322e0036302e002e2f2f00292e2f00242d3000182b2f000e2830
+0001233000002230000022300000213000002130000022300000223000002330
+0000243000012531000125310001253200012532000125330001263300012734
+0002293400032834000428350006273400082734000d273300142732001b2930
+00232c2d002f2f2c00322f2b0035302b003a332b0041362f004b3b31005b4534
+007e5f43008a69470097744c0099764e009b7950009778530090755300897551
+008372540079705500766f5400746f540069675200585c4d00474e4300353f3a
+0019272c0017232700161f2300161e2200171e2200171d2200171b2100171821
+001417200016171d0016171c0017171c0016191f00141a2100111a25000b1a29
+00031b2f00021b2f00011c3000011c3000011b2e00021a2b0003192700041825
+0006182200051a2400041a2400041a250006192500071922000d191f00161b1b
+0026211b0029221c002c241d00312520002f2724002c2726002b2826002a2827
+002b2928002c2a28002e2a28002b292b0024282d001c272f00132531000b2433
+0001223400012234000122340001223300012233000023330000233300002433
+0000253300002532000026320000273200002831000029310000293100002930
+0000293100002931000029310000293100002931000029310000293100002831
+0000283100002831000028310000283200002732000027320000273200002731
+0000273100002731000026300000263000002530000124310004222f0009222d
+0010232b0019262a00242c2b0034382e004445340054503900645b3d0071613e
+007b643f007e65410082684200836b44007f6e48007a714c0075704c006f6a49
+006862470062594400615440005f523f0062564200695e46006e654800776a4a
+00806e4b00876e4800856b4500846a4400836c460082714a0081765100837d5b
+"/>
+<palette number="405" name="040221-48" data="0064465c0065475d006b4e640072556c00765970007a5e74007b6075007c6276
+007c6377007d6478007f6679007e677c007e697f00826e830087738700887689
+008a798b008b828900858184007f818000767977006d726e00686c6a00636766
+00574e540053434d004f3947004a344100462f3c00442d3900422b37003e2c36
+003c2c340032282d002b242600252120001d1b1a001616150014141300121312
+00161516001c1b1e002221260029262b00302b3000322d330035303600373135
+00373031002f2d2d002c2a2a00292827002a2828002b2829002f2b2d00332e31
+004f4547005b52520067605d006c656000726b6300706862006f656200695b5e
+0060515600523e4b004f3b4a004d3849004f384b0052394d005a3e550061455f
+006d556e006d576e006d596f00685769006456630060545d005c525800574e52
+00544c4e0055464b00594652005e475a0061495d00654c60006f546b00785f74
+0087718800917c90009c8899009e8a9d00a18ca100a691a600b09baf00b7a1b6
+00b49eb300b3a0b300ac9caa00a598a100a2959c00a0939800988c9200958a92
+009a8895009b8698009c859c009e859d00a0859e009d809d00987c950095798c
+008f758500827277007c6f7200776c6e006b67660060635e00575b55004c534b
+0038453900333e33002e382e002c352d002a322d00282d2c002d2d30003a333b
+00453a4500634d60006a52670071576f007961790082677f00846780007e6378
+0073556400664b570059424a00553e4700513b45004936400042333c003e3139
+003f333c004a414a004d474e00514d52005e585d00676267006d6e6b0073756f
+00716f6b006f6b66006d67610069625d00675c5b00675858006a595b006f6164
+0077697200877587008a778a008d7a8d009480950096869600978a9300988d90
+009293890091928700909185008f8d80008b8b8000888a800086847d00807b77
+00787972006f746b006a696300686762006667610068645f0069616300685f64
+005f555e005b515900574e55004e484b0049404400453b3e00403739003f3439
+0041313a0042323c0044323d0045313d0047323d0046323d0045323f00493442
+004e394700534250005c475b00665163006c5c690072626e0071656f006e636b
+006c5c6600665461005f4c5d005d445a005c415a005d455b00634b5f006a5566
+00725f6c007a687400816d7d0086708100837080007e6b7e00776278006a586b
+005d526100514a54004442470042444300404541004141410049454300504747
+0054424900594449005e464a0064474e00654f530068555b00705b640073636a
+0077666e007c6872007c6d72007e6f70008071710081757200807870007e776f
+007d776e007b726b00776b6900736467006d5c66006b526500644a5f005f4659
+"/>
+<palette number="406" name="040221-49" data="0081795f006e654e0062594400564e3b004b433100403828003d3626003b3425
+00342a1d00312619002f2316003024160032261600392e1c0041362300463b27
+004c412c0061563e006d614700796d500081755600897d5c008c805d008f835f
+00978660009a875d009e885b009f875900a1875700a0855400a08452009b7e4c
+00937544007e603000745529006a4b2200644720005e431e005c421e005a411f
+0054422300514024004e3e26004d3d25004c3d25004d3d25004e3e2500524026
+005a4729006d57340076603b00806a420089734b00927c5400968059009a845e
+00ac977100b4a07a00bdaa8400c3b28d00c9ba9600cabc9800cbbe9b00cac09e
+00c8bc9d00bfb08d00b8a78300b29f7900ad9a7300a9966e009d8a6300907c55
+0075603a0069532e005d47230056411e004f3b1a004c3919004937190046371b
+0045371c00483d25004e432a0055493000584c32005b50350062573a006c5d3d
+007c6a4400846f47008c754a008e774b0091794d00927c5000927d51008f7b50
+008c794f008a764c008c794f008f7c5200917f560093825a00988a63009b916d
+00a1987500a2977200a4967000a4946d00a5936a00a6936700a6916600a58f64
+00a28c620098825900967e5500947b5100907649008e7346009073480093784d
+009d845b00a48c6100ac946800b0986c00b59d7000bea67800c7b08200ceb88c
+00d3bf9500ddc89800ddc89600ddc89400dbc58e00d7be8600d0b67f00c5ad79
+00b0986800a38c5e0096815400907a4e008a7449007d673d00705b350065512d
+005d4829004d3d23004a3b220048392100453620004234200042342100443621
+004c3b22004d3c22004f3e22004f3e2100513e2000513d1f00513e2000544123
+005945260067542e006b572f00705a3100775f33007d6334008065360083683a
+00897144008b7446008d774900917c4f00958053009782550096825700928059
+008f7f5b008b7e5c00887e5f0087806400888368008b866b008f8a6e00968f70
+009f967200a0967200a1977300a0977400a19773009f9572009f946f009e926c
+009f9066009e8c60009c875b0099835500947d510091784b008b724600866c41
+0082683d007e653b007d6339007d643a0080683e00846c430088724a008d7953
+0092815c00978764009b8e6d00a4977600ab9f7d00b4a78300beb08800c5b68c
+00cab98c00cab78800cab48300c6ae7c00c1a77300bda06d00b89d6900b59967
+00b1966400ae936100aa905e00a68a5900a28555009d815100997d5100957a4f
+008f754b00887149008069430077623d006d583500644f2f005c492b00574425
+0053412200513f2100513f23005041270050452c00544a35005b533e00655d46
+00726a50007f755900857d5e008a8162008c8465008b83670088806400847d62
+"/>
+<palette number="407" name="040221-50" data="0064353300683a38006638350065373300613330005d2f2d005c2e2d005c2d2d
+006331300063303000632f3100632e3000642d30005f2b2d005b292b0058272a
+0055252a00502428005125290052272a00582b2e005f30320064343500693839
+007d4344008045450083474700814446007f4246007c3f4400793d43006e393d
+00673637005a2c3200582c3000572c2e00562a2c0055292b0054282a0054272a
+0052242700522528005326290059282b005f2b2d00642d2f0069303200743939
+0080454300995a5a00a2606300ac676d00a9686f00a76a7200a4687100a26770
+008c545a007e4a4e007040430064373700592f2c00542c2900502926004a2522
+0046212000421d1e00411d1d00401d1c00401d1c00411e1d00411e1d00421f1d
+0044201e0044201e0044211e0043211e0043211f0042211f0042221f0043221f
+0042221f0043221f0042211f0042211f0042211e0043211e0043201e0044201e
+00482322004e262500552a2800592c2b005e2f2e00663335006c383b00733c3e
+007c4143008a4c50008f51530095565700995b5a009e605e00a86a6900b1716e
+00b16f6c00ae6d6b00ac6b6b00a8666800a46165009d595c0096525700914e54
+008d4b54009150590092535a0093575c00955b6000986162009a6364009a6262
+008b555200814d49007746410071403b006c3a3500602f2a00542924004a2620
+0044221c00401e1800401e1800411e190043201b0048211d004f252100572c29
+00713e3b008048450090524f0098585500a15f5c00b46f6a00c8837c00d28d88
+00dc919100ee939f00ec939f00ea93a000e78d9f00df7a9300db6e8c00ca667f
+00a8506000a04c5a009949540086424900763a3a006c33310065322f00643231
+00653333006d3639006f37390071383a0071383c006c373b0067343800613132
+004f2727004a242400452222003e1e1c00391b1800361a160035191500351815
+0035181500361a1600391b17003c1e190040201c0044231f00482521004b2724
+005029270051292700522a2700522b2600502927004d2725004b262300472520
+0043221f003f1f1d003c1d1b00391c1900381a18003719170036181700361817
+003718170038191700391918003a1a19003b1b1a003d1c1b003f1e1c00401f1d
+0042201f00432120004422210045212100462121004521200044201f00431e1f
+00421c1d00401b1b003e1a19003c1a18003b1917003a19160039191600391a16
+00391b1600391c17003a1c18003b1d1a003d1e1c003f1f1d0041201e0044211f
+00482221004b2323004c2425004d2425004e2524004f2526004f2527004d2429
+004c2429004b2529004d2529004f282b00552d30005b343600643c3d006a4142
+006e4746007148460073494700704444006a3f40006b4041006e4241006d3f3d
+"/>
+<palette number="408" name="040221-51" data="006a5e5700695c54006658500064554d005d4e460056483f0057494000584b41
+005b4e43005d4f43005f50440063524500675547006d5c4d0074645400786758
+007c6b5c00897a6b0090807100978778009c8d7f00a2948600a4968700a79889
+00a8998b00a4958800a09286009c8e8100988a7d0097887a0096877800938474
+009383710092836f009283700093847100938471009385720093847100938471
+0093836e0091826e0090826e008c7f6d00897c6c00877a6b0086796a00837564
+007f6f5e0077675500726352006e5f4f006d5e4e006c5e4e006b5d4d006b5d4d
+006d5f4c006a5e4b00685d4a00655a4900625748006157470061574700645947
+00695c4a00796d580081756100897d6a008b806d008d837000918672008f8571
+008e836e008a806c00877e6b00837a6800807766007b736300776f60006d6658
+00645c4f0050493e004a423900453b350043393300413731003d332f003b302d
+00382d2b00382c2b00382b2b00382b2b00382b2b00382a2b00382a2a00382b28
+00382b2800392c28003a2d29003c2e2a003d2e2a003e2f2b0040312b0042322d
+0044342e0044342e0044342f0043342e0043342e0041322c003e2f29003c2c27
+003728230031211d0030211c002f211b002e1f19002a1e1800291c1600271a14
+00231610002417110025191300261a1400271c1600291f19002b201b002d211d
+002d221e002f241f0030251f0031262000332a2300362c2600392e29003c302b
+003f332d0041352e0044382f0046392f00483b30004b3e32004e4134004f4236
+004f4337004f4336004f4235004f4235004f4134004f4133004f4031004d3f2f
+004b3d2c004a3c2c004a3c2c004a3b2c004a3b2d004a3b2d004a3b2d00493a2d
+00483a2c0047382c0047382c0047382d0048392f004a3b31004c3d35004f4037
+00594a41005d4e450062534a006b5c530075655b007e6f650087776d008e7f75
+0094867a009c8e8000a3958800ab9d9000b2a49700b8aa9d00bbaea200bdafa5
+00bdafa300bdafa300bdb0a300beb0a400c3b6a900c8bbaf00ccbfb400cdc1b4
+00cdc1b500cec1b500c9bdb000cabdb000ccc1b400cdc1b500cbbfb200c8bcad
+00c2b6a700b7aa9a00ab9d8c00a092820098897b008f80730086776b007d6e62
+00746659006b5d4f00625547005d4f4000594b3c0058493b00584a3b005a4b3d
+005c4d3c005f503e0062544100665843006b5d460072644e007c6d5800857560
+008d7d690094847100998a78009e907d00a1938200a6998900ac9f9000b1a497
+00b6a99d00bbaea300beb2a600bfb2a700bfb3a700bfb3a800bfb3a700beb2a7
+00bcb0a500b7aca000b1a69a00ab9f9400a3988d009c918700988c8200958980
+00978b810094887f008b7e760081746b00776961006f60590065575000655951
+"/>
+<palette number="409" name="040221-52" data="005e666700626b7900666f81006a7389006e789200737d9c00747f9f007681a3
+007884b0007380af006f7dae006877a7006272a1005c6c99005667920053658d
+00516389004a5b760047576a0045535f0044505800434e5200434e5200444f53
+004d575d00535d65005a636d00626973006b707a006e737e0071768200797d8c
+00808496008d90ab008f93b4009197bd009197c1009298c6009298c6009399c7
+00979dc700999ec7009ca0c7009ba0c7009aa0c700989fc700979ec800949cc9
+009299ca00919aca00919aca00919aca008f98c5008d96c0008a93bc008790b8
+007781a6006f799c00687293005f6a8b005763830054607e00515e79004c596e
+0048556400414e5400404d5300404c5200404c5500414d580044515f004a5668
+0058637600606a7f00687288007079920078819d007c84a2008088a8008990b3
+009097bd009ea2c800a3a6cb00a9abce00aaaccf00acaed000b0b1d100b3b3d2
+00b6b5d400b4b3d300b2b2d300afb0d200adaed200a6a9ce009fa4c900979cc2
+008f95ba008089a8007a839f00757e9700727b92006f798e006a758700647083
+005c6a82005b6a83005b6b84005d6c85005f6e870066738a006e7a8d00768092
+007d8699008a92ac008c94b1008f96b600939bc00099a1c900a0a6ce00a5aad0
+00adafcf00adafcc00aeafc900abacc600a9aac400a4a6c0009ea1bd009b9ebb
+00989cb900969ab900979bb800999db800989bb6009599b4009196b1008d93b0
+00898fae008b91b1008d93b4009095b6009498b8009a9dbb009ea0be00a1a3c2
+00a2a4c3009c9fc100999dbf00979bbe009297b9008c91b200858ba9007f86a0
+00747b8b00707786006c738200636b78005b646e00525b640049535900404b4e
+00394443002f3a2f002d382b002c3728002b3623002a3521002a3520002b3621
+002d3925002e3926002f3a2800303c2e003340360039463f00404c4900495454
+00515c600059636b00606a7600656e810067738c006b7898006f7ca3007381ad
+007988b9007a89b8007c8ab7007c89b2007885aa00727fa0006a79960062728e
+005a6a850052637e004c5d750047586d00425263003e4e58003c4b4d003c4945
+003c483f003b483c003b463b003b473e003b4741003b4847003d4b4e00404e56
+0043515c00475662004b5966004e5d6a00505f6f00505f740051617d00516388
+00526591005266970051669c0050649b004f6497004c608e004a5d8600495b80
+00495b7b004a5b76004a5a72004a596d004958660046555c0043514f00414d44
+003f4b3b003e4a34003d4a30003f4a2e00404b2d00404c2c00404c2b00414c2a
+00414d2900424e2800424e2800414e2700414d2800404d29003f4c2b003e4b2e
+003d4a33003f4c3300424e3500485237004d563e00525a4600575f4f005c6358
+"/>
+<palette number="410" name="040221-53" data="002c776f002f7a74002b8075002886770029887b002a8b7f002e8b8400338c8a
+003a989e00419ea80049a4b30053a4ba005ea4c20062a6c50066a8c90067aacb
+0069accd006fb4d80079b9d90084beda008fc7de009ad0e30096d3e70093d7eb
+0090d5ea0095d3e7009ad1e4008dcee30080cce20078c6de0070c1da0063b5d1
+0061a9c8005499b4004b90a80043889c003c7e8e003575800033707900316b72
+002b5462002b5162002c4f630032556800395c6e003e5e7300436179004e6189
+0054629400586a9800596a97005b6a97005b6597005b61980057609700546097
+0046648a00415f86003d5a83003a588300375784003656810035567f002a5475
+00264f6c00254a6700264c6700284f680029546a002a5a6d002d657500327280
+004181950048889e004f90a8005496b1005a9cba005c9dbc005f9fbf0062a0c2
+0064a1c30064a1c300639fc100629ebf00619dbd00609cbc005c9ab8005999b5
+005192ab00498ca20042869a003d839500398190002f7b87002a767f00257278
+00226d73001f6c7100257178002b767f002f798400347c890040859600498ea3
+005e9fbd0063a4c40069aacc0069abcd006aadcf006baed1006aafd10068aecf
+0064aaca00579fb900559cb5005399b2004e95ac004e8fab004e8bab005284ab
+00527aa3004f749e004c6e99004b6b97004b6995004b66910048648a00456687
+003e6a85003b7686003c7988003e7c8b0044839400498fa1004f98ad00559fb7
+005ea5c1005fa5c30061a6c50061a6c40062a6c40061a5c30062a3c20061a3c2
+0061a2c20061a1c00061a0c00062a0c000619fbf00619ebd005d9bb9005996b2
+004a869a0046809300427a8c0038708000316774002b636e002a616b0029626b
+002b657000357280003a768700407b8e004b889c005a8ead006391b8006b92be
+006c8dad006d8ba8006e89a4006e8193006d798900686f8400616d7b005b727d
+005b797c005b807e005e858a005f8996006091a800639bba0064a5c40067adc8
+0061abc2005ea8be005ca5bb00569cb5004f98ab004a93a200448f9b00408894
+003d829100387d8d00337b88002b7b850025787f00207479001f6d70001a6463
+00135f5a000c5b500004574a0003534400084b3e000e473a0013463700174536
+001c493800214a3b002b4d4100345049003c50510043565a00455e650048676f
+004a6f7b004b7283004a758b00447791003a768e00337488002b6b7c0025606e
+001c556400124758000b3d50000a344a000d314400122f4500182f49001d2f4d
+0024355500273d5c00294762002c5168002d556b002e5a6c002c5e6c00255f6a
+001e5f6500195d6000175c5e00165d5f00116060000e6263000a656300076763
+00086b66000c6f6b001073720015787800197a7e001f7c7c00247b7800297873
+"/>
+<palette number="411" name="040221-54" data="00bb7d3600bf7b3100c1843400c38d3800c5933900c7993b00c79c3c00c7a03d
+00c09c4400b69c4b00ad9d5300a29b5b0097996300848d650071816800657867
+00597067002f445d00263a58001e3053001f2e4f00202d4b00242d4800282e45
+003f3636004d3f34005c4832006b5a3a007b6c4300847347008d7a4b009f884d
+00b28f4e00cb983900ce983600d1983400cd923300c98c3300c5853000c17f2d
+00b7722000b06d1e00a9691c00975f1b0085551b007a4f1b006f4a1b005d431c
+00503c1f003f331f003b321d0037311b00363119003631180037331a0039351d
+004b452a006256340079673f008d794700a28c5000a6915500ab975a00afa065
+00b2a77400ae9b7700a38f6d00988464008e7d5f0084765a00706755005c5953
+0036324e0026244b00161648000f124d00080f52000710570006115d0006176d
+000a1f79001426810016277d0018297a001729760017297300172a6b00162962
+0018214300151a3300121423000f101d000d0d17000807100004040d0004030f
+000505150004072100030622000305230004052200060522000c082600160e28
+0030172900391c270042212500452425004827250050332a00553a2b005d4130
+0063453600694e48006852500068575800605e67005c6576005a688000596c8b
+006572990064749d006476a1006275a2006074a3005c72a40059719f005e6f99
+00637090006b7485006d7585006f768500717a8700727e89007c868b008b9389
+00aaab9300a9af9b00a9b4a300a2b1a8009cafae008ca9b40082a2b6007896b6
+00738fb3005a70a3005269a0004a639d003d569300334a8a0035458100364475
+0047435b004c42520052424a005b433c00664330006f442700774e200080571f
+008b5e1e00926a2b00936a3000956a350097713d0096784800957d5000908259
+007d8474007984780076847d00708485006c818600667b85005f778600587089
+00526e8c0055728f005c7b9300648496006d8ca0007291ac007496b3007a9db9
+008cb1b50091b5b20096bab0009bbbae0096b4a6008aa79d007f989200738b87
+00687f800060757d0050677f003e5880002e4780001e377b00122877000e2071
+000b1c6c00091966000c1a6000141c5700221f4c0033244100462f3a00563a37
+00604839006d553f0076624a007c665400836d6100837171007b728300737190
+0069729d005d6b9f00536497004a5b8e003e4f8200334073002e38660029315b
+002a2f500031344a00383c4a003f424c00464a50004b525a004e5a6600536374
+00556e89005d7ba000678bb2007296c1007ca3cc0088aecd008db4cf0094b8d1
+0099bdd4009fbed600a1bfd600a8c2cd00b1c6c300bac7b200c3c7a400cdc696
+00cfbe8b00cdb07d00cbaa7200cda76700cb9f5c00ca9d5200c7984a00c28b40
+"/>
+<palette number="412" name="040221-55" data="006f503600714e3300704d31006f4c30006b472c006742280069442a006b472c
+006c4d31006a4e3300695036006b543a006e583f00705d420073634500776547
+007c684a00846d4b00876f4e008b7152008d775500907e5900947f5c00988160
+00a2886200a2846100a3816000a3866500a38b6b00a68e6f00a9917400ae9a7d
+00b5a38300b6a17d00ab997400a1916b009484610088775800827052007d694d
+00664f370057422b0048351f003a2915002c1d0c00251808001f130400160b02
+00100600000d0101000f02010011040100160601001b0802001e090200220a02
+002a0f05002c1205002f16060032180600351b0600381b05003b1c05003f1b05
+00441b0500481e0600492208004a270a004c2b0d004f30110057381900654123
+007f513500845537008a5a3900875b3900855c3900845c3800845d3800835d3b
+00835b3a007f50340072452b00663b22005e351c00573017004a250f00411a07
+003d0e01003e0d00003f0c00003f0c00003f0c00003e0c00003c0c00003a0b00
+003a0b0100400d0300461205004d1808004f1c0b0052210f00582916005a2f1d
+0055322600503125004c302400492f2400472f2500462f2500452f2600453026
+00412d270030201d002a1c1900251916001c131000160e0b00160c0800150b06
+0013090600110805000f0804000d0904000c0a04000e0b0400100c0400140e05
+001b0f06002e13060033170900391b0c004a2714005a3620006c4a32007e5e46
+00a1806300b08d6f00c09a7c00c39d8000c6a08400ccaa8f00cdb19d00ccb7a7
+00c5b8aa00c1b6a800bdb0a400baaba000b0a09400a28f8600947f78007f6c68
+0065524e00614d48005e48420058423900513a30004a3327003f291e00321e16
+0028140e001d0903001c0802001b0701001b0800001b0800001d090000200a00
+00291102002c13030030150400351a0600381f0a003b220c003b240f003a250f
+003a270e003a270e003c270d003d280e003e290f003e2a12003b2b1600382d19
+00312b1b002f2919002e2818002b2415002a201200271d1100261d1100261c13
+00251d1400261d1500271d1400291d11002c1f10002f23110033271600382d1d
+003f33260046392d004a3d30004d3e31004e3f30004d3f30004c3f2f004a3e30
+00493b300047372f0046312b00472a240046231c00461c140047170d004a1308
+004d11050051100500551103005a1203005f150300651c060069240d006b2b13
+006c3119006b382000683a260063392900603d2c005f443300624c3b006a5645
+0076655200827461008b7f6f0092877900948c7f00948e8200938c8200978d81
+009c8d7c009d8c78009e8a730098846d008d7a63007c6d5a00705f4f00675243
+005f4a380060453300593a27005736200056362000583822005d3a25005f412a
+"/>
+<palette number="413" name="040221-56" data="00000000000000000001010100020202000404040006060700080709000a090b
+0019141800201a210028212a0035283400422f3f00483645004f3d4b00503e4d
+00523f4f004d3d480041353d00362e32002c242800221a1e001c151900171114
+0009070a00060407000402050003020400020204000101030001010300010101
+00010101000000000002010100050203000a070800100d0e00151113001a1518
+00352f3400453b42005547500062505d00705a6a00765f6d007c657000846676
+0088677800896874007d636e00725e6900675461005c4a5a0056465700504355
+004a3a4b004c3b4e004f3c51005846580062505f006a556500725b6c00896b79
+009c7f8d00caadb900d6bac200e3c8cb00dfc5cd00dbc3cf00d3bcc200c4abae
+0094809200887585007d6b7900746371006c5b6a00695766006653630060525c
+00594d54004a3c47004136400038313a00362e3800352b370033273900332739
+0038283b0038283b0039283b00382738003826350034222d002d1e2a00261a24
+0022151b00150813001306100011040d0010040c000f050c0011090d00180e12
+002d20220038282b0043303400483339004d373e00553d490058414c005b4751
+00624e5a006f5c6d007361720077667700807182008a7989008f7c8e00938091
+009b8390009b8290009c829000a3848f00aa868f00b8969800bc9ea700c5a0a8
+00c9a4a000b1919300a68786009b7d7a00846660006f565600614b4a004d3a43
+0042374300413543004033440042334400443445004a3746004e3848004a3543
+0046323e0030262d002a212700241c220019151800100f11000a090b00060606
+0001010200000101000001010000000100010102000303030005050500090909
+000e0d0e0019151c001c171f0020192200251d2900271f2d00281e2c00281c2e
+001e1522001c111f001a0d1d00140815000e050e000c02080008010400050103
+0004000100030101000101010001010100010101000101010002020200040304
+000b070a000d090c00100b0e001a0f130024171d002b1d260033212d003b2a38
+003f303c003e303c003a2e3c00372c380030283000272027001d182000161218
+000f0d100008080a000404050002020200010101000000000000000000000000
+0000000000000000000000000000000000000000000001010001020200040305
+0008080a000e0d0f00141017001c152000281d2a00332434003b2b3f0046344c
+00523d5400584259005a495f005d4c5f0059475a0050405300463a4800382e3b
+002b22300021182200160f15000d0a0e00080507000502030002020200010001
+0001000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+"/>
+<palette number="414" name="040221-57" data="00161a190015181800101212000c0c0c00080707000403030002010200010001
+0000000000000000000000000000000000000000000100000003010000030100
+0004010000110102001b02060026040a00290b0e002c1313002e171300301b14
+003c2f1d003733240033372b00343a2900353e2800343b2a0034392c00302f2f
+002b2b2b00212121001c1c1c0018181700131412000f100e000d0e0d000c0c0c
+0008060700050405000302030002010200020001000100000001000000010000
+0000010000000200000002010000020200010305000205090004060a0006080c
+000f10140016161a001d1d2100242425002b2c2a002d2e2c002f302e00343331
+00363735003b3c3c003f434200434b490046514d004a57510057645200686e51
+007e8352007e8557007f885c0083835800877e5400827c56007e7a5900797e6d
+007a857d009a9f9700a0a19900a6a39b00ada59800b5a89600b8ac9600b1a490
+008e796f007d6c61006c605300625b500058564e0048494600393a39002c2f2e
+00242625001719180014161500121312001213120013131300171717001e1e1e
+00343534004e483d00685b470077664b00877250009a846200aa956d00b3a16c
+00b1ac6500939568008a8c630082835f00657750004a624100374b3b00343936
+002f2f2f0033302f0038322f00423631004d3b340068443e007b4855007e445b
+0080465b0085505e007d4d5f00754b61005f475d004f464c004a4c490048514a
+0045544d0049514c004e4f4b004e4d4a004e4c4900454746003e403f00373938
+00343333002a2a29002828270026262500212220001e1e1d001a1a1a00151616
+000b0e0e000a0c0c00090a0b0006070800040606000203040001010200000001
+0000000100020202000303020004040300040a0200070d0500090f08000d0f0d
+0011170d0011170e0012170f00121312001013120010110f000f0f0d000c0c0a
+000a090800080706000805040007030200070201000601030008000500080106
+0005020500050206000602070006020800040307000203040001030300020304
+000305050005070600080a07000c0c0a00140c0b00190d0a001a0d0a00160e0a
+00180c0b00190b0800140909000c0a0800060809000408070003080900040a0b
+00050c0c00070e0c0008110f000a1617000d181b00131a1d0018201e00232b21
+002c2e20003d2c200049231a005e2815006a2b0d007938150075362100743828
+006b332700673f2b005743340046433a00363938002d333100262b2a00212524
+001e2120001f1b1e00251720002c122800371734004c1c3d0065274500762d45
+0079354d007a3a5100784052007543470065413c004e393300372e2d00252424
+001a1b1c00131515000f1211000d1110000f12110013181700161b1a00161c1b
+"/>
+<palette number="415" name="040221-58" data="0048ac86004aaf8d0045ae8f0040ad92003fb79a003fc1a30040c6a30042cca4
+0041d2a6003bcca20035c69e0030bd9b002cb598002bac99002ba39a002a9c99
+002a9599001f8293001a758a001668820017577a001847730018407200183971
+001e2e6700232e6200292f5d00342f5a003f2f580043305700473256004e3555
+00543754005d4853005f4f5200625651005e5e52005b675400586c5500557257
+004c855e004b885f004a8b600048875f0046835e00447f5f00437c6100427663
+00416d6200435e5b0044545600464a52004440510042365100403251003f2e51
+003628500034284e0032284c002e2749002a2647002726460025264600202646
+001a2446001628460014294600122b4700122d4700122f4800122f4b00133150
+0018345a0019355c001a375f001b375f001c375f001c365e001c355e001c325b
+001a2e5700172849001426440012243f0011223d0011213b000d1b39000b1634
+00070f2f00091030000b1132000c1134000e11370011113b0013113e00151240
+0017154300251e450033254600412c480048344a00503d4c005c4f5400656661
+007590800081a08b008db1960094b99b009bc1a000a4d4af00a7e6bd00a4f3cd
+009df4d30088e2cd0083d8c7007ecec10073bab20069a7a7005f94980052848c
+0045606f00424f6000403e520041384c0043324700452b42004a2b3f00522c3d
+005b2f4000683f4300694444006a4945006d5548006d6149006b6a4e006b7053
+00608a66005f9a70005faa7a005eb17f005eb9850060c28e0063ca98005fd0a0
+005ed7a80052deb4004fdeb4004cdfb40048ddb30044d4af0041c8a60039b99e
+00249085001f887e001a80770014706b0012605d000f5255000f4650000d3d4c
+000d3c4c001b454b001f454a0023454a002c464d0031464d0035495400394c5b
+0040546a0041536a0043536b00434c6700414364003d3b5e0038365f0035365f
+0034365d0035375b00393857003d384e0041364a00463647004a374500503b44
+0056474400564a4500564e460054534d004f5754004a595900465b5b003f595d
+003c585d0039545e00364e61003649640037436300333c610032375d00323257
+00332c54003a29520041284f00482a4c004f2d4900553247005a384500643f46
+0073474d00815551008e6256009a705b00a37d5d00ab885f00b78f6700c29a70
+00ccaa7b00d1bb8d00d3ca9d00cfd8a800cbdeb000c8daaf00cad3a600c3c7a1
+00bbba9f00b2ae9e00a6a6a2009ba09e00959c92008d9a8b0085978500819582
+007b968b007b9b930076a2950070ab9a0067b09e0062ae9d005daa9f005fa19c
+00609693005c8a88004f7e7f00456e78003c5f710038526b00394d66003d4f60
+003c565c003d615c00406b5e003d666100386868003a736e003b8175003c917e
+"/>
+<palette number="416" name="040221-59" data="0057819d006288a400648ba600668ea800658ea900658eaa006a93af007098b4
+0083a9c70089aecb008fb4cf0091b6d10093b9d40094bad50096bbd60096bbd7
+0097bcd80099bedc009abfdd009bc1df009dc2df009fc3e000a0c3e000a1c3e0
+009fc0dd009cbcd9009ab8d50093b2ce008dacc8008aa8c40087a5c100809fba
+007997b1006f88a20068809900627991005a708900536881004f637d004b5f79
+0040506a003c4a640039445e00353e580032385300303652002f3451002c314f
+002a2e4e00262c4d00252d4d00252e4e002630500028335200293454002b3656
+00303b5b00303c5c00303e5e002e3d5b002d3d59002b3b57002a3a5500273651
+0024304d001b264400192342001721410016204000161f4000161f3f00171e3e
+001a2241001f284600242e4c002e395700384463003d4a680043506e004d5a78
+0055627f0059677f0056667e0054657d0052637b0051627a004c5e7700495c75
+0043526d003e4e68003a4a63003747610035455f0030405d002b405b002a405b
+002a405a002f425e002f436000304562002e4662002d4762002a47610027465f
+00263f5900263c5600263a5400263a5400273a5500273a5500293d57002c415b
+0033476200455774004a5d7b004f638300586d8f005e769700637b9b00647c9c
+00637c9700627b9700617b97005f7a96005e7a96005d7894005a739000556e89
+004f6981004b6278004b6177004b6177004c6076004c5f77004d5e75004a5d74
+00435b7300425c7300415d7300415d7300425e7300465f73004a6175004c6277
+004e637a004e667f004d677f004d6880004d68820050698300546a8400596986
+005a67860058658400566382004f5c7b00465272003d486700333d5d002a3453
+00232c4a00181e3d00151b3a00121937000e1432000b0f2f00080b2c0006092a
+00020829000208290002092a00030a2a00040c2c00060e2f00091033000c1436
+0010173900111a3c00131c3c00131d3d00131e3d00141e3e00141e4000171f42
+001b2144001b2143001b2143001b2040001a1f3e00181d3d00181e3e00192040
+001c244400212a490027334f002f3c570035455e003c4e670042566f00495d76
+004f627b0051667e00556a8100586d84005b6f86005c7288005e748b0061758d
+005f768f005f7790005d7890005d7891005b799300597b9400587c9500557d97
+00527f99004f7f98004d7c97004a78940047738f00436a86003d5f7c00355674
+002d4c6a0027436000233d5800213b5400223a530025395500293e5a002e4461
+00344b68003c536f00425d77004b6a820053748d005c809900658ba5006e94af
+00759ab800789ebd0079a1bf0076a0be00719ebc006d9ab8006b98b4006b96b2
+006d97b4006d97b300638da9005985a2004f7d9a004878940044738f00487591
+"/>
+<palette number="417" name="040221-60" data="004b5561002b2e3300272a2f0024272c002224260021222100202020001f1f1f
+001b1c1c00191a190017181700121413000e1010000b0c0c0008090800070807
+00060707000a0b0d0010121300171a1a00202323002a2c2c002e302f00323533
+003f413f00414342004345450042444500414445004144450042444600434547
+0043474c00454a520043495300414855003c44520037414f00343f4c00323d4a
+00363a41003a3e43003f43460046494a004e4f4e004f51500051535300545556
+005859590060626400666969006d706f007174740076797a00777a7a00787b7b
+0075787700727473006f716f006b6d6b006769680064666500626463005e5f5f
+0057595900474948003f41400037393900343636003234330031333200323332
+00414241004d4e4d005a5b5a0067696800757776007c7e7c00838583008b8e8c
+00959a9a00a0a6ab009da4a8009aa2a500979fa400949ca3008e969800868a89
+007b7f8000747778006d6f7000686a6b006466670058595900494a4a003c3c3e
+002e303300191e2500181f27001820290017202b0017212e00162331001e272f
+001b2129001b1f23001c1d1d001c1c1c001c1c1c001d1e1d001f211f00232524
+00282a2a002f3031002f3031002f3131002d2f30002c2d2d00292a2a00252625
+001d1f1e001a1c1b00181918001617160014161500111312000e0e0e000b0b0b
+0008090a0004050c0005060c0007080d0006070f0007070f0009090d000a0a0d
+000a0b0f000c0d12000e1016001012180013151b00191c200020232700292d31
+0033393e00565b6200606771006b738000868e9800a8afb500b9c2cd00bcc6d0
+00c5cbcf00b8bfc500abb3bb009da6b000969ca10091969b0090979e00999fa2
+00a5a7a700abb3b900a8b0b700a6aeb60098a2aa0089949d007b838c006a7077
+00545555004e4f4f00494a4a00414242003d3f3e003b3c3c003a3b3b003b3d3d
+003e3f40004042420042444400444646004547490046494a00494b4b00494c4d
+004c4f50004c4f50004d4f50004d5152004e5251004e504f004d4f4d004a4d4b
+0047484700434443003f4040003b3c3c00353736002f3130002c2d2c00262825
+001f201e001a1c1900151714000f100e00090b0a000607060003040300000202
+0001020200030303000606070009090b000c0d0e000f10100012121300131415
+001515150015161600151618001516180013141600121315000f0f11000a0b0d
+0008090a0006060600040505000506080007080b0009090b000b0c0d000b0c0e
+0009090a00070807000506050004040400050605000a0b0a00101110001a1b1a
+0026282600333533003e403e00494b4a005255550053595c00555c6000586068
+0057606900586066005d656b0061687000666d7500697179005a6268004d545d
+"/>
+<palette number="418" name="040221-61" data="00b48aa000aa688c00ab568900ad4486009e4b8500905284008a578200855c80
+00695d6d005059640037555b002756520018584a001758440017583f001b5540
+00205241003b464a004c3f48005d394700722d4a0088224d00941c5000a11754
+00c70d5e00cd0a6000d4076200d3086900d20a7000cf0d7300cc107600c61478
+00b91773009f1d6700941f63008a225f007c255e006f295d00692b5a00632e58
+004d3d4e00494351004649540051555d005d62670064676b006b6c6f007c7b7b
+008c858b00b8a0a100bba2a400bea5a800b69ea700ae97a600ac92a500ab8da5
+0098668e0085588000734a7300673a6e005c2b690058266800552168004f2463
+00442b5800253b43001d3d4100163f4000163e3e00163e3d00123d3900123e37
+00123a3f0011354700103050000e2f54000d2f58000c3259000b355b000b3c5b
+000a455b000b5657000b6059000b6a5c000c6f5e000d7560000f7d600012825d
+00187f53001b7c52001f79520021764f0024744d00276c43002c6437002c5e2e
+002c5a2a002f5c2f0030643400326d390032753a00337d3c003487440036944f
+003d8d600040856100447e6300487c64004d7a66005c6c63006b566400763d61
+0083275f009a145b00a0125900a6105800ae0c5400b1094f00ae0b4900a01144
+00891c3d00851c3900821d35007f1e33007d1f310077222f00792231007e2234
+008a1f3900991b41009a1c41009b1d42009a2841009b37430090454c00805051
+00625357006454520067564e0066564b00655649005b4f46004e4a45004c4444
+004e423e004a473500464c350042513500365839002e61380029673500286935
+002d633a002d5f3b002d5b3d002e523c002d4a3c0028413d00273b3f00223446
+001d32480017314e0018304f0019305100222f5a002f2f60003d306400473168
+0055317200582f75005c2e7900612d7c00652e7c006434720061426c005a4d65
+0051555f004c565c004a5251005254490058513f0059523b00554e3c004b473e
+004a38420049364200493543004833420044364100453c3e004a433a00504438
+00574238005d3e3d006a383d0075383d007e373f00813644007a3b4e00723e53
+006a4756005e51590054575b004a6664003f7468003a826900378a6c003e836a
+004f786b005e6c6a006761640069585b006d4e5100744446007c3e3d00793b36
+006c3e2f005a432f004a4a2d00435431003d573a003e5841003f564f003f5057
+003f515c003e4c60003f465f0042416500443b69003f3d6a00393f6a00304264
+002a455f0026475b001f4859001d495800194a57001a4c5600194e5300145052
+00155554001858580022605f00366b6500477a75005f90880079a19a008db2ac
+00aabfb600c0ccc400c9d6cd00c8ddcd00c4cbcb00c1b4bc00c4a0b200c184ab
+"/>
+<palette number="419" name="040221-62" data="006e3b2200582c19004f231a00461b1c00411a1e003c1a21003a1a2200381b24
+0034152b0036182d00381c30003e21320044263500502d33005d353200623931
+00673d31007f502b00814f2600844f2100824b1b00804816007c461600794416
+006835140064311600612e19005f2f1c005d311f005e3121005f322300603327
+0061312b0062393200674138006d4a3e00755142007d594700805d4700846247
+00967345009c754400a3774300a8783f00ae7a3c00b07c3c00b37f3d00b68342
+00b4834700a87d5100a4774f00a1724e0098694b008f6048008b5c4400875841
+00754134006b382f0062302b00582929004e2328004a212800461f2800401c25
+003d1c23003d1f24003f1f25004120260043202600462127004b24290051272a
+005c2d2b0060302b0064342c0065372d00663a2e0066392d0066392c0062362b
+005e312a00502320004a1e1e0045191c0043171b0041161b00401518003f1417
+00471e1c0052261d005d2e1f006132200066362100703e240077452900804a30
+00854f34008555380080523a007c503d007a4d3b00784b3a00734733006f422c
+00653a27006435260063312500622f2600612e2700592c2a0052282d004c272f
+004823310046213300482335004a2537004f2a3c0058313f00673c450074464c
+007d4e4f007e504e007f524d008051490082514600824f400085513e00885741
+0094624800b2846500b58a6a00b9916f00bf987a00c3a18300c7aa8d00c5ad90
+00b2968300a88e78009f866e00987f6700927860008064500072523e00644430
+005c3725004d2218004a201600471f1500461c19004b23210050282800532e2d
+00533233005332320053333100512e2b004e2724004a24200048241f0047241f
+004b252400634139006c4d410076594a008d706400a98d7800c0a68a00cbb894
+00d2c1a400d3c1a400d5c1a500d0bea100cdb69c00c5ae9b00c4ab9a00c2aa97
+00c7ab9400c4aa9000c0a78d00ba9f8600b8997800b6926a00b08e6100ac8860
+00bc956800c49e6d00cda77300d9b47f00debb8800dfbe9000e3c09000e3bd87
+00dfb27500d4a66900c2925700ac7b44009764310086542900744623005f371e
+004c281b003f201a00361b1a00311619002f111600341115003612170038151b
+0038141d003f151f004419220049212b004d2b340055373d005e3f3f00684543
+006e4a4500704f4800724f4600724d4400714740006d433d006a3e3b00693c3b
+006b3e3c0071433c007b493c0086503d008f583d00945c3e009a5f3f009d633f
+00a1654000a1664500a0664d009e695400a06e5b009e7361009c7665009a7868
+009c7b6900977762008d6f560082624c0079574300724938006c3e2d006a3627
+006a3424006d34230070372200773b2400814626007e442400753f20006b361f
+"/>
+<palette number="420" name="040221-63" data="005567520056756100587a68005a7f6f00587e6f00567e70005c867700638f7f
+007fa8950089ab980093ae9b0092a7960091a192008b968800858b7f007f8479
+007a7d7300695f56005a4d44004c3c33003e2d2600311f19002919140022130f
+00110806000b06030006040100050601000408020004090200050a0300070c06
+000a0e07000d1107000e1107000f1107000e1107000e1207000e1107000f1108
+000f14090010170c00121a10001321140015281900172b1b00192f1e001e3624
+00253f2b003d5440004a6350005873600065826f0072927e0074988300779e88
+0081a9940083aa980086ab9d0086a99a0087a7980084a4940081a29100789a89
+006e8e7d005872620050655500495949004554430042503e003f4b39003f4a37
+003f4f3d0040544300425a4a0043625200456a5a00476f5f004a756400518371
+0059917f0068a896006aad9c006cb2a2006cb3a3006db4a4006eb6a5006fb7a6
+0071baa90072bcab0073bead0073bfae0074c0b00074c2b20075c5b30078c7b5
+007ccab8007fcdbb007accb90075cbb70071c8b3006dc5af0066bca30061b196
+0053977d0049876f0040786200386f5b003166540024554300184331000e3322
+00092717000a180d000b190f000d1a120013221b001d2c25002738300035453d
+004e605600577064006180730067887b006d91840074a394007fb2a4008cbfb0
+0095cabc00a0d9cc00a2dccf00a4dfd300a5e4da00a7e8df00aeebe300b6ede6
+00c7f1ed00ccf3ef00d1f5f200d1f5f200d1f6f300d3f6f300d3f6f400d4f5f2
+00d5f4f000d6ebe700d4e7e200d3e4de00cddcd300c6d4ca00bccdc200b0c9ba
+00a2c0ae009ebdab009bbba90096b4a00091ad99008ba8950084aa940080ad95
+007eb19a0079b29c0078af990078ad970077a39000749a860070917d006f8a76
+007b7f6900807e6800857d68008e796700977764009a7561009a74600095715e
+00936f580094705b0092766000957e68009789710095927b008b9680007e927b
+00617f68005a79620053735d00476a53003e634e00355f4c002f5d4a002c5b47
+002c5c4800335e4c003b625100466a580052756600618175006e8f83007c9e94
+008aaea40097bdb300a4cdc100afdbd000bde7dd00c9f0e800d3f6f000dafaf6
+00dcfbf900dbfbf700d5f9f500cef7f100caf4ec00c6efe500c3eade00bce2d6
+00b3d5c700a4c6b80092b6a70082a5960073948400678775005c7b680054715b
+004d69530045644e0041614c00405e4c00435e4e00445f4f0045614f0046604f
+00455f4d00425d4b003f5a49003f5849003d5547003d5143003b4b3d00384335
+00343a2a002f3121002d2919002a2414002c221300332617003a2f1e00433827
+00514b39005e5745005a54420053503f00514c3d004c4b3b004447350046503f
+"/>
+<palette number="421" name="040221-64" data="00366d59002061470015503b000b402f00134b2c001c572900265f2a0030682b
+004f7c320054793400597637005a7135005b6c330054602d004d552700494e23
+0045482000352f1300372f1100392f100045350d00513c0a00543b0700573b05
+004e3806004a36080047350b003b2c0c002f240d00251f0d001b1a0e000e1511
+0005141500011a1f00021c2000031f210003251d00032c1a0003301900033418
+00044019000a452100114b2a001e5639002c61490032665000396c5800407164
+00436d6c00465d730042576d003f51680033455800283a480022343e001c2e35
+0012211900161f13001b1d0d0020200b0026240a002a2708002e2a0700343005
+003b300400493407004e390900533e0c00523f0d0051400e00524110004b4415
+003d411800343c15002c38130022391300183b1300143b1300113b13000b3a13
+000b3811000c3616000c3319000c301c000c2d1e000c2a20000a24250009212b
+000b212e000d263200102b370015323d001a3a43002947480036514700445a46
+00475a43004963430046633a004463320040602e003d5e2b00335b2a002a592a
+0023553200275940002b5e4e002b5f53002c615800335e6000355765003c526d
+0045527400585d72005d606f0063636d006d696800747167007e6f63008a7159
+00a5754700a46e4200a3673d00a0643b009d613900995d3500996435009c6c34
+00a06f3a00a9845100a88b5c00a8936700a9a37b00aeac8b00abab9100b3ac8e
+00a6998800978d800088827900817c6e007b7764006e6e4e006267430061613d
+0060654b00747b6b007a86710081917700939c8200a4a58800aca99000b6a892
+00bbaa7e00b9a57300b8a16900a9975500948746007c783600656e2e0052632b
+00465d26002d572b0027552b0022542c00174d3100114433000c413500083c37
+00043a3700063a3900083b3c000d4647000c5355000b606500086f6e00097c73
+0010897200169174001992780014927700108e78000d8a6b0010865e00177e54
+0017745000156f5400136b5800116659001260590016645c00196a5a00196461
+0019595e00164b5800133d5100113949000d3346000c2c43000a264000061c3c
+0004163b0004133d0008163e0013203f001f293d002d3237003e3e34004e4f35
+0066683b007d7e450098914f00a79d5000aca65700a5af5c0095ad5a008fa85f
+008399540079884f0065764700475f38002e4a2e001d34230015262200151e25
+00141b2b00131b3100151e38001421420017294a00162d4d0017314d0018374b
+001734490017324600132b40000e233900091f3400051c2d0002192900061422
+000f0e1c00190a18002910120031181000382010003b2615003d262100482d2c
+0051383c005a4c47005d6856005878680049726f003f66720039586a00335c5e
+"/>
+<palette number="422" name="040221-71" data="00d3d0c100cbc3cc00ccc1d200cebfd800cebfdc00cfbfe100cbbee300c7bee5
+00bbbdf100b2b9f000aab5ef00a5b4ea00a1b4e600a2b1da00a3aece00a3abc3
+00a4a9b900a78f95009e848f00967a8a008e738600866d8300826880007e647e
+00735877006c5b7c00665f8200596185004d64890049618700465e86003f5583
+00404f7d00524c6200574c52005d4d43005c423c005c3836005c3437005c3138
+00672e440074374c0081405400914e6500a15c7600a5658000aa6f8b00b6819f
+00c292b400d8b2cc00dfc0d500e7cfdf00e7d9e500e7e3eb00e6e6ed00e6e9f0
+00dcedf400d7ebf400d2eaf500cde6f400c9e2f400c7dff100c6dcee00bfd5e3
+00b6cbd200acb9af00aeb49d00b0b08c00b3ad8200b6ab7900b8a46300b7994d
+00a67e2800a97e2200ad7e1d00ba832600c7882f00ca883600cd893e00cb874f
+00c98a5a00c5996e00cfa17100daa97500dda87600e0a87800dc9e7c00d3977e
+00b4937f00a7947e009a957d0094937e008f918000888c89007f8b97007188aa
+006787bc005d92d5005f99de0061a1e80060a3eb005fa5ef005fa5f40059a3f5
+006b98f4007c97f0008d96ec009493e8009b91e400a095da00a893d300b390c4
+00c68ab900df749e00e3729800e8719200ec708a00ed737b00ee746d00ef775b
+00e25f5000db585600d4515d00d2535c00d1565c00d3644e00d8683f00d96c35
+00d86e3400d2634e00ce645300ca665800c4695d00bc6c5a00ab6f57009c6c5c
+007d5e7400746388006c689d00666ca4006170ab005c7ab5005681bb005385c0
+00558eca0072afe2007cb9e70086c3ec009ad4f600acddfa00b8e4fb00c2e6fb
+00d0e0f700d5ddf600dbdbf500e6dcf200eedff100f3e2f100f3e6f200ede1f3
+00e1d2f100c2c0eb00babbe900b2b7e8009eb5e70091b9ea0085b6ed007eb4ef
+007db0f0007baef0007aacf0007cabec007dabeb007dace9007cb0eb007fb0ec
+007eb1f1007ab0f20074adf0006baceb0061a9e50059a2de0055a0d90056a2d8
+0062a2d40066a5d5006aa9d70074a9d8007fabd9008ab4da009bbcdc00a7c0db
+00b1cae100bbcfe700c4d2ec00c8d9f100cfe2f400d4e6f100d8edf000dcf3ed
+00e3f5ea00e6f7e600e8f6e300e9f2e000e5eddd00deebda00d5e5db00cbe2db
+00beddd900bad7d600b6d0d100b4d0c900b0cdc500b0cec200aacec100a9d0c3
+00abcec800aed0c800b2d1c900b6d3c500bbd1bf00c5d4af00ced4a300d5d39c
+00d9d6a100d7daa700d4dab000d6dbad00dadfa700e1dea100e5e1a500e7e7b0
+00e3ebc300e0ecd600dcefe200dceee600dbebe900daebea00d9eaea00d8e8ea
+00d4e6e900d3e4e500d1e1e000cddfd900cde0d300cfe1cd00d1e2ce00d4e4ce
+00d5e5ce00d1e2ca00cedfc400cfe0c000d2e1c000d5e1bf00d9dfc000d9dcc2
+"/>
+<palette number="423" name="040221-74" data="008e2b1000a2351f00ab402b00b44c3800b4564400b4615000b1655400af6a58
+00b0756600ba807200c48b7f00d09a8f00dcaaa000e2b6ac00e9c2b800eac3ba
+00ecc5bd00edc5bd00eac0b900e8bcb600ddb5ae00d3afa700ceaaa100caa69b
+00bb908000b5807000b0716000a45e4d00994c3b0091433100893b28007b2d1a
+006f231000641a0a0062190a0060190a005a1a0c00551b0e00511c0e004e1e0f
+003d271500372b16003230170031311700313218003131170032311700332f15
+00322f1500342c1200392911003e2611004a210e00571d0c005e1b0b0066190a
+00841005008f0d05009a0a0500a00b0400a70d0400a90e0300ab0f0300b01102
+00b4130100ba130300b3140500ad160800a7180900a11b0a0097220c008d2a11
+00863a1b008d432600954c31009b583e00a2644c00a66c5500aa745e00af816d
+00b5947e00ceb09e00d8bcad00e2c9bd00e6cec400ebd4cb00f1dad300f1dfd5
+00e7d0c700e4c2b800e1b5a900e0ada200e0a59c00e2948d00e3877e00e57b6e
+00e16f6200d95f4e00db5f5200de5f5600e0635b00e2676000ec726b00f07c75
+00dd878200cd878600bd878a00b4868c00ab868e009c848f0092808c00867c84
+007c7278005f555b00594f540054494d004c4144004e41420055474400645149
+007e65580087685900916b5b00946b5900986b58009c6a5600a1685400a36752
+00a16653009d584c009a534600974e4100914333008c362600882b170084240d
+0087260a008c301200913a1b009540210099462800a1503400a6523d00a7543f
+00a6523f0096534100925542008e58440083624900776251006b6454005f6051
+00414642003a3f3c003339360029332a00232d2300202a1f001e2a1b001a291b
+001b241b001c1a1c001e171a00211519002b101500390f0f0044110c00531408
+006c1d120070201500742419007f2b20008b30240096342600a0392200ac391e
+00b53a1b00bd3c1a00c3401b00c7411c00c8401e00c73f1c00c73b1700c73411
+00c82b0600c72a0400c7290300c4260100bf240000b6200000aa1d00009e1400
+0091110000840f0100770d01006c0f03005f1105005116070047180a003e170b
+003c170c003e160b0045140a0053110b0060120b0071150c0080160d008f160d
+009e170c00a9160a00b2120900b9100a00bd101200bd121b00bc141e00bc1820
+00bb1c1f00b51e1c00ae201600a220160091211b0083231f00792423007a2a28
+0082322c00903d2e009e493300a7543d00ad604d00b06a5c00b2746a00b87e76
+00c2888100cd8f8900d3908a00d3908900cc8c8700be858100ab7b7900987672
+0089726c00796b62006661570058564c004c4b3f00443c30003f322500413020
+004b311d0051341c0062371f006e3920007a351d0082301800872b15008d2812
+"/>
+<palette number="424" name="040221-78" data="00985729009d4f1d00934616008a3e100076320e0063270d0060260c005d250b
+005a2007005e1f0500621f0300682103006e23030073260300782a04007a2b03
+007c2c030089310300913304009a360500a23a0700ab3e0900ac3e0a00ae3f0b
+00a53c0b0096380c0088340d007b320f006f3012006b2f1400672f1600642f19
+00622f1a0063301a0066331b0069361c006d381e00723b2100743c2200773e23
+008040240081402300824123007f3f23007d3d24007c3d24007c3e25007c4127
+007d4329007d462b0077442b0071422b006b3f2900663d2800633c2800613b28
+005f3d2a00593a2700533725004a2f1f0041271a003a231800341f16002a1a13
+00251712001c120e001d110d001e100c001e100b001f100b0020110b0022140e
+002e1e170039241900442b1c004f301e005a3621005e382100623a2200663e26
+0069412900714629007446260077472400784622007945210078442000754121
+00703d21006e3b1f006c3a1e006a391e0069391e0066391e0063381e005e361e
+005b35200057321f0056301d00562e1b00572d1a00582c190058281600562413
+00521f0d00541f0c00571f0b005b200b005f220b006b260e0078291100843015
+008f371900a1421e00a5461f00aa4b2000b3542400bc5b2600c4602800c6652b
+00c0612900b85c2600b1572300ab552200a65321009c4e1d00924a1d0088491d
+007f431c00703819006d3518006a331800652f1600612b15005d2c16005b2c17
+00562a170053291600502815004e2714004d2613004b25120049251200482513
+0048251400462617004526170045261700442617004426180044271900462819
+004528190043271800422618003c23160036201400301d12002a191100261810
+00261810002b1c12002d1e12002f20130036251400402a15004b301600573619
+0070421e0074431e0079451f007f4a1f00864d1d008f501c0096521b009c531c
+00a1511d00a44d1c00a2491c00a0471700a3451300a8470f00b04c0d00b8520f
+00c35b1700c25a1800c25a1900c4591a00c2571b00c1551800c0561700c05816
+00bc561500b3521500ac4d1600a44716009e3d14009a3712009c3613009f3913
+00a33e1400a8451900ae532500b55b2c00bb622d00c0683300c16a3700c36e38
+00c26d3600c0733e00bc734500b9754200b5714200b0673f00ad5e3800ab4e2b
+00a9422100a5361d00a03017009b291400962110008e1e0d008a1a0a00851708
+00831408007d1607007716090070150a0066180b005e1a0b00571b0a00531b0a
+00501b09004c1e0a004a1e0b004b1f0b004c200b004d220b0050230b0053220c
+0055230c0054240f005325120054271600542d1a00583420005e3b280068432d
+00754d3000825630008255300081552f0081532d007f532e0081502e0084512e
+"/>
+<palette number="425" name="040221-80" data="003b3c5c003335540032335300313253002e2f51002c2d50002b2d4f002b2d4e
+002c2d4b002d2d4c002e2e4e002e2e50002f2f53002d2e52002c2d52002b2c4f
+002a2b4d0024254400212241001e1f3e001e1e3d001f1e3c00201f3d0021213e
+002d2d470033334f00393a570040416000484869004b4c6d004f507200555679
+005e5f82006c6d90006e6f9300707297006c6e9500686a93006566900062638d
+0055557d004d4d740046466c003e3e620036375900323254002e2e5000262648
+001f1f40001a1938001d1b3700201e370026253b002d2c4000302f4400333248
+0042425a004b4b640054546e005d5d760067667f00696881006c6b84006f6e89
+0072718c007c7b970084839e008c8ca5008f8fa8009393ab009a9ab0009d9eb4
+00a2a2b600a1a1b500a0a1b5009c9eb300999cb1009598ae009295ab00888ba0
+007f809400686879005a5a6b004c4d5d00454655003f404e0033333f00292931
+001c1b1d0019181700161511001514100015141000151513001516170015161b
+0016161f00161622001514210014132000131220001312200013122100131222
+0016152600191829001d1c2c001f1e2e0022203100282538002f2b3e00353144
+0039364a003f3c56003f3d5800403e5b00403e6000403e6200403c60003c3a5a
+0034324d002e2c440028273c0024243800212235001c1c2d0019182500171622
+00181723001d1d2a001e1f2e002021330024253b00282942002a2c48002f3151
+003d3f64004749700051547d00575a83005e618a00696c920074779b007e81a1
+008789a600979ab1009c9fb400a1a5b800acb0c000b4b8c600babdcc00bdbfcf
+00babdcd00b6b9ca00b2b5c800acafc600a4a7c0009a9ebb008f92b3008385a7
+0076789b0058587c00515174004a4a6c003d3d5f0031315300252646001d1c3a
+000f0f24000d0c1f000b0a1a000807140007060f0006050b0006050a00060609
+000606080007070800090808000a0a08000b0b08000b0b08000a0b09000a0b08
+000a0b08000a0a08000a0a08000a0a0800090907000809070007080600060705
+0006070400050603000506030005060200050602000405020004050200030403
+0003040400030406000404070004050a0005050c0005060e0005051000050512
+0005061400050615000506160006061700060619000606190005051800050518
+00060618000707190009091c000d0d21001212270016172e001b1c35001e1f3b
+0021223e0022233f0023243f0024253e0025263d0026273d0027293d00282a3c
+00292a3c002b2b3d002f304000363644003f3f4b004a4a540054565d005e5f67
+0067686f006e6e79007272810077788a007c7d92007f81980080839c0081849b
+0080829c007a7c980072749200676a8a005c5f80005154770046496b003f4163
+"/>
+<palette number="426" name="040221-81" data="00a8250100a8230100a81e0100a9190100a6140200a30f0300a10e0300a00e03
+00a0160800a7200f00ae2b1600b3351e00b9402700bb472900be4e2c00c0502c
+00c3522c00d05d2e00d5623300da673900dc673a00de673b00dc633800db6036
+00cd4c2b00bd462a00ae412900a53f29009c3d2900983b2700953a260094331f
+008e2f170080300c0086340a008d3809009e3c0800af400700b6410700bd4307
+00cc4b0c00cd4c0f00cf4e1300c5491300bb451400b2411400a93e1400963613
+00822f1400742212006d1c0f0067170c00621409005e1106005c1106005a1206
+00701005007d1005008b11060091160500981c0400991d05009a1f07009a2107
+009a200800941c0900881e0a007d210c0077220d0071230e006b2714006d2e1d
+007f433000834f3900885b42008a6447008d6e4c0095714b009d754b00ae7b48
+00bd7e4600c97d3b00c6773400c4722d00c4702900c46e2500c56c2000ca6f21
+00ce772e00d17e3a00d5864600d78b4a00da904f00e0995800e9a46100efaa67
+00f2ad6c00f4ae7300f6ad7400f8ac7600f9ad7700faaf7800fcb27c00fcb884
+00fcc38f00fbc29000fbc29200fbc09100fbbe9000f8ba8f00f5b58a00f2b085
+00f2a67c00f2936c00f2906700f28d6200f1865800ee825300ee7a4d00f0764b
+00f16e4900f0734900ef784900ee794800ee7b4700ec7d4400eb784200e86e39
+00e4623100da502300d84d1f00d64b1b00d34a1b00d1471900cf441700ce4119
+00d4432900d74f3400da5c4000dc644600de6c4c00e27e5800e7906500ee9b74
+00f4a97f00fcc08c00fcc38b00fdc78b00fdc98500fcc47d00fab97200f9ae65
+00f3984a00f1944300f0903d00ec883100e57d2400de721900d5620f00ce5508
+00c94d0400c3480200c3480200c3490200c3480200c0420300be3b0200bc3502
+00b82b0300b92b0300ba2b0300b72a0300b2280300ab2403009c2006008a1d09
+007d1d0e007920140078251700822d1c008a38250090422f0092503a009b5f49
+00b0755500b9795800c37e5b00d4805e00de815d00e6825d00e8835b00e78554
+00e7874e00e7864a00e4824400e0753d00d7693500c5602e00b3592600a25523
+00925624008c5127008c48260089422600893d26008b3b28008945310090513e
+009f5e4800ae6b5000c0775900d4826200e08f6c00eb9d7900f2ac8500f4b88d
+00f5be9000f5c29300f4c09200f5bc8e00f5b98900f6b48100f6ad7800f5a76c
+00f4a16100f1995600ec914a00e88a3b00e4803200e2762700e26e2100e26a20
+00e16b2100de6f2000db722100d76f1e00d3651b00ce591b00cb4e1a00c8481e
+00c2451f00bc441b00b53d1500ae321000a52407009d19040097110300941003
+009211010094180100982100009a2000009d200100a1200200a31d0100a41b01
+"/>
+<palette number="427" name="040221-84" data="008151340074473200653e2e0057352b00533126004f2e2200522c2100552b20
+00602b1c00632b1b00672b1b006a2b19006d2b18006d2b18006e2c19006e2b19
+006f2b1900742b1900772c17007a2d16007f2f150085321500883517008c381a
+00973f1e009b401c00a0411b00a2421c00a5431d00a5441e00a54620009e4822
+009848240080412300743e2400683c26005b3e27004f4129004a412800454128
+002d4128002a3e2800273c29002d3c2800343c2700353b2700363b2800353c28
+00363b2a00353b2b00353c2b00363e2c00304031002b43370028453a0026473d
+001d5145001d5b4c001d6554001e6856001f6b58001f6b58001f6c5900206552
+002765500034664d00396146003f5d3f0047563a004f4f3600523f2c00573727
+005c2d1f00592d2000562e2100503324004b382800483c2a0046402d00394731
+0030493400254a3c00214a3e001d4b40001c4a40001b4a40001a483d001b453a
+001d3a34001d3732001e3530001d342f001d332e001d332e001d332e001e342f
+001e3730001f3e36001f4039001f433d0020433c0021443c0024443d0026443d
+002a483c0028493c00274b3d00264b3d00264b3d00254a3e00254b3c00254b3c
+00234b3c001e4b3b001c493b001b483b001a473a001a453800194338001a4136
+001b3e35001b3d35001b3c36001b3c36001c3c36001c3c37001c3d37001c3e36
+001c3f36001c4138001b4139001b423b001b433d001a443d001a453c001a453c
+001a443b001a423c001b413d001b403b001c4039001d3d3700203b330024392d
+002b39270045372200493821004d392000523a1f0057392000573a2100573f24
+0060502c0061532d0062562f006556300063542e005b4d2e00564b2e00554a2e
+0054492d00583f2800573b25005637220051301d004e2a1b004a291a0049271a
+004b261a004b251a004b241b004b261c0049261d0045281e00422a1f00412a20
+00422b1f00462c1f004a2c1e004b2b1e00482a1e00422a1f003d2b20003a2b20
+00452a1c0048291b004c291a004f291a0052281b0052271c0053281b0055271c
+0057281b0057281b00542a1c00502b1d004b2d1f00472d2200422f23003d2e22
+00382d22003430220034302200382f21003e3121004830200052301e005d2f1b
+00682e1900742f17007c301500853413008b3713008c3814008a3a1500853a18
+007b3a1b0071391d006a3b1e0063391f005f361f005d3720005a362200573423
+00593322005e311f00652f1b006f301900773017007e331900833a1d00884125
+009041280093412b00953f2800953c2700963a250091402800933f2b00913e2e
+008f3a2c008c3529008a2e2100832e1c007e2d1c00792f1d0078331f007b3822
+00814025008d4d2a00995130008c523300835034007a5235006f4d34006e5232
+"/>
+<palette number="428" name="040221-85" data="000d2105000d1d06000d1b06000e1a06000e1a05000f1a05000e1905000e1906
+00131e0c0019230c0020280d0026340d002d400e002f4f0c00325f0a0031650b
+00306c0d0034700c00356f0c00366f0c00356f090034700600317006002e7106
+00256502001f5602001a47020016390200132b02001228020011250300112403
+00122702001b3d02001e450100224e0100224f010023510200224f0200214d03
+00214f0400225203002455030022520200214f02001f4902001d440300183703
+00142c060014240e001b2b1300223318002d3f2400384c300040533700485a3f
+00657859006f7f5b007a875e007d885b00818a5900828b5c00848d6000839467
+00849871007d997800738d67006a825700627a4f005b7347004c683b003f6034
+002f6035002b5c330027583200235028001f481f001d441a001b401600173a0f
+00143607000e2d09000d290a000c250c000c220d000d200f000d1c12000e1d14
+00162f230022402f002e523b00385a440042634e0054716100688071007a8f85
+008c9e9500a7c2b100b3d0b800bfdfbf00c1e1bf00c3e3bf00c1ddbd00bbd1b5
+00a0b19f0091a38d0082967b007a8f720072896a00617b5b004e6d4d003c6042
+0030553d002f503d0032523e0035543f003e5a450047614e0049645200496556
+004a695b004b6858004c6855004e685400506953004e664c00485f440040543b
+00364d3100223b1b001f3817001c36140016340d001334080013320500123204
+001435050016360a0019380f001b3c13001e411800284b230032552f003e623a
+004a6d45005d7d56005e82580060875a0064915900669a5a0066a0580067a154
+0063944c005e8e49005a894700507d3a0045742e00396a21002e5f140024510d
+001d4407001329070011250700102107000f1d07000e1b07000e1b08000f1c09
+00101e0d00101f0e001120100011221100122413001225140012261500142617
+0014271900142a1c00142c1e00132e2300133126001433290017372d001e3b34
+0039524a00415a530049625c005b736d006d837e007b928c008a9e9a0099aaa6
+00a8b6b100b5c3bc00c1cec700c9d6d000cbddd800cae3e100c9e7e400c3e7e6
+00b9e3e200b0dedc00a7d8d5009ccdca0090c3c10088bbb8007fb4b20076aaa8
+006ba09d00639792005b8c8400507d760049746a0043706800416b65003e6762
+003a6761003c6a6200406b6300456e63004c766900537a72005a7e78005a847f
+005d888300608a8300628b8200648e8000658f800068917d0067937500669a6b
+0062995d005e9854005b9a50005b9a51005f9d5a0068a0640077b0710083b973
+0090bf6c0096c5620097c458008fba520085ab51007ea3550076995900728e56
+006d854e00687e42005a7430004a651e0039550f00284508001a360600112a05
+"/>
+<palette number="429" name="040221-86" data="0086796f0079726f00726e6a006b6b650072726700797a6a007f7e6900858269
+00949163009694610099985f0092905f008c895f00838161007a796400787865
+00767767006d7068006d6f67006d6f6700726e6400786d6200796a5e007b685b
+0075624d00715f4b006e5d4a006b554900684d4800664c4800654b4800684e4b
+0070584d008d6d4e009d775200ad815600be8d5800d09a5b00d59e5800daa256
+00d9ac5b00d7b06600d6b47100d3b16e00d0ae6c00ccaa6800c9a76500c8a163
+00c79d6400c8905d00c5845100c3784600c4774400c5764200c6774400c77947
+00c17d4f00bb835700b68a5f00ad8c6900a58e7300a08c76009b8a7a0093877d
+0091887b00978676009b8477009f837900a4867900aa8a7a00b5917f00c19c83
+00c2a68e00baa39200b3a09600b0a49c00ada8a300adaca800adb0ad00abafb0
+00a9adb000aeaeaa00b5b6ac00bcbeaf00bebfae00c0c0ad00bdbca500b9b699
+00aea58600ab9b7800a9916a00a58b6100a28559009c794b00956b4100915d35
+008e502a007f39160078321000722b0b00722b0b00732c0c00782f0b007c360f
+00864115008c49180092511c0094541d0097581e009b5b1e009f5b2000a05b21
+00a25a23009f5b26009c5b2900995b2c008e593300845439007d523f00764f41
+00624f4c00604f51005f4f5600624e5400654e5200694e4a006f4d4500724940
+007d4a3f008f4e3500924e3200954f3000964d2b009c4e2b00a3582d00a8602e
+00ac672f00af683200b2693500b46b3700b66e3900ba743d00b7773d00b1773d
+00aa733f00a76c3d00a76c3c00a76c3b00a9733b00ab794200aa7d4600aa804b
+00a27d53009f7c57009d7c5c00967862008d766700817368007b6e620077685c
+00745d56006b49440068453f0065423b00623e3400603d33005d3f33005b3c31
+0047353200423332003d313200323034002d2a2e002826280025222300232020
+002522230026232500262428002b272e002f2c340039363e004646470053544e
+006d6a5700736d5800797059008779580095815800a1865300ad894e00b3884a
+00b5874700b4834400ae7d3f00aa733600a3672d00945b2800875324007b4a1f
+0075431900793f1100783c0f00784112007d47140086501800975f1a00a86d21
+00b47b2c00ba893a00c1944c00c6a05a00c8a76400caaa6c00c5ab7100c3a876
+00c2a77a00c0a57c00bfa17900bb9d7200b7926600b2865800ac7c4d009f7048
+00926a4800876448007e5f46007f5f40007c5b3a007958360077563600745536
+0079593500805c31007f5a30007a542c00714b2a00664229005f3f2500523927
+0047342a003b322f00362f3300393338003d383d0048414200534d490061574c
+00716352007e6c5a008e7b62009d896c009b876b00958369008c7a6700817266
+"/>
+<palette number="430" name="040221-88" data="00473d23003e4327003c4930003a4f39003654420033594b00375d50003c6255
+0046735c00497a62004c81680053866e005b8b7500678e7c0074918300799385
+007e9687008b9c8d008a9e8b0089a18a0085a2870082a4850080a485007fa585
+007d9f820077987e0071927b00698a7100618268005c7e6300587a5f0053765a
+0055735600576f5800576b57005868570056625300545d4f00545a4d0055584b
+0055524400574e4200594a410062433a006b3d34006e3b3400723a3400753b37
+007c3d3a00854f4d00905757009c5f6100a3656500aa6b6a00aa6c6b00aa6d6d
+00977268008d736a0084746c007e706500786c5e0073665a006e615600625147
+00534135003a281f0033221a002d1c15002b1914002917130025121100210d0e
+001b090b0018080b0015080b0013080a0011090a0011090900120a0900140b09
+00180c0700210c0400240d0300280e0300290d02002a0d02002b0d02002c0d03
+00310c0600350c0700390c09003b0c08003e0c0800410c0700430b0700450a05
+004409070040080a0040080900400809003f0808003e0908003d0a05003c0904
+0036070400320504002f0404002c0404002a0504002508030021080300200a04
+00200c050020100600201107002113080023170900261d0c0028250e002d2e10
+003a3c17003c3d18003e3f1a003f3f1a00413f1b003f3d1b00403f1a00424119
+0048411a00523a190055361800593317005c2b17005d2719005e291b00602d20
+0064352e00693530006e3632006d3632006d37330070393300723f360073443f
+00744e49007d6059007c625b007b655d0078685d00766a5a00756c5a00746f5c
+007c7a64007f7b6600827d6800867e6a008c79640090715b0095685300925d49
+008e533f0083413100803d2d007d392a007830210079281c00742318006a221b
+0055312a004f3932004a423b003f514a003c5b540040635a00446d66004e776e
+00527b730059867e005c9187005b928b005c8e83005a877d005b7f7200576e60
+00515747004c504200484a3e003e3e320032312a00272821001f1f17001a1710
+0018130b00190f07001c0d0300210a030025090400290a04002b0b05002b0c06
+002b0e07002b1208002c1308002e1509002f170b00311a0d00301d1000302114
+002e2618002c291e002e2e220033342800393c300040443700484b3b004f533f
+0053574300575a46005c5e480061624c0064645100696851006d6a52006c6a4f
+006a654b006a6046006a583f006a4f3a006c48330070402e006f3a28006d3322
+006b2e1d0068271800622112005d1d0d0059170900541304004f1002004b1103
+0047130500421809003e1e0e003b241200372b16003431190033321a00363019
+003c2f1800462f1800462d1800452f190044331e0043372000403722003e3922
+"/>
+<palette number="431" name="040221-89" data="00192435002028450021294a00222a4f00232b4f00252c50002430560023345c
+0020447800224a830025518f00295493002e57970031599800345c9a00355d9b
+00375e9d003e6aa000456da3004c71a6005173a8005775ab005a74ac005e74ad
+006574ab006a73a9006f73a8006e73a7006e74a7006c74a6006b74a500656fa3
+005f679b0052527f004a4a750043426b003c446b0036476c0034486e00324a71
+00375b820043658b004f6f95005e7ea1006e8ead007496b3007b9eba008caec7
+009abed600b2cadf00b9c8da00c0c7d600bcbac600b8aeb700b2a8af00ada3a8
+008d8187007a70770067606700544e5800413d49003a36430033303e002b2a38
+002a273600333841004148500050595f0058616700616a7000707d8200808c93
+009da8af00a5adb500aeb2bb00adaeb700adabb400a9a6af00a5a1ab009e999f
+00908d92006f6e76005d5b64004c485300433e49003a3540002d272f00221d21
+0015141400131313001212120011121100111211001212110012121100121210
+001111100010120f000f110f000e110f000d100e000d100d000c0f0c000c0e0b
+000d0e0c000e0f0e0010111000101112001112150013161c00151c26001a2433
+00202f45002c4768002f4c70003252790034588600325b8d002e5a8e002d5a8d
+00295788002c5886002f5984002e5a85002e5b86002a5985002857810028577f
+002d5a7e00516d84005b758900667e8f007a90a0008ba1b10099b1c300a3c1d3
+00c0d8ec00c3daee00c7ddf100c5dbef00c4d9ed00bbcfe400a8c0d80098b2c8
+0089a1b900667f97005c778f00536f8800415d7500304b6400213d5200183043
+00101e2a00101b26001019230013161f00171921001e1f270027263000322f3d
+003c394b00504a6200534e660057526b005a5873005e5e780062617d00636683
+00667091006672930066749500637699005f749a00596e9600536691004a5c8a
+0046578700435285003f5186003f518a0040508e00424e8f00404a8e003f4687
+00353a730032376e00303469002c306000292b58002729520025284b00242745
+002326400020253d001f263b0020243b0021233e0022244100242646002b2a4c
+002f2f560036395f0041446d0050557e00616790007078a0008186ad009093b8
+009c9ec200a5a4c800a7abcc00aab1d000a9b5d300a7b8d400a7bbd400a9bbd2
+00a4b0cd0098a3c5008992b8007681a9005f6e97004a5f85003e547300354965
+0031405b002e3854002c334f00282e4b00202d4a001b304b0017354f00153b55
+00143e5c0013426200144265001341650012406400103e63000f3c62000d3a60
+000b395d000a3455000a2d4a0009263d00091e3000091725000b111e000e121e
+000f182500121c2b00151d2b00161e2a00161e2a00151e2800191c2500181e29
+"/>
+<palette number="432" name="040221-90" data="0002000100000001000000010001000200010001000200000003000000040000
+00080401000d090400120e070018140d001f1b1300231f170028241b0028251c
+0029261e0026221c00201c16001a17110014120c000f0d08000d0b06000c0904
+000e0c060014110b001b171100242019002d292100322e2500383329003e392f
+00403d3100443c2c00413b2b003f3a2a00423c2c00463f2f00494233004c4637
+005c5646005f5a4b00635f5000605d50005e5b50005b574c0058544900514e42
+004a473b003c382f003a352c0038332a003b352b003e382d00433c2e0048412f
+0068603d007e734b0094875900ac9f6d00c4b88200c4b98b00c5ba9400bcb488
+00b4ae7e0089845d00857b50008172430084784500877e4800978d5400a69862
+00a8a378009a9571008d876a007a755d00676351005d594600534f3c0046412c
+003a371f00242210001f1c0a001a170400181504001614040015120200151201
+00161305001613080017140b0017140c0017150e001814100015111100131110
+0012100f000a08080009090600080b0400080a0400090904000c0d0500131306
+002b261500322e1b003a37210039351f0039341e003a362800312e2200242014
+001c180f0017120a0016120a0016120a0019130a001c190c001e1c1000201c12
+00211d1400211c1300211c1300211b1200211b1100231e0f00262411002b2713
+002d291400322f1f00322e2000322e2100312d2400312c2600322d2700312d25
+0034312300343122003532210035322100353321003533230036332500373225
+003732230037302300362f2200362f2100322c1e002f271a002a251800272216
+0027201400282115002a23170031291c003a33200047412700585233006c653e
+007f764c008c835a008b825c008b825e00877e6000756d550067634c00615b47
+00554d3b00534b3b00514a3b00514a3b00524b3a00534c3d0055504000595342
+005b5444005a5446005953450058514500574f4400534d3f0050493b004c4535
+003b37240037322200332e200029251900201c12001a15120017111000150f0e
+0015100e00191411001f1b150027221a00302c230038362c00413e340049443a
+004c483b004e4a3800504736004e4232004a422d0049412a00463e2900423c28
+003f3c25003b38230036332000312b1a002a25170025211600211c14001e1814
+001d1915001b1813001c1713001d1912001d1a0f001c180c001b180c001a1709
+001813060015100500100d03000c090000090800000506000002030000010300
+0002020000020100000300000004000000040000000400000004000000050000
+00060100000702020008020300090404000b0507000c0508000d0805000d0805
+000c0804000a0901000807000007050000040300000301000003000000020000
+"/>
+<palette number="433" name="040221-91" data="0076595a006f555800645153005a4d4e004f4b4a00454a4600404944003b4843
+0029413d00253e3a00213c38001c3b3700183a3600143a3800113b3b00113b3b
+00113b3c00113e3f00114043001243470013414600153f4500173e4300193d41
+001d393a001b343300192f2c001728240015211c00151f1a00151e1800131c14
+00111d1500081c1700051b1700031b1700031b1800031c1900031c1900041c1a
+000a1e1d000c201e000f22200012272400152c2900182f2c001c3330001f3a38
+0024403f0038525100475a5800566260005c6260006263600064625e0066625d
+00685c58005f57530056534f00474a460038413d00303d3900293936001c3432
+0011302e00052624000524210005231f0005231f0006241f000a262200102924
+001e2e2b00263432002e3b3a003c4344004b4b4f00514f5300575458005f595b
+00605b5d005b5c5b00575c5a00545d5a00515b58004e5a56004657500040534b
+004558510055605a00656963006e6f680078756d008c7f77009c8a8100ab908a
+00b6928f00b18d8a00a2858000947d77008b767000826f6a006d615e00555352
+002f3f3b00243935001934300016322f0013312e0011312e0013312e0018312f
+0020323000353b3800393d3a003d403c0047433f004e443e0055454000594740
+005a48420057453e0055433b0053413900524038004b3e3400473d3400443e33
+00433f3200414134003f4235003e4437003a483b00364c3d00344e3e00324d3e
+002a4a3e0029493c0029483b002a4639002b4538002d4137002e3d340030372f
+0031342b002f2e25002d2d25002b2c2600272a2700222828001d2826001a2826
+00192e2e001c3132001f3537002b404300394b4b004c5554005f5f5e00726967
+00877470009f7c7a00a47f7d00aa828000b6868700c3908e00cd969500d29999
+00d9a3a700dba7aa00ddabad00e2b2b500e7b7ba00edbfc100f2c6c700f4cccb
+00f4cdcc00eec9c600e8c3c000e0bcb900d8b5af00ceaba500bb9c9600a68883
+0071605b00665853005c514c00484440003a3a3800303433002e343300383938
+00463e400054474a00635053006f5b5e007c6a6b008c737600997a7e00a27d81
+00a37c8000a07f82009a7f8000937c7c008e757500856c6b007d6364006f5b5c
+0061535300514c4b0042444400363e3f002a3a3c0021373a001a363900163639
+001437390011383a000d363a000c3439000b3438000c3537000c3637000b3537
+000c3235000d323600123638001c3c3c002a4544003c4d4c004b5455005a5d5d
+00696868007b74740091818100a4898b00b38d9100ba8f9400bd8f9400bf8f94
+00ba8c9000b1858800a77b7e00987070008a6565007a5c59006b554f005e4e47
+00564c4300544c43005c4e470062514b006b524e007252500071545200785657
+"/>
+<palette number="434" name="040221-92" data="003c2b070037290900322509002e220a00261f09001f1c08001f1c0600201d05
+00231b0400201805001d15070019110900160e0b00130c0b00110a0c0010090d
+0010080e000d0610000a06110007061200040611000206100002050f0002050e
+0005030900080307000b0306000d040500100604001106030012070200140801
+00180800001f08000023080100270802002b0905002f0b08002f0c0900300e0a
+0033130c0031110c002f100d002f0d0f002f0b11002e0a11002e0a11002f0912
+00300b1000350c0c00340b0a00330a0800320807003107060030070400300803
+00360e02003c12020042170200471a02004c1d02004e1e020050200200532404
+005729060067350d006f390e00773d0f007a3c0e007d3b0d00813a0d0080380b
+007a390b0072390c006a390d0060340c00572f0b00522b0b004d280c0044240c
+00442613004c301c0050331b0054371a0055361a0057351a0055321500533018
+005e331f0063391e0069401e006a411d006c431c00684213005d3f0c00513a09
+00463607003034070029340a0023350d0020340d001e340d0019310c00172c0b
+000d2406000a23080007220b0005220d0004220f00052112000a1f1400101e15
+00161f1300252211002724120029261400332c1a003f341f004d3d23005a4826
+007a5c2c0088622b0096692b009b6b2b00a06e2b00ab712c00b3752700b37c2a
+00b47e2800ad7a2200a8751f00a3711d009a671a00925a130083500d00754408
+005530060046270400371f0300321b04002d17050024100900200c0d001b071a
+001705290011032f000f022e000e022e000b032d000b05270009072500080b30
+000e183700101a3700121c3700172034001c2629002028190021291400222a10
+00242c0f002729100027281000282810002a260d002a210c00271b0900251706
+001d0d02001b0a01001a08000018050000180300001a010000210100002b0100
+00350102003c030200400602004307040041080700420a0b00450d0c004b0f11
+0053191200531c1100531f11004f24100048261100402810003c2b12003b2d15
+003d3115003f381500423f17004943190050441a0053461a0057471e005b481c
+005e481a005e4b1c00634e1f006e501e0075501c00774f1e00794d1a00764713
+006b410e005d3a0b0057360800522f05004e2b05004c2803004a260300492404
+004422070041250b0040270f00412b1200423213003c3613003a3c1400394917
+0039571a00375e1d003560200037652500316625002a60250023642800226830
+001a663000135d2e0011563100104b31000e392f000a2e2d000e2a36000f283a
+001225390015223800171c31001714290017101f001a0f1a001d111a00221419
+002e1a1a00381e1600371e1500381f1200391f0e0039210b003222080034260a
+"/>
+<palette number="435" name="040221-93" data="00babb9300d0ceb700d9d7c600e3e0d600e9e7e200efefee00ececea00eae9e7
+00dad8cd00cfccbe00c5c1af00b9b7a200aeae9500a2a58900969c7e00919777
+008c92710079815300727945006c713700686e3200646c2e00636c2e00636c2e
+00646f2e0067702b006a7128006a7224006b7321006a721f0069721d0062701c
+005d6c1b004e63160048601300425d11003d5b10003959100037591100355a12
+00325617003255190033551b0036561c003a581e003c5a1f003e5d2000425f24
+00466127004d632b004d6128004e6026004b5e2200495d1e00475b1c0045591b
+003d5317003b5014003a4d1200374b0e00354a0b0033490900314808002d4807
+002c48070036500e00445a1700536521005a6d290062753200718244007e8d57
+0095a073009da37600a5a77a00a9aa7b00aeae7d00aeae7e00aeae8000acb084
+00adaf8600aba87d00a7a17100a39a65009e965e00999257008e8b4b00858344
+007f7f4000858244008b8648008f884b00938b4e009a9252009f995b00a29c65
+00a5a17000afaf8800b8b79400c1bfa000c6c5a600cccbac00d8d5b900e0ddc4
+00e4e0c900dadac200d0d4bc00c9ceb400c3c8ac00b7bc9b00a8b28c009aa47d
+008e976c00707e4c00677744005f703c0051632d0043582200384a1b00303f14
+002a330c002c350a002e380900303b0a00333e0b0038430e003c470f00404911
+00444c12004c5514004e581400505b1500546217005568160054691600526916
+004d6816004c6617004c6418004c6418004c6518004b64160049621400476012
+00435d10003f5410003f521100405012003f4c12003d48120039431100363d11
+00323b1300333b1400353c1500383e17003c431b0040471e00474a23004e512a
+00585a3100757240007e7a450088824b0099925900a8a06800b4ac7800bfb589
+00d0c6a500d4c8a900d8cbad00e0d3b700e5d9c000e9dcc600ebdcc600e7d9c4
+00e0d5bf00d9cdb400d3c6a800ccc29f00c8bd9700c3b78b00bdb07d00b5a96f
+00a29752009d954d0099934900939146009290470093924a0097964f009e9a55
+00a29c5c00a59f6100a19f62009b9a610094955e008b8f5900838754007c7f51
+0076754e006c6d49005f6042005154390041482f00313e220025361800203012
+001f2e0e001e2c0d001f2b0f00212b1200242e160029341a00323d1e003d4925
+004b562d005c6337006b714900797e5a00858a6b0090947900999c8200a0a486
+00a9a98300b5b18800bfb78e00cabe9600d5c69e00dcc9a300dbc8a100d7c296
+00d4bd8a00cfb67e00cdb07500ccb07100cfb26f00d0b16e00cdb06a00c7ad63
+00bea95b00b5a15300aa9b4e00a29847009b94420096933d00919039008c8d36
+008a8c3400888936008e904400929754009b9f6300a3a77100acb08000b5b98e
+"/>
+<palette number="436" name="040221-94" data="00758fa0006d849200617b8b00567384004764760038566800325163002d4c5e
+00183e560012374e000c3047000c2c41000d293b000f2e400012344500153647
+0018384900273a4500273a4400273a4300253841002436400024343d0024323a
+001f232a0018202700121e2500182832001e333f00253a47002c4250003c5261
+004a64750068899d007795a90086a1b5008da5b80095a9bb0094a9bb0093a9bb
+0086a0b3007a96a8006f8c9d00627d8d00556e7d004d667600465f6f00395261
+00324b5a0033495600384d5a003e515e00495b6700546571005a6b7800607280
+00748c9d007a90a1008095a5007a91a200758ea000708b9e006b889c00617d90
+00546d7e0035485600283a47001c2d390016253000111e27000a111700040709
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000010300030c0e00071719000c1f2100112729001e3838002b4345
+003c5d6200436a71004b7780004e798300527c8700547b8900557a8b0051798e
+00547a91005f81960069889d007490a5007a96aa00819db0008daabc0098b2c4
+00a7bdcf00abc4d500b0cbdb00b0ccdc00b1cede00accddd00a6c5d700a3c0d1
+00a2bece00a1bcca009fb9c7009db7c50098b2c00094afbf0094afc00094b1c3
+009db6c600a3bbca00aac0ce00abc1cf00adc3d100adc3d000adc0cc00afbec9
+00afbec500a4b7c100a0b4be009cb1bc0095aab9008fa8b6008da8b7008aaabb
+0090aabb008da4b3008b9eab008497a4007e919e006d7d8a00606c7600545a61
+0047494c00232528001b1c200013141800080f1200071515000e232300193433
+00334d50003a565900425f63005270760063868b0075929900849ca5008fa4af
+0099a8b600a6b1be00a8b3bf00abb5c100afbac500b2bcc900b6bfca00b7c1cc
+00b8c2cc00b6c2cc00b5c3cd00b2c4cf00adc2d000a8c1cf00a3bacb0097b2c3
+008aa9bb00779baf00638ba20053768c0045617400384f5f002a3e4b001a2f3c
+0004101800020b110001060a0001010100000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000010000010200000b0a0002141200021b1d
+000323280006232e00072b380009353e0008353e0006343d00062a3500072130
+0007212c00061a210004121600060e10000b0e120011191e0018252d001c3137
+00243f4500314e56003e5f6a004b6d7e004f7a890051828f0052839000508390
+004f7d900048768a00417385003d6e81003b6e7d003c6f7f003d708100417485
+0049778c00557e9000608898006790a0006c96a6006f96aa007294aa007391a6
+007190a5006f90a5007092a8006e92a8007799ae007c9cb1007c9baf007e9cae
+"/>
+<palette number="437" name="040221-95" data="005773480055734a005a784e005f7e5200668255006e8758006e8558006e8359
+006d875b00708e6000739565007aa16d0082ad760088b67e008fbf87008fc087
+0090c288008ac2850088bf800086bd7c0083ba780080b775007db473007bb171
+00679a5c005c8a4f00527b4300496d360041602a003c5d2700385a24002f541f
+00274e1900183f1500143314001128140012251600132218001422190015221a
+001428180014291800152a1900162c1b00182e1e001b2f20001e312200253825
+002e3f26003c502a003f572d00435e3000436031004463320044623100456131
+00445c310043593200435633003e503400394a350036473300334432002b3c2c
+00243227001a241a001a211a001a1e1b001b1f1c001c211d001e281f00202f22
+00203e1f0021421e0022461e0026491f002a4d20002e522300335826003d652f
+004670370055894b005b8b4f00628d5300658c5300698b54006e8c5400728852
+00718753006e8451006b824f00697e4c00677b4a00617443005b693900535d31
+004a552b004152270040562a003f5a2e00405b2f00415c3000425a3200405633
+003d4e35003a4b390037493e0035483e0034473f00324340002d3b40002b343d
+00282d3b002421380023203900231f3a00221f3c00231f3e0028243f002f2e43
+00454b5000505d5a005c6f650060776900647f6e006c8c7700769b810080a789
+008ab691009dd0a3009fd6a700a2dcab00a3e2af00a3e6b200a2e5b1009ee2ad
+0093d3a00089cb97007fc38f0079be890074ba840068ae76005fa1690056935b
+004c844d00376a3700326632002e632e00245b26001e531e001d4d16001d4810
+00213c0a00223b0a00233b0b00253c0c00253e0f00284012002d461400344c17
+003d541b004c672b004f6c2f005371340057773d005b7d43005d82480061884c
+00649355006596570066995a0065985d0062935c005c8a5900567f53004e7149
+00446341003c593b00344f38002d42340026382f00203228001a30210015301d
+00143d1d00153f2000174223001b4428001f472900234a290029522b00325b2d
+003c672f00457237004e794000567d4600597c48005c7a47005f774600627543
+0063764400647a4700637f4b0060864e005c8a5000588d5300588f5400588d53
+00588c5500558c5500538f580051945a004f986100519f660055a56b0059a56f
+005ba471005ca472005ca4700058a36c0056a06700549d630052965e004e8d59
+004d8554004e8050004b804e004c824c0050864c00528a5000558d5500578d59
+005d8b5a00628b5e00699061007199650079a36b0081af760087ba81008dc289
+0091c68f0094c5900094c38e0092bc86008fb77f008cb0790086a9750080a572
+007ba5700075a06c0072a16b00709f67006c9b610069935a006587520060834f
+"/>
+<palette number="438" name="040221-96" data="00b39a4500a58042009b763e00916c3b00906d3e00906e410094714400997548
+00a17e51009c7d5000987d4f00967948009576410096774000987940009a7a40
+009c7b4100a4804000af823800ba843100c88b2c00d6922800da962900df9b2a
+00e9b02f00edb73000f2be3100f6c13400fbc53800fbc53900fcc63a00fac93d
+00f9cc4100ebc55000ddba5500cfaf5a00ba9e5800a58e56009c865300937e50
+00685e49005551420043443c00343b3b0026333b0020303a001b2e3a0013273c
+00141e4100211b45002a204f00332559003a2a6000412f6800463065004c3163
+006b3a52007a474b008a544400925f3a009b6a31009f6e2b00a3722600a6761c
+00a576140099701100906a150088651a0085631c0083611e00795c25006e552a
+00513f2a0045342a00392a2a00372b2c00362c2e00392e2c003c302b00433629
+004739250049321c004c33190050351700563919005d3d1b006c471e00744d1d
+00704f26006d532c006b5833006d5c380070613e00776b44007d734c00807a59
+008382660098937500a0997700a99f7a00aaa07c00aca17e00aca48500aea888
+00b7a78400b9a78400bca88400bba98600baab8900b6ae9100b0ae9700a8a893
+00a2a48e00978e7b00918875008c827000807365006e6257005b5748004f463d
+00503a2100573919005e381100623b0f00663f0e006f4612007f511300925c17
+00a4681a00c27a1e00c67d2000cb802200d0842400d4862600d7882600d98926
+00dc8b2600df8d2700e28f2800e38f2800e5902800e6912600e6912700e59027
+00e18e2600da882500d7862300d5852200cc7f2000bf761e00b16d1b00a36617
+009c6113009c6112009d6211009f621300a2671400a26a1800a6721d00b0802b
+00bf913900dcb35e00e1b96500e7bf6c00edcb7200f2d67700f7de7800fae680
+00fef09800fef29c00fef4a100fdf7a500f9f3a000f4f09c00f0ee9f00efeca7
+00eeecb400f1f0c500f1f2cc00f0eecc00ece7c100e9ddb200e7d3a300e8cc96
+00eac38200e9be7b00e9ba7400e5af6000e1a44c00dd983a00d88f2e00d58a29
+00d3882900cf852a00ca842c00c0823300b3824000a7814c00a2835300a38459
+00ab875700b38d5700b7956100b79d7300b7aa8600bcb49900c7bea300d8c8a1
+00e9d09f00f4d59900fadd9600f9dc9500f3d99400ecd08d00dfc28c00d5b385
+00d1aa7800cda06800cb995a00ca944900c48a4000bd813f00bc7d3e00bc7e3e
+00c2823f00ca8b3d00d0943f00d69d4800d9a65400dcae6100e1b86f00e5c078
+00e7c88600ebd19700e9d7a500e7dbb300e1dbbb00d9d9bc00d0d3b700caceb4
+00c0c6ac00c0c1a300bfb79500c0b08500c1aa7300c5a86500c3a85b00c9ae53
+00d0b14c00dcb44500e8b73d00dca83100ce9d2d00be992e00ae963300a2903a
+"/>
+<palette number="439" name="040221-97" data="008a631b0095701f008d661d00865d1b00855818008553150084501300834e12
+00784016006b3715005e2e15004c2413003a1b11002c1911001f1811001b1d17
+0017221d000c4e3300095a390006674000066f50000678600007856800089370
+0012a37800128b6f0013746700116860000f5d59000f5a55001057510013443e
+001632280019190f0021170a0029160500351b040042200300482402004e2902
+0065370200703802007b390200843602008e330200953102009d300200a53a05
+00a83f0e0091481f00874d22007d5326006f5b2b0061633000576430004d6530
+00375e250036551f00364d1a00484511005b3d0900683b060075390300833902
+00893601008533010085300200862d0300822b03007f290300762504006c2404
+005d1e0300541a03004c1603004817030044190300421b0300411e04003d2105
+003e230300492c04004f340700553d0a00594009005d440900664707006b4c03
+00654d0800574807004a43070041400500393d03002a3602001e2d0400142704
+000d1f04000514000006130000071200000a1200000d13000015160100251a03
+00492a090056340b00643f0e0069410f006e4310007845100080470e00834810
+0082490e006f3c0b00693708006332060053290200462501003a250100302a01
+00213801001d3f080019460f00174c1100165313001a5914001b5f0f001b6011
+001a591600184e19001a4b15001c4811001d3f0b001f37090020300900252f07
+00433e0500554a090068560e006e590e00755d0f007b6310007969120078721a
+0081852900989637009594360093923500838430007a842e007c8631008a872e
+0098741e00966f1800946b120091660b009066060093640400976404009d6606
+00a4690600b6670400bb690400c06b0400ca6c0900d1740e00d7801500dc801b
+00e4882700e58c2900e6902c00e0973300d19c3a00bfa13c00b19b3c00ac993b
+00ad903600ad8b3500a28a31009b862c0098832a009a7d2300a5782100ab761f
+00ae7a2200ad7b2100ad7c2000ad7f2200b1802300b8842900bd853100c18833
+00c28b3500c18d3400c4913600c4903a00c38f3b00c58e3700c28c3100c08b2a
+00bd872700b9822600b77b2300b3701f00ad671a00a65d1400a15912009e5810
+009e5810009e5c12009e601100a2691700a8752000b0812700b88c2f00ba9230
+00b8932c00b38e2d00a6822b0097782900866b2600745d1a0063511100514209
+004039040032310200272a0000202800001d2c00001b3302001d3b0300244006
+002c42080034450a003c490c00404d0f004a4e1100544b14005c471300604210
+005b3f1000563f1200514219004a472100454b26003e4c2700364c2500334d23
+00324f26003d562a0054663600636a35006a6a2c006a63250067551600775c18
+"/>
+<palette number="440" name="040221-98" data="00d96f4400e1834a00eb904d00f69d5100f8a35300fba95600faa85500f9a755
+00f29a4e00f0944d00ef8f4c00ef8a4b00ef854a00ef804700f07c4500f17b44
+00f27a4400f2734000f0703f00ee6e3e00ee6b3e00ef693f00ef673f00ef663f
+00f45f3d00f85c3c00fc593b00fc593c00fc5a3e00fa5b3e00f85d3f00eb603d
+00de5e3c00c6583a00b9513800ad4b3700a2433600973c350095383600943537
+007c2b310076252e0071202b00701925006f1320006f0f1d006f0c1b00730617
+0080031700930517009c0a1900a60f1b00b2181e00be222100c4282300cb2e26
+00e3483000ec543400f5603900f76b3e00fa764300fa7c4500fb834700fb904e
+00fc9f5500fcbd6500fcc96d00fdd67600fdda7900fddf7d00fde68400fdea87
+00fded8800fdeb8500fde98200fae57c00f8e17600f4df7300f0dd7000eed46c
+00eecb6800eeb86200efb46000f0b05e00f0ad5d00f1ab5c00f6ac5a00f0b059
+00eeb25c00edb36000edb56500edb66800eeb76c00efbc7400f2bf7d00fac488
+00fcce9100fce4a200fceca700fcf5ad00fcf7ae00fcf9af00fdfab000fdf9ae
+00fdf5a700fdf1a300fdeda000fceb9e00fcea9d00fce49700fcdc9000fdd289
+00fdc58100fdab6d00fda46700fd9d6200fe8d5900fd805300fe754d00fd6a48
+00fe554200fd4e3e00fd473b00fd443900fd413800fe3d3600fe393500fe3834
+00fe383300fc383300fc383200fc383200fb383300f6393300eb383400df3836
+00c7363700bb343600af323600a92f3500a42d34009c2731009d222a009b1b26
+009a152400980a21009808200098061f0098061e0099071e0097091f00a00d1d
+00b6141b00bb151b00c1171b00cd1b1b00da1d1a00e4201900ef241800f32718
+00f62b1800f9311700f9321700f9331800fa361a00fb361c00fc371e00fc3a21
+00f7462500f54a2600f44f2800f3592c00f2612f00f26a3300f3713800f3783d
+00f57d4200f8864100f78e4200f69a4100f5a74500f3b24800f3bb4c00f3c24f
+00f4c45700f5c35700f7c35800f9c15a00f9c05800fbc45a00fac75c00facb61
+00fad16600fad56d00fad57300fad37800f7cd7d00f6c47f00f7be7d00f7b679
+00f7b07600f7ab7400f7a67300f8a06f00fa996a00fa906400f9855e00f97856
+00f96a4c00f95b4300f94d3b00f73f3500f7313000f6272b00f21f2700ec1925
+00e8142200e6102000e50b1d00e6081c00e6081b00e8081b00e9071900ea0818
+00e8091900e60b1a00e50f1c00e4131c00e5181d00e7211f00eb2d2200ef3925
+00f5462900f9532d00fb613200fc6f3a00fc7a4000fc814500fc864800fc894a
+00f9894c00f3874d00e8834e00de804e00d9814e00d8854f00d88a5300d99058
+00da925900de925900e28f5700e18a5400dc815100d8774c00d7704500d76b42
+"/>
+<palette number="441" name="040221-99" data="00b04a2200993f1c00913a19008936160089331400893012008b3114008d3317
+008d3d20008e442200904b2500965429009d5d2d00ac663500bb703e00c07341
+00c5764500d37d4d00d1794900d0754600ce6f4200cc6a3e00cb673c00ca643a
+00ca693c00ca6c3f00ca6f4300cc744800cf794e00cf7a4f00cf7c5100cf7f50
+00ca855300c2966300c7a37000ccb07d00d4bb8900dcc69600ddc89800decb9b
+00d5c59a00cbbf9300c1ba8c00beb88a00bcb78900bcb68600bcb68400bdb27c
+00c0ad7800baa16800ae9b6500a396620096915e008a8d5b00878a5900848857
+00808251007f8154007e8058007c815a007a825d0079815c0078815b00717d57
+006d784f006e6f46006c6b43006a68400068673d0067663b00636236005a5b2f
+004a4c210045471d0040421a003a3d170034391400303612002c331100242d0c
+001b250700131a02001318020014160200161602001816020020170200281802
+00331b0200341b0200351b0300341d0300331f0300382304003e2906004d3008
+00593609007241100075471400784e180077511b0076541f00785a24007a5d26
+00825d2900865928008b5528008d53290090522a0095532b0099522a009b502a
+009a4c28008d3a1d0088351a00833018007c2b1400792a14007c2d150082351a
+00934929009650310099583a00995d4000996346009c6f4e00a27b5800b08a64
+00c19a6d00e2ab7a00e8ad7c00eeb07f00f6b37f00f9ae7d00f9a97700f6a370
+00ef995f00ee985a00ee975500ee965500ef965500f0945300f0915300ef8e51
+00ea8e4f00e28c4f00df8e5000dc905100d7905400d08e5500ca895400bc8353
+009a6b470090654200875f3e007452360063462f00563e2a004b3827003d3523
+00342f1f00202516001c2313001922110019231000202610002a2c13003a3318
+005e452200654924006d4e27007d572d008c5f32009a643600a9693800b86c3a
+00c76f3b00d2703d00db724000e4754300e6744500e7704400e36c4300e0693e
+00d25c3000d0592c00ce562900c7512500bf492000b3431f00a9401e00a5411c
+009f3f1b009d411900a1451a00a74a1b00aa512100a8572700a95f2e00a96435
+00a76c3a00a9733d00b27b4300bd864a00c4905000c9995600cd9c5b00c89e5e
+00bf9b5d00b5965c00ad905700a58a5000a0864d009d804500977b40008e743c
+0084703a007a6c3b00746a3a0070693d006c6a3c0067683a0060643900596236
+00506236004d6135004f603600536134005b613200655f33006d5b310070572f
+0072532c00774c2a007a47250080441f0088401b00913d1b00973c1c009a4122
+009f472b00a14a3100a2503400a2533300a4543300a7543100a7593100a86135
+00aa663900ad6f4000b0713e00b46f3c00b9693600bc612f00ba592900b94e21
+"/>
+<palette number="442" name="040222" data="005c6e69006a656000685f5b0066595600625454005e5053005e5253005f5454
+006f6660007d746a008b83750093907f009b9e8900a5a99500b0b5a200b5baa7
+00bbbfad00c9c4b900c5bcb200c1b4ab00bbaca200b6a49900b5a29500b5a192
+00b0908100ae887700ad816e00ac7e6800ab7b6200ab7a5f00ab7a5d00a97a5c
+00a9775e00a67360009f6b5d0099635a008b5951007d504800754b42006e463d
+0053332b004a2c2500422520003c241e0037231d0034231d0032241d0031271e
+002f2f2000334124003d4c2a004858300056633c00656e48006a794f00708557
+007e935d0086915d008e905d0090875d00937f5d00907d5c008e7b5c00847155
+0079674d00604e370052422d00453623003f301e003a2a19002f221500261f11
+0017231300142416001125190014271f00172a25001a2b2c001e2c3400243b40
+002c474a0034585c0036566100385567003755690037556b003b586b00425969
+0053625d005c625900666356006a6455006e6555007762550083655100906b4f
+00a0755400b78b6200ba916a00be977300be987400be9a7600c19d7500c2a175
+00c0a27600b8997200b0906e00ac896900a8836500a17b5d009970540091664f
+00895c480077443c0074403900713d37006f3932006d3832006b3a31006a3d30
+0067402c00673f2d00683f2e00673f2f006640300062423200634637005f4d37
+005f503b00675f480067634b0068684f006d6f5600727a5a00737d5d00788062
+00888a7000948f7600a1947d00a4968000a7998300ab9b8700ad9a8800ad9585
+00ac908400b5877c00b6887a00b7897900b88d7800b68e7100b18d6a00ad8862
+00a5755000a1734e009e714c00986b49008f664400876343007c5e4200765641
+006f4f4200593e3e00543b3c004f383a0041333700362e3400322a36002e2836
+002a25320028242f0027232c00222323002220210021211f0024221f00242321
+002423210025271f0027252000282822002e312a00353b340041463b00515543
+006f61490075644a007c674c00836b4f008e6d500098725100a6735700ae7454
+00b0735500a96f4f00a06a4d0093664a008f644e008d6856008e7066008a7a70
+00838377007a867a0077867a0077877a007e878100898b89008e8f8e0092938d
+00949386009593780096906b0099886200967f5d00947b59009277540096754e
+009b764b00a2744c00a7745000a7735900a5736800aa7a7300b2857e00be8e8e
+00ce9c9c00d6a5a600d6a8b300d3a7b600c9a7ad00bb9ea400b0979c00a38d8f
+00978184008d6f7b00805e6f00754e62006f4558006b4053006c465300715258
+00795f6400837172008c7f80008e8a89008e9195008c999b00849da0007fa7a3
+007daca60080afa4007bafa20079a398006f938e0065858200597876005d6e6d
+"/>
+<palette number="443" name="040222-00" data="005e5d4d005566410055644300566245006369480070714b0074754f00797954
+008f7c4c00987e4b00a2814a00b08b5200bf955b00cb956300d7966b00da986d
+00de9a7000dd997d00d78b7300d17d6a00c06f5c00b0624e00ad5e4a00aa5a46
+009e5b2a009f642400a16e1e00a27f2100a4902500a8932600ac962800b1902d
+00b18d3700a79b5700a19a60009b996a008d986b007f986d0078966b0072946a
+00637d5c0063665300634f4b006439440066243d00651d390064163600641132
+0064173000582b36004a2e3f003c3148003c3655003d3b62003f3a6900423a70
+00513e7d005c437f006749810078517a008a5a7300905d6d00976167009b615c
+00985f5700865949007648420067373c0061333a005b303800522b36004c1d33
+0049043b00510340005a03460065074900710b4c0074124f00771a5300862755
+00a1374b00be673600c8763800d2863a00d8873c00de893f00e8933f00e48d3d
+00dd6c4400d45a4200cc484100c83f4100c4364100b42d3b00ac273800a6253a
+00ac264200af373d00b1403500b34a2d00af4e2b00ac532900a0512500984e21
+008b3c250081302e0077253800741d3c00721641006e0d4c00670d51005f1852
+00512148002d2638002a2d3400273530002d4120003a3b1b004c3011005d330e
+00874609009b4a0800af4e0800ab500a00a7520d00985c13008f651900886a1d
+00796925006a5c40006d564300715146007549450079494300804b47008b4e4c
+009c6354009e755d00a1876700a08a6c009f8e7200a5908300ac938c00b09992
+00b1958d00b88e9200bb979300bea19500c8aa8d00d0a98100dd9c7a00e09f73
+00ea995500ee8f5000f3864b00f5834900f68a4700f6974900f2985000ef985b
+00ec926200e7816400e07b6700da756a00c66d6d00b66b6900ac7364009d7c69
+00859f870086ab8c0088b792008bc18f0086c5910081c18d0083bc920084b288
+007dad800076a47600759e750072916d006d8c6a0063856a005f7d6e00566969
+003e4f5f0039485f0035425f002e2f58002f2046002e2035002c2931002e3236
+003f3d3600544c29005b5f1f005b671b00646e21007d661f00925d1a009a4d0c
+008b450f00773917006d2f2400712b2400723131006a384300694056006f4d5a
+00825a62008e6666009b746e00a5867100b1977500b8a97100bcb56900bfba64
+00c7b55800cfaf4a00cfa23800c38e3200b6762700a5691e009762130088611d
+0079612a006a6b2f005f7327005a722400516c30004c713500507e370058872c
+00598e2c005a923200619c47006ca5560070b65d0070b960006bb4680066a870
+005ea27500589c6e00599b68005d9b6200629c6100679e5b00709e5300779851
+007f8c550081855900867f5a0084755a00886b5900786755006c6654005a5f52
+"/>
+<palette number="444" name="040222-01" data="00365e31002b5e2b00295d3200275d3a00265f3d002661410025623f0024633e
+0019584500154e490011444d00103f42000f3a38000f3630000f3229000e2e28
+000e2b28000f212c0010212c0012222c0014282d00162e2e00183230001b3733
+00234338002344390023463b0023493d00244d4000264e4100294f42002a4d4a
+002c494c002b465f0030496a00354c750044577b00536381005d6b870067738e
+009298ae00a3a9b800b5bac300c8c9c800dcd8ce00dfdbce00e3dece00dbddc4
+00c9d6b100a1bf88008baa7000769659005c85450042743200396e2b00316925
+0021501b001d4618001a3c16001836130017311100182f1100192e11001a2c11
+001c2c1100213b150027451a002d50200030542200345824003c5f2b00456530
+004d6f4000496a490046665300425c58003e525d003b4e6100394b650032466d
+002a4578002444830023418000223e7d00223e7800233e740024436a0026485f
+002647480025453c002544300025462c00254928002751260028532d002a5238
+002e52440034595f00385d71003c62830041658b00466993005270a900607cb4
+007a91c800869aca0093a4cd0097a6cb009ba9c9009eabcb009ca9d10095a3cd
+008f9dcd00798ab6007488b1006f86ac005f83a100557f95004d7d8600477175
+00416761003d645b0039625600375e5400365a53003351550031495e002f4567
+002f44700036477c00374a7f00394e82003b5387003b568d0039568d00385491
+0036539600315094002c4d9300294a8f0027488b0024418400223b79001f376b
+001c335c00192d3d00192b37001929320019292700192b1f00192f1900193514
+001538200015392600153b2d00163b3d00163d48001740530017425a00194362
+001b47690026566900285b66002b6064003267610037745e003e815c00458f5a
+004e9b6900509a6d005299720056957d00578f8400568d870056868d0057848b
+005a8184005b807d005882730058846f00568d6a0057966100569c5800509e51
+00468e5600448a590042865c003d7a5b00367053002e65480029584100254d3f
+00223f440021394500203845001e3845001c3c4000193b4600173c4c001b4453
+00214d5900275956002a6451002a694c002d6c43002f6e3c00336d330034692b
+00326125002f551e0029491700243c11001e2f0c0019240900151c0600131904
+0012190300111c0300111d0300122004001324070015280a0017300e001a3812
+001f411600244b1a0028511e002a5520002a5820002a591f0029591c00275619
+0022511600204c15001f4914001f481600204b1600214f190026571f002e6225
+003a712f0045843700508e400059964f005c975f0064976f006d9b780070977b
+0072907a006a8378005b727400566a6f004d616200495b5400455b46003a5736
+"/>
+<palette number="445" name="040222-02" data="008c6dcc007565cb006d64d0006663d500625dd2005f58d0006559cd006b5acb
+008568ce009674d900a780e500b888f000ca90fc00d892fc00e695fd00eb95fd
+00f096fe00f799fe00f096fe00e994fe00da8dfc00cc86fa00c380f400ba7aef
+009762cf008456bc00724aaa0060419c004f398f00453487003b2f7f002b276e
+001d1f5b00080e350005092a0002042000020422000205240004082b00060c33
+00101c520014236100182b7000172a7000162a7100152a7100152a7200152a72
+00152a7200182d760015296c00132563000e1d52000a15410008113900060d31
+0001031a00000218000001160000031b000106210003092900050d31000b1543
+00111d55001d2b76001e2f7e00203386002034880021358a0021368b0020368b
+0023378e00253a9500273d9d002d3ea000333fa400363ea400393ea4003f3ca3
+00473aa1005a41b0006c4bc1007f55d3008a59db00955ee400a867f100ba6cfb
+00d072fe00d674fe00dd76fe00de77fe00e078fe00df79fe00db79fe00d077fb
+00bf74f2009c63d4008958c100774eaf006e49a60066449e00533c9000413480
+0020235d00151a4a000a113700070d2f00050a280002041d0001011700000015
+00000014000000140000001500000016000100180001021c0003052300070c34
+00181c590023236b002f2b7e00342e85003a318c00443596004c3ca7005343b8
+00574ac8005850d400584fd300584fd200554cc8005449c2005349c200544bc9
+00524dcd004a4bc800434ac3003e46ba003943b200313ea4002d3a9b002c3796
+002f3491002f3189002d2e81002b2b7a0022256900171d56000d154200070d2f
+0001031500010212000101100001010e0000000c0001000c0001010e00010110
+0002041600080f2e000a1236000c163f00121d5100182563001b2b72001e307d
+001d3180001c3180001b3181001c3181001d3081001d2f7f001d2f7c001a296e
+00162360000f1b4e000a143d00050c2e000205220000021c0000001700000016
+00000015000000150000001600000017000000180000001a0000001b0000011c
+0000011d0000011e0000021e0000021e0000021e0000021f0000022000000323
+0001062800030a330009124300121a55001e2367002b2c780036338700403895
+00443da1004543ae004547b7004649bc00474cc000494fc2004f52c8005153ca
+005155ce004c55d2004753d1004152ce003c4ec7003b4ec6003c4fc8003f52cd
+004256d7004257d7004055d4003c4ec6003747b8003340a9002f3b9e002c3a9c
+002a3b9b002b3d9e002f3e9f00373f9f00443f9e0053409f006043a2006a49ad
+007451be007d5bd0008664e100956bef00a871fb00bb77fe00ca7afe00d37efe
+00d883fe00d88afe00c887fc00ba83fa00af81f700a37aed009772e0008b69d3
+"/>
+<palette number="446" name="040222-03" data="006c3d7400652a7c0063257b0062207a005e207a005b217a005a217900592179
+00602d8a00673395006f3aa1007242a500764baa007252a6006f59a2006c5b9e
+006a5d9a0061638a005e5f84005c5c7e0057577800535373004f5170004c506d
+003e475e003940550035394d0034334500332d3d00342b3a00362a38003d2b38
+0046303e005d4452006b505f00795d6d008568780091738300977788009e7b8d
+00b68fa200c197ab00cca0b500d1a4ba00d6a8c000d5a9c100d5abc300d3acc4
+00d0acc200c7a9bd00c1a5b800bba1b300b098ab00a68fa400a08aa0009b869d
+008e75900089728e0085708d007e6e8c00776c8b00746a8a0071698a006b6589
+006464870060577e005f557b005f5379005e5276005d5173005a4d6e00564c6c
+004c4a65004a46600049435c004b435a004e4459004f43570051435600554455
+0059445400624b5900624c5d00624d6100614f62006151630060526400615263
+00695262006d5562007159620071596300715a6500705c66006f5e6700705d66
+00735b66007a5664007c5663007f5662007e5662007d56630079576300725661
+006e535f006e505d006e4d5b006d4b5b006d4a5b006c465c0068426000613d65
+005e396a005f30780062317b0066327e006f3886007e408f008b4899009752a3
+00ab68bb00b572c700bf7cd300c280d500c685d800d18fdc00d898df00df9edd
+00e1a2d900dfa8ce00dda9cc00dbaaca00d5a8c400cea6bd00c8a2b700c19cb1
+00af84a100a57995009c6e8a009769840092647f00875a74007c536900714e5e
+00644a55004d394a0049384900453748003f3545003f34440040354400433847
+0049415200494154004a4156004a435d00494863004b4b69004c4e6d00515271
+00575775006a5985006e57880073558b00795390007d5097007e4b9b007f459f
+00813fa000813da200813ca400863aa9008c3cad009343b100984ab4009e50ba
+00a359c000a85fc500a667c700a66ac800a66ec900a876ca00aa7ec700ad89c4
+00b79ec600b8a2c600baa7c600c0a9c700c4a7c700c6a5c700c7a0c500c89dc1
+00ca9cbf00ce99c000cf96bf00cf91c200d28cc600d586c800d77ec700d576c6
+00d470c600d26ac400d166bf00cb61b900c35db900bb5cb900b45ab800a959b5
+009d58b4009057ae008655a2007e539300724f8800684c7c00604a7200574967
+005048630046475f003e445b0039415300363c4c00353945003535410035323c
+0037313900383039003b313a003d323b0041343f00473944004e404c00574755
+00604f5c006a54650074596d007d5c72008660770091647b009b688100a66f88
+00b1778f00bc7f9800c386a000c688a400c689a500c286a200bf819d00b77b97
+00b0778f00a9728600a16d8000996678008f617500835974007a517100704570
+"/>
+<palette number="447" name="040222-05" data="00619a8a003c776d003b756d003a736d00417c7200498578004e8b7b0053927e
+0068a68e006fad930077b598007ab79d007dbaa20080bda50083c0a80084c1a8
+0085c3a9008ec6b20095cab5009dcfb800a2d0b600a8d1b400abd3b400afd5b5
+009ebfa40094b29b008aa5930076998b00638d8300618b81005f8980005c8883
+005f887e005e8b7b005b847500587e6f004c7c6c00417a69003d756600397064
+00326a61002f685e002d665b002b665900296657002865550027655400276354
+00286555002d675b00316b6300356f6b003a7470003f7a7600417d780044807b
+0049867d004a877d004c887d004884790045807500417d73003e7a71003a756e
+0037706900377269003e766c00457b6f004a7d74004f7f790059847f005d8a83
+0067939100679b950068a399006ca89a0071ad9c0071ae9d0072b09e0077b39f
+007cb8a20084c1aa008ec7b10098ceb8009cd0ba00a1d3bd00a9d7bf00b0dbc5
+00bcdccb00bfddcd00c2ded000bfdccf00bcdace00b8dacd00aed2c40097c5b8
+007db6ad0057928d0048827f003a737100356f6c00316b68002c665f002b6459
+002b6a560030705a0035775e00377b5f00397f600040866500458b6c0046906c
+00468d6d00488671004b8370004e806f00547b6d0058776e0062796d00687d69
+0065876e00608a6f005b8d7000588e710055907300509277004e91790051927d
+00549282006089800061887f0063877e005780780050786d004b7164003c6c5e
+002c685b00306c5e0034716100377465003a7769003f7f6f004788730050917b
+00559782005fa0890061a28b0063a48d0065a4910065a6900063a38d005e9d89
+004e8b7b0049867800448276003f7a73003d7872003e7b750046837c004f8c82
+005694870063a28f0064a38e0065a58d0063a58b005fa18500589b7f00519479
+003e7c67003a77630036735f00306a59002a625400255f4f00235e4c00245e4e
+00255e51002a645800336f61003c7a6d0049877a005898860068a791007ab49a
+0098c7a50099c8a5009bcaa5009acaa70098c8a5008fc4a00083bfa2007dbba4
+007bbaa2007bbaa30079b7a50076b5a20073b49d0071b397006bae920064a98e
+0062a889005da38300559a800051947c004d8c790046827600417c7300417a74
+00427b7600447f76004b887a0051927f00579983005fa1870064a78d0067aa91
+006dae940072b2980074b59a0079b99a007fbe9a0082c29c0086c69d008dcaa0
+0099cda40098cca80094cbae0099caaf0095c7ae008bc4ae0087c2ab0086c0a8
+0082bfa5007ebca2007cba9f0079b69b0073b3980071b0970070ae96006faf94
+0071b0970074b19a0074b39a0073b39d0073b09c0070aa98006ca196006d978f
+00708f86006e8988006f908c0079998e007e9f96007caea00070ae980065a08c
+"/>
+<palette number="448" name="040222-06" data="0065000000600001005e0001005c00010056000000500000004e0000004d0000
+004a00000047000000440000003d00020037000400320002002e0100002e0000
+002e0000003b0000004d0000006001000072000000840000008a000000900000
+009c0000009904070096090f00880407007a000000720000006a000000620000
+005c0100004f0000005200000056000100570000005901000055010000520100
+0046020100400100003a00000038000000370000003700000037000000380001
+003a0001004400010045000200470004003e00030035010300300103002c0204
+001106040009050200020400000302000004000000070000000b0000001e0000
+00270000002e0000003200000036000000380000003b010000430804004a0f15
+00350b0f0032050a00300005002f0104002e0203002d0101002d0100002f0200
+003401000048040300511313005a222300671b1a00741511007a18170086050a
+008c000100840000007d000000790000007500000067000000610000005b0100
+005301050049010400400105003801060035020500320404002f0103002c0001
+0031010100350001003a0001003e0001004200010048000100500100005a0201
+005d0000005f0100005d0201005b030200570301004f010100450100003a0000
+002f0000002c0000002a0001002901010028020100270001001f0000000d0000
+0007000000000100000001000000010000000102000001050006000400160000
+003b0002005602020071050300790b080082120e009a201d00a3080c00ad040b
+00b7071100bb020000b4050100ae09030097030100880000007b0100006a0000
+004a000100430000003d000000340000002e0000002d0000002d0000002d0000
+002c0000002c0001002a0001002901020029010100290000002c0000002d0000
+003500020037000200390102003e000100450001004b01020050000100550101
+005900000059000000510000004e000000490102004302000038000100300000
+0021000000180000000f000000070000000100040004000400080000000f0000
+0021000000280000002b0000002d00010032000100360000003a000000410100
+004400000046000000470000004700000047010100480001004a0000004a0000
+004b0000004f000000550000005d000000640000006c000000780f0900771719
+00611311005a050c00500b0e004b030600500001005b00000067000000730101
+008901010094000000ab020000ad000000ba010000c3010100df0d0c00ea0b0c
+00ec000000d7000000d5000000c2000000b6000100a8000000970102008a0000
+0085000100800000007b0000007a02010076000000720004006d000300670001
+00640300006303040061010200610000006600000067000000720200006c0000
+"/>
+<palette number="449" name="040222-07" data="005b314300512d3e004d293a004a25360048213200471e2f00471b2d0048182c
+005315310054173300561a3500591e3b005d234100662a490070325100773556
+007f385b00a0497300ab547e00b7608a00bd6b9300c3769c00c3799d00c37c9f
+00b97b9a00af739100a66b88009a647d008e5d7200875a6d008157680074515d
+006549530047373900392c2d002b212200251b1e0020151a0020161a0021181b
+0033232d00422b3d0052344d00613d590070466600784c6c0080527300906484
+009b729100b78ca900c193b500cb9bc200ce9bc200d29bc200d29cc100d39dc1
+00ca96b800c590af00c18aa600c181a400c278a300c0729f00be6d9b00b96692
+00b2618a009f5075009344680088385c0086335800842f54007d284f00772248
+006a203d005d1f3300511e2a004418200037131600310f12002c0c0e00220608
+001b01040013000000100000000e0000000d0000000d0000000b000000080000
+0004000000020000000100000000000000000000000000000001000000020000
+0003000000050000000500000006000000060000000600000006000000070000
+000b0101000e0104001201070013000700150008001701080017010800160209
+0014020800110206001102060011030700110208001102090012020900110309
+000c030500080303000403010003030000020300000002000000010000000100
+000102000005020100070202000a0203000f03050017070a001f0c1100281219
+003e1f2b004c2234005a253d00622640006a2744007927430081274600882a4a
+008a2d4d0085324e0082304d00802e4c007b2e4f007829450071203d00681a35
+005112240049101f00410f1b00310a1300220813001b08100018090e001a0b0e
+0020101300351f24003c22290044262f00532d3c0060344a006e3b58007e4263
+00985579009f5b7f00a6618500b46f8f00c17a9800c982a300cf89ac00d18aaf
+00ce8ab000c787ab00bb82a400ae7c98009f768900906c7b00836670007a5f66
+0070545e006e515d006d4f5d00694b5a0065495700614854005c45510059434c
+00594248005c41480062444c006a495100754f5900825963008d606e00956977
+009c707a009f737c009f747c009e747c009d747900a0767b00a5787f00ab7d84
+00b3848c00ba879300bf8b9600bf8c9800bb8a9400b7869100b37f8c00ae7886
+00a9738300a66c8000a2687c009c647700965e6f008e566800864c5f00804257
+00793b5200783450007b2d56007c295d00832565008a216e00922578009a297f
+00a02c8500a6318700ab338c00ae379000b13b9300b4399800b33b9a00b13c9a
+00aa3c9600a23c8d00983d82008e3e770083426a0078415f006e3e5600693f51
+00633f4c005b3e4500543a410052383f0053353d0054353d0053323c0056303f
+"/>
+<palette number="450" name="040222-08" data="003f4b8a004444910043408e00433c8b004236850042307f00412d7c00412b7a
+00432b7b004331820044378900433c8c0042418f0040428b003e4488003c4284
+003a418000353c6d00343c6b00343d6a00353d6d00373d7100393e75003b3f79
+00433a8a0048358f004e319500522c990056279d0059259d005c249e005f219c
+0061229c00622da3005f35a7005d3dac005945b100554db6005550b7005554b9
+00545ab000555aaa00575ba500585ea5005a61a5005b63a6005c66a7005b6cab
+005c6fb3006075c2006470c600696cca006e68d1007464d8007763db007a62de
+007f67e3007c6de5007973e8007374e3006d75de006972d800656fd3005d69c8
+005661bf004c56a60048529d00444f9500434e9200434d9000424e9000404d90
+00404995004446980048439b00503f9c00593b9d005d399e006238a0006a3da8
+007243b3008654cc008c5dd8009266e4009469e800966dec009972ec009871e6
+00916dd3008c6ac7008768bc008466b6008164b0007561a4006b5e9b00645a90
+005b5283004b3c6a0045325d003f2950003c254b003a21460035193c00311334
+002d0b2a002e082b0030062d00310530003305330039063e0040084c00460b5b
+004c0d690054128100551284005613880058138b0058128c0058128c0058128c
+0057128b0053148b004f178b004c188a004a1a8900451b8300401c7b003a1c71
+00341c6700291c5100261e4e0024214b00202648001c2c48001a3047001a3347
+001b394c001d394f001f3a5200213a5300243b55002a3d59002e406100354368
+003d4671004f4f81005153850054588a00545e910055639600566a9b00596ba1
+005f6fb300626db800656bbe006b68c6007067ce007266d5007167d6006c6cd4
+006b6cd100696bcd006969cc006a67cc006d62ca00715dcb007656cc007850c9
+006e49b8006b48b2006947ad006345a1005d41930058408500513f7b004c3d74
+00483d6f00433b6b003d37660038336100332e5d00302857002b235100261d4c
+001a163f0018153c00161539001313330011123000100f2d00110d2c00130d2c
+00160a2e001a0a30001d093200200a3600230b3800260e3a0029103b002a133d
+002b193e002b1e40002d2043002e2243002d2444002e2547002e294b00322e52
+0033355b003642680035517400375e8200376b8c003579940031829b002c899e
+002a8ea000288fa1002992a4002898a7002a9eae002ca4b5002eabbc0031aec0
+0033b0c40037adc4003ca9c30041a1c5004498c5004991c3004d8ac0004f86bb
+005180b6005180b5005080b4005183b3005184b3005083b7005082b8005181ba
+005180b900527db500507bb2004c79ad00487da8004283a3003d87a100378aa1
+00328ca1002e899e002c8397002c7990002f6c890032618400355883003a5085
+"/>
+<palette number="451" name="040222-09" data="008168410058443a00422e32002c192a00230d25001a0120001b011f001d011e
+0029001700310012003a010e0043010a004c010600530405005b0705005f0a07
+00630e09008023100091331400a2431800ad551d00b8672300bb6d2600be732a
+00ce792800cd762400cc742100bf6f1f00b36a1d00ab631b00a35c1900954b13
+0087380c0067160100580e000049070000420403003b0106003901080038020b
+003e0a1300491116005419190064201c00742820007b2a2000832d2100903623
+009d412200b3532b00b5563600b85a4100ae5c4d00a55e59009f5d5a009a5c5b
+008e57600080536d0072507a005c4f8f00474ea400404ea9003a4faf00364eb4
+00354db2003458c0002c60d0002468e1002268e7002069ed001b66f2001862ed
+001c53d6001c4ccb001d45c000203eb3002437a7002b339e00322f9500442c80
+00542f690073384800803c3c008d403100923e2b00983c25009e3b19009f3b15
+008c3814007a2f190068261e005e202200541a2600400e32002c0944001e0a5b
+0012117100051f99000325a700012bb500012bbb00012bc100022cc900022acb
+000227bc000125ae000123a100011f9b00021c950002148b00020c8200030474
+000603640015094800190944001d09400022093f002308400025073d0024083b
+002e0a27003209210036081b00390719003c0617003f06150046081600510d17
+0060131600771d11007b1f0e0080210c008922070090220700982506009d2707
+009c250600941f04008c19020087160100831300007b0e0000770b0000710800
+006b050000630101006200010062000100660101006c0300006f050000720b01
+007f170100851b01008b1f01009a270100a82f0100b63b0300c2470500c85008
+00cc590b00ca5c1500c85c1600c75c1800c55d1c00c1581e00b7531d00a94920
+00833124007c2d26007529280070262b0072272a00772a280083332800893a27
+00924127009a4a2700a5512700ae542300b8592000b9581c00b9561700b25113
+009f400a009c3c0800993906008e3107008428090077220c00691b13005c151c
+00511323004a132900471332004b163600501a390058203b0060243a00672935
+006f2f32007c362c008c3f26009f4a2000b3511800c3561000cc580900cd5403
+00c84e0100bb480800ae4214009f3e20008e382f007e2f39006b263e00561c41
+0042124600340e4b0025105900201767001c1d7800162487000f2691000c2290
+00041b8f00071a85000e187f00191f7c00282b7d003d347700503d7100634962
+00765053008b5d43009f6d3800b5782f00cb852900df922500ed992300f69f23
+00f8a12300f59b2300ec8f2000e3821d00dc771900db711700da711700de751d
+00df7c1f00dd822800da8c2f00c67e2f00b1743000a16c350091653400805c38
+"/>
+<palette number="452" name="040222-10" data="0069613c00383423002d251c0023161500301a13003d1e1200411f1100462110
+004c1d0e004a1e0f00481f1000412412003b2914002d28180020281c0019281d
+0012281f00052922000427200004261e0003211a00031d1600041a1400061812
+001a110c00270e0800350b0500440c0600530d0700590d08005f0d0900670c09
+0062090600590c09004e0c0b00430d0d00310c0d001f0b0e00190c0e00130e0f
+00161c17001f241a00292d1d002e37200034422400374725003b4c27003d502a
+003b4f2b00324b28002949280021472800173d27000d34260009302500062c24
+000328200002261f0002251f0003251f0004251f0006261d0009271c00152b1c
+0024311d004e462a005f573700706944007a734900847e4f00938f4e009e9948
+008b9452007c9055006d8c58005a814a0047773d003e6e3c0036663b002b553e
+002a4c45004253460052574800635b4a0068584a006d564b00765b4a00855d45
+009d5837009b513300994b2f0097492e0095472d0098462f009f493000a64d33
+00ae5c3500b27b3e00ac793f00a6784100a1773e009d763c008a733e00797939
+005b602d00544a24004e341b00462f18003e2a16002e201400251b11002b170f
+003e160c00521a0e00531c0f00541f10005322140059251500642b1400642d17
+00572c19004b2816003f24130037211200301e110021180e0013140d00080f0c
+00030e090001100a0001110b0002130d0003181100041c140005221800052920
+000f393d001e4855002d586e0036637a00406f8600547f9600668ea5007797b5
+007f99bf00839bc2008198b9007f96b10076899d00677181004a5c6800364451
+0019282e0015232800111f2200091b1900061915000c181500171c1600232218
+002f291c0040372200483a2300503e24005e4726006d4c2a007150290071512a
+00754e2600784d26007c4c2700824826008545250087432500883f2400843b28
+00823c30007d3f3a00794345007b505800745c6c006f6c78006b8181005f8579
+004c847300457f6e003f7a6a003d7b6600357354002b693c001f552e000f3c1f
+00082b1900082116000e2014001a231400242917002f3d20003e4b31004d5e45
+00606c5a007173660086836a0099876e00a78f7400af8d7900a7807700a47369
+00965d5600894d4500793d39005f3330004c2c290035232400231e2100121a22
+00071a2200021d2000011f1f0001231e0002251f0004271f0005272000042821
+00042721000526200005251e0006221c00061f1a00041d1900041b1900041b18
+00041a1900041a1800041b1800031d1a0005201d000c272400152f2f00223f43
+0038555d004f6d75006c868c0086989e009babb200b3c0c900c6d6dd00d7e7e4
+00e6f0df00ebeacf00e5debb00e2cea900c0b08e00a09b77008a825f00686c4a
+"/>
+<palette number="453" name="040222-11" data="00cbac7b00d1b38100d5b78300d9bb8600dbbc8700debe8900debd8900debd89
+00d1af7c00c9a77400c19f6d00b9966400b18d5b00aa845400a37c4e009f774a
+009c7347008f643b00895e36008359310080562e007d542b007c532b007c532b
+007b532c007b532c007b532c0079512a0077502900764f2800754f2700714c23
+006d4a210069461f0067441f0066431f0064421f0063411f0062401e00623f1d
+005f3d1b005e3c1b005d3c1c005c3c1d005b3c1e005a3b1f005a3b2000593920
+0056361c004f2e16004b2a140047261200422210003e1f0f003c1e0f003a1d10
+0031190e002e160b002b13090028100700250e0600230c0500210b05001c0904
+0019090400160a0400180b05001a0d06001c0f07001e11080020130a0021130a
+0020130b0020130a002013090024150900291809002c1a0a00301d0b0036210f
+003d27140047311d0048321e004a341f004a351f004b361f004b361f004b351f
+004f38210051392200533b2300533b2300543c2400553c2300533b220050381f
+004e351d004a3218004d3318005034190054361a0058381b00614121006a4a29
+0080603b00896b440093764e00977b52009c805600a5885c00ad906200b39768
+00b59a6d00b69c7000b59b7000b49b7000af976e00aa936a00a58f6500a28960
+00977c540091744d008b6d470087684300836340007d5c3a0076563500725230
+006e4e2d006b492a00694829006848290064442700614125005c3d2200563820
+00452b17003d25130035201000311c0e002e190d002814090024110700220f06
+00210f060025130a0027150c002a170e00301d1200372216003e291a0047311f
+0060472d00674d31006e5335007c603e00896c470095764d009d7c5100a07e52
+00a07e500098774a0094754900917348008a6f4600836b44007b644100725c3c
+005d4a310058452d0054402a004d38240049342100493422004c382500543e29
+005c452e00634a32006b503400735435007a583600805b3600845f38008a6238
+008e6536008d6435008c6334008a613200855d300080572c007a532a00775128
+007650280077512a007a562f00805b350086643e008e6e490097785400a08460
+00a98f6a00b1967100b89e7600bea17900c0a37a00c2a57c00c2a57d00c0a57d
+00bfa57d00bba27a00b79d7500b3966f00ae8e6700a8856000a27f58009d7750
+009b734b0099704700966e4500956c4200946a3f0093683d0094683c0094693c
+00976b3e009d704100a4784700ab804f00b1885700b6906000bb976900bf9f72
+00c2a67d00c9ae8600d1b88f00dac29a00e3cca400ead7ae00f1dfb600f6e6bc
+00f8e9bf00f8e9bf00f6e6bc00f2e1b500edd9ad00e6d1a300dfc89900d7bf8f
+00cfb68600ceb28100cdaf7e00cdae7b00ccab7900ccab7900ceac7a00cead7c
+"/>
+<palette number="454" name="040222-12" data="003d3f37002b343300253232001f303200223235002535380027373a002a393c
+003b423f0041413d0047413b004a4139004d4138004f41390051413a0052423a
+0054433a0058483e0057483e0057493f0057493e00574a3e0058493d0059493d
+00694c3500735135007e573600845b39008a603c008862400087644400846c4e
+008371550086765c008b785d00917b5e0092795d0094785c0090775d008d765f
+007a705f00726a5c006b6559006c6253006e5f4d006f5d4b00705c4900715b48
+00715e4d006c6d5c006772630063786b005f7b6e005c7f7100597f7200578074
+0045817e003d84850035878c002f8b94002a8f9c00298f9c0028909d00288c99
+002886920021727c002069710020606700215d6300225b600022585c00245558
+0029525300294c4b002946440028403d00283a3700273834002736320028332f
+002a322e002f3330003034310031363200313632003236330034363200383730
+0044382c004b38290053392600563a2500593b25005f3e2500643f2400694123
+006a42220068431f00643f1c00613c19005e3b18005c3a180057381800553718
+005137190050361900503519004f3318004e3217004a301500452d1400402a12
+003d2711003d2412003e24120040251200442712004a28130051281200552912
+00542d16004f311f004b3628004a3a2d00493f3300464a42004a564f00565f57
+0063695c007a7662007a7966007a7c6a0079837300758c7d006e9387006e948c
+0077978a007e908100858a780087877400898471008a826d00867f6a00837965
+0083756000926f4f00976c49009d6a4400a5663c00a8663a00a8673c00a5693f
+00a07653009e7a59009c7f5f0099866600978d6d00919375008a977c0081957e
+0074917f0058878200518481004b818100407a7d00357578002c71750026676b
+001c5052001a4b4c0018464700163c3e0016323400182c2b001b282600212824
+00282c2500333026003e3527004a3b2a0059422d0067492d00724e2e007d522e
+008d542d008f532c0091522b0091502900904e27008f4b24008c4822008b431e
+0089431a00883f1700893b13008b3c12008c3c10008d3d10008f401400944418
+009b4e1c00a3582200ac5e2700b5642b00c06a2c00c56d2b00c96e2a00c96e2a
+00c76e2a00c5702c00be6f3200b46d3600ac6b3900a3683a009c643a00955f39
+008f5a370091593600945c380098613e009c6949009f725400a77d6100af886f
+00aa917b00aa9a8700aaa38f00abab9800abb4a300a7b9a900a2beae00a5c1b3
+009ac1b5008dbeb50081b8b10078afaa0071a8a2006b9f980066968c006c8f81
+00728774007480690076785e007870540079694b007b6142007b5a3b00795436
+007a503000764d2e00704a2e006a4a3000614a33005949360051473800444338
+"/>
+<palette number="455" name="040222-13" data="00210603001a090400170b0400150d05001f0f0400291204002d150300321803
+0047270500532e0a005f350f006c3d160079461e00835228008d5f3300926437
+00986a3b00b5844e00bf8e5700ca996000d29c6200db9f6400de9f6400e29f64
+00de975d00cc885600ba794f00a664440092503900884832007f402b006d3525
+005a281d00441b16003e1a120039190f00351a0e00311c0e00301e1000302012
+002824100022230f001d220e001a1f1100181d1500171d1700161e1a00141c1e
+0017211e002c2825003d2f2a004e362f00603a2a00723e25007d41210088441e
+00b15b2200b4572000b8541e00ab4816009e3d0f00963b0e008f3a0e007c3a11
+00662f120035120c00280e0c001b0a0d0019090e0017090f0015060c0016050c
+0019060d001c050b001f0509001e0406001e0303001c0303001a040400180508
+00170709001d100600251709002d1e0c0033210f00392413004b311a005d3c20
+007f58280091603000a3693900ab6e3f00b4734600bd7a5000c3895e00cb9164
+00d1966300df9c6300dfa67400e0b18500e1b78800e3be8b00ecc78600f4cb7b
+00f3cf8300f5d58b00f8db9400fbd99300fed89300fcd18400f4c57d00e9b879
+00dbab7300b9876000ac7e5800a076510088674500735a380061522e00574b27
+00474a2600434825003f4625003e4222003d3e20003f3a200040371e0042301d
+003e2a1900351509003613060038110300411502004a1c060054250d005a2f15
+00633c2700613f30005f433a005b423e0058424300513d410045363f00392d3a
+002b2434001714250014111f00110f1a000f0e11000e0d09000f110700111709
+0016220e0017230e0018250f001a270f001b2910001d280f001f290f0020270d
+0021240b001d220c001d230c001e240d0023260f0026260f0029280f00282910
+002729100027260f0028240f002a1d0c002818090024120400200e02001d0a01
+001c0600001a0300001601000012000000100100001003000014060100190902
+002c15030031180200361b0200401d0300471d0500501b050055190500561a02
+00531702004c130200460c02003f050200380300003502000032040000300800
+002d0900002a0b01002b0a01002c0a02002d0c02002a0c0100240e0200210d01
+00210c0100230d01002a0f0300341507003f210e00522e1500623c1d00704825
+007d4e2e00835539008c5b3d008b614100876642007c6043006f5b4d00695654
+005e515900534f5a0043465400363f5400343b560034385600333555002f304a
+0028283f0027213800291f3200291e32002c1f33002d243600342a3f003c324a
+00423b5700474362004c4c6e0058567300605d7200655f6e00665b63005d5059
+0059494d0056403e0051362f004f2c21003e1e150030140c00260c07001e0704
+"/>
+<palette number="456" name="040222-15" data="0099683f00bd654a00bc5e4c00bc584e00d34b4100eb3f3400f0352e00f62c29
+00fb101400f0100f00e6100a00c90f0700ad0f0400941307007b170b0073190d
+006c1c10003d2e1a00344024002b522f00336744003b7d59003f88630044936e
+0051b785004eb787004bb88a0042ad870039a2850032987e002c8f7800227969
+00176256000d473f00134945001a4b4c002a5e5f003b727200427e79004a8a80
+0062b493007aca9a0092e0a200a8dfa200bfdfa300c3d59c00c7cb9500d0af7c
+00db9c6100f4774400f7693c00fb5c3400fb5e3200fc603100fa643100f86932
+00e8642500dc612300d15f2200cd5c2500ca5a2900c8502400c6461f00c12f12
+00bb170500c1140200c7140300cd150500c8160400c4170300b01d05009b280a
+007343160061501a004f5e1e00386123002264290019612b00115e2d00105a2d
+000f5427000c3e23000830200005221d00041e1a00041a1700041b1600052621
+000e4f470015665b001c7d700021887b002694870028a99b0034c0b3003ed7cd
+0049e7da0053f1e6004fe8df004be0d8004bdad4004cd5d0004fcec60051c5bb
+0043bf9c0042bd950042bc8e0044b2930047a998004998a4004c8ead004e91b9
+0053a1b6006496ad006b91a800728da3008185a8008e94a100a39a8b00b29a73
+00d7834200da773c00de6b3700dc663400db613200cc4f2300bd441c00a23c1d
+008a4025006b573a00635d3c005b643e00496b400036714d00327a5b00307f68
+003280620039775600416f4a004b6a440055653f00625a39006f5a310077642c
+006f6d2900717b1900747f1700778316008793250083a33d007bb3520072bd5d
+0069d45b006bd65d006dd85f007adf6b008bd0700098c46600a3b45a00a2a248
+00a89b4000af914f00b4895400ba825a00b4706700b15b6700ab516a008d566e
+005a6a7c00506a7e00476a80004d6c870046798a0047878500459d8d0045af96
+0056bda70067cabb007bd5c5008fdfc700a1d8c400b4ceb900c6b7af00d0a09b
+00d0846d00ca836500c5835d00b8805700a97f51009e854600948a4200938f3f
+0095924200959243009b923c00a08d3900b1883200c6842e00cc812d00c37f2b
+00ae7e3000967e3100887d31007788350063943c004da050003daa640037af77
+0039b8840040c08b004dc6930062cf9c007bd9a40093e0ae00a7dfb300bad5aa
+00cac79800ddb87b00ecac6200f69c5200fb894400f5763400e8662500cc5e18
+00ae561100934f10007a450d006a390e004f341200343017001c2c1800092815
+00052313000421120007231600092619000b2d180009351b00063b1b00053e1a
+00063d1b00073d1a00073e1c000741210007412300093c22000a3622000b3020
+000d291f0014261d002a27190049341b0049412800504a340053573d00605e42
+"/>
+<palette number="457" name="040222-16" data="0064869400587b8a00527483004c6e7d00496a79004666750045657300456472
+0040616e00416270004364730044677600466a7a00476c7c00486e7f00486e80
+00486e8100486e8100496f82004b7183004e7384005176860053788800557b8a
+005c8291005f85930063889600648a9900668d9d0068909f006a93a2006f9aa8
+00739fad007da8b3007da7b1007da6b00079a0a900769aa20073959d00719198
+00627b83005b727a00546971004f636a004b5d6300495b61004859600045565c
+004353590044505500424c500040494c003c44470039404300373d4100353b3f
+002e3439002c3337002b3236002c3337002e34380030363a0033393d00384043
+0040484b00535c5f005d666900687173006c757800717a7e007a8386007e898d
+008a959a00909b9f0097a2a5009faaac00a7b3b400abb7b800afbcbd00b8c5c5
+00bdcdce00cadadb00cfdfdf00d4e4e400d5e5e500d6e7e700d8e8e900d8e8e8
+00d7e7e700d5e5e500d3e3e300d2e2e200d1e2e100d0e0e000d0dfde00cfdedd
+00cedddd00ccdbdc00cbdadc00cad9dc00cad8da00cad7d900c8d4d600c3d1d4
+00b8c7cb00b1c0c400aab9bd00a6b5b900a2b1b6009baaaf0093a3a9008d9ea4
+008799a0007a8d9600778c9500758b9500728994006e8994006c8894006a8995
+006788950066889500658895006487940064869400618290005f7f8f005e7e8e
+005d7f8f006284930064869400678896006b8b9a006f8f9d0070919f007192a0
+006b8b9a0065839200607b8a005b76850057718000506978004a626f00465b68
+00435663003f5260003f5260004053610042576400445a6800455d6c00445e70
+00436074004360740043617500436275004362750043617400415f7300425f70
+00415e6f003f5d6f003f5d6e003f5d6e003f5c6d003f5c6d00405b6b003f5a6a
+003b53630039516000384f5e00354a5900324553002e404d002a3b4800273642
+0024323e00232f3a00212d3800212d3700212d3700212d3800222f3b0024323e
+002737470027384900283a4b002a3c4f002b3f52002d4154002f44570033485b
+00384c5e003d51630043576800495e6e004f647400566b7b005c718100637887
+00697d8d006e829100738896007a8e9b007f94a000869ba4008ca1aa0092a7af
+0097adb3009cb1b6009fb3b700a1b3b5009eaeb20099a9ac0094a3a6008e9ca0
+0088969a00829296007e8e94007b8d9400798d9500798e9600788f9600788d96
+00778a93007687900076858c007582890074808700747f86007581870076848b
+007a89920080929900869aa1008ea2a90093a8af0098adb4009cb0b7009db1b7
+009baeb40098aaaf0095a4aa0090a0a6008e9ea4008a9ba10085969c00809198
+007b8e9500778c9400758c9500738c9500708b95006e8a950068889300668794
+"/>
+<palette number="458" name="040222-17" data="0091563f0078443100693d2f005a372d005a362d005a352d005a342b005a332a
+004f29220049241e0043201a003f1c17003b1814003714110033100e00310e0c
+00300d0a002f09070031080800330709003b0a0b00430d0d00470f0e004b1110
+00581e19005f241d00662a22006e30280077372e007b3c3100804135008b4a3a
+0094524300a4514900a8514900ad514a00ad524b00ad534c00ab514a00aa4f49
+00a74242009d3e3d00933a39008937330080342e007d322c007a302b006f2b24
+0061221e004015110033110d00270d0900200a06001a07040019060300180503
+001a0806001f090800240b0b002a0c0d00310e0f00340e1000370f11003d1115
+00411619004a201f004b2321004c2724004b2826004a2a2900492e2a0049302a
+00472d2300462921004525200046231f0047221f0048221e0049221e004b201f
+004e2222005c31320069423f0077544c00805b510089635700966c62009e7069
+00a9777300af726c00b66e6600b2676000af605b00a253550091454e00843940
+007a2d3300641b1d00591719004e14160049131500451215003d101000370d0c
+002d0806002d0907002d0b08002d0c09002e0e0a002f120d0031140e00361711
+003c1a12004321170042221800412319003e221b003a221b0038221c0037221d
+0037282600392b2a003b2f2e003d2f2f003f303000453133004b363700553b3c
+005d3f40006e43420071454100744740007d4c40008451430088594600935d49
+00a26a4c00a26c4b00a36e4b00a16d4a00a06d4a009968490092644800885c44
+007b543f00614332005c3f2f00573b2d004b332700412b21003a231c00341d17
+002e1713002c1611002b15100028100f00250e0c00230b0b00220a0b00220b0d
+00210c0f00200d11001f0d10001e0e10001d0e11001f0e1100210e1200230c11
+0029090d002b080c002e080c0033090f003a0c1200440f13004e121500561515
+005c1916005d1b16005e1d1700601d1700601d17005f1f1600582015004f1d12
+003e1511003a14110037131100311213002c13120029121200291112002d1012
+00351014004111160052151800631d1b0071241d007d2c200086322300903728
+009a402d009d4631009a4d35008e52360083533b007a53400075534300745248
+006f544a006d594e006a5b53006a5b54006f575700765559007e5b5700876359
+008e6a5900946e5a009a6f5c009f6d5800a36e5300a56b4d00a3644500a16142
+009d5b40009a593d0095563b00915037008e4e3600894c380086503c00825540
+007f5541007d543e0079503b00734b38006c463500643e310060382a005e3225
+005c2e21005c2d20005d30220061372600683e2a007147330079513c00805a47
+0088654e00936b4f009c6b4e00a36d4e009a684f0092674f008e634d00895a46
+"/>
+<palette number="459" name="040222-18" data="003464050032560600314a0600313e07002b360600252f06001f2f05001a2f05
+0009350600053205000130050004310400073303000f370200183b01001b3a01
+001f39010024360100203501001d3401001d3601001e3801001f380100203801
+00243201001d2e0100172a01000e2901000628010003290000012a0000002a00
+00002a0000002a0000002a0000002a0000002a0000002a000000290000002800
+0007200100091f01000c1e01000c1f03000c2106000b2307000b25090009280e
+000b291200112c1a00132f1d001532210014372900143d3200183d3b001d3d45
+0032385b003e345e004a306200523259005b34500060345100663452006d3852
+006c3753006c3461006e315a00712f5400702f4d006f2f4700713b3a006a4430
+00464e21003b4c2500304b2a002d472b002a432c002b442b002c462a002a4822
+001f4d180010570f000b57100006581100085e16000a641b0014722e001f8241
+00439a55004a9f4d0052a4460052a5400052a73b0054a938004ca83c004ba641
+0050a3470051913c0049822a0042731800396b110030630b001e520200104500
+00072b020007240500081e0900091d0b000a1d0d000b2010000b2a0f0010320f
+00153b0e001b460c001b470d001c480e001b461000174b100014500f0014550d
+00135e0300115c0200105b01000d5901000b57010006520100034e0100024902
+0000450100004101000040010000400100003f010000400100003e0100003b01
+0000330000002e0100002902000026020001240300032206000321080003210a
+0003220b0001250a000124090001230900032509000326090003290a00032e0b
+000241090001460800004b07000153040001580200015b0100005b0000015c00
+00015f000001740100027b010003820100078e0300079406000793080009890c
+00087b150007781600077617000c731b000e711d00156e1f0020632300295627
+003047280032352500312a25002b221f0029211b002c21180035261600483014
+0072481400774f14007c56140085621700896b19008e761a0097801b00a5851c
+00ae872800ae943300aca24900a4ab5b0098b1670088b868007bb95a006da955
+005ba04800449847002f93480020894e00118a5000098c420006853400087b21
+000b711200156b0800276405003c640800506a0b0062750d006d7c0e0071870e
+00728b0f00728d0f00748a12007587170079871c0077811f00707f1f0061781c
+004d6f18003862130025541100174a10000f411100104011001b4310002b480f
+003e500b0050540a005f570b006c550a0073580b007b5d0b0081610c008a690b
+0093730b00987e0e009c7e0e00957f100089800f00777d0e00667b0c00597e08
+004e8807004c8b04004e870500508105004f7906004b720600446b06003b6505
+"/>
+<palette number="460" name="040222-19" data="00c3481300df3f0700e5410700eb430700e9491000e7501a00e4512300e1522c
+00c3454b00b1355200a0265900931e5800871758007f14620077126c00741275
+0071137e006513ac006113bb005d13ca005d12c7005d11c5006011c2006311c0
+006613b7006614b3006715b0006617a900651aa20060199b005c199500561687
+004f167c0047115d0049104b004c103a0053112a005b121a006111140068110e
+007e1304008a110300970f0300a20f0300ad100300af100300b1110300b21203
+00ad110300981004008b0f04007f0f0400790e0400740d0400710d04006f0d04
+00650b0300590c03004d0d0400420c0700370c0b00350b0d00340b1000340b16
+00340b1c0041093700410a4700410c57003e0c5f003b0d6800320e7900290f8a
+001e11a4002310b1002910be003311bd003d13bc004313b9004a14b7005815b0
+006316a60072188a0075188c0079188e007c178d007f178c0085178a008c1687
+0096157a009f166b00a8175c00aa185b00ad195b00b11b5b00b61d5c00bc1e5d
+00c11e6100cb1f5e00d01f4e00d51f3f00d81f3700db1f2f00e21f2000eb2011
+00f51e0500f71d0500f91d0500f81d0500f71d0500f71d0400f61d0400f31c04
+00ee1b0400dd180500d5170600ce170700bf160b00ae1410009f13150090121a
+007a12200076101e00730e1d00700d1c006e0d1c00680c1f00600d2b0059103d
+00520f51004c1674004d177b004f18820053198c00591b90005e1c9600641fa3
+006221c5005922d6005023e8004a22ef004521f6003c1ef200341ae7003219d5
+003518c4004816a0005017970059188f0068198500751a77007d1f6a00862e5a
+00943b4d00943b4d00943c4e00983e4f009b3f58009e3964009d3575009a3681
+00994389008844ab008243af007d43b4007741b4007336b4007029b400701bad
+0080188c00851887008b18820091177900981667009f155500a1134300a01432
+009d1323009a111600971012008d101400810f1600750d170069091700590b14
+0037091200300a12002a0c13002010160017131700101518000e121b000d121c
+000b101e000f112700141435001c174500271b550035206400412274004b2383
+00512188005d208a00681c8a00721b8a007e1889008b1a8700941b8300941b82
+008c187b00861673007f12670076115d006d0e5600670d5500660d55005f0d5a
+00540c6300460c73003a0d83002e0e8d00210c8e00180a93001609970017099c
+0018099e0018099e001809a0001b0ba100190b9400180d8300191174001a1565
+001b1857001a1a460018183d0018183d0017153e0015133c0013133b0013133a
+0015153c0017193900171939001d1a3c0027183b0030133900390e3600410933
+00490632005a092e0065142b0072232c008233280093412300a6431d00b94618
+"/>
+<palette number="461" name="040222-20" data="008dc4ad0095caa60096c89f0097c798009bc69400a0c591009ebe8a009db883
+0099a76700949c580090914a0088864000817c3600766f31006b622d00655d2c
+005f582b0049452a00434029003e3c28003d3a28003d3828003e3828003f3928
+003f392d00403b2e00423e30004542360048463c004b4940004f4c450057554e
+005b5854005c5c5a00595e5b0056605d0057635f00596761005b695f005e6b5d
+006d755700737b5600798255007b865d007e8a65007f8c6800818e6b00899776
+0097a07900b7b37500c4b57500d1b87500d3b37500d5af7600d3ac7500d1a975
+00c59f6800c0995f00bc935700b88f5100b58b4c00b1884b00ad854b00a48449
+009a804b0084764f00807752007d7856007e7a5a007f7d5e0084866600898e6f
+00909779008f9277008f8e75008c8972008a846f0088826f0087806f00847d6d
+00817c6e0077766b00737468006f7365006e7266006d7167006e71690072716e
+007a7970007e7a6d00827b6b00827c6b00837e6b0081816b0081846e0082836f
+007f846e007473630068695c005d605500565d52004f5b4f0045534b003c4f48
+00334949002f4248002b3c4800293b4700283a4700283a4600283743002a353f
+002a343e002d3138002e3136003032350037363200423931004b3b2e00503c2e
+005b413200624932006952330071573400795c3500856633008d6b3100916f32
+0094713400947b3b00977f3d009b833f00a48d4600ab944a00af985000b09853
+00a8945d00a7945e00a6945f00a8955e00ab965e00b1976000b7995e00bf9e60
+00c5a36300c1ad6300bfad6000bead5e00baa85900b3a04f00af994500ab923e
+00a4933a00a1933b009e943c00958f400088853e007a773b0066633600585330
+004d4728003c3f2600393f27003640280037422a0037412d003b403200463f33
+005e463100634c320069523300756139007f6b400088754b00937d54009e7f57
+00a37b5600a87b5400a77c5200a17b5000977953008d78570087765b0081725c
+00806f5800816f560082705500857356008a785a0091815f00978a67009d976f
+00a5a37a00aaad8100b1b58800b4b68b00b4b48c00b0ad8900a8a784009f9e81
+00929679008a907400838871007c826d00767a670070746100676c5b005c6556
+00526357004e625e004f65650055686a005d6e71006172730064747100647470
+006474720068787600747e790085887d0097947e00a89f7b00b6a67600beaa6e
+00c1ab6600c2ae6300c4b16200c8b66200cdc06500d2cc6a00d7d57000dbd970
+00dcdb7300dbd97400dad77500d8d77500d7db7a00d7df8200dde68e00e1ec9a
+00e4eda500e9efaf00e9eeb400e7edb600e4eab000e4ebaf00dee8ae00d4e3af
+00c6dcb100bcd3b000b0d5ba00a5d1bc009bd0bc0093ccba0094ccba008dcdba
+"/>
+<palette number="462" name="040222-21" data="002e074600230555001f045c001c0464001603670011036b0012036800130365
+00120159001100540010004f001400480019004100230037002d012d00320228
+0038032400480312004c030d0051030800520306005403050054030600540408
+004f0410004a041300450417003b03180032021a002d021a0028021b001c021d
+0013021e0007001f0006001d0005001b000600170007001400080012000a0011
+0011000b00160008001b0005002100030027000100290000002c0000002f0000
+0031000100380401003d080400430d0700491007005013080052130800541409
+00531308004d130700481307004513070043140800431408004314090043140c
+00400f0d00330710002904150020021b001c011d00190120001402260011022c
+000f0233000e0235000e0237001103340014053200170631001b073000230a2e
+002f0c2a004a1924005b2727006d352b00763d2e007f4531008f563900a16848
+00b27a5e00ad786a00a9777600a4757c009f748200956e85008e6d9100867299
+0086759d007d6e9a0077679500726090006d588c0069508900604b8000624d75
+0076555e00835c560090644f0095654e009b664e009e664f009d694c009c6649
+00966045008e513700904e3500924c340092453300914535008f463700884439
+0071393200672e2a005e2322005a1e2000571a1e0055161b0056121900541016
+004f0f1500450b0f00400a0d003c090c0037070b0036060a003606090037070a
+0036070a00310708002d0707002a07060027070600210504001e0504001c0405
+001b0306001b020b001b020c001b020d001a010d001a010d001b010b001c010a
+001e010b001e010b001f020c0020020e0021020f0021020f0021020d0021020c
+0021020a001f0208001e0208001d0208001b0208001802090015020a0012010a
+000e010b000e010b000e010b000f010b0011010c0013010f0015011300180217
+001a011c001a0121001d01240020022500210228002202280024042800280428
+002d082b002e092b002f0a2c00300f2f00321231003414300037152d0037142b
+003a1426003b1323003f162100441a23004a202500532524005a2823005f281e
+0060251b005f2619005e241a005b291f005f302300643b29006c452d00764c32
+007e553400865638008b593e00925b4000945e4300996242009f664000a66a3d
+00aa6c3900ae6e3900b36d3800b2693900af653900a9643b00a2653e009b623e
+0092613e00865b43007a5347006d4a4a0063424e00573e52004d365600463355
+003d2e5b0035285f002a1e650022136d00190b750011057e000c028300070187
+000601890008018e000b028f000e02900012028e0016028b00190284001e0579
+0025056f002d0662002c075a002b0755002f0851002f064b002b084900280649
+"/>
+<palette number="463" name="040222-22" data="0057617f005b6788005b6686005c6685005d6683005e6682005e6681005f6681
+0062688300666c87006a708b006e759100727a980071799700717997006f7795
+006d759300636a87005e6583005a607f005b607d005c607c005e627d0060647e
+006f759000787f99008189a3008891aa008f99b200919cb400949fb60098a3ba
+009ca7bd00a5aebf00aab3c200afb8c500b4bcc700b9c0ca00bac0ca00bbc1ca
+00b8bcc000b1b4b700aaadaf00a0a3a40096999900919393008c8e8e00818383
+00777a7a006364650058595a004d4e50004243450038383a00323235002d2d30
+001b1a1d00141417000e0e11000c0d10000a0c0f000a0c0f000a0c10000c0d11
+000d0f14000e1016000e1016000f1117000f1017000f1017000e1016000e0f15
+000e0f16000e0f16000f1017000f1017000f1118000f11180010111800101219
+0011121a0012131a0013131a0014131a0014131a0015141a0017161b0019171c
+00211e220028242800302b2f00342f340038343900413e43004b494d00565358
+00615e630078757900817e81008a888a008e8c8d00929091009a989900a2a1a1
+00afb0b100b5b7b800bcbfc000bec2c400c1c6c800c6ccd000cad1d500cad3d8
+00c6d0d800b8c3cd00b3bec900afbac500a6b0bb009ba6b100909aa600848f9c
+006f788700666f7d005d66740058616f00545c6a004a52600040485600363d4b
+002c3340001b202c00171b2700131723000c101a00080a120005070e0003040a
+0001020700010206000102050001020400010204000102040001020500020406
+00040608000e0e12001111160014151a001c1d240024262e002c2f3900343843
+00444a5600474d5a004a515e004e566600515a6c00545c6f00555d7300565f77
+0057607a005a6380005a6481005b6582005e678500616a8600656d890068718c
+006b738c006b738c006c738d006d758d006e758d006f768d0070778d0071788e
+00737a8e00777d8f007e839300838998008b909e009297a400999fac00a1a7b4
+00aeb6c200b0b9c500b3bcc800b6c0cd00b8c3d100bac5d300b9c6d400b8c4d4
+00b4c0d200adbacd00a5b2c7009caabf0093a0b6008a96ac00818da200778399
+006f7a900069748800656f8100626b7d00616879005f6577005d6477005a6276
+00585f7300565c6f0052576a004e516300494b5d004647570044455300454451
+0046444f00484650004a4753004b4a55004d4c57004e4d58004e4d58004c4b56
+004848530043434f003d3e4a003838440035343e00313039002f2d37002d2c35
+002e2d36003130390032313a0032313a0033313900333139003331390033313b
+0032313c0033323e0032323e0034333f00373643003a3a48003c3b49003e3d4c
+00403f4f004342530045475900484b60004b4f67004d536d004e567200525a76
+"/>
+<palette number="464" name="040222-23" data="007277880067708200626c7d005d6879005b64740059606f00585f6d00575e6b
+005a616c005f657100646a76006e727e00787b8600838590008f909b0094959f
+009a9ba400adafb400b2b5bb00b8bbc200b8bdc500b9bfc800b8bec900b7beca
+00afb6c300a7b0bb00a0aab40099a2aa00939aa0008f969b008c929700868a8e
+00828386007b797e0077767b0073747800717377006f7277006f7277006f7378
+0075777d00777980007a7c8400797c8500787c8700767b8600757a8500727884
+006f7681006f717c0072727d0075737e0077747e0079757f0079757e0079757d
+00746e7300726b6e0071686a0070666800706567006e6567006d6568006a6369
+0064606800555259004d4b520045454c0043434a00414248003e424a003f4650
+0049536300515c6d0059657800627083006c7c8e0071829300768898007e93a4
+00859eb00096afc3009db5ca00a5bbd200a7bed500aac1d900b0c6de00b3cbe2
+00b6cde100b7cbdf00b8c9dd00b8c7db00b9c5da00bac5d900bdc7db00c1cbde
+00c6cfe100d1d7e600d6dae600dcdde600dedde500e0dde500e2dee500e3e0e7
+00e3e1e900e0dfe700dedee600dcdce400dbdbe300d7d6e000d2d1db00cccdd6
+00c6c8d200b6bcc900b1b8c600acb4c300a2adbc0099a4b6008f9bae008693a5
+00768597006d7e910065788c00617588005d738400556a7d004e62750048596a
+0044526200444d5900454d5800464d58004a5059004e535c0052566100545863
+00585f68005a616b005d636e005e646f005f65700062677300656a7800666c7a
+00676d7e006875880069768b006b788e006c7b92006e7d940071809700768298
+0085899a00888c9c008c8f9e009799a600a2a3b000abadb900b4b6c200babecb
+00c0c4cf00c8c8d300c9c8d200cac8d200cdc7d300cdc8d200cdc8d200c9c7d2
+00c1c1d000bfbfce00bdbecd00b8b9c900b5b5c600b4b1c300b2aec100b0adbe
+00adabbc00aaa8b700a7a6b400a2a2b0009ea0ae009b9fad00989eaf00969eb2
+00909eb4008e9db3008c9cb2008595ac007d8fa60076899f006f849a006b8098
+006a7f99006b819b006f849e007387a0007888a0007c8a9f0080899b00818898
+0083889400878791008b8790008e8a9000918c93009290980095939d009797a3
+00959ca60099a0ab009ca4b000a1a9b300a5adb700a7b3bb00adb9c300b4bfcc
+00b7c6d200bbccd800bdd0df00c2d3e200c6d4e300c7d4e100c7d3de00c7d0db
+00c2c9d400b9c1cb00aeb7c300a2acba0098a1b1008d96a900828ea0007c879a
+0077819600738094006f7f9200697c9000657a8e0061778d005e748a005d7286
+005f718400647383006b788700717c8a0079828f007f889500838b9800838b9a
+00848a99008386930082838f00817f8b007f7e89007e7c88007c7b8700767886
+"/>
+<palette number="465" name="040222-24" data="00260707002a0807002d070600300606003106060032060700300506002e0406
+0029010300280204002703060029050c002b071300300b1a0035102200371023
+0039102500391226003811250037102400351126003413290034122800351227
+00321321002f0f19002d0c120028090d00230609002204080021030700210509
+00240d12003a1f3000482a430057365600643e660071467700784f7c00805882
+0096738a009d758800a5788700a2708100a0687c009d6577009a627300905d70
+00835a5e006b4637005a3624004926110038170a0027080400200504001a0205
+000e0709000f0e0f0011151600171f20001e292a00202c2d00232f3100263434
+00273637003635390041393a004d3d3b0054403b005c433c0067463900684134
+006930260065251c00611a120063170c00651407006512050065110300641100
+00630f01006108000064090000670b0000690d00006c100000761701007f1c04
+00891d05008b1d05008d1d06008b1c06008a1b0600891e050087200700802209
+00781d090063140900580e07004e0806004c0605004a04050048040400490304
+00500307005202060055010600550005005500050053000400510003004e0003
+004a000500410005003e0005003b010500340104002d01030026000100210001
+001d0000001e0000002000000021000000230000002500000027000000290000
+0029000000270000002600000025000000230000001f0000001b000000170100
+000c020000080200000403000003030000020300000103000000020000000200
+00010200000503010007030100090401000d05020012050500170609001b060c
+002605100027051000290510002d050f002e050f002e0510002d071100290714
+0027071600210813001f0913001e0a13001b0d1100151211000e1a14000a2019
+0007251b0008251b0009251c000c231a000f2019001120170013211800162219
+001a2117001f1e15002818110031110d003b090800420505004c0603005b0a09
+007b1f0f00832816008c321d009e452b00a0523c009c5c430097614e00916354
+008a67510086735c0091856b009592810090968c008a91950080839500726d86
+0061567400574b630057475c0054425600553e560053345000512845004a1735
+003e0c24003306180028030d001e03090016030500100302000d0201000b0101
+000a01000009000000090000000a0000000a0000000c0001000e010200110102
+0013000200150002001500020016000200160002001600020016000300160003
+0016000200150002001500010014000100130000001200000011000000100101
+000f0404000e090900100d0d00120e0e00130d0e00140d0f00130c0d00120c0b
+00100d0c0011100f00171312001b1413002113140026101200280c0e0029090a
+"/>
+<palette number="466" name="040222-25" data="00866951006b4e39005c402d004d322100442b1c003b25180038231600352215
+00291a0f0026160c0024120a0027150d002b181100331f17003c261e00412921
+00462d24005a3c2d00634331006c4b360072513a0078573f0079583f007b593f
+007958390076573600745633007357360073593900745a3b00755c3e00796143
+007f6747008b765000917d570097845e009b8661009f8865009e8765009e8666
+00917c5b00867353007c6b4b00746044006d553e0069513b00654d3900614935
+00604a35006a563900735d3f007d654500846a4c008c7053008e735500907657
+00927758008e7254008b6d500083644c007c5b480077564400735241006b4a3b
+006943370069443700714e400079584a007d5e4f00826554008e726100987e6c
+00ab917900b29a7f00b9a48500bfa98700c5af8900c5af8900c5b08a00c5ad85
+00c2aa8000b7a27300b39e6d00b09a6700ae986500ad966300a98f5f00a4895c
+009a8057009a8158009b8359009d845b00a0865d00a58b6100aa916700ae966e
+00b19b7400bfad8200c5b38600ccba8a00cebc8b00d1bf8c00d1c08d00d0bf8d
+00cdba8e00c8b48b00c4af8900c0ab8700bda88500b7a17d00b2997500ac9370
+00a58a6b009679620092755e008e725a00896a520085664a0083624600836245
+0084664c00876950008a6d54008a6e55008b7057008d7156008d715500896d54
+00856a5300725e48006c594400665540005b4b35004e3e2d004333240037271c
+00241b11001f190e001b170b001b160b001b160c001a130c0019110b00190f08
+00180f0600190f0600190e0600190e0600170c07001609060013070500120602
+000f0501000e0501000d0501000d0501000c0701000f08010013090100160d02
+001c10050027180a002a190b002d1b0c00311d0e00331e0e00351f0f00351f10
+00351d0f00341c1000331c11002f1910002d170f002b1610002c1610002f1610
+0033171300351a1500361a1700371c1900391d1a00391c1a003b1d19003a1e18
+00371e1400371e1400381f1400382114003c2315003f291600452e17004d351a
+00573e2000614826006b4f2e0072563300765835007759350078583700795938
+0078593b00785b3e007a5d41007d61460084664d008d705700997b6100a4896c
+00ae947400b8a07e00c2ab8500cdb58e00d6be9700ddc7a200e2cca800e4d0b0
+00e6d5b300e7d7b400e4d3b000ddcead00d4c5a500c6b69f00bbab9600b2a08c
+00a9967f009f8b7200947e6400856d5600775c48006b4e3e006445340060402d
+0060402c0064432e006a4a3100735339007c5d410086674800917250009b7e5b
+00a68a6400b2986e00bca47700c5ae7e00cab48200cdb78600ceb98b00ceba8d
+00ceb98e00ccb78c00c5b08500b8a07800ab906d009e83630094765b008a6d56
+"/>
+<palette number="467" name="040222-26" data="004e2e5e00311e4800190f360002012500020126000301280002012800020129
+0003022b0003012c0004012d0003012d0002012e0002012e0002012e0002012e
+0002022e00040231000a043500100739001c0f410029174900311b4e00392054
+005b346d006d4078007f4d840092599100a5659e00ac6aa300b36fa900bb75ae
+00bc76af00b16ea600a3669d00965f95008353880071477c00674075005e3a6f
+003d26590037225600321f54003b235b00452862004b2b6600522f6a005f3873
+00683e79007645810073427e00703f7b006338720057316a004f2d640048295f
+00291649001c0f4000100938000b0634000703310007023000070230000a0333
+0010063700291549003d205800522c67005e336f006a3b7800824a89009c5a9a
+00c374b600cc79bc00d67fc200cf7bbd00c878b800bf73b200b76eac00a0619d
+0089508d0058336a0043275a002f1c4a00271744001f123f00150c39000f0835
+000d0733001008350013093800140a3900150b3b00170b3f00170b4100170b41
+00160a410012093e000f083b000c0739000a0637000905360006043200040430
+0002032c0001022b0000022a000002290000022900000229000002290000022a
+0000022a0001022c0001022c0002022d0003022f000402300005033100070332
+000c0635000f083900130a3d00160b3f00190c41001e0f45002211480027144b
+002e1750003b1e5a003e205c0042225f0048256200512a6800592f6e005e3371
+005d346f0058316b00542f6800502d65004d2b630046275a003d235100321f47
+002a19410020133c0021123c0022123d0028183f00301d46003c2451004c2f5e
+0074487e007f5086008a588e00a0669f00b576af00c782bc00d78ec900e697d3
+00ee9bd900f39edc00f19cda00ef9bd900ee97d700e992d200e18dcb00d987c4
+00ce7fbc00cc7dbb00cb7bba00c377b500b871ad00aa69a3009b6099008c5591
+007c4a86006a3e790055336d0043286000321e550024144b001a0d420011083a
+000805310008052f0009052e0009052c0009062a0008052a0007052900070629
+00070629000606290006062a0006062a00070729000b0929000e0b2a000f0c2b
+00110d2c00100c2c00110c2c00110c2d000f0b2e000d0a2f0009082f0006052f
+0003032f0001022f0000012e0000012d0000012c0000012b0000012a0000012a
+0000012900010129000202280005042700090627000d092700110a2b00160d30
+001b1035002213390029183e002f1c4400311c4800321c4d00301a4e002c174e
+002a174c00241446001f114100190d3a00110933000c062f0007032900050224
+000301210002011f0001011f0002002000030123000501260009042b00110933
+001c0f3d002c19490043275b0055316900522f65004c2b600041255600412654
+"/>
+<palette number="468" name="040222-27" data="00b7918700bb806f00b4756300ad6a5800a05d4c00935140008d4b3b00874537
+005f2e27004a262100361e1b002c191500231410001e110e00190e0c00180d0b
+00170d0a001a110e0025161400311c1a00472c2a005d3c3b006847450073524f
+009f7d7700b3908a00c7a49e00c9aba300ccb2a800c8b0a600c5aea500bca19a
+00ae8f8f00897373007b6564006e57560069535500654f5500644f5500634f56
+0075575c008565690096737700a3828400b1929200b89a9a00c0a2a200cfb4b0
+00d9c1b900dbc7bc00d5beb300cfb5ab00bba29800a89086009d847a0093786f
+00654c46004f393500392624002b1b1a001d111000190e0d00160c0b00130b0a
+00160e0e002e24240040333500524346005c4b4e00675356007d6367008f7475
+009d7d8300987a810094787f00917479008e7173008b6e7100886b700087696c
+0089696800976d63009b6c6000a06b5d00a06c5d00a16e5e00a3706100a27063
+00976e5f008f695e0088655d0083625b007e5f590071595200624f4a00584541
+004e3a3b00413232003f2f2e003e2c2a003d2a28003d2826003926240036231f
+002b19140024150f001d110b001a0e0a00170c0900110806000c060400070402
+00040201000100000000000000000000000200010004010100070304000a0608
+00150b0d00180f11001c1315001c1315001c1415001e1416001d1314001d1415
+001b1313001d1110001e12110020131200241614002b1b190034211f003c2a26
+005139350059403d0062484500664b49006a4e4e0073555500815e61008d6c6c
+009a7a7b00b79b9b00bea5a300c6b0ac00d7c2be00e0d0ca00e6dad300e8dfd6
+00e8dcd400e7d9d100e6d6ce00e1cbc600ddc3be00d5b9b300ceaba500c09a97
+00b18a8a009a746c00956d660090676000895b5900885956008d5b550094645a
+00a7746c00ab797000b07e7400b88a7d00bd948300c69c8900caa29000cea496
+00cfa99c00d8b1a300ddbbab00e1c0b400dfc2b800e0c1b900dcc0b700d8bcb5
+00c4a5a200bc9c9900b5949100a58583009776790088676e00785a6000695154
+00604a4d0059434900573f43005a3c3c00653d3800744139007c453b007b443a
+00753e3500753a2f006f362c0063322b004d2a27003e232200361e2100351f24
+003520260034202500321f260031212a0032232c00312228002e1f23002c1d21
+002d2022003123250039282a00422c2e004a333600513b3f00574249005f494f
+00614c5500624e56005f4e56005e4e53005b4e4f00594949005744440057423f
+0055433c005743390058413900593e3900573d3700573c3500593b34005c3a36
+005f3b3800613e39006441390069453e00734b43007a534b007e554e007f5855
+00825b5a008962640093696f009c737900a37e8100a47f8300a7818500ad8485
+"/>
+<palette number="469" name="040222-28" data="00659c7b00538d7400488273003e7872003e7c76003f807b003e7f7b003d7e7b
+0032747d002a6b7900236275001c586c00164f640014495d0013445600144052
+00163d4f001c2b3f001f27340022242a00282322002f231b0033211a0038201a
+0033221d003129230030312a003239340035413f0033454500324a4c00304f55
+0030545d0032555a003352540035504f00384a45003b453c003d413700403e33
+004d433000534e36005a5a3c005d65450061714e0062775500647e5d00678c6d
+006b9d7b006eac87006bab890069ab8b0065a6850061a280005fa07c005e9e79
+005b957800518d7400478571003a7a6a002d7064002a6b630028666200265c5f
+0021515b00113e4a000d354000092d37000829310007252c00041d210005181a
+0007171400071b1300071f13000b2212000f2512001125100013250f0015250e
+0014240e0012210f00121d0c00131909001216080011140800100d0a000f0910
+0015071500170714001a0814001a0815001b091600210e1700271116002c1611
+002b190d00231b0900211e0b0020220d0020250f00202911001f2b14001a2c18
+00102625001126290012272d0013282b00152a2a00172d27001d302500263421
+00343e210050562700525c2b0055622f0058683500586e3a005c724000657340
+00646b41005c663b0055613600565f3100585e2c00636322006d691d0077731d
+007e80260082923f008295450082984b007c9f59007aa4670073a6730070a67d
+00689f870064968300608e800060897b0060857700607c710060766f00597676
+0051707700466a6e0045686b00446769003e6e710037727c00377786003b828d
+0052978d00559b8e00599f8f0061a1920068a3920071a78a007caa7d0082aa6e
+0085a560007e8f51007b8a4a0078854400727b35006e6f260067611d0061521e
+00524225005142280050432b004e4a3200504f3b004f5446004f584f004e5759
+004d5860004b5d620047605f0040615a00385a5800304e55002945510026404a
+00295240002e553f0033583f0040603f004c673f005c703c0067813a00748934
+007c882a007e7e22007b701b006f651700625e140054501200453f10003a300e
+0030260d002c240b002c2609002b280b002d2d0e002e3616002e3e1a002f411e
+002e4324002c42290028473200254e380025503e002550400029493e002b473b
+002e493600334f3600365636003c5938003d5a37003b57340039543300335233
+00305237002c523a0029523b0029513d00294f3c002a4e3f002a5244002c5946
+00356046003e6544004a6540004f633e004e6340004f6341004e63460053644b
+0054614e005464590051676300516b6f00557a7e00598b8900689f900071ab97
+0078b099007fb499007eba980088c5940081ba880078ad80006f9d7a00619275
+"/>
+<palette number="470" name="040222-29" data="00ca6b9300bf5b8400bc588000ba557d00b9547d00b9537d00b8537e00b85480
+00b6588200b65a8300b65c8400b9628900bc688e00c2709500c9799d00cc7ea2
+00d083a700dc99ba00e09ebe00e4a3c200e5a2c100e6a2c000e69fbe00e69dbc
+00e290b000dd89aa00d882a400d47b9e00d1749900d0709600cf6d9400cd6790
+00cd608b00cb548100c94d7c00c8467700c4407300c13b6f00bf396d00be386b
+00bd356900be376b00bf3a6d00c23d6f00c5417200c5437300c5457400c44774
+00c2497500bd477200ba446f00b7416d00b23e6900ad3c6500aa3b6200a73a60
+009a395b00943858008f3755008d3754008b3754008a3755008a3756008a3755
+008835530083314d007e2e49007a2b4600792b4500782b4400772c4500783047
+00843c54008b445c00924d640098536b009e5a7300a05c7500a25e7800a5637c
+00a8677f00af6e8600b4738b00b9789000bc7a9300c07d9700c6829d00cd85a3
+00d789ab00da88ab00de87ac00de84ab00de82aa00db7ba500d6739d00d06b95
+00c7638c00b5537b00ab4b7200a24469009e4065009b3c610092355800882b4f
+00761b3b006f143400680e2d00650c2a00620b2800600b2600630e280069132d
+007219350084294700872d4b008b324f00943857009a4060009f476600a44d6b
+00ae557400b35a7900b85f7f00b9628100bb658400be6a8900c16f8f00c17391
+00bf769200b8738d00b5718a00b36f8800af6a8300aa657e00a7637a00a7617a
+00ac657f00b2698300b86d8800ba6f8a00bd718c00c1738f00c3749100c57692
+00c6789500cc829f00ce86a200d08aa600d691ad00dc96b300e29ab800e69bba
+00ea93b800e98fb500e98cb300e584ac00e17da400db789d00d4719500cf6a8d
+00c5638400b24e7000ad486a00a84264009d35580093284b00881f40007d1737
+0074122d0072122c0071132c0070152e0071193200731e380078243d007d2b44
+0081304a0089345100913858009a3f6100a4456800ae4c7200b7557c00c25f86
+00d6799e00d97ea200dd83a700e28baf00e792b700eb97ba00ec98bc00ec99bd
+00eb98bd00ea98bc00e89abb00e79bba00e69cba00e59cbb00e49cb900e198b6
+00df93b000db8caa00d783a400d17a9b00cb719200c4698b00be638500b85f80
+00b25c7b00ad587500a9557100a4536e00a0516a009c4f6600974d6400944b61
+00914a5f008f4b5f008c4a5f008b4a5f008a4b5f00884b5d0087495b00834457
+007f4053007b3b4e0078374b0078344900793349007a354b007d384e00833c53
+00873e56008b425a008f475e00914a6100964c64009b516900a0567000a65d77
+00b0668100bb6f8b00c5779600cf7e9f00d585a600db89aa00e08bae00e48cb0
+00e78eb300e98eb500ea8eb500e98cb400e587b100e083ad00da7da700d4769f
+"/>
+<palette number="471" name="040223" data="00b7593900d7845900e5956500f3a67100f2a56e00f2a46c00efa26900eca167
+00e3945900dc854c00d6763f00ca6d3900be643400bb6a3700b9703b00bc723a
+00bf753900cb7c4100c9855200c78e6400bd9b6c00b4a87500aea97300a8aa71
+008e97680086936c007f907000768c6b006d8966006a87630068866100658658
+0067855a0069755700686e520068674e006a5f42006c5737006f523300734e30
+00924e30009d542d00a95a2b00b15d2c00ba612e00ba633100bb663400af6a3b
+00a1673d008d5630009047290094392300912c1d008e2018008b1d1500891b12
+0081150900751405006a13020057110100440f01003c0f0100340f0100260e01
+001c10020019100400211007002a100a002d120e0031151200381e1d003f2724
+0054312400582f22005d2d21005b2b2000592a1f0057271c0055241a00511d0f
+004b1307003e0500003303000029010000240200001f04000016080100120d04
+000b190f000c2316000e2d1e0011332100143a250018452a001d4d2c00284e2d
+00324b2b00463f24004e381d00573116005a2b12005e250f00621907005f0e05
+0051020500470106003d0007003700080031010900270106001f010600180107
+001501060020010400250103002a010200320304003807070042100f00511d1a
+007b473500835d43008c7452008f7d5b009287650096946b009ea17200a6a976
+00abad7800b7ac7c00b7a77800b8a27400bf9a6a00c58d6200cf885c00d88055
+00d1703f00c46d3b00b86a3800b06a3800a86a39009864340087603300736135
+00666c44004f7661004b726200476e6300405d57003e5e4c003656510034524f
+002940440026423a002445300019462700174c2400145328001c593600286440
+0033694300577042005e70420066704300747147007e694700836442008a5d40
+0079512d00734a29006e442500583a1c00482f190037251400241c10001b120b
+00150b070014080400160b04001b0d0600201207002916080033180a00401c08
+00581b07005c1a0700611a08006818080070150600780f0500820b0200890902
+008c0a02008f0d0100910e0200960f0100970e0200940c03008d13060082170a
+00751d1200641e17005119190040181a00371a1b00322220002e2e2400263828
+00203e2700203b290025382a0031342a0037352a003a3b28003839290035342b
+00332a2d002d232c0028212700201e22001c1d1c001718190012151700121314
+00131111001c0d0d002b0b08003b0905004e0a03005d0c0100680b0200710f03
+007512080078150b0079180c0073190f006c1b1000611e160053231c004b2623
+00482c2400482e21004c2e1c00492d1800432a18003e2716003b221400401d0e
+0046170600491002004c090000510401005f130d0075291a008e3d2500a45235
+"/>
+<palette number="472" name="040224" data="00a48471009567510092553f0090442e0085361f007a28110071220d00691d09
+00490a01003c0600002f020000260100001e0100001901000014020000120200
+00100200000a0200000702000005020000040300000304000003040000030500
+00060500000c0400001204000019030100200302002303020026040300280704
+00280c0600291d0d002b2512002d2d1800332f1b0039321f003c321e003f321e
+004f372100563b24005e4028006c422f007a4437008043370087423700954234
+00a43d3100c03e2400cc442500d94b2700e05a2b00e7692f00e9702f00eb7730
+00e5872800d5882700c58a2700b3903300a2963f0099984700919a5000859d56
+007d9c5c00588d5a00438354002f7a4f00257551001b7054000d6b55000d6757
+000b51530009494c00074246000745440008494300074e480007534e00135c5b
+00276267004e607500635c7400785974007a5878007d587c00855b7f008c5e80
+0093577600984f67009d4858009944530096404f008d3c4900823f4c00714c4f
+006a555a006d6a510074704c007c764800847649008d764a00967d48009f825a
+00be827000cb776b00d86c6700dd626100e3585c00e7484900e03b3e00dd363b
+00d8333e00d5354000d53a4200d6404400d94b4100d8573f00d85f3d00d7663e
+00d36c3600d4703300d5743000d6783100d87c3200d77d3400d17b3500c57732
+00ba672b00ab4c1700ac4b1300ae4b0f00b44e0a00b9540c00a75b0e009a5913
+00805116007b4a140077441300814313008c431400834713007b451500694116
+00573c14002c280f002d240c002e210a002f2008002f1d09002a1c0800241e08
+0023280900252c070027310600333c080041420900524508005f4809006c490d
+007844100085430c0087420c0089420c008a420c0088440d00814a1200774d19
+0061521a005b531a0056541b00495d1a003a6a18002e7a1c0020852500189331
+00109c38000c9e3b000c9a3b000a9433000c912e0009862900087e280006742a
+0009562d000a4d2b000c442900133621001a281800211c0e0025120700290c05
+002c0805002c0704002e05040030050400320404003202020031020000300101
+002f0200003103020035030100390302003e030200470202004f020200580203
+00600304006b040300750403007c04040083040400880502008c0703008e0803
+0090090300920a0300920a0400900b07008d0a0700880c0900830c0a007c0c0a
+00730c08006b0a0600640b07005e0b0700560b09004f0a0a0048090b0040090a
+0038080600310807002b0b0900250d0b00210f0c001e110c001e120c0020140b
+0028150b00371913004b1d1c005d2627006933390070434a006c5657006e6664
+0074777100897b7900a0807a00b7847f00cb868200c88b7c00c48a7a00b18c78
+"/>
+<palette number="473" name="040225" data="00ae340500ad3c0700ab3a0600a93805009b3305008e2f0500882e0500822d05
+00702c0600712f090073320c0071351200703918006a371c006535200062331e
+005f311d00632e1c006a311e007134200076311f007c2f1f007c2b1c007c2719
+0077160d0074130a00711108006e1108006b1209006b1308006b140800701208
+00741006007c0702008006010085060000930c0100a1130200aa170300b31c04
+00d12e0700d6340900db3a0b00d63c0a00d23e0a00d0410a00ce440a00cc4f0c
+00c5540d00be5b1100b9551100b44f1100b04c1000ac491000ae4c1100b04f12
+00b0561600b3551900b7541d00b3532000b0522400aa502300a54e22009e4820
+0099451e00a0412000a2412000a4422100a5402000a63f2000ac3f1e00b4411c
+00b85a2200b96d2d00bb803800c3914700cba25700c8a95a00c5b05d00bbc061
+00b5c46200adbf6200b3b26000baa65e00baa25800bb9e5300bd914900b58137
+00c3632800cb592300d34f1e00d44f1d00d64f1c00d9511c00dd561f00e05e23
+00e5662900ed6e2d00f1702d00f6732d00f6742c00f7752b00f9782a00f87927
+00e2722000d66a1d00ca621a00c5601b00c15e1c00bc5d1d00b55f1d00ab611c
+00a3631a0090671e008f6920008f6b230098702800a4772d00b17d2f00bc832f
+00c5883400cd863500d5853600d8823600dc803600e27d3500e5783800e07534
+00da6c2f00d0592200cd551f00ca521c00c4491800bd431400b63e1000b13a0d
+00b5360500ba350500bf340500c2350500c6370600c83b0800cb430900d34c0a
+00db540c00ec5c1300ed5d1600ef5f1900e66a2200de762800d7802b00cc8329
+00b1712200a66b22009c66230086602500765a24006a58210063591d00605318
+005e5319005b6528005d6c2f005f7436006a874000739649007fa94f008bb655
+00a1ba6000a6b86000abb76100aea85c00af9b5500b18a4700af733a00b35c2f
+00b9472500bc321c00bc241600bb1b0d00b5130700b00c0400af080200af0402
+00b0010100b0000100b0000100af000000af010100b0030100b0060100b10a01
+00b30e0100b5120200b6170400ba1d0800bf240b00c42b0f00c8311100cb3413
+00cb341300cc351500cf361700d0371800d33a1800d43a1700d1371300cc320e
+00c92e0c00c4280a00c1260700be260500b9260400ae240300a32303009a2306
+00912008008e1e0700902007009120080094230700992b0b009d321000a33612
+00af3a1300b93c1200c43a0e00cd390b00d2390b00d83d0c00dd400d00de430c
+00e0450a00e0420700d93d0400d2380200cb340100c22f0200ba2d0200b42b02
+00ab270100a22102009f1c00009a150100960f0100940c0100930c0100920e02
+0099120100a4180100af1e0100b8210200be250200bc280200b72a0300b12f05
+"/>
+<palette number="474" name="040226" data="00314e30002a5d370026673b0022713f001d7240001973410017723f0016723d
+00176d380015643300145c2f000f5126000a471e000d3d1a0010341600153115
+001a2e1500392912004e2a1200632c13006c2e15007630170076301800773119
+0078391b006e381b0065371b0053311900422b18003c291700362817002d2619
+0026261a00222d1d0022342200233c270022452a00224f2e0020522f001f5531
+001c5735002056350024553600265333002952300029512f002a502e00354a31
+00454833006c50350078573400845e3400875e31008b5f2e008a5c2d00895a2c
+00754c220064491d00544619003f3f15002a38110022320f001a2d0d0010250d
+000b240c00052a0f00032a0f00022a0f0002280f0003260f0005200e00071e0f
+000b1d10000e1a10001217100015130f00190f0e001b0e0d001d0e0d00210f0e
+0028120f003b160f003e160e0042170d0041180d0041190e00421c0f00452112
+00402f1600363117002d3319002a321b0028321e002434200022352000203520
+001e321b001f26150023201100271b0d002a180b002d16090033130700381304
+0046120200491001004d0e01004c0d00004b0d0000460e0100420e01003e0b01
+00390a020026060100210601001d0602001606040014070500110905000e0903
+00080b04000a0d07000d100a0010110a0013120b001c150a0028180900381c0a
+004e200a00722a0a00762b0a007b2c0a007d2e0c007b2d0b007b2c0d00762b0b
+00692d10006b331c006d3a2900714530007550370075674c0087795f00978465
+00b2866d00d6a06400dda86600e4b16800e5be6a00eac16f00f5b76600f3b257
+00f5a33e00f6a33f00f7a34000f39f4400ec9d4a00e58a4600e3763900e4602b
+00e3542000da511a00d7521900d5531800d84e1500da501400da541500d25d1b
+00af5f1f00a55c20009c5a220090512100824f26006b4b260057422400413623
+00382a1c00372118003a1e14003f1d0f00431e10004b210e0054230e005c270d
+0066270d0066270d0067270e0066260f00652710006325110064230f0066220d
+0068210d0073280d0082320e00923e0c00a6490a00b3510d00c1561300cd5b1a
+00d2641f00d0652100bf702a00ab7634009b763f008c7f4400867843007c8348
+006a925000569e5a0046af610041ac5f0046a95b0046a156003b9951002d8d4d
+001f7d4500186a3e001754330013412700102f1b000e1f10000e140a000e0b07
+000b0606000a05050008060500090706000a0b05000b1107000c1807000e200a
+0010280d00143313001a3c18001d461c00264f20002f5222003955270044532c
+0048502f004e4e3000574c2d0062482c006e472d0078422d007d3f2c007d4028
+007c3c2500773d2600743c2700723928006f392800643f290053432c0041482d
+"/>
+<palette number="475" name="040227" data="00b4486800b2436800b1426400b1426100bb3c6000c5375f00c9365e00cd365e
+00d3415a00cc515700c6615500b8775600ab8d5800979a620083a86c007ca56e
+0076a37100668a7d0054828800437a93003d63a300384cb3003f3eb9004730bf
+00542dd0004f3ed1004a50d3004762cd004475c700447cc4004484c2003c83c3
+003885bb00207ba9001d6ea7001a61a500284ca10036379d003f329900482e95
+00674084006b547a006f6971006b7b7500688e790069957f006a9d850068af8b
+0064c495004dd5b10051ccc20055c3d30066bfd90077bcdf007dbde00084bfe2
+0092c5e40095c1e00099bddc00a8b0d400b7a4cd00b89fc800ba9bc300b38ebd
+00ab81b400aa619b00ae4b9200b3368900b12c8800b0228800af198c00b21886
+00ba136d00bd0c6300c0065900c8065400d1075000d4074b00d7084600cd0939
+00c0063300b3053700b3054500b3065300af065b00ac066300a60d6d00a81579
+00a72c9d009f34ad00973cbe00913dc1008c3fc4009045c400924dbf009752b7
+009860be008864c700806bc4007973c100787bc1007783c2007692cb00738fcf
+00598bd600588dc900578fbc005e8bb0006588a4006f84850071807600707a67
+007b785300a3782900ab782700b3792600b47d2a00b57c3100be7a3a00cb7742
+00e9606600e6566f00e34c7900e24a7900e1487a00e2427c00e7328000e42380
+00e2158200e1117e00e4127d00e7137d00e9177800e9177c00e6197f00e41f82
+00e5358b00e34e9900e268a800de71a900db7bab00d682aa00d17ba000d47aa2
+00d579a700ca6c9800c0618b00b6577f00a53d68009b2a57008d1d4a00891a41
+0079293b00742d3c0070323e005d3544005a3946005d4049006a404800794046
+007a394800873247008e2d450096294300a6243f00aa1b3a00ab163700ab1c3e
+00b9235500bb235a00bd246000ba286400b1336800b1406d00b8497500c74e82
+00d3508d00d4549300d8589800db599a00e4569b00f14e9800f5468f00f73b87
+00f02c7800ee297200ed276d00ec225d00e6205100dc244800ce234600bc2746
+00ae233e00a41f36009d1f2f009d1d2e00a1213900a6224400ab204d00ae205c
+00b8216900c92a7b00d7388800dd4c8c00d4609100c5739c00b986ac00ae9ab7
+00a0aead008dbe99007fc2850074c37f0076b887007ba687007a948a007d7883
+007b657f007e508500883b86008c2c8d008e1f9200851c91007d1f8e007f2781
+00883c7200975966009a765800998b4f00899747007fa543007bb843007bc445
+008ac4460087b84a007fa24d00739450006b7f5100786849008d5440009f4a35
+00a54f3200a5543600a3543b00a44b4200a9444800aa454e00ae4a5400b54f5c
+00bc4a6300c53d6a00cb336e00ca2c6d00cb2f6900bc3c6500b8446200b94b62
+"/>
+<palette number="476" name="040228" data="0014201400151b14001419140014171400141714001517140014161400141614
+0014161400141614001416140014161400141614001416140014161400141514
+0014151400161414001614140017151400161514001616140016161400161715
+0015191900141a1c00141c1f001522290016283400172b3b00192f42001b3851
+001d435e00215972002258700023576f001f4f64001c4859001c4451001d4049
+0018272d00161f250014171e0014151b00141419001414180014141800141418
+0014141800141418001414180014141900141418001514170015141600151516
+0015181500151a1400151d1400141d1500141d1700141d1a00141d1e00141d2b
+00141b3f00182753001e295700242b5c00252d5a00272f580034375000434b48
+005d6f53006d8461007d996f0080ad890083c2a4007cc0aa0076bfb1006abcb9
+005fb7b00050b3bd0054aeb30059a9a90064ada50070b1a1008cb29600aead7b
+00d49c5a00c88c4400bc7c2e00b0722400a4681a008c59170074521a00655a1d
+00575e200064723a00808647009d9a5400a59c5500ad9f5700a9a16400a9a96c
+00a29d66009a965900938f4c00908a47008e854200867b4100857d43008b8046
+00858144008399710090a284009eac9800adbdac00adc9bc00b1d8bf00afd2c7
+008da1b80073859b0059697e0046596e00344a5e001a2c4a00141e370015152b
+001615230017151d0017151c0018151c0018161c0018161e0018161e0017151e
+0015151d0014141e001414200015142200171525001f1b290030232a004c2d2b
+00662e2c0074332800783327007c34270092302000ae331f00b5341e00b13b1d
+00b84f1d00b9532600bb582f00b5643b00ad6e400099744200796d4a005b604d
+0047514800303c3a002a363500253030001d242400191b1c0017171a00161519
+00161518001615180016161800161619001518190014191800141a1800141c19
+00141c1a00141e1b00141d2000141f250019252b0022302f002e383900374040
+004753530046575700455c5b00406361003f6863004265630041615900446152
+004767450053623a005a572b005d4c2300594a1c00534418004b3b1600432d17
+0041251700512416006a291600852c160098301500aa341400ab331400a12e14
+008c2f14007c3015005e2816003e1c180022151a0019151e001614240016172e
+00162639001535400014384200162f4500162f460016384600143a3c00152d34
+00161e2b001617250016161d0017161900191717001f181600281815003b1b14
+00572914007a3e140095541f00ad6e3100c58e4c00dbae6000eac27000f3d87d
+00f7e98000f4ed7f00ebe07300d8cb6d00c8bf5d00b7af5400aa9e4700898343
+00667343004b6448003e594500314a3a0024402f001d372700182d1f00162518
+"/>
+<palette number="477" name="10000" data="00342c3e00322637002b263400242732001e26300019252f0017232c0016222a
+00171520001c0e1a00210714002407150028071700270c190026111c0025131f
+00251522002c162500341728003d182b00451f2e004d2731004e2e3400503538
+005d4c44006a52470078584b00845b4a00905e4a0093614b0096644c009b694f
+009e6e5100a06f57009c6b5500986753008c614e00805b4a0078564800715246
+00534644004a414200413c41003d363d003a313900392f3700392d3600392b35
+00392a35003826360037213200371c2e00361729003513250035112300351022
+003413260033172800331b2b003521300037283500372a3800382d3c003a3544
+003a3d4c003c4b5d0046536100515c6500576068005e656b00737171007e7a77
+007f7e7a007a7a740075776e0074756900737464007475640075776500767865
+0072776700656e6700586764004b606100475f6100435f62003f5e6400425f64
+00586d680064736a00717a6d00778070007d86740087907f00959a8800a3a691
+00b1b19500c9b99200ccb99100cfb99000cdb58f00cbb18e00c5ac9100bea793
+00b39e8c00ac998600a6948100a28e7d009f897a00978070008d736b00846763
+00795c5a0066504d00634d4c00604b4c005b48440051413e00493636003f2a2b
+00281212001f0a0c0016030600120204000f0102000b0001000a000100080002
+000902030009090900080b0b00080e0d000713120007171700051b1b00051d1f
+000a2221000d222200102323001223230015232300192324001d212500202326
+0025252600282a2b00282b2c00292d2e002c31330030323800343741003a3f49
+003e505c003d5460003c586500395f6c0036617100385f72003f5c720047576f
+004e516a005846610057445f0056425d00563b560057355000593048005a293f
+00581b2b0055192800521826004a162300411622003b1a2400351f280030252c
+002c282d00272c2d00222b2c001d272a001a252700192228001a232b0020232e
+002c2333002e213200311f320034192d0032132700310e210030091e0034061b
+0035081b00360b1d00360f2100331426002f1c2b002b2433002d2e3e00323948
+003a455000424d55004c51590056545a005a545b005f535d00635461006a5665
+006f596700755965007b5760007e5459007d4e500078474800754043006e3c41
+0068393f0066383e0066393f00663a4000643d4100633e3f00623e3c005e3a38
+005a35330058302f00562c2d0054292e0051283000512b30004c2f3300473436
+00423637003d3a3a00373b3f00333b4400313a46002c3c490029404c0027424e
+0024485200204c56001c4e58001b4c5800184854001a424f001d394800223242
+00282d40002e2b3e00332c400033304200333345003234460033324500333042
+"/>
+<palette number="478" name="Apophysis-040208-115d" data="00000000000300050001000c000001130002051a0004092100060c2400091028
+000f173600111a3d00141e440016214a0018255100192558001a255f001a2663
+001b2768001f297800202b7f00222d8600232d8a00242d8e00242b8e0024298e
+0022238e0023238e0025248e0026258e0028278e0029288e002b2a8e002a298e
+0026258e0024218e00221e8c00211c8a00201a86001f1883001f1781001f177f
+001f1678001f15730020146e001b116900170f6500160e6200160e5f00170d58
+00170d5200140a430012083a00110732000f052b000e0324000e0222000e0220
+000c0016000b0012000a000f0009000d0008000c0007000b0007000b0007000a
+0007000b00050212000d0b170016141d001a1820001e1d240027262900303030
+00393939003e3e3e004444440048474a004c4a51004b4953004b4855004d495c
+00504a6200524d7100534e780055507f0056518200585386005c5a8d0063618e
+00706d8e0073708e0076748e0074738e0073728e0072728e006e6e8e0068698e
+0062658e0052578400474c7f003c427b00363c78003136760029307500222b74
+001e2c73001e3072001f3571001f3571001f3671001f387300213b7300213b71
+00203a6f002038650020386300213961001f335a001c2f5500182a5000142449
+000f1c4000121d3e00151f3c0017203c001a223c00212940002b324500343a4c
+003c4353004c515c004f525d0052545e0057595e005a5a5c0059595900585858
+0057575700565656005555550055555500555555005151510050505000505050
+00515151005a5a5a005d5d5d006161610067676700686a6a00686d6f006b7174
+006e7980006e7b83006e7d86006e7f89006e818d006d828e006c818e006b818e
+00687e8e005f768e005d748e005c738e005a708e00576b8e00566a8e0056698e
+0057678e0057678e0057678e005a6a8e005c6b8e005f6d8d00626e8a00636d86
+00646b7f00656a7a006366740063646f0060616a005d5d680059596500575763
+004e4d5c004c4a5b004a485a0044425900403d59003d38590038335900353059
+00332d5900302c5900312b59002e2959002e2959002c285c0028246100252265
+00202169001e1f6e00191c710014177400121779000e157e000d1682000f1b86
+00101e8b00111f8e00111f8e00111d8e00111d8e00111d8e0011198e0011178e
+0011178e0011178e0011178e0011198e00111b8d000f1988000d1680000a1579
+0008127100050e6800020c5f0000095500000b4c000008430000093c00000733
+0000052b000003220000001b000000120003000a000200030000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+"/>
+<palette number="479" name="Apophysis-040208-115e" data="0000000000050100000c000300130007001a020d00210413002406160028091a
+00360f24003d11290044142e004a1633005118380058193a005f1a3c00631a3e
+00681b4100781f47007f204b0086224f008a234f008e2450008e244e008e244c
+008e2248008e2346008e2445008e2546008e2747008e2848008e2a49008e2949
+008e2546008e2141008c1e3e008a1c3b00861a370083183400811732007f1731
+0078162d00731529006e14260069112400650f2300620e22005f0e2100580d1c
+00520d1900430a12003a080e0032070a002b0506002403030022030200200402
+0016050000120500000f0500000d0400000c0400000b0400000b0400000a0300
+000b04000012020400170b0c001d14140020181800241d1d0029262600303030
+00393939003e3e3e00444444004a474700514a4a0053494900554849005c494b
+00624a4c00714d5300784e57007f505b0082515d0086535f008d5a68008e616e
+008e6d75008e7077008e747a008e737a008e727a008e727b008e6e79008e6876
+008e627400845268007f475f007b3c57007836520076314e0075294a00742247
+00731e4800721e4c00711f5000711f5000711f5100731f540073215600712156
+006f20540065204f0063204f0061214f005a1f4700551c420050183d00491435
+00400f2c003e122c003c152c003c172c003c1a2d0040213300452b3b004c3442
+00533c4a005c4c56005d4f57005e5258005e575b005c5a5b0059595900585858
+0057575700565656005555550055555500555555005151510050505000505050
+00515151005a5a5a005d5d5d0061616100676767006a686a006e686f00746b74
+00806e7f00836e8200866e8500896e88008d6e8b008e6d8d008e6c8c008e6b8c
+008e688b008e5f85008e5d84008e5c84008e5a81008e577d008e567d008e567b
+008e577a008e577a008e577a008e5a7b008e5c7c008d5f7c008a627b00866379
+007f6474007a65710074636c006f6369006a606400685d610065595d0063575a
+005c4d50005b4a4d005a484b0059424800593d420059383e0059333a00593038
+00592d3600592c3600592b340059293300592933005c28350061243400652235
+00692039006e1e3a007119390074143700791239007e0e3b00820d3d00860f42
+008b1047008e1149008e1149008e1147008e1147008e1147008e1143008e1141
+008e1141008e1141008e1141008e1143008d114400880f4100800d3d00790a3a
+0071083500680530005f022c00550026004c00240043001f003c001d00330018
+002b00130022000e001b000900120006000a0000000301000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+"/>
+<palette number="480" name="Apophysis-040208-115g" data="0000000000050300000c010000130001001a0003002100050024000700280109
+0036050e003d061000440713004a08150051091800580816005f081500630815
+0068081600780914007f091500860916008a0914008e0a13008e0a10008e0a0e
+008e0808008e0b09008e0e0a008e0f0b008e110d008e120e008e1410008e130f
+008e0f0b008e0d07008c0c05008a0b0300860b0100830b0000810b00007f0c00
+00780d0000730e00006e100000690d0000650b0000620a00005f0a0000580c00
+00520d0000430c00003a0c0000320c00002b0c0000240c0000220c0000200c00
+00160c0000120b00000f0a00000d0900000c0800000b0700000b0700000a0700
+000b07000012030000170a07001d120e0020161200241a160029221e00302727
+00392e2e003e323200443737004a3c390051413b0053403900553f38005c4238
+006243380071423800784138007f40390082413a0086433b008d4540008e4c47
+008e5a53008e5d56008e605a008e5e59008e5c58008e5a58008e5454008e4e50
+008e484b00843a40007f3036007b262c0078202600761b210075141b00740d17
+007309180072091d00710a2300710a2400710a2600730a2800730c2a00710c2a
+006f0c2b00650d2b00630e2b00610f2c005a0e2700550c230050091f00490619
+00400312003e0613003c0a15003c0c16003c0f180040151f00451e29004c262e
+00532d37005c3b43005d3e44005e4146005e464d005c49490059494900584848
+0057474700564646005545450055454500554545005142420050414100504141
+00514242005a4a4a005d4c4c00614f4f00675454006a555f006f546700745667
+00805770008356720086567400895576008d5477008e5377008e5275008e5176
+008e4e73008e4567008e4365008e4264008e4060008e3d59008e3c59008e3c56
+008e3d53008e3d53008e3d53008e4057008e4257008d455a008a495b00864b5c
+007f4d5a007a4f5900744e55006f4f52006a4d5000684a4a0065474700634545
+005c403c005b3e3a005a3d38005935320059332d00592f2800592b2300592820
+0059251d0059221c0059241b0059211900592119005c1e17006119120065140f
+00690d0d006e0a0a007104050074000100790003007e0005008200070086000b
+008b000d008e000d008e000d008e000b008e000b008e000b008e0006008e0004
+008e0004008e0004008e0004008e0006008d0009008800090080000700790009
+0071000800680008005f000900550008004c000a00430007003c000800330006
+002b000400220002001b000000120000000a0300000302000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+"/>
+<palette number="481" name="Apophysis-040208-115h" data="0000000000050500000c050000130600001a0700002108000024080000280801
+00360f05003d110600441307004a15080051170900581a08005f1d0800631e08
+0068200800782a09007f2c0900862e09008a3209008e360a008e380a008e3a0a
+008e3d08008e4009008e430a008e440b008e450d008e450e008e4610008e460f
+008e440b008e4407008c4305008a42030086400100833f0000813f00007f3f00
+00783c0000733c00006e3c00006938000065340000623100005f2f0000582f00
+00522e0000432700003a230000321f00002b1c0000241a000022190000201800
+0016140000121100000e0f00000c0d00000b0c00000a0b00000a0b0000090a00
+000a0b0000120a0000171107001d180e00201b1200241f160029261e00302a27
+0039322e003e373200443c37004a42390051493b0053493900554a38005c5038
+006254380071593800785a38007f5c3900825e3a0086603b008d6440008e6847
+008e7153008e7356008e755a008e7359008e7158008e6f58008e6b54008e654e
+008e60480084513a007f4930007b422600783d200076391b0075341400742c0d
+0073250900721f090071190a0071180a0071170a0073160a0073180c0071160c
+006f140c0065120d0063120e0061130f005a130e0055120c00500e0900490d06
+00400c03003e0f06003c130a003c150c003c180f00401c150045221e004c2d26
+0053322d005c403b005d443e005e4841005e4846005c504900594f4900584e48
+00574d4700564c4600554b4500554b4500554b45005148420050474100504741
+00514842005a504a005d534c0061564f00675b54006a5557006f545c0074565b
+00805760008356600086566100895561008d5460008e5360008e525d008e515d
+008e4e5a008e454a008e4348008e4246008e4041008e413d008e403c008e433c
+008e483d008e483d008e483d008e4840008e4b42008d4c45008a50490086524b
+007f534d007a564f0074564e006f584f006a564d0068564a0065534700635145
+005c4d3c005b4b3a005a4a38005945320059442d005943280059402300593e20
+00593d1d00593a1c00593d1b00593b1900593b19005c3917006138120065350f
+0069310d006e320a00712d0400742c0000792e00007e2e0000822d0000862a00
+008b2900008e2d00008e2d00008e2d00008e2d00008e2d00008e3100008e3400
+008e3400008e3400008e3400008e3100008d2f0000882d0000802c0000792800
+0071250000682100005f1c0000551900004c140000431400003c100000330e00
+002b0c0000220b00001b0a0000120700000a0700000203000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+"/>
+<palette number="482" name="Apophysis-040208-115i" data="0000000000030500000b090000130d00001a1000002113000024140000281601
+00362005003d240600442807004a2b0800512f0900583508005f3c0800633e08
+0068410800785109007f550900865a09008a5f09008e640a008e660a008e690a
+008e6c08008e6e09008e710a008e710b008e720d008e720e008e7310008e720f
+008e720b008e7307008c7205008a710300866f0100836d0000816c00007f6c00
+0078660000736400006e630000695d000065570000625400005f510000584e00
+00524b0000433e00003a37000032310000292a0000212400001e2200001b2000
+000f1600000b120000080f0000070d0000070c0000060b0000060b0000050a00
+00060b000012100000171607001c1d0e001f2012002324160027291e00302d27
+0039362e003e3b3200444137004a49390050513b0052523900555438005b5c38
+0061623800716d3800787038007f74390082773a00867b3b008d7f40008e8147
+008e8653008e8656008e875a008e8559008e8458008e8258008e7f54008e7c4e
+008e794800846b3a007f6530007b602600785c200076591b007556140074500d
+00734a090072430900713d0a00713c0a00713c0a00733b0a00733c0c0071390c
+006f370c0065310d0063300e00612f0f005a2d0e00552b0c0050270900492506
+00402103003e2206003c240a003c250c003c270f00402b150045301e004c3a26
+00533f2d005c4b3b005d4e3e005e5241005e5146005c57490059554900585448
+005753470056524600555145005551450055514500514d4200504c4100504c41
+00514d42005a564a005d594c00615c4f00676254006a5a55006f555400745b56
+00805c5700835c5600865c5600895b55008d5b54008e5b53008e5c52008e5a51
+008e594e008e5a45008e5943008e5942008e5a40008e5d3d008e5d3c008e5f3c
+008e643d008e643d008e643d008e6340008e6542008d6745008a67490086664b
+007f654d007a654f0074634e006f644f006a604d0068604a00655d4700635b45
+005c583c005b573a005a5638005952320059542d005954280059532300595220
+0059521d0059501c0059531b0059511900595119005c5117006154120065540f
+0069520d006e550a007154040074550000795900007e5a0000825b0000865900
+008b5a00008e5f00008e5f00008e5f00008e5f00008e5f00008e6300008e6600
+008e6600008e6600008e6600008e6300008d600000885d000080590000795300
+00714d0000684500005f3d0000553700004c2f0000432b00003c250000332000
+002b1c0000221700001b140000120d0000090a00000103000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+"/>
+<palette number="483" name="Apophysis-040208-115j" data="000000000000050100030c0000071300000b1a00001021000012240000152801
+001e360500223d0600274407002b4a08002f51090030580800325f0800346308
+0036680800397809003c7f09003f8609003f8a09003f8e0a003c8e0a003a8e0a
+00348e0800328e0900318e0a00328e0b00338e0d00348e0e00368e1000358e0f
+00328e0b002d8e07002a8c0500278a030023860100208300001e8100001d7f00
+001c78000018730000146e0000146900001565000015620000165f0000115800
+000d5200000a430000073a000005320000022b00000024000000220000002001
+000016040000120400000f0500000d0400000c0400000b0300000b0300000a03
+00000b030003120000091707000f1d0e0012201200162416001e291e002a3027
+0031392e00363e32003b4437003b4a39003c513b003b5339003b5538003a5c38
+003b6238004071380044783800497f39004a823a004c863b00548d40005a8e47
+00608e5300628e5600658e5a00658e5900668e5800688e5800678e5400658e4e
+00638e480059843a00507f3000487b2600437820003f761b003b75140039740d
+003a7309004072090046710a0047710a0048710a004b730a004b730c004c710c
+004c6f0c0047650d0047630e0047610f00405a0e003b550c00375009002f4906
+0026400300253e0600253c0a00263c0c00273c0f002d40150036451e003b4c26
+0044532d004e5c3b004e5d3e004f5e4100555e46004f5c49004e5949004d5848
+004c5747004b5646004a5545004a5545004a5545004751420046504100465041
+00475142004f5a4a00525d4c0055614f005a675400666a55006f6e5400717456
+007e8057008183560084865600878955008a8d54008b8e5300898e52008a8e51
+00898e4e007f8e45007e8e43007e8e42007a8e4000748e3d00748e3c00718e3c
+006e8e3d006e8e3d006e8e3d00718e4000718e4200738d4500718a49006f864b
+006b7f4d00677a4f0062744e005d6f4f00596a4d0054684a00516547004f6345
+00425c3c00405b3a003e5a38003b59320036592d00315928002d5923002b5920
+0029591d002a591c0026591b002559190025591900275c17002561120027650f
+002b690d002b6e0a002a710400287400002a7900002e7e000032820000388600
+003c8b00003b8e00003b8e00003b8e00003b8e00003b8e0000368e0000348e00
+00348e0000348e0000348e0000368e0000388d00003688000031800000307900
+002d7100002b680000295f000024550000234c00001d4300001c3c0000173300
+00122b00000d220000091b000006120000000a00000003010000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+"/>
+<palette number="484" name="Apophysis-040208-115k" data="0051515100515151004e4e4e004b4b4b00484848004646460043434300414141
+00333333002c2c2c0026262600212121001c1c1c001717170013131300131313
+00131313000c0c0c000606060001010100000000000000000000000000000000
+0001010100060606000c0c0c0012121200181818001818180018181800161616
+00131313000e0e0e000808080003030300010101000000000000000000000000
+00000000000202020005050500080808000c0c0c000d0d0d000e0e0e000c0c0c
+000c0c0c000c0c0c000a0a0a00080808000b0b0b000e0e0e0010101000131313
+0021212100232323002626260027272700282828002828280028282800262626
+0026262600262626002727270028282800282828002828280028282800282828
+0026262600212121001c1c1c0016161600111111000e0e0e000c0c0c000c0c0c
+0008080800080808000d0d0d001313130014141400161616001c1c1c001e1e1e
+0023232300232323002323230023232300232323002323230023232300262626
+00282828003838380040404000484848004c4c4c005151510054545400565656
+005959590059595900595959005959590059595900595959005b5b5b00616161
+0066666600767676007a7a7a007e7e7e0084848400898989008e8e8e00929292
+009c9c9c00a0a0a000a4a4a400a6a6a600a9a9a900acacac00b4b4b400b9b9b9
+00bebebe00c7c7c700c8c8c800c9c9c900cecece00d1d1d100cecece00c9c9c9
+00bebebe00b9b9b900b4b4b400b0b0b000acacac00a9a9a900a9a9a900a9a9a9
+00a9a9a900a4a4a400a1a1a1009e9e9e009c9c9c0094949400929292008b8b8b
+0084848400818181007e7e7e007979790076767600717171006f6f6f00717171
+007676760074747400717171006f6f6f006f6f6f0069696900616161005b5b5b
+0054545400545454005454540054545400545454005656560059595900595959
+0059595900565656005454540056565600565656005454540054545400515151
+004b4b4b004b4b4b004b4b4b004f4f4f004f4f4f004f4f4f0051515100515151
+004f4f4f004f4f4f004b4b4b0048484800484848004646460041414100414141
+003f3f3f00414141004343430048484800484848004f4f4f0051515100515151
+005151510051515100515151004b4b4b0048484800484848004b4b4b004f4f4f
+0051515100545454005656560059595900595959005959590059595900595959
+005b5b5b005b5b5b005959590056565600565656005454540051515100484848
+0043434300414141003b3b3b00383838003b3b3b004141410046464600484848
+0051515100595959006161610066666600666666006969690069696900666666
+00616161005f5f5f005f5f5f005f5f5f005b5b5b005959590051515100515151
+"/>
+<palette number="485" name="A_Bit_Confused" data="00db8c9800f3a5ab00eda7c000e8a9d500d59dd400c292d400b886c700af7abb
+0083549c006f4091005b2c87004e257300421e600036235a002a285400272a56
+00242c5900273c7f003546880044509100585888006c617f0075637e007f657e
+00ab666c00b8595700c54d4300c04c3c00bc4c3600b44a3400ac4833009c3537
+00882937006a1f3500641f32005e1f2f0069182800741122007e0f1c00880d17
+00ac1a1000b41f1600bc241c00bb2b1a00ba331900ba391c00bb3f2000bb4730
+00bd4b4900b25c7100b56c8300b87c9600c77da400d77eb300de7cb400e67ab5
+00f374bf00eb6eb400e469aa00cc679b00b5668c00b0638c00ab608d00a75d8a
+00ae558c00a7547200ac516800b24f5e00b94d5c00c14b5a00cd395100cd2f46
+00c9213700be233b00b32640009d27420088284500802a4500792c4600762e49
+00742e49006a273b0062263a005a253a0058243b0056233d004f223e004a1f3b
+00381545002f134c0027115400231055001f10560019105400170f4f00171148
+001b11440030134500441a490059224e00622a54006c335b0071416c00704b82
+006e519a0077559c00815a9f00875da2008e61a5009667a0009a659d009e5d8c
+00aa578800dd559600e8579d00f35aa500fd5eac00fe6cb600fe75bb00fe82b6
+00e090a100c9918f00b3927d00aa907300a18e690093915d0082995400779653
+0075934c00776e4700756b48007368490070604b0077654200826039008a572e
+007d3625006b2f2d005a293500562c3c00532f44004d3b4e004a3e5400463a5d
+0036365f001e41580019465200154c4c00135243000e5138000e4c2d000e4821
+001b3f1400203c1300253a1200303916003d341500512c1c006a2a2100863128
+009d433600c26d4b00ca735100d2795800de896e00dd988900d1ad9c00c2c6ae
+00b4dac500b4d6cc00b4d3d400b1d2e400a9d9ec00aee7e800afe7d200b0d8c2
+00b5cebe00adc4be00b0bfbc00abaca3009c8d8b008d707c007c627d00795e87
+007a5487007b5186007c4f850077538b0080589000825f93007862940070698f
+005d6a8d0055658700575f7c0050516d004c48590046414c003e3d4500413d42
+0047413f0055463e006e4f4200865f5800997075009d7f8a009683a1008c79a9
+00836fb9008570c8008168c7007963c4006751ae004c349a00392b8300321d68
+00331a50003f1c380042152600401619003e121400390f14003d0f15003c0e16
+00370e19002f101e0026132900211e3100202535001d29350017292e0011242d
+000d252800112525001525230015211b00141b140019180b00221b0800312305
+0041270800482b0c0059300d006a360e007a3e0e008b3b0c0090340f00952a12
+009c221200a3221b00aa232000b1272d00b6323c00bb444c00c45d6a00cf7883
+"/>
+<palette number="486" name="Afternoon_Shadows" data="0056493f004c443e0048413c00443f3a003e3a360038353200312f2e002b292b
+001d202200191d1d00151a1900111413000d0e0d000a0a090008070600080606
+00080606000b0a0b00121210001a1a150025241d00312f2500373529003e3c2d
+0058523f00615846006a5e4d0072634d007a684e007c684f007e695000826a53
+00846d550085715900826e5b007f6c5d00776658006f6054006a5b510065564e
+004d40410041373b00352f35002e2d3500282b3500272e380027313b002d3a41
+0036454b00505d62005d696c006b767700757d7d007f85840084898800898e8c
+009da09700a8a89c00b4b0a200bfb9a900cbc3b000cfc6b100d4c9b300d9ccb6
+00dbccb800d8ceb600d4cab200d0c7ae00ccc2ab00c8bea800c0b8a200b5b09a
+009f9c8b00979484008f8d7e008c8a7a008a8776008984730088827100877e6e
+00857c6900786f5f00716658006a5d510068594d0067554a00695344006e5343
+007e5e4b0087665200906f590091715c0093745f00917462008b706100846a5a
+007c6254006d5147006c5146006c5146006c5348006d554a00705a5100756059
+007e6b6400806c6500836e6700846f6600857166008b776a00917f710099897c
+00a7968700c4b29e00cab8a400d0bfaa00dac8b300e0cfb800e4d4bb00e4d3b9
+00deccb400d8c6af00d3c0aa00d0bca800ceb9a700c8b2a300c0a89d00b6a094
+00ab93860095796c008f736700896d62007c61560070544c00654b45005b403f
+0048353500412f30003b292c0039272b0038262a0037252a0037242900372428
+0036232a002d232b002b212a0029202900271e2700221b2300221a2400231a25
+00291e29002a202a002c222c002f252d0031292f00332c3100332b300032292f
+0031262e002e202a002d1f29002d1f29002b1d27002b1d24002a1e24002a1e25
+002c1f26002b1e25002a1d2400281a2300251721001f131d001b0e1700160c13
+00140b0f00130a0d0012090a0011080800110707001107080011070700100606
+000f0707000f0707001008080011080900110908001208090011080a00110a0c
+00120d0f00151314001c1c1d0026282700323432003e413b004c4e450058594e
+0065645800736e5f007c7967008886710095927d00a29f8800afab9300bcb79d
+00c4bea400c8c2a800c9bea500c1b69d00b5ac9300a8a189009b957f008e8975
+00827e6b00767263006a685c005e5d54005250490045433e00383633002b2927
+001f1d1e0017131400120d1000130b10001910150022161a002e1e20003a2623
+00452f26004c362900513e2a0056432a005b442b005f462d0061482f00654b34
+006d4d3300735133007851330079553400775934007a5c35007f6138007d6139
+00745b3a006e543b0069513b00684c3d0064483d005d473e0054423c0053453d
+"/>
+<palette number="487" name="Air" data="005794c9005894c8005894c8005894c8005995c9005b97cb005c99cc005e9bcd
+0075a0ce0087a2d10099a5d500a6addb00b3b5e100beb7e100cab9e200cab7e2
+00cab5e200bbb7e600b1b7e500a7b8e50095b1e00083abdb007ba9d90074a7d7
+0066a3d40064a2d40063a1d40062a0d30062a0d200629fd100629fd100629ed1
+006b9cce007e8cc0007a82b4007778a800706e9d0069649200655f8d00625a88
+0052467600484575003f45750046497c004d4d83005350870059548c00585d93
+005e689f006e7eb3007283b8007788be00708abe00698dbe00668aba006487b6
+005a73a100516d9c00486898004a6494004c6191004b5f8f004a5e8d00405d8e
+00375f8f00315f93002e5b8f002c588b002954860027518100224370001b365f
+000c1e3f000817360004102e00030d2800030a2200040c2000060e1e0007161d
+00081e1f0009272f000d323a00113d450014434b00174a5200205a5f00275d71
+002f698f0034709a003a77a6003c77a8003f77aa003d73a60037699900325e89
+002d527c0022436d00223f6800233b63002b3a6300343a6300424168004d4d72
+00526d95005f78a4006d83b4007288b600788eb9007596c0006b9cc400649dc7
+005e9aca005994c5005792c4005691c300548ec000528bbd004f87ba004b83b6
+004276ab003c6ea30037669b0034629700325e94002e5b8f002b588e002c598e
+002e5a9000336196003564990037689c003d71a400437aad004880b2004c84b6
+004d86b9004d87ba004d88bb004e88bb004f89bc00518abf00538dc1005590c3
+005893c6005e99cb005f9acc00609ccd005f9cce005e9acd005b97c9005690c4
+004579ae003f71a6003a699e00305b8d00274c7c001f3e6d0016336000102956
+000b2450000d285200102d570014325d001d3f6c00274f7e00305c8c00396a9b
+004f87b800548cbd005992c2006698c700769bca00889ccc00989ccf00a49ed3
+00ada0d300b8a2d400c5a3d300c3a1d400bfa1d600b4a3d800a5a5d800a1a8d8
+0080a4d40078a2d20070a0d100619cce00548ab40048779f003c658c0030557b
+002f578400284e770023466d001e4067001b3a600020437000234c7c00275285
+0026558900265689002b5588003755880048588c00545c8f005c5d90005d5c8c
+006056860064567e0063567c0061547b005750750048436b0038375500232a43
+00131d320008142600020a200001071a000004190004041c0006082100080d28
+000a122f00071838000a1940000b1c48000c214f000f2755000d2e5b000e3160
+0011356500163c6d001d457700255182002d5d900036689c003f73a900487fb5
+00518abf005894c7005e9acd00629fd10064a1d40066a3d40067a3d50067a3d5
+0066a3d40065a1d300629fd200619dd1005f9bcf005d99cd005a96cb005894ca
+"/>
+<palette number="488" name="Angora" data="00573249005c3d4f006b485a007a54650087627700947189009c769000a47c98
+00b7849e00b487a000b18aa300ab859900a5808f00997884008e707a00896c76
+00856972007a5e720078586f0077536c0078546e007a5571007b5774007c5a78
+008e67830098708c00a37a9600ab7c9a00b37f9f00b37e9d00b37d9b00ad7897
+00a16c8b00884c6c00753e5d0063314e00582847004e1f40004b1c3e00481a3d
+00401a3b00401a3c00411a3d00441d4000482143004b2345004e264800562d4e
+005f3556007244660077476a007d4a6f007c486d007c466c0077416800733c64
+00632f57005d2d5300572c5000552d5200532e5400573056005b32590060365b
+0062365d006436600063345a00623354005f314f005c2f4b00572b4500562a41
+004f2735004e2332004d202f004c1f2f004c1f30004b1f30004a1f3100491d30
+00481d300043192e0041182d0040182c0040182c0041192d00421b3100452036
+0052334b0059395600613f6200634165006644680069466900694866006a4463
+00683d5d00623147006230430062303f0064324100663443006b3a460072424b
+00824f5c00854f5f00884f6300834b61007e485f007a4561007e4668008d4f75
+0091597e00a47da000af88ab00bb94b600cea5c700dcb1d400e0bad900dfbfd7
+00ddb5d200dcb2ce00dbafcb00d8aeca00d6aec900d3aacb00d4a6c800d1a3c2
+00cb9fb700be96a400ba939f00b7909b00ae898e00a67f8500a17b80009f7880
+0096717c00946c7b0092677a0093667a0094657a00956279009461790092627b
+0095637f009e6484009e6684009e6885009d6e86009d6f83009d707d009b6d77
+0088626900845f6500805d620078585d0071515900694a560065465400604552
+005d4450005a3f4a00593e4a00593e4a00593f49005f424d006a455100794e59
+00956072009b627700a1657c00ae6d8100b4718300b4718600aa6d8800a36986
+009c637e00955e76008a59710083566e007f5369007a506200754c5c00704859
+006b4255006b3f53006b3d52006d3952006f3751006d345200682d4f0068284c
+006625470061234500561e41004d1a3b004718360044183400411936003d1937
+003c1b37003c1c3600411c3700411d3b00431f3d0043203f0046213f00492240
+004c2541004f274200542b4500582948005c2b4b005d2d4d0060304d00602c4e
+005f284e005f264d0061294d00622c4d0064304d006a324e00733851007a4056
+007e4a5e0084526200885764008a58670086596800845867007e55610079525c
+00724f59006e4a58006844560067425400674354006f465a0078456200804868
+00854f6f008c5a740094647b00996f81009e7984009d7f7f0097817b008e8279
+008a82740088786800806a610072595c00674f570060424e005c394b00593349
+"/>
+<palette number="489" name="Antique" data="003c122600481937004c1f3e00512545005226490053274d0052264d0051264d
+004e214b0050204900521f48005421470057244700582645005a2943005a2941
+005a2a400056243b0055223a0055203a00561f3b00581e3d00581f3e0059203f
+0059264300572743005629440053284200502741004e243f004d223e00491e39
+00451a34003d182a003917240036161f0034151c003315190033141700331416
+0031101200300f11002f0e11002e0d11002d0d11002c0d11002c0d11002b0d12
+002a0d1300290d1300270d1100260d1000240c1000220c1000220c1000230d10
+00271115002c15190031191d00331b1f00361e2100361e2200371e2300371f24
+00381f2500391e27003c1f28003f202a00401f2b00411f2c00401f2e003f1e2e
+003d1a2d003c1a2f003c1a3100421d370048203e00471f3d00471f3d00471f3e
+00481f3e004c21400050254300552a46005a2e4b006033500065375200673952
+0066354f005f2e48005928410056263e0054253c0057293f005e2d4200663341
+006d3c42007e4d480082504a0087544d0087544d0087554d0087564f0087544c
+0085554500855543008656410085564000845640007f543e0079503e0070473a
+00653c32004c25220047201f00421c1c003a16190036121900360f1d00391024
+00461a35004c1e3d00532346005424480056264b0057284c0058274b0059274a
+0058254a005c2b4b005e2c4d00602e4f00623151005f314f005b2f4b00562a45
+004a1e3800471c3500451b3200461b3300471b3400471b3600471b3800471c38
+00461a3800461834004617330046173300481934004c1d36004e203800512439
+005226390051263800512637004f2534004e2333004e2431004f263200502833
+00522b3300532d3600522c3600522c36004f2834004c233100491f2c00461c27
+00411a1f0041191e0041191d0041191c0040181c0040171d0041161c0042161c
+0044161c0048181c004b1a1c004d1a1c004d1a1c004c1a1c004b1a1c004b1b1d
+005222220055262300592b250063342b006b3d300073453500774a3a00784c41
+007a4e49007e51540084595f008e636d00986d7a00a3778800ad809000b08298
+00b0819b00ad7b9c00a87599009f6e940096668e008c5f8800845b7f007b5476
+00704b6b0066415f005b3753004f2d4500452438003a1c2c0030152000281018
+00210b12001d080f001a060e0019050e0019050f001a0610001c0611001d0712
+001f07130020081500210916002209160022091700230a1700240a1800240b18
+00250a1800260a1900270a1a00270a1a00270a1b00260b1b00260a1b00240a19
+0023091700220915002208140022081300220712002208120023081100250911
+00260a1000270a1000290a10002b0b11002d0c13002f0d1600320e1a0036101f
+"/>
+<palette number="490" name="Arizona" data="00cd826b00d48a7200d3887400d2877700d9918e00e09ba600dd97a600da94a6
+00c768ba00ad54c7009440d500862dd200781bd0006e16c8006411c100600ebd
+005c0bb9005e06a20060078f0063087d00610972005f0b68005d0a63005c0a5e
+00570751005508500054094f0052074f0051064f0050064e004f064d004f0449
+004c0346003a033d00340239002e0136002a0037002700390026003a0026003c
+0031014300350045003a0047003b0044003c0042003c0040003d003e003c0039
+00390033003a0234004103390049043f00550a460061114d00661550006b1954
+0077254f007b2c49007f3444007333390067332f00612e2a005c292500552424
+00521d2900450e3100480937004b043e004e04400051044200560447005b044d
+005c0857005c0761005d066b0061067000660776006607770067087800630675
+006602730067055f005f04530057034800520243004e023f0040023500380330
+00320128003100230031001f0033011c0035031a00400717004d101400611813
+0069200f00682905006c2c0c00712f13006f2b17006e281b00641e21005c1a25
+005b0e360065183a0070223e007b303d00873e3c009c563d00b1673b00b86d37
+00c57a3100c0833900b5793a00ab703b009a593d0088494400763b4e006a2c54
+00681d5e00691a61006b1765006e16680072166c007917730081197a00861b81
+008e1c8d008c149d008b139a008b12970088119000810e8b007307840068047a
+0056057400500376004b0279004e077600520c74005a196f006c2764007f3b59
+009c594f00c47d2a00c77d1f00ca7e1400cd801000cc851500c2761400ac5b11
+007f3623007b332a0078313200762b3f0070284c006826500068295500732f51
+007c394d00843f3e00833d3a00833b36007f3433007d312f007b293100782131
+006f162d0070162c0071172c0075182c007b1e24007d261a00792d1600712a17
+0069251d0063202100591e2500501b2b004c18390055174b005f1c6000692571
+0085368f008c37940094389a009a329a00a7358d00a62e85009f2880008f1a78
+008f126100890a4f007e0748006f074a006b085000690752006806510065084b
+00640d4700601240005a16380051192d00491b20004619180040161200381212
+0031170f0030160b002f160c002c101100291016002910170029121900311120
+00390e2b00460f3800560c42006b0f5300800e64008a126f0094106d00981570
+009e157a0092107e00820a7900770c730075127200731172006f0f76006f0d7f
+00750f82007c1283007f1784007d198e007814950074109a0071119f006a12a6
+006810ac006e0eb0007813b4007715b4007114b3006711b4006416af00611aa8
+00611c99005e1d9400662988007d4380009a617100a25c6800a6526300ac5764
+"/>
+<palette number="491" name="Autumn_Garden" data="0057473e005b4a47005a4b49005a4c4c005a4e51005b515600584d5200554a4e
+0051464c0054484e00574b50005a5455005d5d5a0063635b00696a5c006c6c5b
+006f6f5b00787156007870530078705100776f4900776e4200776c3c00776b37
+007566290076622600785f24007758200077521c00784e1b00794b1a007a4618
+007e44150085471600884c16008b5116008d551a008f591f008f5c2100905f23
+008f6a370093733f00987d480098814700998646009887420098893f0092853a
+008a843600817a37007e7234007b6a31007561270070581d0068511700604b11
+004c3a04004735020042300100412f0400412e07003e2c07003b2b0700392c0b
+003a2b0c003f2c0c00442d0c004a2f0c004b300c004d310c0050310c0053300e
+005c33110062381100683e11006d441500734a1a00744b1d00764c2100784d23
+00794c280079512c0079572d00795e2e0078612f007864310075683200736735
+006b63330066602c00625e25005f5d22005d5d2000585e1b00535e1a004d5d1b
+00485b1d00415723003e5627003b552c0039542d0038542f0035523300334e38
+002d4b3e002c4b40002c4c42002e4c4300304d4500354c46003b444800443e44
+0046393c0047352b0048362900493827004d3d240055432200664a2300725320
+0086651b008b6d1b0090751c0090781b00917c1a0096861d009b8d1e00a1961a
+00a99f1a00b0a41500ada11300ab9e1100a1991000968f0f008b860a00827f08
+00787703007573030073700400706e04006e6c05006969050065660700626609
+0060650e005f671d0060692100616c2500636f2e00697336006b763c006f7740
+00707446006f7447006e7448006d734d006e774e00707b4c00727e4900767d44
+0076793d00716d2b00706a28006f6725006f651e006e651800706513006f6513
+006b6016006a5c180069591b0067531f0064502400664e2800664f2c00674e32
+006a4d38006b4d3d006a4c3f00684a400067494000664b3d00644c3800634934
+00614729005f4525005e4422005a411e0055411b00524118004f4315004c4714
+004b4a14004b4c1400494c1800484d1d004a4c24004b4b2b004a4c32004c4f38
+0051503a0054513f00595246005e554b006356520066575a00695b6300735e6a
+00775f6e007a6178007c657d00866d7f008e768800917f8c009a889000a08d8a
+00a28f88009e8d84009e8c7700998b70009389660091895e008f8353008c7e48
+00857540007b6934006f602b0063572800595125004e4a2400434622003a4023
+00323a24002e3628002b332a0029332e00273233002634340026353500273735
+00283833002c3730002f392d0035392c003b3a2a00403a2b00443c2e00473e33
+00494037004b403600544a41005c5146005e5447005f5348006053480060534a
+"/>
+<palette number="492" name="Autumn_Leaves" data="009760220082823f007d7f3900787c3300686b3200585a32004f4f3200474532
+00292e210023281b001e23160020231300232410002b271900342b22003a3127
+0040382c0056504600615a4a006c654e0072674f00796950007d684d0081674b
+008d713d0086773800807e34006c7d2800597d1d004f7a1c0046771b00396515
+0032540f00272f0a0027250a00271b0b0027180b0027150c0029180c002c1c0c
+003b2713003f280f0043290b004a27080051250600511e0400511702004a1404
+00441208002f060d0026080c001d0b0c00240d09002c100600341308003c160b
+00572614005f271400682915006025100059220c00511f0d004a1c0f00381412
+002a0f150016162e00222731002e393400344337003a4e3b004c5e3e0067703c
+008d7a37009c773800ac753900ae743a00b1743c00ac7a3c00a7813d00a0804a
+00978358008b835b008b7a5e008b726200876b5c008465570073594c006a4c48
+0050383f00453339003b2e33003d2a30003f262e00432626004d2722005f291f
+006a311e008b462a0095502e009f5b3200a05e3600a2613a009b5d3700985632
+0081513600744c350068473500634736005f4837005646360051482e00505029
+0050533000565829005a592b005f5a2e006657300070532d00724b2900774724
+006e4326006b3d280069372a0063372a005e382b005a312f00572a31004f272b
+004c2225003f211c0040211c0042221d0041292100433329004d3e3400584b3c
+00745d39007f5d32008b5d2b008b5b26008c592100844f1b00784219006c3b19
+005d331e00402b1b003e291b003c271c003a271b003825110034250b00332a0a
+002923050026220500232106001921030015190300120e03000f0901000f0600
+00160200002000090026000a002c000c00330011003d0218004d071600530c12
+005d200d005e240a005f2907005d2f07005b350a005b3d11005d3f15005a3c15
+00553d1c004e3f1f0045391b0042351c003e381e0038371d003a3421003a3420
+0039222000381d21003718220033101a002d0814002705130023060e00220c07
+00221305002216080029190900301b06003218070033160800330f04002e0a02
+00270b010022080000200703001e0c09001b16110019211d001d2f35002c4246
+003c534400416747004d6b46005d623400616429005b5c2500554b2300534a2a
+004a4e33003e4f3b003e583d002f562f001d4d28001a492700133d1400133805
+001a370b0021351200333c14004a4222005a472e00694f33007d5a40008d6947
+0095834d009a9352009a9c4c00a2a84c00a4a84800a1953c00a9822f00a27c28
+009b7126009a622200875d2500785a2b00785c3100715d3b006c574300755640
+00795c3d00815d3e008f583600965729009c582100a5551c009d5a2900945d32
+"/>
+<palette number="493" name="Autumn_Mountains" data="00bd9c7f00c3a78700bb9e7b00b3967000ac8d6b00a5856600a08061009b7b5d
+0085634b00775235006a422000653c1b006137170063391a00663b1e00683d1f
+006b4021007c522a00845a2d008c6230008d6432008f6734008f6634008f6634
+00875f3600835e3700805d3900805d3a00805d3c00815e3d0082603e00876044
+008b664900977356009c795800a27f5b00a7825c00ac855e00ae865c00b1875b
+00b0835300ac7f4e00a97c4900a37844009e743f009c723c009b713a00996e34
+00976a3100926730008f662f008c652e0088602c00855b2a0084592900845728
+007d4a29007b46260079432300783e1f00773a1b007739190077381800753516
+00753415007b3d1e00804122008646260087482700884a280088492600874925
+007f4522007a402000763b1f0070331a006a2c1500672a110065280e005f270a
+005c260a0058290e00572c1500572f1d0057312000573424005b372b00603d2e
+0062473600604b3b005f4f40005f4f41005f4f4300624c430068493e0069463b
+006943370067403400693f31006b3f2e006c3f2c006e3f2a006f3e2500703c22
+006d361f006b351c006934190067341700663415006435120064340f00653411
+00673514006c3a1b006d3c1d006f3e1f007243220075482800794e2e007e5533
+0086613e00896441008c6845008c6845008d694500916a4300946e41009c7749
+00a27b4b00a17b4b009f7848009d754600926837008e653500895e300083572f
+0072472900673b1d005c2f1200592b0e0057280a005527060055250500562607
+00572a080061350f00653a1100693f14006f461b00734d250077532b007a5932
+0083653a0086673b0089693c008b6c41008d6e43008e6d3f008c6a39008b6633
+008a612a0083532100814e1e007f491b00784013006e350d00642a0600592003
+004d1203004c1103004c1004004b1007004a120a0047130f0042171200421a15
+00451e1600471f16004b22160049231500432318003e231a003f231b00412218
+004e2711004f28100051291000512c1400552e180059301b0062321d006c371d
+00753e1d007d472100834d280086552f00895835008c5a3900905f3e00976842
+009e704900ab845d00b7967300c0a58700cab49b00d5c2ac00dac7b000e3d5c1
+00ede1d100f3ece000f9f5ef00fefefc00fefefc00fefefd00fffdfc00fefdfb
+00f7f2ef00f0e7e200e7dcd600ddcfca00d3c3bd00d0c1ba00c7b6ae00c0aaa1
+00b8a09200af968700a5897800a3877200a0846c009f7e66009e7b61009e7960
+009b785e009b785e0099775b0097735500946f4e00916b4a008c674600886547
+0084644700836445008264420082633e0081603600815f3400805c3400825c34
+00865e38008a613d008e664100946c490099714f009f765400a77e5c00b38d6e
+"/>
+<palette number="494" name="Awakening" data="00d6c51d00d3cc5800cfc96e00ccc68400cbbd9900cbb5ae00d0adb000d6a6b3
+00d7839e00d2769000ce698200ce658500ce628800cc7a9200cb939d00c5989d
+00bf9d9e00acb1a800a8aea400a4aba000a2a29a00a09a95009f9b95009f9c95
+00b3a7a700bbb5b400c3c3c200c3cdc400c3d7c700c1d6c200bfd6bd00afd1a5
+00a2c4860086ac56007aa53c006e9f22007ba2160089a50b0091a80a0099ab09
+00b5b11d00c5a92900d5a13500cba74d00c1ae6600bca96100b7a55d00bb9151
+00be9a4400b9af3f00b3aa2500aea50c00a39e0800989805008d970500839606
+00608c030062870100648200006a8403007186070074890900778d0b00768d0d
+007487100051811d003d771e00296d1f0021672000196121000c58210003501f
+00034b1300085010000d560e00135b0a00196006001a6204001b640300206803
+00256a0500256609002d681100356b1a00406921004c672900635a3700794938
+0085523f008d503b00954f3800954f320096502c00895f1f0078741f006a7e19
+0065801200567d100046771300367116002d6d1700246a190018662000106122
+0007542900074f2b00084a2d000e472a0014452800254b20003b531b00506115
+006a651000907d0900938207009688050094860600808009006e790c0057700c
+00285b1100195913000b5716000b5916000b5c16000d5f160012631600146419
+001b671b00196d1a00176b1a00156a1b0014621d00105a1e0008561d0004541d
+00175815002a6111003e6b0e004a710c0056780b00728a08008b9d040099a902
+009ea6020093a403008aa10200829e02006c8c02005b7b00004c730300467305
+004a710e004d741100507815005d851c006f912c007d983e007c9d4c007c9f4f
+0080a14d006f9b4600669844005e954200558f39004d89260041811700377d11
+003578110036760f0037740e0039760a003c7a08003e7e08003f7b07003b7707
+00367307002e710c00276a0f001c5f1300145215000b471800063d190002361b
+00002f1d00002f1b00002f1900043315000c3c1000154910001b540f00225e12
+0029661100316f1200377614003d7b1700407c1a003f7c1800407e190045821d
+004a8226004a802e004c8437004e863f00488544003b7c4700347a490031764b
+002e7346002a713c002d7432003d7630004b783000567d2d005a8129005e8228
+005f802600577a24004b7320003c6b1d002d681b0020601800195b1600165b14
+0012601500156517001c671b002d6c20003f732e00537f4200658e5b00799d6e
+008da3760098a97f0096ad850089af86007ca87700719d650064955700568d49
+0049873f004d85360057863f006c885200809267008ea06d0098a96200a5a458
+00bfa75500ccb14f00d2bd3d00d1ba2100dcba0c00e5c10100eac60100e2c709
+"/>
+<palette number="495" name="Baby" data="00a8968500c3999400c89d9900cda29f00caa19800c8a19100c4a39200c1a593
+00b3a89600a6a192009a9b8e0095938000918c73008b856b00867f6300857c5f
+00857a5b007c785b0076775a0070775a006e775e006d7763006c7a65006b7e68
+007c8876007c9184007d9a920076a89e0070b6aa006fbaad006fbfb00068cab3
+0069d2b4007fcdb3008ec2b5009db8b7009bb4b7009ab0b8009aadb8009aabb8
+0098b2ab009cb3a400a0b49e00abb09400b6ac8a00b6a68800b7a18700b29c86
+00ac8b85008e70780089667500855d7200826075007f6379007e687b007e6e7e
+005d7e8e0053838f004989910042828b003b7c8500417c8000477c7c00507e6a
+00537e6500617c6500647c6e00687d78006b7d7b006f7d7e00767b8b007e798d
+00857e9100867e8a00877e8400847a7d00827777008277720082776d00827461
+0085705a0085624a00835b440082543f00804f40007e4a42007c4645007b464b
+008c5c610090676a0095727300957a760095837a0092918300869f910075ad9e
+0066bdac0062bebd006bb6b40074afac007fa9a8008aa4a40098989800a29292
+00a292950092989e00829fa70079a6ab0070adb0005db1ad0048b4a80039c1a5
+002dbb9d0026af8e0025aa8e0025a68e0026a3920025a09500259a9800259798
+00259a940033988f0041978b004896880050958600559482006a8c7a007c8272
+007c8067007f7a5900807c5700817e5500807f5100817d5600817b5d00817a62
+00796874007a6a82007c6d90007b6e92007b7095007e729b00806b9b0083688f
+00826486007b5166007b5363007b566100765c61006b68610060766800538171
+00399e7d00339d7f002d9c82002f9e80003c9e800047978200518c8300608680
+006e817800777f7300767f710076806f007a866e00759378006a9e840065a898
+0057b3b20057b1b60057b0ba0061b5bf0064aebe0064a9ba006bb0b1006ab4ac
+0058afa2004daa960051a9980055a491005796890062958d00759a8e00869b8f
+008ca78e008dac8f008fb2900088b794007ab3970069af990053ac9b0044aa9d
+003da19c003f9d9c0047a4a00052a0a20067999f00769c9a007b9a9800818d93
+0085888b0085818500837782007f6d7e007a637a00795f7800765a7000735c64
+00725e5700765947007b5a3a007a5d3000795d270079602e007d6538007c6c41
+00787155007b776800828270008f8a7900a3888d00b88c9b00cb979c00dc999d
+00e1939e00db909800d3928b00c68f8300bb897f00b5877b00b38b7d00b48c7f
+00b3877a00af867500a9847100a07e6900977660009273590088725100826b4b
+0081644500816142007f5b41007d5341007b52400077543e0076563800735f32
+00746d340079783800798037007d874200868f5800888e610090886300a29075
+"/>
+<palette number="496" name="Banana" data="00c7b09900c3b09600cdbaa200d8c4ae00d5c2ac00d3c0aa00d2bfaa00d1bfaa
+00d8c2ab00dac6b000ddcab500ddcab500ddcbb500dccbb700dbccb900d9ccba
+00d8ccbc00d5cbbd00d9cdbf00ddd0c200e2d4c500e8d9c900e8d8c800e9d8c8
+00ead5c000e4cdb600dfc6ac00d8bca000d1b29400cfad8b00cda98300cca071
+00cf9d6200d4a05c00d39d5900d39b5600d19d5c00d0a06300ce9e6600cc9d69
+00c1946c00bf936c00be936d00c0967000c29a7300c39d7600c5a07a00c5a682
+00c7aa8900cbb39600c8b39900c5b49c00c4b39d00c4b39e00c4b39e00c5b49f
+00c6b8a600cabcaa00cec0af00d0c3b200d3c6b500d3c6b400d4c6b400d5c3ae
+00d6bea500d6b59500d3af8d00d1aa8600d0a78100d0a57d00ce9f7600c5976e
+00b38c6700b18a6600b0896600ad8a6900ab8b6d00ad8d7000b0907400b5957b
+00b9987d00b5977c00ae907300a8896a00a4846300a1805d009b775200947148
+0095693a0097662e009a6423009f652100a5672000ad6a2300b26d2300b26f23
+00b7732800bd7d4100bb814d00b9865a00ba875f00bc896400bd8c6c00bd9070
+00be937600bf967600c19a7700c19a7800c29b7900c49c7800c69c7900c69e79
+00c59f7a00c39f7b00c39f7d00c3a07f00c4a38200c5a48400c6a68400c6a685
+00cca78400cda68300cfa68300cea78400cea98600ceab8b00d0ae9100d1b196
+00d2b79f00d3c2ac00d3c2ac00d4c3ac00d4c1aa00d3bda400d1b59600ccaa86
+00b88f6200ad805000a2713e009a6a380092643300895f3000825d3000866236
+0088694600958166009b876b00a18e7100ad987e00b8a28900bea98e00c2af92
+00cab49800cbb59800cdb79900d0b89800d1b99700d1b89600cfb59400ceaf8c
+00cda77e00c7965f00c4915900c18c5300bd814400bd7d3800c17a2a00c07c29
+00bf7f3900c1813b00c3843e00c58a4a00c9925600c5956600c19a7000c09d7b
+00c2a28200c2a58900c0aa8e00c0ac9400c1af9800c3b19c00c6b49d00c7b5a1
+00c8b7a500c9b9a600cbbba800d0c0ae00d3c6b600d7ccbd00ddd2c400e4d9cb
+00ebe1d400eee5d900eee8dc00f0e8dc00f0e8dd00eee5d900e8e0d500e4dbce
+00e2d8cb00e0d5c600ddd2c500dad1c300d9cfc200dacec000d9ccbd00d7c9b8
+00d3c2af00d0baa300ccb19700c8a78800c19c7a00bd946f00ba926b00bc916a
+00b88f6900b98f6b00ba937000c09a7600c49e7a00c7a17f00caa58300d0aa87
+00d7af8900d9b38e00d9b89600dabc9f00ddc2a500dec6ac00dccbb500dcd0be
+00dfd4c500e3d9ca00e4dcce00e7dfd300e7dfd400e7ded200e5dbce00e3d8c9
+00dfd2c200dcc9bb00d8c1b000d5bba600d0b79c00d0b09500cea98f00cea58a
+00c9a68800c7a68800c3a28700c19e8500ba9b8300b3967c00b89f8500c1a68e
+"/>
+<palette number="497" name="Beach" data="00836f9e00ad96a000b19eac00b6a7b900c2b3c400cebfd000d6c6d400dfcdd9
+00f0e6e700ece5e800e9e5ea00e5d6e600e2c7e200dfc1df00dcbbdc00d9bbdb
+00d7bcda00d3b4d500cfadd400cca7d300c2a2d200b89dd200b69cd200b49cd2
+00b293c200ac8ab800a681af00a7819e00a8828e00ad888800b38f8300be9b7c
+00c1a47f00c6b38b00cabc9100cec59700cfc89900d1cc9c00d0cb9c00d0cb9d
+00cabc9d00bfac9100b59c8500a38c7b00917d710088757100806e7200715f7a
+00664f7a00514183004c4491004748a0004e51aa00565bb4005b60b8006066bc
+007e83cc008e93ce009fa3d000aaacc500b5b5bb00b9b7b600beb9b200c9bdad
+00ccbeab00bfaea700b3a2a800a797aa009f92ad00978eb1008a82bb007d78c6
+006b6dd500696fd6006872d7007379d8007e81d9008484d8008b87d7009589d3
+009784cb009d6eac009965a000965d95008f58910088548e0078448d006a3683
+0050288000472b8a003f2f94003d3199003c339f003d37a3003e3aa6003f3ea9
+004140ad004143b3004241b300433fb400423eb300423eb200413cae003d38a8
+00382c9c00392b99003a2b96003b2d96003c2f960041339600473a99004d429f
+00544aa4005d5bba00605dbe006360c3006664ca006c62c800715ac8007657c7
+007d5bd1007f5dd2008260d4008361d4008562d4008b66d6009071db009984e2
+00a194e700acaceb00aeafec00b0b2ed00b7b6ee00b9b3ef00b7b1ec00b0ace5
+009e95d9009987d2009479cb009274c500916fbf00896ab900886ab2008b69b2
+008c6db6009271bb009173ba009076b9008d75bb008a77bb008975b9008973b5
+008b729c008e74940091768d0097787d009b7c6f009e7e61009b7b5800987553
+00967250009c784b009d7b49009e7f48009f7e4a00a1804c00a2825000a88853
+00ad935500ac925500ac925600a78e5b00a58b6100a3856a009e7870009a6674
+0092547b00894a7c0086477d007b407b00713574006224710051186e004a1861
+0032154f002c124d0026104b001a0b5300190e52001f145700281e6200342b71
+00433b8300554d910069619b007b74a0008880a5009489a4009b8da0009b8d9e
+009a8b9800938493008c7f91008a7a8c00887787008a7883008f7e7a00958778
+009e937600a99d6f00b3a46600beae5c00c1b25500c0b45500b9ab5f00a99c66
+009d8e6f008c807a0081798400786f97006c65a600655cac005e56ad005b53a3
+005e549e0060549c006550a0006c4da1006d4c9e006c4c9d00664b9a0060459d
+005c3aa2005534a4004f30a700462ea600402ea6003d2ca600392ba100362a9d
+00332998003427910036278b00382483003b2278003e1f71003f216700412767
+00472d690050336a005f396e006f486b007c5c6d007760790074648700786897
+"/>
+<palette number="498" name="Beautiful" data="00d7813400c2830f00cc8e0e00d6990d00e9931d00fc8e2d00eb8e4500db8f5e
+00be93ae00868ba8004f84a30047719900405e9000414e8700433e7e0041407d
+0040427d006a6c610099755800c87e4f00dc833f00f0882f00f38b3400f68e39
+00dbbc4700d8ad4d00d69e5300ce884200c7723200be732400b67416009b7900
+00886c080093903100828b3f0072874e005d65660048447f0042457e003d467d
+00268c9a002c96a60033a1b2002d9cb2002897b20021949f001a918d00349b7d
+00608e4e00ad7f2100bb8d3e00c99c5b00c39c8600be9db200c0a1b700c3a6bc
+00b799bb007ca2c30042abcb0030aec2001eb1b9001aa9b90017a2b900258bb1
+0046719b0093605d00aa6d4b00c17a3a00c57a3a00ca7a3b00cb7a3800cd7b2f
+00ff8a2600fd8d2a00fc902e00f2ac2d00e9c82d00e3c24400debc5b00d3b09c
+00c29cb100bf90b000b897a100b19f9300bb9c7400c6995600d48e5300c87b45
+00a66c5800aa4a7500ae299200a62891009f279100931e86009d137200862084
+0052347e00424882003c6c8e0036909b003190a6002c90b2002899b90031aecc
+004d90aa0068868400837c5f008b765e0094715d0090687000906a7700607684
+00368bb2003063b200415da20052589200803989009c2e8f00972b9000862582
+00473c81003b547f002f6c7e003371790038767500428595004b84a1009885a3
+00b68cbe00548fad004a8daa00408ba80054849200977d8000af725600cc7b3a
+00d07b2800c47a1b00b8790f00b7761200b67416008f8927006d774200677345
+00446c470023507a00274f7d002b4f810028437a002c3872003d286d004a3377
+0067187400631a74005f1d740055226f003c1e68003c276a002f3a70002b3f71
+0031426d0043297000561f7b006a1686007e15af00ba11c400be06c0009d009f
+007a248f0064378d004f4a8c005266a1004896bc00499fb80051a0b10095a48f
+00acbd530087c95b0065cea60037a8b80039a0b300319cac002d8da3001f8087
+002e42740030376e00322c680030275e002e0b4d001513520024155a0027225c
+0036226700412d6c0066307e008f268d00a9298a00b95f6100976662008f5f5b
+00553a5d0032376f0028306e001f386e00252e650024226d002f236d0030296c
+003f3b7600775576008f68570099765a009b953500a5983a00b9b04700bbb350
+00ce9f4d00cb9a5800b7a15500aba85700a1a25200aba14c00ad805f00b28369
+00bb92a000ab7599009a35b7009232b0009f40b800bc87b100ba98bd00bd9cb9
+00ba9cc2003fbede0017dcef0017dcef0036b1d200399abb003a90a70031568a
+00454285004a427b0069733e00ae7a0d00c7771400d0890000d1900e00cb970d
+00ce8f0c00c8880d00bf7c1100b3711100a57c0000b1850000d59b0c00c59002
+"/>
+<palette number="499" name="Before_Dawn" data="0055586f0050515e005b5a67006664710076758100878691008b8a9500908f9a
+008f8e9e00868696007e7e8e006b6c7d00585b6d00494b5a003a3b470031333e
+00292b360010121b000b0c130006070c00050508000404040003030300030303
+0002030200010202000102030001010200010002000000020000000200000003
+000000040000000600000007000001090001020c0003040f0004061100060814
+0010142200181c2e0020253a00242b440028324f0028324f0029324f0028304e
+00242e4e0019234300141c35000f1628000c1224000a0f21000a0e1f000a0d1d
+00090c1400070a1300060812000406100003050e0002040d0002040d0001030c
+0001030b0001020800010208000102090001020a0002030b0004050f00050714
+00080c1b00090d1e000a0e21000a0e20000a0f20000a0e1d000a0e1b000a0d18
+00090c17000b0f1a000d111e00101323001215260014182a00191e31001c2238
+002a304a00333852003c405a003e425e00404563004249660042486700414562
+003c405c00282e46001f243800171a2a001416240012131e000b0e1800090c16
+000d0f1a00141724001c202f0021253500262a3c002e344f00323b5f00333c67
+00333a63002a325800232b52001d254d0014193b000d0f2600080a170004050f
+0002020a0004040d0006071000080914000a0c1800111322001b1e3100282b41
+0033385200475070004d557600535b7c005d64840061688400626a84005f657d
+00545569004d4d5d004745520042414d003e3d49003836440036344300383440
+003a37430045455b00494861004d4c6700545471005e5e7c00696b8b00747595
+007d7e96007b7e94007a7e930073768d00696c80005a5c6f00484b5c0034374a
+00232538000d0e18000a0a130007070e00030307000100030000000100000000
+0000000000000000000000000000000000000101000102020002030300050607
+000a0b0d00111318001d1e26002d2e380041414c00545464006a6a7d007e829a
+00a9adc700b1b5cd00babdd300c5c8df00d4d9ee00e0e4f800e9ecf700eaebf5
+00ecedf600eeecf500ecebf100e1e2ec00d6d7e600d1d0e000d0cdda00cacad8
+00c3c3d300bfbfcf00c0c0cd00bfc1cd00bcbdcc00b6b7c900afb0c200a3a6b9
+00979aaf00858aa200747892005e627a004a4d6500343952002329400015192c
+000a0d1d000305140000020f0000010a00020207000404080007080d000d0e14
+0016171d0023252a0033363e00474954005a5d6b006c6f7f007d8192008e91a4
+009b9caf00a2a2b700a5a6bb00a4a5bd009d9fb8009294ae00878aa2007b7f99
+00686f8b00525a78003f486300323a5200262d42001a213500131a2d0013192b
+00171c2e00212537002d3345003d4458004a516800444a5f0040445700414559
+"/>
+<palette number="500" name="Beginning_to_Thaw" data="00cdefd400cde7d800cae2d400c8ded100bfd2c300b6c6b500afbdab00a8b4a1
+0083997300778d61006b825000707b4f0075744f00807c53008b845700918959
+00978e5c00b3a27a00b9a98800bfb19700bfbc9e00bfc7a500bfcaa900bfcdad
+00bbbfb200b5b9a300b0b39500a9a88e00a39d8700a1968600a09086009b8a75
+00988c6a00978c67009c8b7200a28a7e00aa938400b29c8a00b49f8900b7a389
+00b09481009f8772008f7b6400796e510063623f00575b36004c542e00394d1c
+00294211001f420800264608002e4b0900334f0b0038530e003b5613003e5a19
+0056783300617e3c006d8546006a84520067845e00638669006088740065938a
+00699f9c0075a6a900719eaa006e97ac006e95ac006f93ac00748ea900808c9c
+0087757c008a696d008d5d5e008958560085534f0086524d0087514c008e5453
+009a5d6000a7798000a6808b00a6879700a9899b00ad8b9f00b68ea100bc929c
+00b4878000ad786c00a66a5900a26650009e6248009957380090522c008e5025
+008e4e25009051350086503c007d504400775144007153440065544300605243
+00564d4800525b4f004e6956004d7059004d785d005489640063986b0073ac7e
+008ac59000a4e5ab00a7e7aa00abeaa900a9ea9f00a5e09700a1d38f0096c087
+0086996a007f85550078724000736638006f5b3100644a26005d3a1f00563517
+00563610005c3d12005c3f15005d4118005f4e2200696330007a773d008a8c50
+0097a673009daf8100a4b88f00a5ba9300a7bd9700a3bb960090b295007ea591
+0074978d00718d8c00708c8c006f8b8d006b8d8e00709190007c99950092a99c
+00b7c4b400bcc9b900c1cfbf00c7d8c900cde0cb00d7e2ca00dde4c800dfe3c8
+00d9e5cf00c8dfd700c6ddd700c4dcd700c1dbd800bce1db00b6e2dc00b4deda
+00bcd7d100bdd8d000bfd9d000c3dbcc00ccdac800ced3c000d7cdb600dac9b2
+00d7c7b100dac7b300d4c2b500cfbfb700cbbeba00c4bdba00c3beb800c4beb7
+00c3ccbb00c3d0be00c3d5c200c3ddc500cbe0c900cde5cf00d3edd600d8f6e2
+00d8fae900ddf9ef00e1f3f100e7eff000eceff100edf0f000ebf2f200e6eff3
+00e3eaf000dfe4e900dee0e100dadddb00d4d5d400d1cdcc00d0c2c400d4babd
+00dab5bc00e0b2b900e5b4b500e8b8b000eebfad00f1c8b300f1d1bb00edd8c3
+00e7e1c700e0e6c700dce9c900d6e8cb00d2e3ce00cfddcf00ced8d000d1d6d1
+00d3d4d300d9d6d500dad7d200e0dbcf00e8dfce00eee3d000f0e6d600e8e9db
+00dce9da00d2e5d700c8e0d300c4d5d000bacaca00b0bdc200acb2bc00aaa7b2
+00b0a0af00b39caa00b798a200c098a100cc989d00d89b9f00e3a4a000e7af9a
+00e7ba9900e7c49c00dfca9f00dbd0a400d6d7a900d3e0af00d2e9bc00cfedcb
+"/>
+<palette number="501" name="Beige" data="006a5f530061584d0059514800514a430045403c003936350037353400353433
+0032323100323231003333310035343200383633003b3835003e3a38003e3b38
+003f3c39003f3d3a003f3d3a003f3d3b00403e3b00423f3c00433f3c00443f3d
+00433e3c00433e3b00433e3b00443f3c0046413e00484240004a4442004d4645
+004f484700534a4800534a4800534b4800544b4800554c4900554c4900554d4a
+00584e4a005a4f4a005c504a005e514a0060534b0061544b0062554b0066584c
+006b5b4d00786252007b6454007f6757007e6858007e6a59007d6a59007d6a59
+007b6857007a6656007964550074615300705f51006d5d50006a5b4f0063564c
+005f524900594c4300594b42005a4b42005a4b42005b4c43005d4e4500605149
+00695950006e5d54007362580076655b0079695e007a6a5f007b6b61007a6c63
+00786b630072665e006b615900645c5500605952005c565000544f4a004c4844
+00413d39003d3835003a3431003933300038322f0037312e0037312e0038312e
+003a322e0041362e0045382f00493a30004a3b30004b3c31004d3e3400504136
+005a4a3c00614f4000685444006b5646006e594900755f4e007a6553007d6958
+00806d5d008572640085736500857466008674680085736700817265007c6e62
+0070655b006a615800645d5500625b5300615951005e564e005b534900584f46
+00544c44004c473f004b463e004a463e0049453f0049453e004a453e004a453e
+004c463f004e4740005148420052494300544b4400584e46005e544b00675b52
+0073645b00947f70009d877600a68f7d00b49d8800bfa79100c5ac9600c6ae98
+00c3aa9500c2a99400c1a89400bda68f00b7a28b00ad998500a18e7c008f8071
+007d7064005e554c0058504800524c450048443f00423e3b003c3a3800383735
+00343534003435340034353400353534003535340036353400373635003a3735
+003c3937003f3b3900433d3b0047413f004e464300554b48005d534e00675b56
+0077676100796963007b6b65007d6d66007d6d65007c6c64007b6d66007a6b64
+00796a620075675f006f625b00685b55005e544d00544d47004b46410045413d
+00403d39003c3a37003a37360039363500393634003936340039363400393534
+0038353400383534003834330038343200383332003833310039343100393432
+003b3633003c3734003f3a3600433d370047403a004c443d0051494000544c44
+00584f47005a5149005c534a005d534b005c534a005d5349005b524900595047
+00554d4500514942004c453f0046403b00413c38003d38350039353300373431
+0036333000383430003a3631003d393300413d3600464239004d473e00564f43
+00605749006c6250006e6452006f6553006f6453006c615200695f5100655a50
+"/>
+<palette number="502" name="Berry_Bush" data="00a00a1800c30d1700c2111b00c1161f00b41e2200a8262600a22a29009c2e2c
+008d3d3400844737007c523b006e563a00605b3a0053563a0046523a00434f3b
+00414c3c0049463b0056423400643e2e006c352c00752c2b0078292b007c272b
+0095262200a72d1d00b9341800c63f1a00d34a1c00d44f1c00d5551c00d0611c
+00c86f1c00be8c2300be972700bea22b00baa82800b7af2600b1b02700abb228
+0083c03b0075c1420068c34a005fbc430057b63d0052b23a004eaf380048ae39
+0045aa43002aa04000249337001f872e002c7b2f00397031003a6d33003c6b35
+0034784700287e4a001d844d00237e4e002a794f002b7b4e002c7e4d0027854b
+00229448001fb542002db135003bad290041a52400479d1f004e8c16004d8610
+004273100044681300475d17004d4f1a0053411d0053391e005432200054291b
+0050241700612c16006c371700784219007b4519007f491a007d481500794413
+00683c0d00603f1000584213004f41130047401300363e130026391600143016
+000e2d130012351c001d3c2200294329002f472e00354c330043533b0051613f
+006e744700777e480081894900818e4c00829350007aa3540074b05a006cb564
+0062ae5e004d9a4e0043974a003a95460029993d001aa4440010a840000ba43a
+001b822c002c7622003d6b1800476d1600516f14006377100072800f00808015
+00947d1e00b3824b00b1865300af8a5c00a69a6b0093a878007db57c0073c48d
+0059d6a8004bdca9003de3aa0037e0a00031de96002fd7880032d1770036cf6d
+0039cd5d0032d2470034d2430037d2400036ce3a0032ca370031c9320028c62d
+001bc428001abf280019ba280016b12a0018ae2d0019ad2f0016ac370016b13c
+0016b4430013b7560012ba5c0012be63000fc476000dcc85000bd390000ad995
+0015d691001cd18f0023cc8d0033bf870045aa7e0057966e0065856200767652
+008965460099593b00aa4a3100b53a2700b62e2300b0272100a4212300972324
+00773027006e38290065412b00525336003d6344002b7352001e835f00138e65
+000e9d6c000ab0750006bf800006cb8a000ad6920011d893001fcf910030c789
+0042bc7c0056ab6d00669c6000709252007a874c00877f4a008e764400956b3c
+009c5c35009a522d008f4c2800864e2b0076532f00645e3700566c3f004b7446
+003d7a4600338146002a864300218740001c8b3e00178e3d0014933d0011993c
+000e9e3a000a9c39000a9734000e8b2e0014822a001d7727002773260031752c
+003b7932004c7137005b6839006d5b3a00774f3a007e4739007a473700774435
+006f3e32006d383000643131005b2932004d2538003e2738002d223600231e33
+00221a2d002e1826004012290055112900690c2800770a27007e0722008f0a1b
+"/>
+<palette number="503" name="Biology_Class" data="009d351000a36004009e7504009a8a0400919f070088b50a0084bd0b0081c60c
+0067d8090053d50a0040d20b0031c60b0023ba0c001ba90f00139813000e8d14
+000a8316000356160003441700043218000b301800132e1900183216001e3713
+002b4d08002e560400325f010032640000326a0000306902002e6904002f660a
+002c5c1300233c2700242e320026213e00331a4d0040145c004913630053136a
+00710f7f007e0f86008b0f8d0090109200961197009412970092139800891695
+007e1698005d1299004d118e003d108400330f7a00290f7000260f6a00231065
+001b134a001816430015193c00131f3a00112639000f2b38000d303700073831
+0003452d000d602800146925001b7322001c741d001d75180020740f0023720a
+002d6a1c002c6127002c583200254e38001e443e001b3f4100193b4400143749
+00123550000f3452000d344f000b354c000a36480009374500083c3b000b4633
+001d652a00247723002c891c002f9018003298140038a40f0042ad12004db31a
+0056b322005ea030005b8e3300587c370056763700547038004d633600435c33
+002a5b2700236323001c6b2000196f1f0017731f00197f1e00248a1d0031911f
+003e952200569026005d8c260065882700727d27007a6e26008261210083521e
+00803525007d272f007a1a390078153c00771040006e08450060054c00510355
+0046075f002f15690028196600221e640013245c00082c53000437470003463e
+0013682e001f7627002b842000308b1c00359219003f9f150046a712004ea915
+0053a8180054991b0053911b00538a1c0054781d0057651d0059501f00613d20
+006e201e00701b1b007317180071141300701311006d150c00671b0c00611f08
+0057220400482b000048310000483800004d4700005351000054550300515706
+0043610d0040640e003d681000376a14002d6a17002167190013621b00085d21
+0002562a000150330001493c00033d3e000c32420019294c0028215100351a56
+0042074b00450447004902430050043a00580f32005e1f2d005f3127005a3f20
+0051481a004a531500445c130042641400406614003c5f13003d5616003d491b
+003f3a22003e2d2900371d2a0031132f002d0f36002a0f3f0029124d00241655
+0019195d000e1e630004246800002b6e000032720000357500033775000a3771
+00133869001e3a5d00283a4f00303c4000383a35003d382d0042392b0042372c
+003f3a31003b3e390032424300294c51001d535b00135960000d62600008695b
+00077557000c7f520016804800207a3b002c6f2b0035631c00435a1700585215
+006c4619007e3d25008b322c0096273500a3223e00ad1b4400b3194e00b51754
+00b4145600b3115500b10a4d00af054200aa033600a5072a00a0111f009d2117
+"/>
+<palette number="504" name="Birthday_Party" data="00374e48003f6a32003a822d00359b29003c9f3b0044a44e004aa4560050a45f
+0062a76d006da7830079a89a0081a3ab008a9ebc008ea2ba0093a7b90094a5b8
+0095a4b8009aa9c4009aadc7009bb2ca0099adc10098a9b80098a4b10098a0aa
+00907b99008f698e008e578300904774009338660094336300962f60009c295c
+00a2245d00a5275200a92b4900ad304100b32f3c00ba2e3700b92c3300b92b2f
+00b2202300b41b2800b7172e00bd143a00c4124700c7134c00ca145100c9195d
+00cb216400d1357000d43a7900d73f8300cc3f8300c1408300b8407d00af4178
+00965e66008c635e008368570081694900806a3b007f6d36007f713100857637
+00896c3b00974d410097404e0098335c00962b6200952369009b196600951462
+007d2050007b314f0079424e007c5846007f6f3f007f783c007f823a00779040
+00729a4b0084ac60008bb1690093b773008db5760088b4790083a679007d9e73
+0081896700817a6700826c68008466690087616a00875a71008a547800905285
+0090529700935fbb008a70c4008182cd007d89ce007991cf00749bcd00799ccc
+007e9eb900839bb1008898a9008c92a800918ca700937da400906da000886398
+007e588d006b4f7800684a7600654574005d41700057436a00584b6700605863
+007d5e78008c5f87009b619600a0649900a6679d00b06c9b00b76c9e00c06ea1
+00c46da400cf859700c98c9400c3949100baa58c00a5ad960094b7a40088c4ad
+0066dab20055d8b00045d7af0040d7ae003cd7ae0033caaf003ec1a40054b695
+006ca58800929081009b8b8100a4878100ba7e8000cc727f00d56b7a00d46678
+00bf646800ba606200b65d5c00a75f4d00985d41008b5d3500825b3200835537
+00835a3b00746f4f00707254006d7659006e736b00766d8000836a96008672a5
+008a79b0008b78b2008c77b400966abd009a61c1009d5bc6009758cb008b53c0
+00834bbb00783db3007930a00074279b00741b830078156d007e145e0092184f
+00aa2e4f00ab344f00ac3a5000a8485400a9536000a36277009b6e88008e769c
+00807ea9007780ad007082b3006d7daa006370a2005c6397005b5587005a4f7a
+00664767006b3b530074314000812c32008a3a2d009a4e2c00a9653400b56d39
+00bf6e4300c6734c00ca6f5500d0776c00d36e7f00d7618b00d7569100d64588
+00d23e8000c8317a00c22b6c00bf256300c5245100cf2d4300cc2a3b00c32b32
+00ba252f00bb212d00c7283400d5334100da414d00d04f5e00c55d6c00b36677
+00a4768400967d8a0085838e0076839500677da1005b7dac004e7ab8004c84b9
+004b8ab8005093bc00539cbc00549cbe0056a0b600559ca7005797a1004d9495
+0048858a0042717f00445a6d00473f6600433b5d003f3e500031464f0037514b
+"/>
+<palette number="505" name="Bistro" data="00b5453f00b94f4800bf4d4800c54c4800c4434100c33a3a00bf353600bc3032
+00ad292b00ab2a2e00a92c3100ab303300ae343500af3a3600b0413700b04235
+00b1433300b74c3000be532f00c55b2e00cc6d2700d37f2100d3831e00d3881b
+00c4811100ba781000b06f0f00a8701000a17211009c711300987015008c6819
+00805b1e0070442c0071483300734d3a007c5c4500856b5000897054008e7559
+00a58a6800ad8e6a00b5936d00b4916c00b3906b00af8b6900ab876700a47b5f
+009d6a55009a51420098493d0096413900973e3a00983c3c009a3d3d009d3e3e
+00a2413e00a2403e00a23f3f00a03d3e009e3b3e009d3b3c009c3c3b00933836
+0086312f0065221c005b201600511e11005020100050221000542410005a2715
+006d322300753925007e40280089452400954b20009e501f00a8551f00bc6021
+00cd732800e18c3800e0903600df953500df943100e0942d00e49e2600e7a52c
+00e5b54600e2b24c00dfaf5200e0ad4900e1ab4000e5a63100e8a12800e8a026
+00e19c3000d08d3100c5852500ba7e1a00b57a1600b07612009e6c0f00905f10
+0071441200683d0f0060360d005d340a005b3308005d2f06005e2c0600632b08
+0069290a007b280f007e261000822512008a23140092241600982519009e281b
+00a72b2000ac2b2200b22b2500b32b2700b42b2900b32b2900af2b2600a52b27
+009a2d260094422d0094492f0095513200945d370092663e008e6943008b6948
+009e795700ab865e00b9936600bd976800c29c6b00c29c6c00c1926b00c08a69
+00b9806400a57652009e754d00977549008d6c3e00866235007c582e00784d28
+006e3a1b006a36190067321700602915005926140056221500561f1500581d13
+005a1b12004a161100441510003e140f0033140f002d130f0032120e0039120c
+0047130900481309004a1409004a1409004b1409004d120a004c1109004d1009
+004b0f0800470d0600410d05003a0d0600300c0600280a0700200a0600180906
+00100c06000f0c06000f0d0700110e0900120f0a00160f0c00180f0e0019100f
+0019120f001b140f001b160d001f170d0026170e002e170f003a180e0048170e
+0053150b005d1609006516070068150700681607006617090066160b0068170c
+006a160c0069140e0065150f005f15120059181500581c1a005e211f00672824
+0073312900833a31008e47380098574100a4644c00ae755700b88b6100c49a6a
+00cda57200d5af7800dfb68200e2ba8a00e8c89300ebd29c00ecd7a100edd59f
+00eecd9c00e4bc9300e0b08800d9a67e00d19f7500cb966800c58d5d00b97f4f
+00b16d3d00a85d2c00a24c1f00a23d1200a4350f00a4300f00a22d0f009f2f11
+0099301500982f1500992b1900a3382800ac413100b6453a00ba4a4100bd5045
+"/>
+<palette number="506" name="Blossoms" data="0099875b008f916500948b610099865d00a57f5900b2795500bb765500c47456
+00d9766300de776600e4796a00e7756800ea726700eb746a00ec766d00ea786e
+00e87b7000dc937b00d39c7a00caa57a00c0a77700b7a97500b3a77400afa573
+008e9e6d007d9d6a006c9c680062936300588a5e0057845b00577f59005a724f
+005d6e4900606b3e006a6a3c00746a3b00856a3d00976a4000a06c4300a96f46
+00be765500c37b5c00c8806400c7806a00c6817000c47e7100c37c7300ba7575
+00b56d7800a5616e00a05e63009c5c58009d594d009e564200a2563e00a6563b
+00b5553100ba542d00c0542900c2562700c4582600c75a2600ca5c2700cf6429
+00d46d2d00d4703f00ca714500c1724b00bd734a00b9754900b07a4900af814a
+00b9805200be7c5500c3785800c1745500bf715300be6d5100bd6a5000bb634c
+00bd594f00bf505500bc525900ba555d00b7585e00b55c5f00b55e6200bb6666
+00b9717200b67c7700b4887d00b38e7e00b2948000baa38700c7b18c00d1bb93
+00dcc09900ddcba200dacaa200d7c9a200d9c79f00dbc59d00e4bf9700edb798
+00efaa9400eda59100eca08f00ed9f8c00ee9e8a00ee9b8600f09b8700ee9b88
+00eb9f8900e4b48d00e1bb8b00dec28a00dbca8600dacd8600dccb8700dbcb8b
+00d8c59100caba8800bcaf8000b7a77c00b39f7800aa906f00a9836a00ab7e67
+00ad7a61009f6e4e00986d4900926c4400806c3c00717536006a8233006c8f34
+0086aa57008fb56e0098c0850099c68d009acc95009ed69c00a6d5a300b5d4a7
+00c4ceaa00ddbba600dfb89f00e2b59900e2ad8600e6a97200e4a55d00d79f4a
+00c0902d00b88d2900b18b2500aa892000ad8c1b00a8901900a29317009f901a
+00978f1d00988322009d832100a2832100ad871e00b9861f00c5891c00ce871c
+00de781e00e3751e00e8731e00f0702000f6712400f7732900f9772f00f87335
+00f86d3a00f86a3a00f96a3a00f36c3d00f0744200eb794a00e2785200db7153
+00d7634f00d6624f00d6624f00d8635300d7605a00d75a5e00d6545d00db525b
+00df555500e7614d00ef694c00f46d4800f66b4300f6694100f3673e00ef6e36
+00ed763300e77b2f00e3782900e1742600db6e2600d3672500cc642800c0632c
+00b6632d00ac612c00a4622a00985c25008e5622008251250077552c006f5c35
+006a6c3e0066774600677c4700697945006b79450072784600797d4900808551
+00888a5600928856009a845900a4805900af7f5900b9825f00c28b6700cb926f
+00d39b7900daa38100e1a98600e7ab8b00ebaa8b00eca68b00eba18900e79b85
+00e2937d00df8b7400e1826600e3755900e36a4c00e3624400e05c3e00dc5c3d
+00d6643f00d06f4400cc774700bd764900af754800a6734a009c724b00937852
+"/>
+<palette number="507" name="Blue_Velvet" data="00372f600037305f00372f5d00372f5b00352d5600342c5100332a4e0032294c
+002e2644002d2542002d2440002c233e002b233d002b223b002b223a002b2139
+002b2139002c2339002c233a002c243b002c233a002d233a002d2339002e2339
+002f243a0030253c0031273e003228400033294200332a4300342b4500342e4a
+00373251004143660042486e00444d7600444d7900444e7c00444e7c00454f7c
+00464e7900424772003f416c003c3b65003a365f0038345d0037335b00342f57
+00332d5500332d5800322e5a00312f5c00312f5d00312f5e00312f5e0032305f
+0035315f0035305e0036305d0035305a00353058003430560034305500342f53
+00342e5300353054003531540035325500353256003533570036345a0037345c
+0038335c0037325c0037315c0037305b0037305b0038305b0039305c003a315e
+003b3261003e3b690041437100454c790049517d004d56810056618c00657095
+008a94ae00959db200a0a6b600a2a7b500a4a8b400a0a4b200a1a8b7009aa2b5
+00929baf0071809c006378990055719700516f96004e6d96004b6a97004c6a97
+00526e9a0057729b005c769d005e779d0061799e00607ca100617da200637da2
+00637ca0005b6f9800586b9500556893004f5f8e004b5989004651830041487c
+00393a6f0037376b0035356700343465003434630032325e0032305700312d4f
+00302a47002e2539002d2335002d2232002c202e002c1e2b002b1e28002b1e28
+002c202d002d2232002f2538002f253a0030263c0031273f0033294100352b45
+00372d4900382e4d00372d4d00372d4d00362d4c00362b4c00342a4a00332a4b
+0031294b0031284b0031284b0030284c00302a5000312c550033325b00383a64
+003c426c0045568000485a84004b5f88005169920055729a005779a000567fa4
+005a84a8005d86a9006088aa00668bac006b8fb0007491ae007c94ac008798a9
+008b98a5008a98a7008996a6008590a20081899c00777f930069728b005a6686
+0044527d00404e7a003d4a78003a447400383f7200373d6f00383c6f00393c6f
+00393c70003b3d71003d40750042467800464d7d004b5281004f578300525b86
+00555d8600545f8500535d8400525b810050587c004e51760046496e00404067
+003938610036345c0035315700342e5300332d5000332c4f00332d4f00352e50
+00362e5100372f5300383056003831590039315b0039315d0039315e0039305f
+00382f5f00372f5d00362f5a00362e5800362e5700362d5600362f5700373057
+0037325a0038355e003a3863003b3c68003b3f6d003c4070003c4273003d4375
+003e4377003e4277003e4176003d4074003b3e71003a3c6d003a396b00393668
+00373566003633640035326200353162003531620035306200362f6300362f62
+"/>
+<palette number="508" name="Bluebells" data="00331f1800281d1a00251c2000231c2700251b3400271b4200291d49002c1f50
+0031286d002c2d770028328100233388001e34900022359100263793002c3c96
+00334299005766b2005873b8005a80be005885bf00578bc0005d8fbf006494bf
+0096b3d000a9c3da00bcd3e400bdd9ee00bfdff800b7dbf600b0d7f400a0ccee
+009bc3e80097add70091a2d0008b98ca00788bc500657ec0005b7bbf005278be
+003060ba002454b2001949aa00163f9a0013368b001235850011358000103578
+0013357600193b7600203b6b00273c6100273d5500283e4900283e4700293f46
+002545590025486400254c7000244e71002351730022507100214f6f001f4c6b
+001a456a000e3773000a2e700007266d0005226700041e620003165200020e41
+0002052e0002042b000203290003052a0005072b0005092b00050b2b0007112d
+000b17310013223c0015233e00182541001824410019234100192542001b2744
+0024324f00293955002f405b0036455e003e4a62004f586b005f6673006c6e76
+007a76730077736d007c756e0081786f008a817700938a8000a49e9700baafa3
+00cec0b200c9baac00c4b4a700c3b3a700c2b3a800c6bcb700d0c9c800e4dcda
+00f1ecea00eff6fa00e5f0f900dcebf800c8dff600b3cfef009fbee4008cacd9
+007c9ccc007095c700658fc200648fc3006390c4006390c400638dc2006f92c3
+008096bb009398a00098999d009d9a9a00a69e9600aaa09400aaa49a00aaa29d
+009b9892008f8b7f00837e6c007c7761007670560068694a005c624600505c48
+0045584e00354e5600324b56002f4856002c415500293e4e0027394700223244
+00182441001623410015224200152144001621420017253e001926370019242c
+0018212200192311001c2310001f241000242b0f002a3314002e3719002d371d
+00292b1f0029271f002924200028211d002d1e1c00321e1d0033211e00372020
+00351d1f00311721002a132200250e2400210b25001c0c28001b0e2c001a1130
+00131a4500111e4b0010225100112b5f0013366d001a447f002f588c00456a97
+00587aa4006a8bb0007e9dbd0090acc70098b9d400accadf00c1d9e700d4e5f0
+00e3eff700f2f9fd00fefefe00fbfdf900f1f3ee00e2e9dc00d3d9c800c1c5b4
+00adb0a0009c9e92008e9387007e827d006b7471005864650045525900303e4e
+001f2e4b00152b4f00132b5900163063001a386b00243d6f002e417100374272
+003a4374003a4375003c4777003b4d7c0040547e00465a7c0058637a006b7180
+007b79850088848c00908f9a00989ba8009ba4b700a2afbe00b4c1ce00c6d2da
+00d9e1e300e9eeec00f6f5ed00f6f0e900ece2db00ddd1ca00cabeb700b6aaa2
+00a2989300928a8400817a710072675e0063554c0052423a004331290039251d
+"/>
+<palette number="509" name="Blush" data="00f5aca300f9b4ab00f8b9b100f8bfb700f8c8bf00f9d1c700f9d6c900f9dccc
+00fcedd500fcf1d900fcf6de00fbf7e000fbf8e300fbf8e400fcf9e500fcf9e6
+00fdfae700fdf9f000fcf5ef00fcf1ee00fceae700fce4e000fbdfdd00fbdbda
+00fad3d500fad1d400facfd400facfd300fad0d200fad0d100fad1d100f8d4d5
+00f6d7d900f6dbdd00f1d8d400edd6cb00e8cabe00e3beb200e1b6ab00dfaea5
+00e0978f00df8d8200df837600dc786800da6e5b00d9685600d8635200d85c4e
+00d55b4f00d95d5800d95e5800d95f5900d35b5600cd575400c8555300c35452
+00af4e5500a34b54009848530085404900733840006c323a00652d3400512529
+00441e20003b1517003a1112003a0d0e00380b0c00360a0a002c0705002a0504
+002c0403002d0503002e0604002305040019050400140403000f030300070102
+0001000100000000000000000000000100000001000001010000000100000101
+000a0b0b001d141500301d1f003c252600482d2d005d3b3c0074515200826565
+0090696a00b97e7f00cd8c8d00e19b9c00e8aaaa00f0b9b800f1c3c100f0c9c6
+00f0cac800f4d3d100f8ddda00f9e3e100fbeae800fdf3f000fef9f500fefbf8
+00fefcf900fdfbf500fdf9f200fdf7f000fdf1e600fde6d900fcd9ca00fccbbd
+00f6b8ab00f5b4a400f5b19d00f5af9900f6ae9600f6aa9100f6a38e00f5a08e
+00f19e8e00e5978700e0938200db907e00cd827300bc736700a6665b0091534d
+0067332f005723210048131300430e0f003e0a0b003b0709003e0b0e00491418
+00541f23007f373e00883c440092414a00a64a5400b9545e00c45b6500cd626c
+00d3687300d2677100d1667000cc616b00c55b6300bc505700b2474c00a73e41
+009d35370092292a00912728009126270092262800942b2b00973032009e393d
+00af5a5d00b2626500b66a6d00c27c7900cd8d8700d79d9600e3aca500ecbab7
+00efc5c600f2cece00f2d4d100efd7d000ecd2c900eac6bd00e4b6b000dfa5a1
+00cf8d8b00cc8c8700ca8b8400c98b7c00ca8b7800cf8a7500d18c7200d49079
+00d6968400dba29100e2ab9d00ebb3a700f1b5aa00f5b4ac00f6b0ad00f5adad
+00f6a8ae00f5a5ad00f6a1ac00f59ea900f59fa700f6a4a700f5acaf00f5b5b6
+00f7bcbd00f7bec100f6bec000f5bbb900f4b7b100f2b2a900f1aca300f1a59f
+00f19f9d00f2979700f2919200f28e8c00f18e8a00f4978c00f6a39500f8ae9f
+00f8baaa00f5c1b100efc1b200e9c0af00e2b8a600dcae9900d3a28b00cb947e
+00c0847100b3756600a5615800984e4a008239370072262600611818004f1210
+00430c0b003b0a0b002f090c0029080d002b0d11003216180040282500563a34
+006c4841007d564e00915f5500a6635900bb716800d0817800e38f8600ef9f97
+"/>
+<palette number="510" name="Bluster" data="00412d35004a35390047313600452e3400472e3500492f3600482f3600483036
+003e2d3400342b34002a293500212a3700192b3a00152f3e00113343000f3546
+000e374a00093f55000a4359000b475d000c475d000e475e000d475d000c475d
+000b3e52000e394b001234450015304000192c3b001a2a39001c293800222938
+00292c3c0031354700353b4d003a4154003e475c00434e6400404f66003d5069
+002f5068002e4f65002d4e63002b4b6200294961002a4961002b4a62002d4c65
+0032506a003a55700041557000485570004e567100545772005457700055576f
+004b495c00453f5100403646003c313d00392c35003629310033262e002f222a
+002c212a0031273400382f3e003f384800443d4d0049425300554f63005e5770
+0068688700696c8b006b718f00696e8d00676c8c00616a8b005c688a00526485
+00475f7f003d5571003b536c003a5168003a5065003a5063003c4f5e00404d59
+004e4d5200564c4c005f4b4700604a4500614a44005f494600584b4c00504d50
+004e4e53004c56630040596b00355c74002f5b73002a5a730023576f0025536c
+00234b64001a465d0012415700113d5300103a4f0010364a0014324300182f3f
+00192f3e001a2e3d001a2d3d001b2d3d001c2f3f001b3241001e344400203445
+001f2e3f001a2b3a00152836001425330013233000121e290012172000100e17
+000b0a110005080e0005080e0006090e00070910000c0b1200120f170018141e
+0026242d002b2c350031343d00323641003339450033404e00314557002f4c5e
+002f5264002c5668002b5567002b5567002b5465003053620035525f003f535c
+004d5055004e4e5200504c500050454a004f3f45004e393e004d353b004f323b
+00543038005f2a2e0060292b0062292800642b2c00683130006b393800703d3e
+0078484c007b4d55007f535f0088627300936a82009a718f00a06f9000a17295
+009f7699009f739300986e8d008e5d7b007d4f6800644259004e3647003b2d38
+002619200022151c001e111800180c120012090d000d080a000b0608000c0607
+000b0608000a07090007090b00060b1000080f14000d13190012171f00161b23
+00181d27001b1f2a001f212c00242330002726330026273600242a3a00202e3d
+001e3143001e374a001e3c510021415a0022476000204a6600214e6900204f6a
+0022506c00264f6800264a640027445c00263f5600243f5500273f55002a3f54
+002e3c500032374a0031324400303041002e2e3e002b2b3b0029253300251e29
+0020171f001b111700160d1300140a1000140a0f00170a0f001b0c0f001d0d11
+001e0f14001e1017002112190025141c0028161e0029171f0029182100291922
+002b1923002e1a25003320290034242c0031222b0031222a002f1e280036242d
+"/>
+<palette number="511" name="Boquet_of_Roses" data="009a0e060096160900911a0a008d1e0c008b230e008a291100892c1200882f13
+008a3d1f00904a2a00975735009b5f42009f6850009f634a00a05f45009e5e42
+009d5d40009b654f009a654b0099654700a0765900a8886b00aa8f7500ad977f
+00b8ad9200bbaf9700beb29d00b7ad9700b1a99200aea58e00aca18a00a69780
+009e8a7200916e53008b63450085583700844a2b00833c200082371c00813218
+007f280e007f261000802512007e2617007c281d007b2b1d007a2e1e00753520
+00713826006b3e2e0067402c0064432b0060412c005c402d005c3f2c005c3e2c
+005031230051291e0053221900561a130059120d005a0f0b005c0c0900630a06
+006c080500770300007d0401008306020085070200870902008a0a02008c1005
+008f220c00912c11009336160097441d009b5325009a582a009a5d2f009a643a
+009f6d4200a47b54009f7c5b009a7d63009a7d64009b7d66009c766200996f59
+008e5945008d4737008c3629008a2e220088271c00851d110082140b00820e07
+00830c070087140c0086180e00861c1100851b1100851b1100811e14007a2617
+00722d1a0072352300723e2d0072463200724e380074583e00795f47007e634e
+0081664e008268490084664600866544008b5f3e008f5d3a00935d3900985a33
+009c4f2e009f523500a3553c00a5573f00a85a4300a8604900a96b5500b07b68
+00bb8a7600c09a8000c09b8100c19c8300c3987800be886900b6735400ae5b43
+00a1341f00972213008e1107008c0c04008a08020089040100890905008b120a
+008d1f130094442f00984e37009c584000a3695200a4775f00a87f6400ab8263
+00a87b5e00a6785b00a4755900a3704f00a169470099643f00915e3c00915737
+00935133008e4026008d3c23008c3920008a341d00853119007a2e1800752e18
+00792c140078291200782611007a1f0d00821809008f120500980c02009f0b02
+00a30d0500a60e0600a30d0700a10f0700a0140900a1180b009e1b0e009a1f0d
+00a13b1500a4411a00a8481f00b0572a00b7693300c27d3a00c7863e00c78844
+00c3854600c1834400b67a3e00a96d39009a6136009059320088553300865336
+0085553e0083584100825b43007f5c45007d5b4400735840006b4f380065452f
+00683524006a291a006f1c100078150b00860c060098060400aa010100bb0101
+00c1030200c7080300c7090400ca090500c60b0600c1150900b8210f00b23017
+00b2422300b3583200b0684300ab784d00a9865800a78f63009e8d6a00938364
+00857659007d6a4f00755d4400715338006f4d320075503300815637008f6042
+009a6f5400a7826600b3906d00c09a7200c7a07600c7a17900bf936d00b9805a
+00b6674300b1523300a93b2600a0281b009f160f009e0d06009e0b03009b0e04
+"/>
+<palette number="512" name="Brushed_Silver" data="00b8bfc300b6bbbf00b7bbbe00b8bcbe00b9bdbf00babfc100bbc0c300bcc1c5
+00c0c8d200becad500bccdd800b3c7d300aac2ce009eb6c30092abb8008ca5b2
+00869fac00728b96006b838f00657b88005f7783005a747e0056717b00536e78
+00456067003c545b0034494f002c3e420024343600212e31001f292d001d2224
+001e21230023252900282a2e002e30340034373a003b3e40003e414300414447
+00525355005c5d5f0066686a00707376007a7f82007e84870082898d008a9197
+00929b9f00a1a9ae00a6adb000acb1b300aeb2b200b1b3b200b1b2b000b2b2af
+00a9a8a600a0a09e00979996008e918f0085898800818584007e828100777b7a
+00737673006e726d006a6f6b00676d6a00646a6800626866005c636100575e5d
+004d5455004a505000474d4b00464c4a00454c4900444c4900444c4a00434c4b
+00414b4a003b45440036414100323e3f00313c3d00303b3c002f3839002f3737
+0031393900353e3d003a4442003e474500424b48004b534f00535a59005d6362
+00686d6b007b7d7c008082830086888b00878a8e00888c91008a9095008b9297
+008d949a0090969c0094999e00959aa000979ca2009a9ea5009aa0a90099a0ad
+0097a0ad00919fae00909ead008f9dad008e9dac008f9eac00919fac0096a2ad
+009fa7b000a3a8ae00a8a9ad00a8a8ab00a8a8aa00a5a5a700a2a2a4009e9e9e
+0099989800918f8b008e8c89008c8a8700898784008783800083807b007a7e78
+006977730060706d0057696800526565004e626200455c5e003e585d003b565e
+003f565f00465e690049626c004d677000556f78005d778100647e87006a838b
+007289910075899100788a91007e8a9100818991008388910085888f0086888e
+0086878c00858285008481830083818200807f7f007e7c7d007a7a7b0075767a
+006d727b006a717a0068707900656e7800626c7500616b7300626c7300656d73
+00687177006b747b0072798100788089007c869100828c990086909e008994a2
+00929ca800949ea90097a0aa009ba2ab009fa3aa00a4a6ab00a8a8ad00adaaaf
+00b3adae00b6aead00b7afad00b7afac00b6aeaa00b3aca900afaaa700aca8a6
+00a9a8a600a8a9a800ababa900aeada800b1afaa00b3afab00b4b1ac00b4b0ac
+00b2afab00aeaba900a6a6a6009da1a500959da4008f9aa2008b969f0089939d
+0088919900888f9400888b8e0088898900888686008685830085838100838280
+0081807f0080807f007e7f7e007b7e7d007a7b790078787400787671007a7770
+007d797000807b7200847e760089837c008e89850093908e0097959400999798
+0099979a0098979b0098989a0097979900959799009397970091959600909495
+0095999b009b9fa0009fa5a800a4abaf00a9b1b500aeb5b900b3b8bd00b6bcc0
+"/>
+<palette number="513" name="Bubblegum" data="00c2254f00c1316100c1326300c1346500c4336500c7326600ca326800cd326b
+00ce2e6e00cf2e7400d02e7a00ce2c7c00cd2b7f00c8267e00c3217d00c01e7b
+00be1c7a00bc1d7c00bc268400bd308c00bd3d9200be4b9800bf529d00c05aa2
+00bf6cac00bf75b000c07eb400c187b800c291bd00c395bd00c49abd00c7a3c1
+00c6a6c100c7a1b900c99db900cb9aba00ca96bb00ca93bc00cb90bc00cd8ebd
+00ce77ab00d068a000d3599600d2509300d1479100cf459100cd449200cb469a
+00c5459a00bc3b9300bc338a00bc2b8200b92b7d00b72b7800b5307b00b4357f
+00aa538f00a85a9700a662a000ac67a800b36cb100b76db500bb6fba00c474c2
+00c97bc400cc8ac100cc87c400cd85c700cd81c600ce7dc500cc73c000c866bd
+00bd51a900b5489800ad3f8700aa368000a72e7900a72a7600a8267400a92273
+00a8207200ab2f8400aa378c00a9409400ac409b00af41a200b642b200bf42c1
+00c642c800c843c900cb44cb00c744c800c445c600c245c400c042c200bf3fc5
+00c53bc700c92fbc00c62bb000c427a500c1259e00bf249800bb1a8800bb1481
+00c20f7d00c80e7c00cf0d7b00d10d7a00d40d7a00d60d7500d60e7200d50e6e
+00d3106e00d30f6a00d40f6900d50f6800d8126800d9176400d9216400d82e67
+00d6487700d7528500d85c9400da619a00dc66a100df6fad00e179b800e286c2
+00df95cd00d09dd700c89cd500c09cd400b698d300ab8ed400a483d500a680d8
+009d7fd5009881d3009383d1009487cf00958bce00988cc5009583c0009e7dc0
+00a875c100ad65ba00ac60b800ac5cb600b05fb000aa629e00a85e9300a95289
+00b0367d00b12f7a00b3297700b6207a00b71a7b00b7177c00b6147b00b8147c
+00bd137f00c9158400cb188600ce1b8900d2238f00d72d9900da38a100dc46aa
+00de5ebc00de60bf00df63c200dd6ac400db72c500da7ac700d982c900db8bce
+00dc94d300dd9bda00da9ede00d2a1dd00cca3da00c6a5d800bfa3d500c3a4d7
+00cca7da00cda7db00cea8dd00cea9de00ceaadf00cdade000c5abdf00c2abdf
+00c3aae100c9a8e400cea3e700d39cea00d996e900db8ee500d885de00d37cd6
+00ce73ce00c96bc500c765bd00c661b700c360ac00be579f00b44b8c00a7407a
+0099376e008b2e5f00812859007a23510078224b0077214c00761f4300722141
+006f2747006e2d4b00713758007140610076486d007b497d00845089008e5892
+00925b9a009c62a300a967af00b66bb700bc6cbb00bd6bbc00bf6bbc00c06bb9
+00be65b500be60b200bf5ab000c457ab00c74ca200c73f9500c4338800c0297c
+00bc227400ba1d6900bb185f00bf175d00c6165c00cd155e00ce135e00cd135d
+00c7155c00c51b6200c41a5800c31c5300c21e5200c4204e00c5214f00c72351
+"/>
+<palette number="514" name="California" data="005079ad00537eb700517cb9004f7bbb004878bc004176be003c74bd003872bc
+002e72c0003274c2003676c500407bc7004b81ca005784c5006488c1006987bd
+006f86ba008680a600987f9e00aa7e9600b77a9100c4778d00ca758a00d17388
+00db607a00db587800dc507700d64d7f00d04a8800cc4a8d00c84b9200c6499c
+00c244a100b93aae00b534b300b22eb800a42fbe009630c4009031c5008a33c6
+007a3bc5007e35be008330b700842faf00862fa800832ea600812da400772c9e
+006f339900643f93006f428d007a4587008642830092407f00973f7e009c3e7d
+009a407f009a3e84009a3d89009a408d009b4492009b4493009c4494009e4599
+009c4a9c00964ea4009951a3009d55a2009e55a0009f569f009d55a0009951a5
+00824cb1007d49b0007847b0007a44aa007d41a4007d3da2007e39a1007f2fa2
+007028a9005223b3004927af00402cab003f30a7003e34a300423a9e00423d9b
+003e3fa1003a40a6003641ab003641ac003741ae003a3fb0003e3cb200433daf
+00453aaf003f3cab003d3fab003c43ab003b42ac003b42ad003e42a9004041a8
+003d499b003a529c00385c9d003760a0003764a4003766ab003965b3003b65bb
+003964bd003961c4003a62c5003b63c7004262ca004b60ca00525acb005853c8
+005749c1004f46be004843bb004642ba004542b900453fb6004d3bb2005b37ad
+006735a7007b339b007e34990082359800813895007e3c9300823f9200834692
+00945497009c5b9800a4629a00a4619a00a5619a00a65e9800a55e9500a45c96
+00a25c9900a261a600a25fa900a25ead009f59b1009d55b4009f51b500a151b5
+00a55ac100a75dc200a960c400a863c300a762c200a45ec200a15dc3009d60c8
+009561d1008f61da008d5ed8008c5cd7008656ce00804dc6007948c2006e44be
+005e4ad0005c4cd4005a4fd9005856df005b5be1005f62e300676dde00707ada
+007d85d8008b91d700999bda00a2a3de00a6aae700a8b2eb00acbaee00afbcef
+00b1c1ec00afbfea00aebee900a8b7ea009aafe9008ea8e600839fe3007a92e0
+007486db00717bd7006f73d3006a6cd2006667d1006265cf005d60cf005858ce
+005352cf00504ecc004b4ecc004a51cd004a58d0004b62d4004b68d7004a6dde
+004b6fe100476ee000436edf00406bdd003f6dda003e6dd4003f6ed1004270d1
+00496dce00526ccb005963c700605bc6006253c100634bb9005f48b5005a43b2
+005944b0005742af005740b100543fb400523db4004e3fb100473fae00413daa
+003c3ca000393e9c0037459c00384aa0003d52a400445da8004b62ae005464af
+005b64af006067ad006369ac00626bae006072b0005d77b5005d7cba005f7dc1
+006081c3006585c3006688c1006384ba005e80b300587fac00547bab00517bab
+"/>
+<palette number="515" name="Canyon" data="00c3937600be906c00b57b5a00ac674900b3754f00ba835500be8b5800c3945c
+00ca9b6f00c9a07300c8a67700b8a17b00a89c80009a8b7c008d7b7800847471
+007c6e6a00565a52004b4c4c00413f47003b38480036324a00362f4d00372c51
+00313f62003a456a00434b73004c5a7900566a7f0059707f005c767f0066787d
+00677c7a006a7c7600697c7000697c6a006071600058665600565d4f00555448
+003c3e2e00312f240026201b00201c1b001b191c001d1c1d001f1f1e00252323
+002f2b2b004b32340052312d005a302700633427006c3827006e35220071331e
+00703d1c00794629008350360083593c008463430085644600876649008a6f50
+00877658007b785600716e4d0068644500635e41005e583e0056443500513631
+0050383f00553e43005a45480061575500696a62006f71660076786b007d7d6f
+007e806b00807d55007970490072643e006c5c360067542f005a422100543e17
+005c3e1e0066472900705134007b5c380087673d00a3854e00ba985700d1a660
+00dea85b00dea35900d9995700d48f5600cd875500c77f5500b7785b00a87465
+00987a72008f847d00878f890085938e00849893008b9e910092a7920099a88f
+0099a48800af936300b6885900bd7e4f00b6673b00a857300091532700864422
+00642912004f2f12003b3613003736170034371b00323019002d2d17002b3616
+002f3e240042493c00494f400050554400606152006d7158007a7e62008c8b68
+009d9c73009da27e009da88a00a2a99100a8ab9800a9baa700acc2ae00aac2b2
+00b3b2ab00b2a99700aca28c00a69c8200998269008b705a0082694f007b6347
+0074624a0076674a00786c4a00827749008a814e0098865c00a28f6200ab9966
+00aaa06600a6936e00a48f6e00a28c6e009f866200a17a52009f6b4000995f38
+008e4e2b008d4e2c008c4e2e0087533c0082554d0075545b006a556600615c70
+005e5c7f00525d9000515f92004e678d0056718a004e73a0005076aa005378a8
+00708e9c00748c9d00788a9e00807c930095767a00ac756400ba6f5600c6664b
+00ce594000d5563800d1583500ca5b3600b8543500a45433008e542e0079562c
+00685324005b53200051541b004a542500425a30003e6244003d6d4e00487058
+0051765d005c7c5f0064805800707f54007a7a520082765100856f47007b6544
+006a5b49005b525a0055506000524d620053525d005d525f0070576500855765
+009b5e6100ad645600c06b5100c7684a00c6664800bc664700b26b4000a96b3b
+009b683c008a6445007e664b007e685300816c5a00806f620081766500887e6f
+0098867600a5907d00ac957d00af997c00b6947800bf966f00c9956400cd945a
+00d48e5500d78d5a00df966300e39d6a00ebad7300eeb58000e3ad7f00d29878
+"/>
+<palette number="516" name="Carnations" data="00983031009932310094282a008f1e2300931f2500982027009b232c009e2732
+00b43a4700bb434f00c34c5700c4545900c55c5c00c25f5200c0634800bc5f45
+00b95c4200b4583d00b2593a00b15a3700b1593f00b2584800b2594700b35a47
+00a75b49009a5947008d5745008b503e008a4a3800874536008440340082372a
+00872a1f00921a12008a150d00831109007514090067170a005f1b0b00581f0d
+003d2a17003d2f1a003e351e00403b21004242240045442400484625004d4926
+004a49260048472300424020003c391d0036331800312d14002f2a12002d2711
+0022220d0020260e001e2b0f002130120025351500273817002a3b19002e3d1e
+0032402300304125002e3d21002c3a1d0028371a00253518001d301600192f12
+00182706001a2207001c1e0900221b0800281908002e1707003516070043120a
+004d110a00550b0700540d0a00540f0e0053110f00521310004d1113004b1215
+004d191c005a1c1f00681f2200722123007d2425008f2f2700a03a3100aa4338
+00b34b4200c1624a00ba644f00b3675500af665500ac655500aa625200a9584a
+00a34841009d413900983b320093382d008e352900862f240078332500693926
+00573f280046442e0044482f00424d3100405434004659380051563a00625a3c
+00816f3d008d6d40009a6c43009c6a42009f684100a06a3b0095663700865a30
+00744b28004d341600432f12003a2a0e002a2107001e18030018150100151500
+000e15080012180b00171c0f001b1f1000202211002926170035291c00422b20
+00502a210067271f0068281f0069291f0064291f005d2b1b00562d1700513216
+0048350e004a320c004c2f0b005b2f0e0067301200743116007e2c19008c2f22
+0094372900954a2e00914c30008e4f3300855437007553340065542c00544e25
+00383f2200333d20002f3c1e002d3a190036381a00453a1f00593f25006c492c
+008151370095594300a5624d00bb6d4e00c87d5500d78d5d00d7966700e19368
+00d9906500d48f6400cf8f6300cd845f00bc745c00ad665200a25d49009d5741
+0098513b008f49330087412d007e3b290079342500712c1e00662716005c2915
+005a2c18005b2a1c005b2b1e005d2f23006036290065342b00672f2800672424
+0061221e00591d1a004f1911004a0e0b00450a0500480a06004e0c0c005e0e13
+0070151a0082222200932c2e00a0343600ac3c3f00b1474200b54d4500b14d44
+00b2494100af413e00b4383800b62b3100b9212800b8172100ba111a00b80a16
+00ad0714009f0c1100921a120085271600783020006e3d2600725131007c6b42
+00877b55008c7e5700967a5300a1795300aa7a5c00a9715a00a2624e009a5140
+0091473d008d3b3c008c363a009034370094383b009b3d420099393e009a3538
+"/>
+<palette number="517" name="Carnival" data="00cb5c7c00c9526d00c84f6900c74d6500c54b6000c4495c00c3495900c24957
+00ba484e00b7464b00b5454900b1454c00ad454f00a9445000a6445100a44553
+00a3475500a4486100a74d6f00aa527d00ab5c8b00ad669a00ad6aa000ae6ea6
+00b67eba00bc84c400c28bce00c492d400c79adb00c79ddc00c8a0dd00c99fda
+00c89bd500c98cbb00c680ac00c3759e00be6a9400b95f8a00b85a8600b75682
+00b5517500b5537300b5557100b65a7900b7608100b8648500ba688a00bf7395
+00c47a9e00cb88a600cc8aaa00ce8dae00ce8db000ce8db200ce8bb100cf89b0
+00ca81a600c77c9f00c4779900c3729100c36e8a00c26a8500c1668100bf5f77
+00bb566c00b2455b00b0405500ae3c5000ae3c5000ae3c5100ad3c5300ab405b
+00ac4b7c00af528d00b2599e00b75fab00bc66b900be6abf00c16ec600c475d2
+00c57adb00c97be400c877df00c774da00c672d500c571d000c26ec300be6fb5
+00bd719b00ba729700b8739400b7729500b7719700b2709a00b6709c00b96f9f
+00bd6fa400c073ba00c073c700c074d500c174d800c374db00c472d700c170ce
+00b265bd00a862b9009e60b5009b5eb000995cab0098599e009556930098508c
+00954b8b00954b9900994d9b009d4f9e00a459a300ae60a800b868b100c171bb
+00c77ad000c77ed700c883de00c886e100c889e400c98fe800c794e900c696ea
+00c193ec00c191ec00c191eb00c192eb00c195e600c299e000c096d900c091d1
+00c284c200c17cbc00c175b600bf72b300bd70b000b866a800b45e9e00b25596
+00b24e8b00b1438400b1408300b13d8200af3b8200ae3a8300af3d7f00b23e7c
+00bf4f7c00c2547f00c5598200c9628e00cb6b9b00cc73a700cb7fb000ca88b7
+00cc90bc00cd9ac700cd9ac900ce9acc00ce99d100cc97d600c792d900c28ed9
+00be84d900be80d900bf7dd900c37adc00c673e000c76fe100c66de400c671e4
+00c670e200ca75e000d077e100d479df00d47bdf00d482dd00d187db00ce8fd8
+00cb97d600ca97d500c998d500c997d400c595d000c293cc00c18ec800c08bc4
+00c189c300c185c300c17ec200c278c000c36fc100c267be00c060b800be5ab3
+00bd55aa00bd54a000bf509900c14f9100c1498300bf447500bd3f6500bb3f55
+00be424a00c34b4800c9544a00cd5a5000cf615600cf665f00d26d6900d47475
+00d67d8600d9849800db89a900d98cb800d98ec500d88ed000d98ed800d88fdc
+00da8ede00d98fda00d78dd500d58cd100d68ecf00d590ce00d592cd00d596cb
+00d397c600d094c300cf92bf00cd8cb900ca85b700c780b300c67cac00c476a8
+00c372a300c5709f00c66e9c00c66d9c00ca6f9700ca719500ca739300cb7793
+00cc799200ca799700ce799900cf769b00d0739b00d06d9700cf698e00cc6086
+"/>
+<palette number="518" name="Carpenter" data="008f9f9500627268004d5b520039443c00303b340027322c0027312b0027302b
+0029322f002c3731002f3c3300413e2f0053412b005f472b006c4e2c00695033
+0067533a0057625c006c665400826b4c0093704300a4763a009e703400986a2f
+006d471a00664216005f3e13006b461800774f1e007b5524007f5b2b00946f3b
+00a57b4900c38a4500b4803d00a676360095693100855d2c00825b2c007f5a2d
+0078582f00715a3b006b5c4700656656005f7066006074690062786c0062786c
+005d736700505d54004b574c00475244003d493e003441380033403700334037
+00313e3500323f3600344138003b4a410043544a0048564e004d585200526257
+005c6e62006b7f7400847f66009d7f5900a4805400ab814f00a3713200986931
+0058472d0048423300383e3a0044483b0050523d005e5844006d5e4b0093754f
+00a7855800c18b4b00b3804100a57537009a6f3900906a3b00776348005e6860
+005a675e0057645b00546158005d605000666048006c5e4400715e4000885f33
+009b6c3400835f3b00786a56006d767100727d760078857c00818c8400879b90
+008c9c92009e957900b08e6000b48f5f00b8905f00c2935d00c1945900b08b57
+009f764800715d42006b5e4800665f4f00616e67005f70660064756b00667a6e
+00817b6b0093806400a5855e00a6865f00a8886100a8875c00a27f57009f7d57
+00986f4100835f2f00815c2c007f592a007a5828006b4a1d006749270060421c
+005f3e13005d3f1b005c41230058452a00554931005b544400616c6400667a6f
+00708075007c908500788d8100748a7e006f80760062726700525f5600425248
+00323f38002f3b35002d3832002d3631002c3230002c35300034362900453118
+004b3317005c3d11005d3d11005e3d12005a4122004a493700534e3a005d4930
+0072502b0072512b0073532c0065543a004e5b52004f5c53004a5a5000455048
+003b483f00353e39002f3a32002c372f0034362900493723004a32160052360f
+0054361000513510004e3411004a3314004630180048301400472e1000472f15
+0042311700382f1e003030260029322d00242d280022282400292a1c003a2a13
+00402c1300442c12003c2d18003334260029342c002b36300029322f00282e2a
+003c2c1500402e18004a3314005a3a14005e4421006752370069594200796145
+009a7a5300a8895d00ba966600c69d6500c79f6b00c39e6a00c7986400c5965e
+00c4976000c2986600ba956900b7926500b6926200b6915d00b78b5c00c68c4c
+00c2915700b48c5b00a989600079847c007f8c85007e8f850086968c0089998f
+008b9b910088998f007b918400798d820077847b0073837900687c710069766d
+0069746c0066766c00687c71006a7b710073897c007e8e84008b968e00b39164
+"/>
+<palette number="519" name="Cellist" data="008d5b44005d392500502f1d0044251500412414003f2314003b211300372012
+002b1a0e0028190e0025180e0024170c0023170b0026190c00291b0e002b1b0e
+002e1c0f00372413003c291600412e1a0049341e00513a2200563f26005c442b
+006d5c44006f624d0071685700756654007965510074634f0070624e006a5d4e
+00694f3e00694229006e41280073402700744026007541250074412500734226
+00693b23005e361e0053321a004b301b00442f1c00442f1d00452f1e004b3221
+00583f270083643f0096734900a9835300be986400d4ae7500dab37800e0b97c
+00e7b87b00e7b77800e8b77500e1aa6800da9d5c00d79a5a00d5975800ce9250
+00c2894a00b5794200af744000a9703e00a56d3c00a26b3a009f6539009f6235
+008f5b300086552d007e502b00744d29006b4a280066472700624526005b3f24
+00573a220053361e0050331d004e301c004d2f1b004c2e1b00472b1900422a18
+0037251600312013002c1c10002a1a0f0028180f0026170e0025160d0026170d
+00291b0f003b2718004b2f1e005c382500653b28006f3f2b008348330099533a
+00c0614700c86d4d00d1795400d47c5500d7805700d07e5500c2785100b0764d
+00a07248007c5a3500735331006b4d2d005e422700553c210051391e004f361d
+0047301a00442f1800422e1700422d1700422c1800402d18003f2d1800402e19
+0044301b004f351e0051361f0053372000573a22005c3c240062412500684325
+007b482a0087492c00934b2f00994d2f009f503000aa563600b55f3c00bc6543
+00be684500bc684600ba674400b9664300ac623e009b5436008d472c00843c23
+0068301800612e16005b2d1400572d1400583117005b351d00603b21006a4626
+00734f2e00795436007b5535007d57340082593500845734007f4e300077472a
+006f4022006d3e22006b3d2200613b2400593b2800523e2e00554231005c4432
+0064473400674a3a006b4c39007049320077452a0077422700723f24006b3a1f
+005c2f1500592d1400572c1300522912004d261200492411004523100043210f
+0043221000472410004d28130057301800643c2000754b270086592f00976839
+00a3754600a77a4f00a4785400a2764e009c724b0092684500855a42007d5038
+007b4b2f007f472a008b442a0099442e00a8493200b14e3800b9554000bd5746
+00c75f4900c7684900c3704b00b8714e00b6724d00b1724700a86f400098663c
+008a5f39007f58350072513000654a2b00584226004f3c22004835200043301d
+003d2b19003827170033221500302013002d1e11002d1f11002d2213002f2515
+00312817003428160036291700382b1a003b2d1d003f2d1d00442e1d004c3420
+00583d250067492c00775632008f644700a36f51009a6a4d0089603c0080573e
+"/>
+<palette number="520" name="Cherry" data="00b3312500b94c3d00c4675300d0826a00dc8a7400e9927e00ec917d00ef917d
+00ef817000ec6a5e00e9544c00e0443d00d8352f00cd2f2b00c2292700bc2623
+00b6231f008d1b12007e150d0070100800680d0500600b0200600a0300610a04
+0076140d008a1912009e1f1800a6252100ae2b2a00b22f2f00b7333400c03b38
+00c13a3a00b33a3600ae342f00a92f2900ab262300ae1d1d00ae171900ae1215
+00b3091500b90a1700bf0c1900bf0d1900bf0e1a00bc121a00ba161b00b71f1c
+00b6242000b5332900b7413200ba503b00c75b4600d5675200d96b5600dd705b
+00e2745e00e4705d00e76c5c00e86f6000ea736400eb756600ed786900eb7a6c
+00e5746900db716200c7625600b4544a00a5473f00973b3500752922005d1b16
+0042040800370205002d00020033000200390103003b0102003e020100400200
+00420301004d080400570a0500620c0700680c07006e0d080081100e00901213
+009d0f10009b0e1100990d1200950b11009209110085060d0076060a00670507
+005b0203004d00030049000100460000004400000042000000400000003d0000
+003b0101003b0101003b0201003b0200003b0200003a0100003c0201003e0201
+004002010047010000490100004c010000510300005a03000065040000710303
+00830206008c020600960307009602070097020700920107008e0206008b0204
+0086010200790200007602000074030000700200006e0100006f0100006e0100
+0072010000770401007d070300800a0500840e08008c190f0092211500922519
+00902517008825170084231700802117007719110070100b006c090400680402
+00600202005f0101005f0101005e0100005d0100005c0100005c0100005c0100
+005d02010064050500680606006c080800750b0a007b110c0082171100881c14
+008f1c10008d1b0f008c1b0f0084190e007d130a00760d06006f090300670501
+00610200005d0100005a0200005b0300005d05010062060400670908006c0f0c
+00831e16008a211a0092251f009d2c2800a9352e00bb383100c73a3200d13934
+00d5393600d8383600d0393300c93a3500c0423e00c0474200ba4e4100bb4d3d
+00b5564600b8584500b6564000b6482f00ad3d2900a4331f00972b1900871f10
+007b140b00710b050069060300610301005a010000530000004f0000004f0000
+004f0000004f00000051010000570200005e040000660700006d0a0400720c07
+00740f09007311080070150b006f140d006e160d0073140b0078130b0084130f
+0093171200a51b1600b41a1900c11a1d00ca1a2000cb1b2100c6161e00bd121a
+00b30d1600a409110095040c0089010900830009007f0007007c0007007b0008
+007d020800830409008a0709009b0e1100a4141500a016130097150c00a22215
+"/>
+<palette number="521" name="Circus" data="002b5f34003a5c330047572e00555329005f492500693f22006f3a2300753524
+009023260099192100a30f1c00a80a1d00ad051e00ad082300ad0b2900ac0e2c
+00ab123000a41e46009d235400972862008f2e6c008835760089397c008a3d83
+00903f9c008e419d008d449e008c4a93008b5088008c5282008d557d008f5e73
+008c6867007d7b44007c8136007b8728007b8c22007b921c0079931b0078941a
+0075901f007789220079832600757b2f00717339006e6e3f006b6a45006d6450
+00705c5a007d486f007b4076007a387e0078338000772f8200762c8100762a80
+006421750057236f004b266900422a65003a2f610037305e0035325b00353455
+003a364e004d3a430058393d00633837006935320070322e007e2c23008a2519
+00991a0d009b180a009d1607009b1504009a1402009912010098100100950d02
+008f0a0700820d12007c0d1600770e1a00750e1e00740e2200730e2e006f113a
+00601a440058204600502649004d294c004a2d4f00453554003f3b5600374057
+002f43570024485c00214a60001e4c64001d4a65001c49660019436700143b67
+000b306700092a650008256300092261000b1f6000111b5f001c1a6100261b64
+00311c6700462063004c20610053215f0060215a00681f56006b1e4c00671e44
+005c1c2b0056182100511518004d1414004913110040130b003a110700361207
+0034110900311314003012170030121a002d1120002a10270029133100291a3d
+002a2452002c2758002f2a5f00332d6300383067004539710055427c00644a83
+00735087009156860099578600a2598700ae5d8800b8608b00bf608f00c35c8c
+00c94c7c00c9487800c9457500c7407600c33a7300be336c00b52b5b00ae2846
+00a92b3800a24028009e4524009b4a20009756180094611400946f1300937e17
+008a91250088902900878f2d0087873300887b3700846e380080663700805b39
+00844c3c008e3c4100972d49009c244f00a1205500a51e5c00aa1a6300b0186e
+00b61b8600b51c8a00b51d8e00b51d9200b61b9100b4188d00b1158900ab1286
+00a31084009c0c810094087a008b0571007f02670070015e0061025800520254
+004303500038044d002d0649002307460019094500100c45000a0e470006104a
+0004104c00020e4c00010d4b00020d4900070e4900101148001912450020103f
+00250e37002a0d300031122c00391929003e1e2700401f23003e1c2100391b21
+00321b23002b1e2800241f2b00201f33001b1c3900141a40000e1a4800071b4e
+00041c5500031e5b00042261000525650007296900082a6c000a2a6e000c2a70
+000f2c7000112f700011306f00102f6f000e2e6f000f2d6d0010316b00133768
+00143c64001441600012455c0012495700164e50001d544600255a3d00295e35
+"/>
+<palette number="522" name="City_Street" data="00492d35002a1a1d0020101000160604001c0a0600220e080027130a002c180d
+0048332700563f3300644c40006d554700765e4e00795f56007c605e007a5e60
+00795d62006856600060525d00594e5a005547540051404f004f3e4d004e3c4b
+004b414c004a4148004941440047383a0046303000452c2b0045292700432320
+003f1e1b003817100036110a00340c0500310803002e0501002c0501002a0501
+00200602001f0501001e0501001f060000210700002107000021080100220901
+00230901002b0e03002d1106002f150a002f1a0e002f1f12002f2013002f2214
+002a22180027201900241f1a00231b1700221714002114120021121000230e0c
+00250a09002c030400300203003402020036020100390301003b0301003d0200
+0040020000400200004003000041040000420600004306000045060000490601
+004c0503004b0a05004b1108004c190c004c1c10004d1f14004e2519004f2a1d
+0050371d00533b1e0056402000594122005c4224006044260062472800674e2b
+006e532f00856541008d714d00967e5a0099825f009c8664009f8b6b00a08c6d
+0098815f00927655008c6c4c0089664700876042007b513300704125006c3216
+0067250d006c1704006915040067130400600e0500560a08004f080c004e0b10
+004f151300511b170053221b0057291e005b312200653f2a00744d2f007e5a33
+00865d3600895d3300875a3100865830007f532c00744a29006c3d22005e331d
+00432017003f1f19003c1f1c003e221e0040252000462d240046372d00483e35
+0049433b00504437004e4235004d413300493d3100453b310042382f0043392d
+004f412e005445300059493200604f380065543c00695a40006c5b4400715a46
+00755e4d006d5e54006a5e5700675e5a00675b5d006c62640073686a007b716f
+00837e7b00857f7c0087807e00887d7e0088757700876e700082625f007b554f
+0076464000713534006f2729006e1d1d006a171000641106005f0b0200590400
+004b0400004505010040060300370805002f0a09002c0a0d002d0c120031131c
+003b20290049333b0059474e006e5b6200837077009a858b00ac9da300b8b6b9
+00c1cccb00cededd00ddeae500e9f1eb00eaf2ef00dfecea00d3e3e300c7d8d9
+00c1c8c700b6b6b500a29e9d008b87830074706b00615b560052484200453630
+003a261f00301d13002d190d002e180a003216080037140500391404003c1806
+003f1d0b0041221000432413003f241400382317003423190030241e00332424
+0034242a0030242f002f2231002c1f2f002f1d2d00321b2a00321a28002e1927
+002716230020131d001a101800170f1200171211001a161200211d150028231c
+00342c260043343200503c3e005b43440056413f00523f3b004e373700482f33
+"/>
+<palette number="523" name="Clash" data="0055814b00184f8d001b4b7c001f486c00233e66002735610028335a00293154
+00212e3b00203031001f3327001e2e23001e29200028221e00331c1d0038191a
+003d1617003f0f1200340e1800290d1e00210c2c001a0c3a00190a3b0019083c
+00170c46001b0d48001f0e4b001e1055001d135f001a14640017166900131873
+00161774001e1c64003022570042284a00472949004d2b49004a2a4c00472a4f
+0033186d0024137700150f820015167f00151d7c0016247500172b6e001c485b
+001f563e00315e20003d5c1b00495b1600554f280062433b00673d40006c3746
+00541c7b0048127e003c0982003707810033068100360c79003a1372004e2561
+00622c4b00795430007a5924007c5e1800755b1d006e582300584e25003f3c24
+001a2f28001b3e1f001c4d17002b6a11003b870b004a8f09005a9808006ca00a
+0077a60c0080a010007c961200788d15007588150072841500687a0b00667610
+00787e0f0080851100888d14008d8c1500928b170087811d0074763400655f53
+00584b5c005136720063346300753354007c394900833f3f008d3f2a00903a22
+0068410f00593d13004a3917004137130039361000332810002e201200281a11
+0023131700130433000e053a000a0641000a0f4b000d184d0007274b000d3c3c
+001048280019462c002244300025383600292c3c003c214500592841006d353c
+00784633008365110079660c006f6808005a650f004f57170042421a00323229
+003b1939003a144300390f4e00390b51003a075400360d5e0036106900311372
+002d127e003b1792003d1697003f159c004211af004b0fba004a0fc100390ec7
+002507ca001e07c4001808bf00110bb2000d10a600081393000d198500101b76
+00091863000c1a50000a164b00091347000b114c00090f4e000a094a0010094c
+00200b54002a0f570035135b0046206400492a75004e2a860055288b004c2f91
+003a2a9000311f83002e1d710029195d0027134f00250e49002008460020054c
+00120368000f076b000c0b6f001212670014195a00232f480036442f004a581b
+0061720f00698406006d850400718404005f7e0500486b0e00445b1c00385624
+0022512b0021513300275f2d0029652400356c240032813300388050003f766a
+002a7293001f60ba001a4fc6001240c6000934ba000435a7000c3591000b3586
+000b39830011357e00132c89002227a0002e2cae00253ac400303ad2004649c5
+004569b5005076930067816900788e4c007e962c007d9d2f0079974e00658e51
+004f9354003f9058003c8347003c8232003d8a1a004b8e0e004390210035903d
+003c7a5e00266d7e000e658c0014449f00142da00011298b001b207400271b59
+00322c4400413b310052491c0062670e00757f0b00838d0700698431004e7a5b
+"/>
+<palette number="524" name="Clouds" data="0087b6cb009ebdcf00a9bccf00b5bccf00c0bccd00cbbccc00cfbbca00d3bac8
+00cdb4c100c7b0c000c1acbf00beabc000bbaac200baaac200b9aac300b7aac4
+00b5aac600acaccf00acadd100adaed400aeafd400afb0d500aeafd500aeafd6
+00a2aad3009ca2cb00979bc4009490b4009185a5008e81a1008c7e9d008c7c99
+008f7f99009b879c00a0889a00a6899900a68e9f00a793a600a497ab00a29cb1
+0095a6bd0087a1b7007a9cb2006893a800578a9f004e849900457f9400377388
+002b677e0022596f0022586e0022576d00285c73002e62790033657e00386984
+004d7e9d005487a7005b90b1005e95b700629bbd00649cbf00679dc1006ba0c5
+006c9fc5006ba2c5006ba3c4006ba4c3006ba4c3006ba4c30069a3c20068a2c1
+005fa8c0005aa7be0056a7bc0050a1b8004a9cb4004698b0004294ad003b90a7
+00348da10033889c0037879d003b879f003e88a100428aa4004c90aa005495b0
+00689ebb006c9cbc00709abe006e97ba006d94b700668db0005e83a800587b9e
+00557190004d577100404c6400344158002e3e5600283c5400253c52002c3f56
+00474d64004d57710054627f0056688500586e8c005b799b006185a6006a8fb2
+006f98bb0073a5c70071a6c70070a8c70069a7c40062a8c20058a7bd004fa3b8
+003f99a9003b94a30037909e0037909d0038919d003c939f004295a3004897a9
+004f98ac00609cb600659fb9006aa2bd0076a7c4007eaccc0082add10084a9d1
+007fa2ca007b9cc4007897be007795bc007794ba00788eb2008388a5008b8096
+008c7483007d616c00765f6c006f5e6d006a606d0071677000756b7100746f70
+0067748100627887005e7c8e0061889b006b94a900769fb10082a6b50088a8b7
+008ca2b0008d8e90008b8889008982820084757500756f6f0066636700535459
+00353b3c0032353600302f3100292d30002631380025394500274251002b4b5d
+00355367003f596d00465e7300496479004b6a80004a6f89004c729200507493
+005869840058657e0058627900555b710054586f00545a7100595e75005c6277
+0061677b00636c7e0064738600607287005e738d005b74920057759500537396
+00507a9c0048759400416d880039637e002f55700028456200243f5c00203956
+001c344f0017334a00113249000e3047000b2f4500092a40000a263c000b2339
+000f233900132437001926380021273800272835002726340027253700252535
+002326380024293d00282f3f0027344500243b4e001c42560013495d000b4f65
+0009566a000a5a6f000c5b70000e5d7100115d7100155d7300186074001b6277
+001e63780021637b0020647b0022647c0026667e002a6980002d6f850034768c
+00367d9200378498003b8aa0004190a6004896ae00579fb60068a7be0078b0c6
+"/>
+<palette number="525" name="Copper" data="00ffd9ba00ffcaa700ffbc9900ffaf8c00f3a17c00e8936c00e18c6300da865b
+00bf6a4100b5613a00ab583300a3522f009b4d2c00974e2c00944f2c00954f2c
+0097502d00a5593800ac613d00b36a4300ba6e4500c2724700c2724600c37245
+00b3663f00a45c37009653300083472700703b1f0065351a005b2f16004b2710
+003d1d0c003b18090046200e005129140065361e007a432900854a3000905137
+00be6f5000cf7d5b00e18b6600e9936c00f19b7300f29a7300f49a7300f49872
+00f0936f00e48c6200dc835900d57a5000cb744900c26e4300bc6a4000b6673d
+009f533000934c2a0087452500793e1f006c381900663416006031140055290e
+004c230a00371402002f0e010028090000270900002709000024060000200200
+001a010000190300001905000018040000180400001703000016020000120000
+000e000000060000000500000004000000040000000400000002000000020000
+0004000000080100000d0200001003000014040000190600001f060000210a00
+00240d01002b0e01002e0e0100310e0100330f0100351002003b150600441c0a
+0064301900773d23008a4b2d00945132009e573800b1684400c5764f00d5825c
+00e4906b00f8a98400faad8800fdb28c00ffb39200ffb69400ffb79600ffb993
+00f9ae8b00f0a48100e89b7800e1957100da906b00cb875f00be765400af6f49
+00a6633f009455370093553700935538009057380092543500945537009a5537
+00ab5e3d00af623d00b3673d00b4663a00b5663800b1623400ae593300a75730
+00a3552f009b5028009a4f29009a4f2b009a502f00a0583400aa5e3b00b56843
+00cd7e5300d1835700d6885c00de8b6200df8e6200da885e00d1835900c27b53
+00b16e4900884d30007f462a007640250066331c00572d19004d281400492512
+004b200a0049220b0048240d004724110048241200492514004d240e004c210c
+004c210a004d1f0c004d251100542712005b28110060281100642c1000642b11
+005f2b11005d2a10005b2910005b2b0e005b280d005b2811005e2d1200623016
+006a34190073381a007a3d2000804123008447250087442400834121007a3d21
+0070391f006a351d0067301a0066301900682f19006c351a00743c2000824124
+008e4929009c4f2c00a7573000ad5c3100ae5b3100a9583100a3572d009b4f29
+00924925008c472100874321008b48270090502b009b593400ab684100bb7a51
+00d18a6300e69a7200f8ad8400ffba9600ffceaa00ffd9b900ffe2bf00ffdec3
+00ffe4c500ffdfc700ffdec700ffdfc100ffdbb600ffcfae00ffc7a500ffc59f
+00ffbd9700ffbd9400ffba9300ffbb9400ffbe9800ffc19c00ffc6a300ffcaa9
+00ffceae00ffcfb300ffd6b600ffd7bd00ffd9c100ffdac500ffe1c300ffd9c1
+"/>
+<palette number="526" name="Coral" data="009b4236008a3323008c3424008f3625008d3423008b3322008932200088321e
+007f2918007b261400772410006d1f0c00631a080059140600500f04004b0d02
+00470b01004c050000560b04006112080072180a00831e0d00872110008c2514
+009a2714009924110099220f0093230e008e250d008c230c008b210b0085230c
+0081260d007d2610007d2711007e2912007e2d15007f31180082311a0085321d
+008e3c250098412b00a2463200b14e3a00c1564200c8574500cf594900de5e4f
+00e55f4f00e25d4c00d7554500cc4e3f00bc463600ac3f2e00a83b2a00a53727
+00932e1d008d2c1a00872b18007f28120078250d0077220b00761f0a00761c06
+00721b0300791803007d1c070082210c0083220e00852410008a2817008e2d1c
+008f3220008f3321008f3522008e3421008e3321008c3220008b322000862f1f
+00832d1e00772c1c00782e1d0079311f007b3223007d342800883a3100914539
+00a5504a00a8544b00ac584d00ac584d00ad584d00ab514b00a84b4600a24841
+009b433b00923629008c342500863222008531200085311f0086321c008a341a
+0095301a00993017009e3015009f2f1600a02f1800a3311b00a4332000a43826
+00a73d2b00ab433300aa433400aa433500a7433100a3412d009f3e2c009b3c2a
+009a3f2d00a1453200a94b3800ae4f3a00b3543c00be5a4200c4604c00ce6d5d
+00dc726100e16e6600e16c6500e26b6500df5e4c00d3514000cd483b00c53f30
+00bc3e2f00bb433400bb483a00b84a3c00b64d3f00b0503e00a94d3c00a04736
+0094402e0086331f0085301c00842e1900832c1800832d1800882d19008f2f1c
+00983321009c352300a0372500a73c2a00af412d00b8483200bf4e3900c35442
+00c3594600b9564900b3544900ad534900a14c4100994437008e3c2e00833424
+00702613006a210e00651d0a0061190600601e090064221000712a1a00833d2a
+009b4e3b00ae544400b6584b00be5b4d00c4554600bb4c3c00b2443100b03c29
+00ab382300aa362100a9351f00a8342000a8362200a6372100a5372000a43b23
+00a13f2600a04029009e442e009a4831009947320097433200974130009b412c
+009e3e2900a33b2700a83e2700ab3e2b00aa3d2e00a9403000ab413400a84134
+00a8423200aa443200aa432f00ac422e00ab412e00a6402d00a13e2c009d3e2d
+00983f2e00943f2e008d3c2b00843a28007c372500773422006f2e1b00672613
+0064230e00661d0a006919050065170200631401006716020067190300621a05
+00621c0900641f0b0068210e006a2110006c23130073251600792616007e2a18
+00812e1a0084301a0089321c008a341c008a341a008b321c008d321c008f301b
+008f301d0092312000983222009d382a00a13f3300a64437009e403200983d31
+"/>
+<palette number="527" name="Cotton_Flower" data="0064a0ba007eb1c30086b7c7008fbdcb0094bdc60099bec2009bbfc0009ec1bf
+00aecac800aecbc900aeccca00a4c1bb009ab7ac0095ab9d0090a08e008e9c8b
+008d9989007d8e88006e8784006081810055777c004b6d77004a6a70004a676a
+004a5f6800515e6500585e63005f585b0066525300654e4b00654a4300653f35
+00623a2900623117005f3015005c2f1300543218004d351d00463723003f3929
+0033474b00304c58002e5265002e5265002e5366002e5365002f5364002e4f62
+002b4c5f002442580025404a00263e3d002c3b300033392400363920003a391d
+00403a1b00413d1d00424020004543250049462a004a452c004c452f004c4433
+0048433700393a3500323737002c3439002b3339002b3239002a3339002a3339
+002b3233002a3032002a2f3100282f3000272f3000272f2e00282f2c002d3027
+0030332700353523003335200032351e0031341b00303319002e3217002c3012
+002c2f0d002c300e002c320f002c3310002c3412002c3414002b3414002c3214
+0030301500403318004d3519005a381a005f381900653918006e391600753b15
+00794012007b4311007e4610007d450f007d450f007b440f0076440e00704610
+007148120079440f0079400f007a3d0f007a340b00752c0c0070280c0072270a
+007127070069220400611d0200581b0300501a0400441b09003c200d00372510
+00332911002a2b1100282b1200262b1300222b1600222a170022271800212615
+001a210c0016200b00121f0a00111d0900111b0900131d0800162007001c2406
+001f290700232d0800232d0700242e07002a310900323509003b390a00433a0b
+0046360e0045350e0044350f004236120041371300413a1600433c1900433f1d
+0044411e003e4320003b43200039432100354223003241270032402600324025
+00313d2200303b21002f3a21002b3922002837220025341f0024321a00212f16
+001f2d14001e2c13001c2e14001b2f13001c3012001d2e10001d2e0f001d2c10
+001d2d14001e2e14001f2f1500232f1400272f13002c2f11002f2e1100332e12
+003530160037351d00353a2a00343d360034444500374c52003b535f00415f69
+00466a7700487282004a798f004d8198005287a000598da10067919f00739399
+00798f93007e8a880082847d007e7f77007e7b7300817b7200797a770071767a
+0068717800616d730059666b005b665f005a675d0058695b0051685a00516757
+0051615000585c40005f583200685424006d4f1900724c130075460f0078420c
+00793e0c00763a090074390a0070380a006d380a006a39090068390b00663808
+006538090060380c005b3c0e005640130052441a004d4723004b4e32004b5241
+004d5a4f004c635f004f6c6e004c737b004a7c8b004c849c00518ba8005995b1
+"/>
+<palette number="528" name="Country_Garden" data="00407f360040914000368c49002c8852002c735f002c5e6c002d5970002e5574
+002c3f70002e2c6f00311a6f003c136f00480c6f00560c6700640d6000680f5c
+006d125900762e4400833f410091503e009c5a4400a8654a00a76e4b00a7774d
+00b38b4400b3874500b3844600ac7a4400a5714200a3693f00a1613d0093583b
+00824d3900683d2e0066312b006526290060222b005c1f2d00571f2b00531f2a
+003f1a1f0037221c00302a19002c331600283c13002a3b11002d3b0f00343b0b
+003d390d0055340e0068310b007b2f0900892d0a00982c0b00982e0c0099300e
+0089320b007d35140072391d00663729005a363600533439004c323c003d3446
+00363550002e326300343864003b3f660042446600494966005857620068595b
+00895a410098523800a84b3000ad412900b3382300b3352100b4322000ab2c20
+00a3241d00821f16006b28180054321a004b361b00433a1c003d461900395014
+002f5d100030591800315621003953270042502d00564c38006d4a47007c4859
+0085476500983c6e00943673009131790088327b007f337e0072347800652e6f
+004d1b5e003c1355002c0c4c00280a460024094000290d3600330e2f003e1726
+00451f1f00483914004840160048471800505322005c592d006c532f007c5030
+00965f2600a3662800b16d2a00b66b2800bc692700ca6c2000cf6f1200ca7c13
+00bb8111008d7c1b0082771b0078721c0068692e005c5a3700574a3e005b4746
+00664e57006f4d6a00784d7e007f4a850087488c008d528a0087637e007e7271
+00697f69004d77670047795c00417b52003c7f3c0034882700358b1b003a821c
+00586616005e5f17006558190070491600793d17007e32160082251100831e12
+0081181100761a1200711a12006d1a13005e1c15004e1d17004022170038281b
+00312627002f2629002d272b002a2e2b00283c30002f472e0041482f00584b2b
+00744f2600875c280096712a009d772c00a1772a00a36b26009d5d1f0093571e
+006f4d1d00684a1e0061471f004e3f1900413716003835140031341000343912
+0033421200354715003451180033581700355c180034631b00316020002c5a2a
+0027562c0027522c002a562c00315c2b00385e300044612f0052632d005f6726
+006e711e00767b1a007e841300828a10007f8d0c00778e080069920a005b9411
+00498f1a00378f22002587280015832a000e7b2e000b6b33000c5c3700104b3d
+00153e3e001e30380028253500301b31003812340040104000481253004a1e67
+004c297700532d7a00552b78005b257d0055287d004b30870047328500443178
+0049266c0048205a003f21550034265000292d4800213245001c323e00173336
+0013393000154224001c4f1c0026531800245e15001f6a1b00257422002c802b
+"/>
+<palette number="529" name="Creamsicle" data="00ffaf2f00ffa32f00ff9a2e00ff912d00ff832d00ff762d00ff712d00ff6c2d
+00ff5c2d00ff572d00ff532d00ff532d00ff532d00ff582d00ff5e2d00ff602d
+00ff622d00ff6c2d00ff742d00ff7c2d00ff832d00ff8b2d00ff8e2d00ff922d
+00f7a22b00e7a62900d7ab2700c8ac2500baae2400b4ab2200aea82100a39e1f
+0096921d00937c2f00a56d4400b75f5900c2527500ce459200d341a100d83eb1
+00f732df00fb2fed00ff2dfb00ff2dfd00ff2eff00ff30ff00ff33ff00ff3dff
+00ff4afd00ff65ef00ff76e500ff87dc00ff92bf00ff9da200ff9e9400ff9f87
+00ff9b6200ff905000ff863e00ff7c4300ff734800ff6d4c00ff685000ff5b59
+00ff4f6300ff417200ff3a7800ff347e00ff318100ff2f8500ff2d8b00f92c92
+00ef2aa500ec2aa700e92aaa00cd2ba000b12c9700ab2e9100a6318c00a8377e
+00a23c670081453f00905036009f5b2d00ac602900b9662600c86d2300cc7128
+00e9814700f4845a00ff876d00ff827600ff7e8000ff749a00ff68b100ff5dc5
+00ff52d300ff3bdf00ff34de00ff2dde00ff2ddb00ff2dd900ff2dd000ff2dc2
+00ff2da100ff319600ff358b00ff398500ff3e7f00ff466d00ff4e5d00ff5951
+00ff654c00ff764600ff794800ff7c4b00ff7f5800ff806a00fc7c7e00f47699
+00e565cd00d95edb00ce58e900c755ee00c053f400b949fc00ba42ff00bf3dff
+00c63efa00d836db00de33d000e530c600f231b000fb369600ff3b7900ff3f5f
+00ff4b3e00ff513900ff573400ff5a3700ff5d3a00ff614200ff634800ff654f
+00ff665900ff6d6700ff6e6600ff706600ff706100ff715a00ff755200ff7a4b
+00ff7e3900ff7d3500ff7c3200ff7b2e00ff7b2d00ff7c2d00ff7b2d00ff792d
+00ff782d00ff7c3100ff7d3200ff7e3300ff803400ff803400ff803400ff8034
+00ff7e3200ff7c3000ff7b2f00ff792d00ff772d00ff792d00ff7c2d00ff812d
+00ff872d00f8912b00ec9d2a00dca62e00d1a83c00c2a24b00af9f52009b9c55
+0085836e0085797100856f75008d5b73009c517000ad496f00b73f6d00b9306c
+00b42b6a00ae306600a33a6200963f6300844565007254660067686400697b5d
+00748a530085974d0097a54b00aab24500bcbb3800cdba2c00ddb52800ecaf2a
+00f5a92b00f7a02b00f5922b00f5842b00f4772b00f46e2b00f3652b00f55d2b
+00f7562b00fa522c00fd502c00fe502d00ff522d00ff562d00ff5a2d00ff5c2d
+00ff5a2d00ff572d00ff572d00ff572d00ff562d00ff512d00ff4a2d00ff432d
+00ff412d00ff3f2d00ff3c2f00ff373300ff313900ff2f3c00ff304000ff3045
+00ff2f4c00ff2e5100ff315400ff385400ff415000ff474c00ff504900ff5c47
+00ff6b4000ff7a3900ff863300ff903200ff9a3200ffa43000ffad2e00ffb02e
+"/>
+<palette number="530" name="Cricket_Music" data="007026a8006825b6006624bc006424c2005e1fb100581aa000521799004d1492
+00391c660039235100392b3d002c362a002041180020471800204e1800254d23
+002b4c2e0036395400462f690056267e00601a91006a0ea5006c0bad006e08b6
+005600c6004703d3003806e0002a04e3001c02e6001801e0001500da000400d7
+000004d300000cb30000119e0000178900001f75000027620000265500002649
+0000342c00002c2a000024280000183200000c3d00010b4100030a46000f074c
+001a0550001d004d001c013d001b032d001509250010101e000f101f000e1020
+000f0a2d00151037001c16410024184d002d1b59002d1c5b002e1e5e0026245d
+001f315900174054000e375500062f560005295a0004235e0002176600060c6a
+001e007c001e027a001f057800210276002300750020006e001d00680013085b
+00030650000000370000052a00000a1e0000101a0000161700001c0800001b00
+00002c00000039070000470f00034b1300065018000b5928000e5d3b00065d48
+000359590006476600053d660004346700072d6e000a2775001d2787002f2c8e
+005723ab006a1bb9007d14c7008113c7008613c8007f0eb8007008a0005c0b84
+004b1b6500272c3600212c32001b2d2e00162f2e001c2a2f00202440002f1f56
+003e046f003b087200390d750034146e00301b68001a1b56000e2a3d00053e33
+0004412400073000000d2d0000132b000028250e00300d200041003f004e0051
+00560072005500790054008100500079004c0072004c006600590062006a006a
+006a0067007007800078078a00800895008c0ca2008d0fa900900cae009a08b3
+00a30db500a90bb300af0ab100b706b500c204c200c014cf00b818c700b725b2
+00a52c92008d359a0089339500853190007a2d75006d3579005b2f8200502a98
+00572daa005a2fab005e31ad006436b9006a33be007531c1007a2ab9008a20b8
+008917b200850fb0007c08ad007900b1006f00b2005f00b2005002b7005304c0
+006202da006102e0006002e6005d02e7005804e9005b00e4005400e0004900d1
+004100c7003b00b7003300aa003102990031079500340b8f0033128d002e1c89
+001f1c86001d228100262c8600262e900026379c001d369d002a3ca7003b36b7
+005d3fc800612cc7006d20c3007f14c600900bce009d05cf00a304c300a008b5
+008e0fa70075239c005f3586004d456e00364b5000245d400014602c000a612a
+0006592d0003503500003f3c00002a4500001f5b00001a6d0000107a00000885
+0000008e000c0798002813a2003b14ae004d05b8005c00c7006500d0006807d7
+00620fd7005c17d2004625bf001f22ab0012319400073b7a0000475c00005d57
+0000584d00004f4500074745001c4541002633480035315c00432c820060309c
+"/>
+<palette number="531" name="Dark_Rainbow" data="005a9448008dbb4600a2b04300b7a54100ca943700dd842d00de7c2900e07526
+00bc421200a9300e00971e0b007f180b0067130c00501d0d003a270f00312a12
+00292d160014282e000e2833000928380008263b0008253e0006203f00051c40
+000a0b3d00120835001b052d002705230034051a003a051700400515004d0413
+005c06150074071e00700520006c0322005f032400530426004e04280049052a
+00341630002c223c00242f480025374700274046002b464000304d3a003d5c38
+0048653a00496c3400436f25003e731700416c190045651c00435d2100415526
+002e443800254050001d3d6900212a810025189a0022129900200d9900140d95
+000c0d920007068e00120379001e0065002700570031014a0044023100530222
+0072040e0079090f00800f1100771b18006f282000682d210061332200503923
+00433a290037383e003737440038364a003a3548003d354600472b40004c213c
+004f113d004b103a0047103700411035003c11340031133500210c3d00160d4e
+00120e60001c108d00220f9800290ea3002f10a3003513a3004118a300551d9d
+006e1b8300731b6e00791c5a00791d4f007a1f4500792a35006f3b2e0064522d
+0066682c007b8923007d8c2000808f1e007998210073a0230075a629007ea82c
+008f872b0090732800925f260095572700995029009e422500a6362400b02b1d
+00ba271200cf1a0800d0180800d1160900cd110f00c5151100c11c1300bd2012
+00ba311200bf431700c5561c00ca5f1f00cf682300c0732d00a77a4200957359
+007f70720075638e00655e8f00565a910043469600272d94001b1d98001a0f8a
+0012095c00120650001203450012063e00110a3a000e0f3a000c173e000f1b3f
+00171c3c00191e3600191e36001a1f36001a213900271f3a002b1b3900321840
+002511580028105d002c106300330d700048137b0059228100622c84006b377e
+006a39790072347300773769007e396100843b5600883f4c008c3945008d3139
+009b282b00a12a2b00a72c2b00b4372c00c6412500d54a2200dd4a1d00e34716
+00e2461500e3461300e44a1300e0481600dd431300d63b0f00d1350900d13803
+00d03a0300cc3e0600c53f0800b9410e00b7490d00b8541100bc631500c8751a
+00c6872900c8992a00c8aa2b00c2b42700c2bf2b00b8c83a00adca4d00a3c967
+0094bc780088ad8600809c920079869e00726fac006f5ab4006b46b200703aa5
+007830940079267f00791d6a00691154005c083b004f062c0040062400380722
+002a081e0022061900160d150011171700172621002035320031423c004a5243
+00655e42007e713d00907d42009388470097955400998d5c00988759008d754e
+0075614200575f3f003d5d4300305f490028664a00266a4a002e6c4a00408049
+"/>
+<palette number="532" name="Dark_Rose" data="005c3f50004b394a0046364500423341003e303c003b2d3700392b3300382a30
+00362a2f0037343000393f31003d4a370042563e00515e450061664d00665c4d
+006b524e00814862008440600088385f0084325d00812d5b007d2a55007a2750
+00682742005b283d004e2a38004729330040282f003d282c003a292900372929
+00352a2f002a3327002e2c280032262900322425003223210031212000301f1f
+002e1920002a181d0027171a0023171c0020171f001e161d001c151b00121218
+00111611000c140c000d130c000f130d0012160f00151a1100151b1300161d16
+001b2522001d2722001f2a23001f2825001f2627001e2624001d2622001b2522
+001b231f00231f1b00261e1f00291e23002a1e24002c1f2600301f2400332023
+00371e2900361d2600351c230031191f002d171b002b161a002a161900261516
+002113160018130f00160f0e00150c0d00140a0e0013090f0011080d000f070b
+0010060c000f070b000f080b0010090b00120a0b0017100e001d111600221317
+0027151900321b2600361b29003a1b2c003b1a2b003c1a2b003d1b2f003d1c2e
+00401d2f00411f2e0042222e0043222e0044232f0045273300482b37004b313a
+004e343a0050383c0052383e00553941005c3b4600613c4900683d4b00714153
+00834f62008e5068009a516f009c526f009e546f0095566a0091526c008c4b69
+008743640068364800613446005a3344005031400048313b00432f3100412f31
+003c312d003b2f2f003a2d31003a2c31003b2b320039272f0039222f00391e2f
+003a1b2c003f152a0041132900441229004a122e004d142f0050183300551b35
+00611f4100612141006223420063294800632b4600642e4900612f45005e3246
+0056354500454c3900424d36003f4f34003c4e3100374c300033472e0034452d
+003d372d003a2f2b0038282a0036242c0032222400332c240032362400323723
+002b361e002c361e0029341e002c311e002b271b00261617002412180022121b
+001f0d16001e0d16001d0d17001a0f1900160e1800160f1500180f14001b101c
+001e142000211a26002a253000423241005643500067505400715e5900765863
+007b585f007e585e007756570068495200593b44004c33340046363100413e31
+003e3a2f003e382e0041312e004b2a350059253e005f1e42005c1b3d00571638
+0057123400520d3300460b2a00350b1c002d0d17002a0e18002c0b18002c0a15
+002f0d1a00361021003d1128004112290045173000471d330049203800482034
+004a203a00492036004920380046203700441e3600401e34003e1d33003a1e33
+00361c3000311b2b002c1a22002a1a2100281b1f0028221e00282c1f002e3223
+00383928003f362c004437310050383a005a3b41005a3a410053394300563c47
+"/>
+<palette number="533" name="Dark_Turquoise" data="00267472002673710025686800255d5f00215052001e4346001c3c40001b363a
+0019222800192025001a1e23001b2227001c262b001e303400213b3e00224243
+00244949002c6967002f747100327f7c0037837f003d8882003e8b86003f8f8a
+003d9b96003c9993003c9791003c948f003d928e003b9491003a97940035a09c
+0034a6a20038a9a50039aba8003baeab003bb4b2003cbbb9003dbdbb003ebfbe
+003fc3c3003fc3c3003fc3c3003fbcbc003fb6b5003fafae003fa8a7003c9997
+003a898800316969002f5959002d4a4900294140002538380023353600223335
+00222e3100212d3000212d2f00202d2e001f2d2d001f2b2c00202a2c00202628
+001e2225001a1d1f00191c1e00191c1e00191c1e001a1c1f001a1e22001b2127
+001b2e35001c3b40001e494c0021565800246364002366660023696900206a6b
+00206a6b0022656600205b5c001e5252001c4c4c001b464600193b3d001a3538
+0021363700233a3900263f3c00263f3d0026403e002440410024404200263f43
+00293f44002e4147003341490038424c0039424d003b434e003e464f003c4c4b
+00404849003c424500393d4200343b3d002f3a390028353400232d2d00202829
+0020272900222e310022303200223234002335380024383c00253b3f00253d40
+0022373c001f343a001d3139001c313a001c313b001b343c001c3a42001f464b
+002155590028757b00297d83002b868b0030979b0033aaab0039b8ba003cc2c5
+003dc9cc003dc8cb003dc8ca003dc7c9003dc6c8003cc2c3003ab9b90035aeac
+00309e9e002d7f80002c7677002c6d6f00295f5e00234f4f00204041001d3435
+0022272a0023282a00252a2b002c323300343f3d00485351004b6663004b7772
+004d868400559e9d0054a2a10054a7a5004ca9a50042a09f002d8b8e00287b80
+00235f630021575b001f5053001c424700193a410019363f001b3b43001e474b
+0022545700246266002670730026777a00277c7d00287d7d0027797a00277476
+00215b5f0020535700204c50001d3d41001b3036001a252d00191f26001a1b22
+001a191f001b191d001c1b1d001d1d1f001f21230023252900262c2f002a3335
+002b383b002b3d40002b3f46002b434b002b454d002a464d0026434800223d42
+001f393e001c353b001b3439001b3439001a34380019393b00193f4000194445
+001a4a4d00194c52001a4c55001b4f59001a4c56001a49520019434b00193a43
+001a333d001a2c36001a262f0019212800191e2200191c1f001a1a1e001b1a1d
+001b1a1c001a1a1b001a1b1a001a1b1a001b1c1a001b1c1a001a1c1a00191c1a
+00191d1a00191c1a00191c1b00191b1b00191a1c00191a1c00191b1c00191d1e
+00192121001a2729001c3334001e42430021515100245e5b0027666600286e6d
+"/>
+<palette number="534" name="Dark_Waters" data="002809540024054b00250241002700380015002a0004001c0002070e00000e00
+00000e0000000e0000000e0000000e0000000e00000007080000001100000011
+000000120000001f000002290000043400000d400000164c00001b5200002059
+0000306e000034760000397f00003d850000418c0000428d0000438e00003f8e
+00003d8c0000387c000030730000296a0000246000001f57000018530000114f
+000005470000024700000047000000490000004c0000024f0000055300000058
+000a045c000d0464000b04650009046600070463000504600007045e000a045c
+0016044c001702430019003b001900320019002900170026001600230016001a
+0015000100000e0000000e0000000e0000000e0000000e0000000e0000000e00
+00000012000900180012001f00180029001f00340027003a00300041003d0553
+002d116a001c289e002037af002447c100264fc6002858cb002454d200244fd2
+002353cb001f56c8001c59c6001958c2001657be001558b5000e5ca600054b96
+0000387b00001a53000016480000123d0000113c0000113b0000163b00001541
+00001c4100001641000011410000113f0000123d0000123d0000193b0000193d
+0000193b000015350000113100000e2d00000d270000081c0000011500001100
+00000e0000000e0000000e0000000e0000000e0000000e0000000e0000000e00
+00000e0000000e0000000e0000000e0000000e0000000e000000001100000111
+0000001500000015000000150000001300000112000001120000001200000012
+0000001200000019000000190000001a0000001a0000001a0001001a000e001a
+001c00160018001b00150020001600270024002d00200038001a00430029014c
+00290854002d0e6b003912730045167b0049209200662dab008739c9009a49e8
+00ce6bff00d072ff00d27aff00ff7fff00ff83ff00ff88ff00ff84ff00ff80ff
+00e883ff00c67fff009e7bff007673ff006a76ff005e77ff005364ff00414ff2
+001c28b1001626a2001124940004247b0000206b0000246000001a540000114b
+0000044300000439000000340000003100000031000000380000043d00001945
+0000204f00002c57000034620005316f000a3d800015439a00204fb5002c50ce
+003454df003564e900386aee00356af1003462f100316ff5003173ff00387aff
+00437cff004f7fff005c8aff005ea3ff005cadff0058b7ff004faaff0041b5ff
+003bb5ff0039b1ff003d9fff003faaff0047a3ff0047a2ff004588ff003b7cff
+002d76e9001f5eca001541aa000a308c00081a7600041164000109570000004b
+000e003f00200038000e0030000d002d000e003000120035000e003f0023044b
+00290957002809540028055300310450002c044f0024054c0015014b0023044b
+"/>
+<palette number="535" name="Darkness" data="003323280030171d002e1415002d110d0026100c0020100b001c110900191208
+0018151800181b220019212d0017293e0016315000193358001d356000213662
+0026386500312e7400352d6c00392c640034295a00302751002d2548002a233f
+001f1b26001916200013121a0012101700110f1400110f1300120f1300130f11
+001410110015100f0014100e0013100e00110e0e00100d0e000d0b0c000b0a0b
+00070708000707080007080900110c0d001c111200251415002e1818003e1a29
+00521e320079443c00724a3d006b503f005b503c004b503900414b3800384638
+00212739001d233b001a1f3d001c1f45001f204d001f20500020205400191d5c
+001a1d5b0013154f001316440014173a00171938001b1b360021213b0027243e
+00372e4400352d4200342d4100302a3a002d27330027243200222131001d1d30
+00191b2d000d1631000f16360011173b00121641001316470015125100191457
+001d145c0019155200161649001615430017153d001415330010142c000f1327
+00111225001313210014121d0016121a00161219001713180017121500171112
+00151013001510130015101400161115001712170019141a001f182000241d25
+00241f270028212900251f2600231e24001d1920001a171b0016141700121115
+000e1012000d1014000c1116000c1017000d1018000d131b000f141d0014141f
+001b1821002d181900321a1a00381c1c004e1e2600661827006c1a2a00712136
+00701c26006b1f2d00662235006622380066233b006e2948006f2f5300662f5f
+00612b550036273c002d223700251e32001d19260016151e0013121a00121119
+00100e1400100e1300100e1200100b11000f0a10000e0c10000e0b10000d0a10
+000d0b10000c0c11000c0c11000d0c11000d0c11000e0c12000e0d13000e0e15
+000e0f18000e0f19000e101a000e101b000d0f1c000b0f1e000c1221000d1427
+0010162d00121c3a0013254a001d274c0025284c00272d4d002c2c47002d273a
+00231e2900201b29001e1929001e1928001f1e2c00242030002b253200352832
+00412a2e004a3930005d342e0072232100712b1b006d2d1b006e261900602716
+00492816003c2d220039352a0038352d003b372d003e3b2c003a3931003c3931
+00473f37004d4048005439540059356700553a6d005e396b0052306d00402d6b
+00432f6f004b2f710056378b005e35970065247e00652d7f00582a6f0047114a
+00340f320021102100140a1b00100a18000d0b16000a09120009080d0006070d
+0007060d0008080c0008090c000a0a0f000c0c13000d0e1500100f1700121118
+0013121b0013121b0014121a0013121a00101118000f1016000f0f16000f0e14
+001010150013111700171319001b171c00201c21002723270025242800272027
+"/>
+<palette number="536" name="Davinci" data="00d29d8f00e9d1b200dcd2b800cfd4be00b5c8ac009cbd9b0097afa40092a1ad
+005a6b8d00695e910078519600824786008c3e76008a29600089144a00820f44
+007b0b3f00560c2900511f35004d3242004d424d004d525900505e6500536a71
+004954640042445a003b345100382a4a00352044003a1e3d00401c3700412427
+003d38340026573300206544001b7356001e7c590022855c002b815c00357e5c
+0074925d00a0ac7300cdc68900d9bf8700e5b98600ddb18400d5a98200cd8061
+00b85346009b2b3200941c29008e0e210092153100961d4100982349009a2a51
+00b1527e00b8689200bf7fa700ba829d00b6859300b3899800b08d9d00a97b91
+00a3667a00963c43009d424100a4493f00ac503f00b5574000c06e4500b96549
+00c24b2d00b2311d00a2170d00a2261000a236130098431d008f51280096763a
+0098934600729349007d935100899359008d8b5b0091835e009362490090372f
+008c2430008d212a008e1e25008b232c008929340081313e007d2b3200762827
+0068292b0063372b0062302d0062292f0061283000612732006824310073242d
+0070343f0073544d0076745c006a755f005f776200628a7b00638a6c00619063
+0071956f00ae9f7200ad956c00ac8b6600a56d53009451420073393f00603542
+003b2b44002627390012232f000e1829000b0d23001007290022112c002f0c18
+003e0614006d22140078331c0083452400885838008b764d008a8751007d824b
+0054692f004656210039431400313a13002931120014210c00081b0700102722
+001e3d340036724200467f5200568c6200659f610060b55f006db16d0070a56d
+0086936d0086836900877366008a5c5b009c4f51009f4a5f00a1516400b05c61
+00b56d6b00b18e7400ac907500a8937600968d74008c8a64006c7053004d5244
+0041422900423d28004338270053301f005a3b2300664f2b0089552a008f5933
+00886d45009676470097674700946152008e635b00835a570084555300886b62
+0091966400919a6d00919e770087a47a008ba577009ea88900a19b9400947e7e
+0096787000936361008c5359008e4b5200953e460098353600984138009e4e40
+00a86d5600af997300b9b78300b3bf9000b1c29600c3c6a200c1b6a300b8ad95
+00b4998200b0867500ac907700ae9b7600a9a075008d9a70007a936f0079926c
+006e896a00738777007b7f75007f796f007c6f6e0075707a006e6d7700786d79
+0074697c007e6174007f4a5d0074374400752828006c211c0053140c00431a0a
+00331f0c001f130500150b03000d0404000b070a000c090d0007050b0004090c
+0005111300020e12000413140008171500091215001516140027281a00323520
+0048472d00625f3b00757e3f0092974e00a5986500b4a76d00cfb67200daa27c
+"/>
+<palette number="537" name="Daylight_Fading" data="0050699a00465f8800405278003a466900323e5e002a36530027334e0024314a
+00222c4100262c3f002b2c3d002f2c3e00342d3f00392f43003e324700433549
+0049384c0063485600694b5700704f580072505b0075525e00785460007b5762
+008d585d0094545c009b505b00a5566300af5c6c00b6627100be697700cb707c
+00d5717e00d26c7b00c66f7e00ba738100aa6f80009b6b7f0093667c008c6179
+00795d76007e607a0083647f008e687e00996d7e00996d7d009a6e7d00a06b7a
+00a165710096595d008750550079474d00683c460058324000522f3d004d2d3a
+00452b3900442c3a00432e3c00402e3c003e2e3d003d2d3d003c2d3d003a2d3b
+00372d39002d2835002826330024243200242431002425310025243200282333
+002a2434002b2434002c2535002e23350031223500312133003121320031202e
+002e1e2b00271a2500261a2300251a2100271a2000291b20002e1c2000341d23
+004629320053333d00603e480067414c006e455100814f5900905661009c5f6b
+009f6674008b667500835f6c007c59630079555f0076515c0066475800583e4e
+004929380054293800602a39006a2c3c00752e3f008735440098394a00a63f50
+00b4495b00c1577300c1597600c15b7900b85b7900af5e75009f5a71008e576e
+006d4d6600604a610054485d004f465a004b445800424154003c3d5000373b4f
+0032384f0031324c0032304800332f4400362c3d0037293800392739003e263a
+004a2a3e004f2b3f00542d4100562d4200592d44005f31450064344700663447
+00673445006d3140006f303f0072303e00772d3c007c2b37007e293700802936
+00822b3700822b3700822c3700802e38007c323d00753643006b3a4800613d4d
+00574052004c465c004a475d0048485f00454a60004349600045465e0047455c
+004d4356004f42540051415300573d51005a394e005c344b005c3348005b3442
+005c3843005d3d4300603e470062454f00644b550064515c0061565d0061545d
+0063525e0062505f00624f61005d4b5e0058435800523a4f0052334700533146
+00563146005b3449005f364c0065374d006b385000763b5300833e55008d4157
+00953f5200963a4d0095354800933142008e2e3e0085293b007a2436006a1f31
+005b1c2c004d1c2900401b2900371d2c0031213000322733003b2e37004d323c
+004a313a0046313900402e3400392d32004e2f38004c2b3500472631003c1f2b
+002a1a26002b1b27002b1d29002b1c2a00291a29002719280025182500241923
+00241a2100211821002017210022172200261923002d1d280033232f00382939
+003e31430043374b004a3e560051445c00554a63005b4d66005e4e67005d536f
+005f567500605d7e0063628400666c8e00656f9300626f98005d6f9c00596696
+"/>
+<palette number="538" name="Dinosaurs" data="001ba8c1000fa7c3000c9ac2000a8dc1000785b300047da50007769a000a7090
+000c545c0011504a00174c38001a4d2b001e4e1e00294f2b0035513900374f43
+00394e4d00405c6a004350720047457a00503e7500593870005c38650060385b
+005b2544005e283200622c210056341e004b3d1b004b3a1a004b381a004d3617
+00473717004550360044584700446059003d74650037887100308d760029927c
+0021928b002382890025728700345e8f00444a980052419b0060389e006831a5
+00683eaa007b52a9006d529a0060538b004d5373003b535c00355154002f4f4c
+001840280014461d00104c13000c5a100009680e00086d110007721500097c1b
+000b8322000e882e000e8537000e8340000f7e41001179420011703b00166333
+00186324001a6b1b001c7412001d8413001f9414001c9818001a9d1c0019a41b
+0018ab170017a11b00209619002a8b170032881b003b85200045792a0055713a
+00755f3d0079503d007e413d007f3e3a00813c37008e372c0095302200982321
+009b1e2b00a9304700a52e4b00a22c50009f2a50009d28500092385000854b4b
+008a5f47007a674a006b704d006d73550070775d00787f79006e85930054879c
+003f84a0003188a8002e8ba1002b8e9b00288e8000348669004874500063623e
+0090471600943a1100992e0d009b270d009d210e0099210e0089210d0072210e
+005e1c0d003c12180037121c003312210028132a001f103300120c35000d1238
+000a243f000d273b00112a3700102c3600102f35000f333d0012405100144b64
+0015537400155d8a0014648a00136b8b000c7585000c797a000a7569000f7352
+00086e300006692b0005652600115e20001e5d1b002c5a170033521600424417
+004f401c00622c17006a261700732017007c1a2000851030008e0a3c00a30b49
+00ba0f6b00bd106f00c0117300c8187400cc1b6c00c3226700b52b6700a4326b
+00a033660099355600983e460087406700794283006545910063527500645386
+00664fb000684ea9006a4da30074489400813f8d0093367f009c286d00982357
+00861f4c00721c4c005f1851004d1c52003b2c58002b365a00213a5e001d3a55
+0022404f002e423d00323f2e0030391d0029321b002a2e1d00292529002e2137
+00331f4f003d236100482b7400543680005a488f005f5692005e688a0059777b
+004690710031a16a0023aa64001fa459001b9e52001a9847001b9045001f8a40
+0021873d0025863700277e3200277a2a00277b2200247d2000208028001b7f2f
+001e872d001f9026001e9a2600149a2b001296310013922f001a892b00187724
+00186224001b4f2d0025423c002a3846002a3545002c3546002f3f52002f5464
+002a647000296e76002b7680002b8a8c00269f990024aba30024aab60022a7bf
+"/>
+<palette number="539" name="Dragon" data="00941d1d008a0f1f007c1028006f1132005f1a37004f233d0049273c00432c3c
+0047443300584b29006a522000774c170085460e00914109009d3d04009e3805
+009f330600992f0d00942e0e008f2e10008e3312008d3815008d3b12008d3e10
+0087410e007c4b0a00715507005e6306004b710500447407003d7809002d7b09
+001a8108000c7c0b0009720900076807000764090008600b00085f0b00095e0b
+00095a0d0009620f000a6a1200096b1500086c1900076c1a00076d1c0007701d
+0008741c001176270019772c002279310029753200307134003b683600466039
+006b44340077392b00832e22008e2a1c009927160098271300972810008b2b09
+007831070056330d00482b16003a231f00342225002e212b0024203000221737
+00230a3d001f0a3f001c0a42001b0a3d001a0b3900190b3500190c31001a0d2d
+0015112d0016242300152b25001532280018362d001b3a32001c4539001b553f
+00176546001b66410020673c00226437002562320031592900474f21005e441b
+006f3b1d0091341a009b3c1900a5451900a4481b00a34c1d00a04a22009d4a21
+008c4e2900864c2f00804b36007d4d34007b503300795a2b00746e2500787f21
+00778a1c006b8e0f0067900f00649310005991160047831e0036761f0028701d
+001c641d001d601b001e5d1a00235a1700295815002f56170032551f00385429
+00464f2a005f52270062562700665b2700736720007d711a00887b15008b7d14
+008d701700866220007f552900794d2e007346340065363a005a2d3f00522c3a
+004e2f33004c442b004a4a2600495022004b5316004f530d004e5d0b00466a0c
+0046680c0047650b0048620b0048610b004f590900574d08005e3e09005d380b
+0061310a005036090048380a00413b0c00403c0c003a3e0f002e421600224421
+0022442d00234431002444350027453f00284e4500385c40004d6839005e6e2d
+00637227006a79210072811f0071821a00627a1600506f150042681800356318
+0017441600123c1a000d351e000f2a250013262900141e2a000e1f2d000f2130
+00112b350013333500173f3400204d2d00325b28004065240050642300606824
+0074692300826a220084641d0083691c007b732100737c25006c7e24006b811f
+00667b240057722a00486228003e5820003a401a0034271b002c131a00250d19
+00240d130031120e0045220b0058320e00634314006c56170073691700767e14
+00738f1400659b1800519c1b003f991800379211002e8a0e0020840f00167b11
+001874100021691100286711002f680f00396e0f0046720e004f780e00507e0f
+004c8210004886130045871b003a8922002c8926001d88240018842800157c2c
+0017753000196f2f0023662a00355c26004c4a2400613c2500732e2300852620
+"/>
+<palette number="540" name="Dust_Bunny" data="0067695e0064685f006468600065686100686b65006b6f69006b706b006b716e
+006a7373006973720069737200697271006a717100686f7000676e7000656c6f
+00636b6e005b606800565c6400525861004c525c00464c570043495400404651
+003b3f4b00393f4b00383f4b00393f4a003a3f49003b4049003c414a003e444e
+0041475300474b5300484b5000494b4d0048494b004747490047454700474446
+00433c3a0041383500403531003f3431003f3431003e3331003e3331003f3331
+0040333300443a3900463d3f00494145004a454a004c4a50004c4c52004c4e54
+004f5053004e4f51004e4e4f00494b4d0045494b004347480042464600404342
+00404040003f3c3d00403c3c00413c3b00433d3b00453f3c004a444000504945
+0062584e006c615500776b5d007d726400837a6c00867d6e00898171008d8372
+008f84730089807000837a6b007d75670078726500746f63006e6a5f0066655b
+005a59550055535300504e51004d4c4f004b4a4e0047454b0043404700403b44
+003d3740003832360035303300322f3000312e3000302e300030313100313332
+00373a39003a3e3f003d4345003f46480041494b00464d50004a5053004d5155
+004e4f55004a4a510048494f0047484e0045454b0044414600443f4200464042
+004c4a4900524f4b0059544e005e585000635c53006d635800736a5a00766d5c
+00776d5a007b6d58007a6b55007969530073634d006b5c47006355410060523e
+005b4c3a00594c3b00574c3d00564d3e00564e3f005450430055504500555247
+0055514800514f4a004f4d4a004e4c4b004d4c4d004e4c4f00514e5200575357
+00655f6100686263006c656500706a6a00726e6d00717071007071710071716f
+0070706c00686b670065696600626866005d6562005b635f005a5f5b00575b57
+0053514f00524f4c00514d49004f4944004d443e004c4139004d403700524237
+00564738005c4c3b0060503b0063533d0065563f006556410065554300615242
+0055483d0051443b004d413900463a35003e333400382f3200352d3100342f30
+00352f2f00383130003a3332003f353500423b380048413b004f473c00574c3e
+005e504000615343006156480061594b005f5a4e005d5a4f005a574e0053514c
+004c4c4900454545003d3f4100393a3c00353436003632300038302c003a302a
+003d322a0040372d00453c32004b43390051484100574f49005a554f005e5a53
+00635e5600676158006d645b00736a5f00786e60007d71600081745f0085755f
+00877862008779670084796a0080786b007a756b00737068006c6a6700636264
+00595c600051565c004c5256004a4f51004a4b4e00494b4c004a4c4d004b5050
+004f55520054595700585c58005a5e5a00595f5a005b615a005f635b0062655c
+"/>
+<palette number="541" name="Dynasty" data="0055603d00225b3300155931000858300008522300084d160007491300064511
+000a33120010260e0016190b0024120e00330c11003e0c0f004a0d0e004f0d0c
+00550d0a0058091700560b1c00540e210050112a004c1534004c1b3a004d2141
+005d374f005e475000605851005f5a44005f5c38005e5735005e5332005f4629
+00653a1a007b27040090210400a61c0500b0250b00ba2f1100b9341a00b93923
+00bb463700b24b3600a9503600a24e39009c4d3c009a4a3600984831008e482a
+0082462d0065393300503035003b2738002e213300211c2e001b182900161425
+00091311000f150d00151809001c220800232d07002a2d0500312e0400412b08
+00502e0b00623a0c005f3e12005d4319005a451e0058482300494c2400395826
+0021632f001e6338001c6342001c5749001d4c500022455400273f58002d3a4e
+00233853001a3244001a3632001a3b20001d3d1b00203f160033460f0046450e
+007a3207008f2c0900a4260b00aa250b00b1250b00b6260d00b7250e00a82515
+009a2a1c00903c1d008d4121008a46260087482c00844a3200804f32007a542f
+006b622e00605d2c0056582a0051552a004d522a00484a2f00473e2f004c362f
+0053333300562f32005532300054362e005a3d2c0060472000604e15005d5814
+00715f2b007e6334008b683d008e67430091674900926b510093705600927058
+0084635500594a3f0052453b004c4138004331310043212f004f192900601723
+0092101a00a9111600c1121300c7121200cd121100d0100c00cb130800b81704
+00a21a0400772105006d23050064260500582c0a004e3a13004b40210047442e
+004e4f450053554c00595b54005a615e005b5f630057546000594d5d00564251
+0056394100501f2c004c1b2700481723003d1119003812100037130d00391e0e
+0047341c004e372200553b2800674932007d543f0093614a00a8675300b26653
+00b1615000ac594a00a8514100a04336008f3a2c007d312400742d1a00732613
+007f201c00881f1d00911f1e00a3261900b2281c00b6312300bd303400c13f3f
+00bf474500af5743009859480080644a006b6248005b5f3e004c533500384d2d
+00264129001d3923001a301f00182a19001324180016241700212f19002f3a1b
+00363f1f00343e220035412a0039453100423e37003f3137003d2439003f1d3a
+004919370055113000620a2c0076062e00830b2b008e0d240091091d009c061a
+00a5061500ac091200a9070e00a4061200a2031300a30513009b091400870b1a
+00700c1d0062121a00561f15004b301200433a110046400d0053480a00614f07
+00724e07007e4205008a3a070091320d00972d130098211300971d0f00971f10
+009a2a1400a3351600ac411400a7461900a2511d00895525007d5f2b005b5e38
+"/>
+<palette number="542" name="Easter" data="00b2a5d500b1a0d700b09ed700af9cd800af9ad800b099d900b097d900b196d9
+00b297d900b39ad900b49ed900b49ed800b49fd700b49fd600b49fd600b3a0d6
+00b3a1d600b2a4da00b1a3db00b1a3dc00afa4df00ada6e200aea7e200afa8e3
+00b6abe300b4aae300b2aae300b0a4dd00ae9ed700ad98d200ad93ce00a786c4
+009e79ba0086599d0078488f006a388200622e7a005b2473005a217000591f6d
+005a1e6f005f237400642879006c2f7e00743684007637870078398b007a3b8d
+0079398c0070338200682c7e0061257a005d1f76005919730059197100591970
+005f2177006b308300773f9000814f9c008b60a9008d65ac00906ab0009e82c1
+00a98eca00b6a9e000b6b1e300b7b9e600b9bce700bcc0e800c1c4ea00c5c8ed
+00c7cff000c7ceee00c7cded00c5c7eb00c3c1e900c1bde800c0b9e700b9aee4
+00b4a2e100a88fda00a688d600a481d300a37dd100a37ad000a075cd009e72c8
+009c6ebe009c6bbb009d69b8009c68b6009c67b5009b64b2009863b1009661b2
+009562b4009867b8009b6dbb009e73be009e77c0009e7cc300a084c600a38ac9
+00aa8ec700a98ec400a98ec200a78cc000a68bbf00a483bc00a078b8009b6cb1
+009461aa00884e9c00834999007f459700783c900071348b006b2e84006a2a7f
+00692d7e006e32830074388900793d8d007e43910088519b009260a8009b6fb4
+00a37cc100b096d700b29bda00b5a1de00b8a9e400b9afe900b9b1eb00b9b1ed
+00bab1ec00baafea00baade800b9aae700b8a8e600b6a2e300b39cde00b297da
+00b194d600ae8bce00ac86cb00aa81c900a679c400a473bf00a26ebb009f6bb6
+009455ad00904ea9008d48a6008640a000803a990078359000722d8a00692582
+005e217a0058207100592372005a277400602d7a006237810068418800714990
+00885eab008d64b200926bb9009a77c400a17fcc00a486d400a78bd900a890dd
+00ab94df00ae98e000af9be100b09be100b09ae000af98dd00af95d900ad91d4
+00a28bd200a18bd300a08bd500a18cd700a690d800a690d900a293dc00a195df
+00a397e400a99be600ad9be500aa98e600a796e300a694e400a693e400a894e2
+00a792e200a592e100a691e100a690df00a990dc00ab8eda00aa8cd700a989d4
+00a684d100a37fce00a07bcd009e7acc009f7bcc00a17ccc00a27dcc00a37fcd
+00a484cf00a589d000aa8fd200ac92d400af93d500ae94d700ad94d700ad93d8
+00ac8fd800aa87d700a880d600a67cd300a47ad100a57acf00a677cf00a677cf
+00a77acf00a77ed000a985d100ac8bd300b093d600b39ada00b5a2de00b9aae2
+00bcb2e400c1bae700c6c0e900c7c6ea00c7c8eb00c5c7eb00c3c7ea00c1c5e9
+00c0c3e600bdbfe300b9b9e100b7b3de00b3afdc00b2acd900b1aad700b1a8d5
+"/>
+<palette number="543" name="Easter_2" data="009192ca009aa9d2009fb7d700a5c6dc00add2e100b5dee600bbe0e800c1e3ea
+00dcf0f300e5f3f600eef7f900eff7f900f1f8fa00e9f4f700e2f1f400dcecf2
+00d7e8f000b9cbe500abbadc009da9d3009497cb008b86c4008780c100847abe
+007a65b3006e54ac006343a50059349a004f2590004a1d8c0046168800400c83
+00410883005d1b8f00692697007632a0007d41a5008551aa008657ab00885dac
+009578bb00a188c500ae99cf00bea9d900cfb9e400d6c1e800ddcaed00e8d9f2
+00f0e4f500f6f4fb00f9f8fc00fcfcfe00fafcfd00f9fcfc00f6fafb00f3f9fa
+00e3f2f400d9edf100d0e9ee00c8e6eb00c1e3e900bee2e800bbe1e700b6dfe6
+00b2dde400b0dce300b0dce300b0dde300b1dde300b3dde400b8dfe600bee1e8
+00cae2ed00d1e0ef00d9dff100e0dbf300e7d8f500e9d6f600ecd4f700efcff7
+00f1c8f600ecb4f300e6a8ef00e19cec00de96eb00dc90ea00d784e600d17be3
+00c968dd00c460da00bf59d700bc56d500ba53d400b54ed100b249cf00ae48ce
+00ad47cd00ac49cc00ac4ccc00ad4fcc00ae51cc00af53cd00b258ce00b45dd0
+00b668d300b06fd200ab76d100a77ad100a47ed1009f85d0009c8dd0009c97d2
+00a0a0d400acb1da00aeb5db00b0b9dd00b1c2df00b2c9e000b3d1e200b7d9e5
+00c5e5eb00d1eaef00def0f300e3f2f500e9f4f700f1f4fa00f6f1fb00f7ebfb
+00f5e2f900ebcdf200e9c8f000e8c3ef00e5baed00e3b3ec00e1adec00dea4eb
+00d796e700cf93e300c890e000c590df00c390de00c194df00c49ce100c7a4e4
+00ccade600d7bbed00d7beed00d8c1ee00d7c3ec00d4c3eb00cfc8ea00c7cce9
+00b4cce400b0cbe300accae200a6c8df00a0c5dd009bbeda0095bbd8008fb9d6
+0089b8d40079b7cf0075b8ce0071b9cd006cbccc006cbecc0071c0ce007bc1cf
+0092bed50096bbd6009bb8d700a0afd600a0a2d300a5a5d500a5a8d700a6abd6
+00a4acd500a2aed600a1afd600a0add7009996d000978fd100938ad500908ad8
+008294d5007e99d5007a9ed50072aad60066a6cf00609dca00578fc6005680c3
+005773bf005770bd005571bc005175bb004b7db9004988b500438bb400418cb3
+004483b1004e7db1005778b1005e70b100626bb000696caf006b6cae00686cac
+006166a700615da0006152990060479300603b8f00673390006f2a9000752491
+00782293007b259500802c990085359c0089409f00914fa7009c5fb000a96dbc
+00b77ac800c485d300cf8fde00d897e600e09cea00e4a2ed00e6aaee00e2b4ef
+00d9baed00cebcea00c1bce600b3b9e200a7b4de009daedb0098a8d90097a4d5
+00949fd300919bd1008c96ce008690ca007f88c5007980c100757bbf007676bd
+007676bc007877be00797abf007c7dc1007f7dc200847ec3008582c5008c87c7
+"/>
+<palette number="544" name="Easter_3" data="00d8a6e200e5bded00ebc7f200f1d2f700f4d8fa00f7dffd00f7dffd00f7e0fd
+00f3dbfa00ecd5f600e5d0f200dbc7ee00d2beea00c8b0e700bfa2e400bb99e1
+00b891df009e76ce00926ec6008766bf008060b9007a5ab3007b58b0007c56ae
+008154a5008254a6008455a7008959ac008e5db2009460b4009a64b700a66cbb
+00b06fbf00ae6ac100a667bf009e64be009762b7009160b0008d5dab008a5ba7
+006f479200613e890053368000493178003f2c71003c2a6f003a296d0037266a
+00342368003322680032216800322068003321690034236a0035236b0036246d
+003f2a7900442f7f004a3585004f398b00543e9100563f9500584099005e42a1
+006544a8006c4ab2006d4ab1006e4bb0006c49ae006b48ac006944a9006742a5
+006943a7006e48ab00744db0007d57b5008662ba008a68bd008f6ec0009b79ca
+00aa84d400cb9beb00d6a8f200e1b5f900e4b8fb00e8bcfd00eabffb00eabef8
+00e2b3ed00d7ace600cda5e000c7a0dc00c29cd900b893d500b48ad100b185d2
+00ae83d100b186d600b386d800b586db00b787df00b988e300be89e900c18bef
+00c18af300bc85f000b880ed00b57ceb00b278ea00ac72e700a971e400a570e2
+00a571e000a573e200a774e200a975e300b17ae400ba83e600c58be700cc90e6
+00c98fde00bf88d600b581ce00b27ec900b07cc500ad76bf00a870b900a46db5
+009e68af008d63a8008b60a800895ea900885bab008c5ab000925cb5009960b7
+00a56bba00a96bbb00ad6cbc00af6cbe00b16dc100b470c400b470c500b774c9
+00b877cd00c57bd200ca7ed400cf82d700d282db00d182dd00cb81dd00c27ed7
+00b36fc700ae6cc200aa69bd00a161b400935aa90084549f00724a950064408b
+0057398300452d7900432c7700412b75003e2b74003d2b74003e2b74003e2b75
+00432e7b00442f7c0046317e00493382004b3585004b3486004b3387004b3288
+004e3589005539890061428d006f4992007f5399008e5b9f009a65a700a76cab
+00c183ba00c787bf00ce8bc500db96cf00e5a0db00eca8e300efb1ea00f1bbee
+00f0c0f300efc4f600efc2f600eec1f400e9bff100e4beeb00ddbee800d4bde4
+00cbb4de00c2a7d500b498cc00a485c0009276b400836dac007764a5006e5ca0
+006a579f00684e9f006648a0006846a4006d47aa00744ab1007d53ba00895ac5
+009362ce00a06cd900ac76e000b87de700c288ec00cd8ef200d593f400dd9af8
+00e5a2f900eaa6f800eeaaf600efaaf300eea5ee00e9a0e900e39ce400db96e1
+00d295dd00cb94d900c692d700c08ed600ba8bd500b284d500a67fd1009c7ccc
+009578c6008f74c2008d72c0008e6fc2008f6bc4008f6bc400926bc100936abc
+009669b500986db6009e6fb900ab79c400b985ce00c58fd800d296dd00d8a1e4
+"/>
+<palette number="545" name="Egg_Hunt" data="00777c940082776a0094755a00a7744b00ad7b4900b4824700b1874600af8d46
+009f984d009d994b009b9b4a0092a043008aa53d0080ae400076b7430077b73e
+0079b73a00a2bb1700b3bf1200c4c40e00ccc00e00d4bc0f00d6b60e00d8b00d
+00e1991600e4922100e88b2d00e7853500e6803e00e57f3f00e57f4000e58345
+00e68a4000e7913700e59a2f00e3a42700daad2600d1b62600c8b22b00c0af30
+00a4ae4b0090b562007dbc7a006abb880058ba960056b7930055b4900050b282
+0049b4830044bb7d0056b9680069b7540074b14c007fac440082a9480085a64d
+00a08f5e00a67f5400ac704b00a66f4400a06f3e00a1743d00a2793c00a67537
+00a57c2800a1971000aaa70e00b4b80c00b9bc0b00bfc10b00c9c40d00d0c715
+00e6c92c00e9c63a00edc44900e2bd5a00d7b76c00cdb36e00c3b07100b1a86f
+009a9f71006e9984006296790057936f00538e63004f8a5800498748004d8944
+0079953d008f8f2f00a5892200a9811d00ad791900aa6c1900aa5c1e00a7532d
+00a24f3a008a424200773e4000643b3f005c40430055454800534b4800565a43
+00757c2100868b1f00979a1d009c9c2000a19f2300afa52f00c3a94100d5af54
+00e8b56800f8b37f00f8b18300f9af8700fcac8a00fdac8d00f9a98f00f7aa8f
+00f3a38e00f09a8f00ee919000ee8a9600ef849d00ee78b100ef6bc000eb61c7
+00e85fcd00d964d400d365d300ce66d300bb63c200a45eb00088599900705d81
+004c6e5700426d4400396d3100386a290038672100406b1900527c1a00658f22
+007aa8370092bc620093bc6a0095bd730089ba7c007bba84006cb47e0062ad7e
+00539166004f8e5f004b8c580045853c0047862d005c831f0077851600948f16
+00ab951100c7a41500cea71800d6ab1b00e2b32600e9b83000eab83400e8b736
+00efb73800f0b83d00f1b94200eeba4a00eaba5800ecbc6200f1ba6e00f7b97b
+00f8b88500f5b59600f4b6a400f1b9b200edbbbe00e0bac100d0b4c700c3a8c5
+00999ac0008e99bc008399b9006f96b700718eae006f83b300767db200817cba
+008782c4009f8ec500b59acf00cda6d000e4aad600f0adda00fbaad100feaec4
+00feb6ab00feb99100efb48a00e2a67d00dca06e00dba05900e9a93500e6ad2a
+00e0ad2500dbb02800dbb42b00e9bd1e00f4c31700f8c51100f2c41500e9c31d
+00e3bf2d00e4b14100e79e4e00e58f5c00d3896200bd8a6a00b18b7600b5837c
+00c5768000c6747b00bb7c7300aa8b6f009e996c00a09d6700a6a05f00ada75c
+00b1ac6700afb17300aab27900a5a5710098965e008c8651008381510078834f
+006f8647005f8139004f752600477122004d7025005f7a2b006f813e007a8752
+007e926c0086938300918b930096819c009a759e009674a2008d799f0082799d
+"/>
+<palette number="546" name="Elements" data="00bf833200b87e3200b2772d00ac712800aa6f2500a86d2300a76c2300a76b23
+00a96c2700a37332009e7a3e0090834e00838c5e007a885f007185610066805f
+005b7c5e003164560024564b0017484000103a3400092c2900072a2600052823
+00082e240006352c00053d3400044a3c0004574500055a4900065e4d00096253
+000a6458000f78680018847500229183003598880048a08d0054a28a0060a587
+008aad7c008bba8e008dc7a10091c9a20095cca30099c79b009ec3930087be99
+0073b4990068a68e00709e7c0078966a00798353007a713d007e683100826025
+00915209008c4d0600874804007f420300773d0200733901006f350100662d00
+005e2700005521000054200000531f0000521f0000521f000051200000532200
+005a2a00005f2d0000653000006a3400006f38010071390100733a0100753b00
+00763a000072360100673301005d310100563003004f300500412f0c00362b0f
+002f200d0031220e0033250f0034270f00362a1000402d11004d2d0d00592b06
+00632b0300662c0000632a0000602801005c25010058230100511d0100481601
+003d0d01003c0b01003b0a01003b0b01003c0c0100400f0000451300004c1901
+00541e0200642b0700672e07006b31080071370700753b0600783d06007c4109
+00864a0f008d51120094581600985c1a009d611e00a76a2800b2753200ba7d39
+00be803a00bc7b3400ba793300b9783200b4742f00ae6d2800a4641d009b5b13
+008f520d008f510f008f51110090511200915213009154130092571400975a17
+009d5e1a00a5631e00a6651f00a8672000ab6b2300b4702400bb772800c17c2c
+00c7843700c8853700c9863800ca873800cb863700c9853800c4813700bc7c33
+00b1732f00985a220091521f008b4b1d007b3e16006a32120058270c00461b07
+002d0701002a0400002702000023020000230300002405000026070100290c04
+0028130d002a201a002a352a002e4b3c0034614e0035726300357d76003c847b
+00559072005c8f6d00648f6900668866006b77580072654200775529007e4914
+007c430b0077400800733d060072390400703703006d3401006b320100683001
+00652b0200622602005d210100561b01004f1700004813000044100000420e00
+003f0d00003d0c00003a0a00003709000038090000380b0000390f0300351406
+002e180900271f0d0022251100222e180029371d002e391d00343c1c003b3e17
+003d4117004b4318005a42140068401000773e08007c3f04007f420300814404
+00804605007f4607007c44070073480c00674f1600575620004a5a2a00454f28
+0042462500403f25003b3e230036412900383c250040321e004d2a16005c290d
+006a2e0d00773a0f0084461300915319009a5e2100a4682600af732c00b77b30
+"/>
+<palette number="547" name="Embers" data="00b44a0d00d6590400d15c0300cd5f0200bb570200a95002009d490100914301
+00702e00006d2901006a240200672405006525090064291000632e1800653320
+00673828006654430069604f006d6c5b00747462007c7c6900787a6600747863
+005e644900555840004c4c38004a3e2c00483021004e2c1d0054281a005e2516
+0065251100732013006e2313006a26140061271c00582925005028280049272c
+003c2b390039293b0037283e0037293d00382a3d003c2d3e0040304000433543
+00463a47004844490045434600424344003d3e3b00393a320035382d00323729
+0027231c00231f1800201c14001e1815001c1416001b1316001a121700181017
+0016101600190f13001c0f12001f0f12001f1013002011140023141500281517
+0026192400251a2500241b2700221b2900211b2b001f1a29001e1928001b1723
+001a141d0016101700161013001611100019110e001c120c0024140b00291509
+00351b0500391b05003e1c05003e1b06003f1b0800401d0a003b210d003c2712
+003d2f1800403b1a003e3f1a003c441a003c4419003d44190040401600483a11
+00572f0800692c07007c290700832a05008b2c0300972c02009f2e0000a63000
+00a9330000a13101009d2f0100992e010095280000912403008f210700891f0c
+006d191d00631a22005a1b2800511b2800491b290036192d0026172c00211529
+001e1422001d101700201015002311140036180f0043210f0051301d0059412e
+007b603d007e6d4d00827a5d00827e650083836e00877b61008b6c55008c5b41
+008a4f3a009a371b009e301200a22a0a00a5230700a5230100a22102009e1f00
+00871a04007e1806007517080064160b00561516004a171b0044171e00451b1f
+004d2126005c383b0061403e0066484200735748007e5e4f00826a5c00817467
+0076726600706c62006a665f005f56590051494c00433b4100352e34002b222c
+00241c2000221a1700221a100024180c00271708002918060029190600261708
+00210e09001f0d0b001d0d0d00190e1200190f19001c101e0023121f002a151d
+0036171d00411d1d004d1e1900521f1300541c10004f1c0c004c1a0a00431808
+0038140c002b110e00220f10001c0e10001a0e0e00190d0c00180f0a0017100b
+00160e0900180d0a00170e0900140f0b00100d0d00100c1100110c1200160d12
+00211110002d170c003b200e004a2b0f005a391200684a1b0071582c00755d2f
+00755f2800745d26006e592e0063522e00584e2400544d1b005c5124005f5730
+0062603d00626b440070715000847052009a6d4d00a86e4400b5693d00c26030
+00cc521f00d0511700d54c1300d1481300c93e0c00b93d0c00ae3a0a009e360d
+008a320f00762e11006b3013006c2e14006e2c16007329150080321400993e10
+"/>
+<palette number="548" name="Etomchek-040328-005" data="00a6c9e300a9c7e100a9c6e000aac5df00a7c5e000a5c5e100a4c5e100a4c5e2
+0094bbde0094b9dc0094b7da0093b5d90093b3d9008fb0d5008baed20086aacd
+0082a7c9006b8ead0064849e005d7a9000566f8200506575004c5f6f00495a6a
+00384b5c00314557002b3f53002d3f51002f40500032425200364454003d4c5c
+0046576600566f83005c7a93006285a4006d94b20078a3c10080abc80088b3d0
+00a7cde400b1d5e800bcdded00bee0f100c1e3f500c1e3f400c1e4f300c1e2f0
+00bfddeb00b5d0dd00adc3ce00a6b6c00099a7b0008d98a100869099007f8991
+00606a7100505b6500404c59003240510024354a001f3147001a2d4500142944
+0012284500152e4e001632550018375d00193962001b3c67001b3d69001b3d69
+001c3d67001a3a620019375e001b3a60001d3d63001f3f65002141680027466b
+002e4b6f00465d780052647b005e6c7e00647384006b7a8a0078889b008194a8
+008ba5c2008fabc90093b1d10093b1d20093b1d30092b0d3008faed2008aa9cd
+0080a0c300617fa300506e9100405d7f0039557600334e6e0028416000213856
+001832520018325200193252001b3353001d355400213b5a00264260002d4b65
+00345871004072920042779900457da1004b87af005090bd005394c9005698ce
+00589ccd00559acc005399cb005298ca005197c9004f95ca004b91cc004689ca
+004483c700427cc100427bbf00427abe00477cbe004d80c0005789c6006090cc
+006f9dd500729ed50076a0d60076a0d40076a0d300769ed100779fd10078a1d4
+007ba4d8007caadc007baadb007aaadb0078aada0076a9d90075aad80075add9
+0080b6e10082b8e20084bae40085bae40082b8e1007fb2dc007aacd50074a6cd
+0073a2c800749cc100739abe007398bc006d91b6006587af005879a300476691
+002a47710025426a00213d63001c355700192e4c00182b470016284000132236
+000f1b2c000c1829000b172a000a162a000a162a000916290009162900091629
+00081120000a1323000c162700121e33001c2e4600253d5900314c6b003f5e7c
+004e6c860059748700677d8c007586920085959e0094a5ad00a3b4bf00b2c6d1
+00c0d7e200c7e2ec00cde8f400d0ecf800d2edf900cee9f800c7e3f700bfddf7
+00b6d8f400aad0f0009dc6ee0090beeb0085b7e70079aee3006ea5de00649cda
+005c95d500568fcf004f87c9004880c500447dc200417ac2003f7bc3003e7bc5
+003f7cc700437fc8004681c7004a82c3004e82bd00507fb8005181b6005281b7
+005181b8005282b9005384bb005687bd005a89bc005d87b7006086b1006387ae
+006486ad006686ad006688b100688db6006b94bd007099c300759dc50079a1c8
+007ea4c9008aacce0093b3d2009dbbd700a1c2dd00a5c8e200aacce400accee6
+"/>
+<palette number="549" name="Etomchek-040328-006" data="00b5a6e300b9a9e100b9a9e000baaadf00b8a7e000b6a5e100b6a4e100b6a4e2
+00a994de00a994dc00aa94da00ab93d900ad93d900a78fd500a28bd2009c86cd
+009782c9007e6bad0074649e006a5d90006156820059507500564c6f0053496a
+0042385c003c315700372b5300382d5100392f50003c32520040365400473d5c
+004f466600625683006b5c93007562a4007f6db2008978c1009080c8009888d0
+00b3a7e400bbb1e800c4bced00c7bef100cac1f500c8c1f400c7c1f300c7c1f0
+00c5bfeb00bbb5dd00b3adce00aba6c0009e99b000928da1008b869900847f91
+006460710056506500484059003d32510032244a002d1f4700291a4500261444
+00251245002b154e002e16550031185d0034196200381b6700391b6900391b69
+00381c6700351a620033195e00341b6000361d6300381f65003b21680040276b
+00462e6f005746780060527b006a5e7e006f648400756b8a0085789b008e81a8
+009e8bc200a38fc900a893d100a993d200aa93d300a992d300a78fd200a28acd
+009680c3007961a3006750910056407f004f39760048336e003c286000352156
+002d1852002e1852002f195200301b5300321d540036215a00392660003d2d65
+004234710050409200534299005745a100614baf006950bd007253c9007656ce
+007358cd007155cc006f53cb006e52ca006d51c9006e4fca006d4bcc007046ca
+007044c7007142c1007042bf006f42be007347be00774dc0008057c6008860cc
+00946fd5009772d5009b76d6009976d4009876d3009976d1009877d1009a78d4
+009f7bd8009c7cdc009a7bdb00997adb009578da009476d9009175d8008e75d9
+009a80e1009b82e2009c84e4009e85e4009a82e100987fdc00927ad5008a74cd
+008a73c8008b74c1008a73be008a73bc00846db6007f65af007558a300644791
+00462a710040256a003b216300331c57002d194c002b18470026164000201336
+001a0f2c00170c2900180b2a00170a2a00170a2a001609290016092900160929
+0012082000150a2300180c2700201233002c1c46003725590045316b00523f7c
+005e4e8600645987006f678c007c7592008a859e009794ad00a9a3bf00b7b2d1
+00c5c0e200cac7ec00d2cdf400d5d0f800d7d2f900d5cef800d3c7f700cfbff7
+00c7b6f400bdaaf000b79dee00ad90eb00a385e7009b79e300936ede008d64da
+00865cd5008056cf007a4fc9007648c5007244c2007041c2006f3fc3006f3ec5
+00713fc7007443c8007546c700744ac300754ebd007650b8007351b6007552b7
+007551b8007652b9007753bb007856bd007b5abc007c5db7007c60b1007c63ae
+007e64ad008066ad008266b1008368b600856bbd008a70c3008e75c5009279c8
+00967ec900a08ace00a793d200af9dd700b1a1dd00b4a5e200b8aae400baace6
+"/>
+<palette number="550" name="Etomchek-040328-007" data="00dba6e300dca9e100dba9e000dbaadf00dba7e000dba5e100dba4e100dca4e2
+00d794de00d694dc00d694da00d793d900d893d900d38fd500ce8bd200c886cd
+00c382c900a76bad0098649e00895d90007c568200705075006b4c6f0067496a
+0058385c0054315700502b53004e2d51004d2f500050325200533654005a3d5c
+00634666007e5683008e5c93009e62a400aa6db200b678c100bd80c800c488d0
+00d9a7e400ddb1e800e2bced00e6bef100eac1f500e8c1f400e6c1f300e4c1f0
+00e0bfeb00d4b5dd00c7adce00bba6c000ad99b0009f8da100978699008f7f91
+006e60710063506500584059005032510049244a00461f4700441a4500441444
+00451245004e154e00551655005c185d0061196200671b6700691b6900691b69
+00671c6700621a62005e195e00601b6000621d6300641f6500672168006a276b
+006e2e6f00764678007a527b007e5e7e0083648400886b8a009b789b00a681a8
+00c08bc200c78fc900ce93d100cf93d200d193d300d192d300d08fd200cb8acd
+00c080c300a261a3008f5091007d407f00753976006d336e005f286000562156
+00511852005118520052195200531b5300541d540059215a005d2660005f2d65
+006834710083409200894299009045a1009e4baf00ad50bd00bb53c900c056ce
+00bc58cd00ba55cc00b953cb00b852ca00b751c900ba4fca00bd4bcc00c146ca
+00c144c700bf42c100bd42bf00bc42be00bc47be00be4dc000c457c600ca60cc
+00d46fd500d572d500d676d600d476d400d276d300d176d100d077d100d378d4
+00d87bd800d87cdc00d67bdb00d57adb00d278da00d176d900ce75d800cc75d9
+00d680e100d782e200d884e400d985e400d582e100d17fdc00cb7ad500c174cd
+00be73c800bb74c100b973be00b773bc00b16db600ad65af00a358a300914790
+00712a70006a25690063216200571c56004c194b004718450040164000361336
+002c0f2b00290c28002a0b28002a0a28002a0a28002909280029092800290928
+0020081e00230a2100270c250033123000461c46005725590069316b00783f7c
+00804e86008059870086678c008e75920099859e00a794ad00bba3bf00cbb2d1
+00dac0e200e1c7ec00eacdf400eed0f800efd2f900efcef800f0c7f700f2bff7
+00edb6f400e8aaf000e99dee00e590eb00df85e700dc79e300d96ede00d664da
+00d15cd500cb56cf00c54fc900c348c500c044c200c041c200c13fc300c33ec5
+00c53fc700c643c800c546c700bf4ac300ba4ebd00b650b800b151b600b452b7
+00b551b800b652b900b853bb00b856bd00b75abc00b45db700ae60b100aa63ae
+00ab64ad00ac66ad00b066b100b468b600b86bbd00be70c300c075c500c379c8
+00c47ec900ca8ace00ce93d200d29dd700d6a1dd00daa5e200dcaae400deace6
+"/>
+<palette number="551" name="Etomchek-040328-008" data="00e3a6bf00e1a9bc00e0a9bc00dfaabd00e0a7bc00e1a5bb00e1a4bb00e2a4bb
+00de94af00dc94ac00da94aa00d993a800d993a700d58fa400d28ba200cd869e
+00c9829b00ad6b82009e647900905d71008256680075505f006f4c59006a4954
+005c38460057313f00532b3800512d3900502f3a0052323c0054363f005c3d47
+006646520083566700935c7000a4627900b26d8800c1789700c8809f00d088a7
+00e4a7c300e8b1cb00edbcd300f1bed600f5c1da00f4c1db00f3c1dc00f0c1d9
+00ebbfd600ddb5c900ceadbd00c0a6b200b099a300a18d940099868d00917f86
+0071606800655057005940470051323b004a242f00471f2a00451a2600441420
+0045121f004e152400551627005d182b0062192d00671b2f00691b2f00691b2f
+00671c3000621a2d005e192b00601b2e00631d3100651f3300682135006b273a
+006f2e4000784655007b525d007e5e660084646d008a6b75009b788100a8818d
+00c28b9c00c98fa100d193a700d293a600d393a600d392a600d28fa300cd8a9e
+00c3809500a3617400915063007f40530076394b006e3343006028380056212f
+00521828005218280052192800531b2900541d2b005a21310060263800652d41
+0071344d009240650099426900a1456e00af4b7600bd507d00c9538000ce5684
+00cd588900cc558700cb538500ca528400c9518300ca4f8000cc4b7c00ca4672
+00c7446d00c1426600bf426500be426500be476900c04d6e00c6577600cc607f
+00d56f8c00d5728e00d6769000d4769000d3769000d1768e00d1779100d47892
+00d87b9400dc7c9900db7b9900db7a9a00da789a00d9769900d8759900d9759d
+00e180a500e282a800e484ab00e485aa00e182a800dc7fa300d57a9d00cd7498
+00c8739400c1748f00be738d00bc738b00b66d8500af657b00a3586c00914759
+00712a3b006a25360063213100571c2a004c192500471821004016210036131c
+002c0f1500290c12002a0b11002a0a10002a0a10002909100029091000290910
+0020080c00230a0e00270c110033121800461c2700592534006b3142007c3f53
+00864e620087596c008c677700927581009e859100ad94a100bfa3af00d1b2c1
+00e2c0d100ecc7dc00f4cde100f8d0e500f9d2e600f8cee300f7c7db00f7bfd2
+00f4b6ce00f0aac500ee9db800eb90af00e785a700e3799c00de6e9200da6487
+00d55c8000cf567a00c94f7400c5486b00c2446800c2416500c33f6400c53e64
+00c73f6500c8436900c7466a00c34a6e00bd4e6f00b8506d00b6517100b75270
+00b8517000b9527100bb537200bd567700bc5a7900b75d7800b1607800ae637b
+00ad647a00ad667a00b1667b00b6687f00bd6b8600c3708c00c5759000c87993
+00c97e9700ce8aa100d293a800d79db100dda1b800e2a5be00e4aac000e6acc2
+"/>
+<palette number="552" name="Etomchek-040328-009" data="00e3b4a600e1baa900e0b9a900dfb9aa00e0b7a700e1b5a500e1b5a400e2b5a4
+00dea89400dca99400daaa9400d9ab9300d9ac9300d5a78f00d2a28b00cd9c86
+00c9968200ad7e6b009e73640090695d0082605600755850006f554c006a5249
+005c413800573c310053372b0051372d0050382f00523c3200544036005c463d
+00664e460083615600936b5c00a4756200b27e6d00c1887800c88f8000d09688
+00e4b2a700e8bbb100edc4bc00f1c6be00f5c9c100f4c7c100f3c6c100f0c8c1
+00ebc4bf00ddbbb500ceb3ad00c0aba600b09e9900a1928d00998b860091847f
+00716360006555500059484000513c32004a302400472c1f0045291a00442514
+00452412004e2a1500552d16005d3018006233190067371b0069371b0069371b
+0067371c0062341a005e32190060331b0063351d0065371f00683a21006b3f27
+006f452e00785746007b6052007e6a5e00846f64008a746b009b857800a88d81
+00c29d8b00c9a28f00d1a79300d2a79300d3a89300d3a89200d2a58f00cda08a
+00c3958000a3786100916650007f554000764e39006e473300603b2800563421
+00522c1800522d1800522e1900532f1b0054311d005a35210060382600653c2d
+0071413400924f400099524200a1564500af5f4b00bd685000c9705300ce7456
+00cd715800cc6f5500cb6d5300ca6c5200c96b5100ca6c4f00cc6b4b00ca6e46
+00c76d4400c16e4200bf6d4200be6d4200be714700c0754d00c67e5700cc8660
+00d5936f00d5967200d6997600d4987600d3977600d1977600d1977700d49878
+00d89d7b00dc9c7c00db997b00db977a00da947800d9927600d88f7500d98c75
+00e1988000e2998200e49b8400e49d8500e1988200dc967f00d5917a00cd8974
+00c8887300c18a7400be897300bc897300b6836d00af7e6500a3735800916347
+0071452a006a3f2500633a210057321c004c2c1900472c180040251600361f13
+002c1a0f0029170c002a180b002a170a002a170a002915090029150900291509
+002012080023140a0027170c0033201200462b1c00593625006b4431007c513f
+00865d4e00876359008c6e6700927c75009e898500ad979400bfa9a300d1b7b2
+00e2c5c000eccac700f4d3cd00f8d5d000f9d8d200f8d5ce00f7d2c700f7d0bf
+00f4c6b600f0bcaa00eeb69d00ebab9000e7a18500e3997900de926e00da8b64
+00d5845c00cf7e5600c9784f00c5744800c2704400c26e4100c36d3f00c56d3e
+00c76f3f00c8714300c7734600c3724a00bd734e00b8745000b6715100b77452
+00b8735100b9745200bb765300bd775600bc795a00b77b5d00b17b6000ae7b63
+00ad7c6400ad7f6600b1806600b6826800bd846b00c3897000c58d7500c89179
+00c9957e00ce9f8a00d2a69300d7ae9d00ddb0a100e2b3a500e4b9aa00e6bbac
+"/>
+<palette number="553" name="Etomchek-040328-010" data="00cde3a600c9e1a900c9e0a900c9dfaa00c9e0a700c9e1a500c9e1a400c9e2a4
+00c1de9400bedc9400bbda9400b9d99300b7d99300b4d58f00b2d28b00afcd86
+00acc9820092ad6b00879e64007d905d007282560067755000616f4c005c6a49
+004e5c38004757310041532b0041512d0042502f0044523200465436004e5c3d
+0059664600728356007d935c0089a4620098b26d00a8c17800b0c88000b8d088
+00d1e4a700d8e8b100dfedbc00e3f1be00e7f5c100e7f4c100e8f3c100e4f0c1
+00e0ebbf00d3ddb500c5cead00b8c0a600a8b0990099a18d00919986008a917f
+006c7160005c6550004d59400042513200384a240034471f0030451a002c4414
+002b451200314e1500365516003b5d18003e62190041671b0042691b0042691b
+0041671c003e621a003b5e19003e601b0041631d0043651f00456821004a6b27
+004f6f2e0061784600677b52006e7e5e00758464007d8a6b008a9b780097a881
+00a8c28b00aec98f00b5d19300b5d29300b5d39300b5d39200b3d28f00aecd8a
+00a5c3800083a3610072915000617f400059763900516e3300456028003b5621
+0036521800355218003552190036531b0038541d003e5a2100466026004e652d
+005c713400789240007e99420084a145008eaf4b0097bd50009cc95300a0ce56
+00a4cd5800a2cc5500a1cb5300a0ca52009fc951009dca4f009bcc4b0091ca46
+008cc7440084c1420083bf420082be420085be470088c04d0090c6570098cc60
+00a4d56f00a5d57200a6d67600a6d47600a6d37600a4d17600a6d17700a8d478
+00aad87b00afdc7c00b0db7b00b1db7a00b1da7800b0d97600b1d87500b5d975
+00bce18000bee28200c1e48400c0e48500bee18200b9dc7f00b2d57a00adcd74
+00a8c87300a1c174009ebe73009cbc730096b66d008daf65007da358006b9147
+004c712a00466a25004163210038571c00314c19002c4718002b401600243613
+001c2c0f0019290c00182a0b00172a0a00172a0a001829090018290900182909
+001220080014230a0017270c001f33120031461c0040592500506b3100617c3f
+0070864e0077875900808c670087927500979e8500a6ad9400b5bfa300c8d1b2
+00d9e2c000e5ecc700eaf4cd00eef8d000eff9d200edf8ce00e7f7c700dff7bf
+00ddf4b600d6f0aa00cbee9d00c4eb9000bee78500b5e37900acde6e00a3da64
+009dd55c0097cf560090c94f0089c5480085c2440084c2410083c33f0084c53e
+0085c73f0088c8430089c746008bc34a0089bd4e0086b8500089b6510088b752
+0088b8510089b952008bbb53008fbd560090bc5a008db75d008bb160008cae63
+008bad64008bad66008db1660092b668009abd6b009fc37000a2c57500a6c879
+00a9c97e00b1ce8a00b7d29300bfd79d00c6dda100cce2a500cee4aa00d0e6ac
+"/>
+<palette number="554" name="Etomchek-040328-011" data="00a6e3b600a9e1bc00a9e0bb00aadfbb00a7e0b900a5e1b700a4e1b700a4e2b7
+0094deaa0094dcab0094daad0093d9ad0093d9ae008fd5a9008bd2a40086cd9e
+0082c999006bad8000649e75005d906b005682620050755a004c6f5600496a53
+00385c420031573d002b5338002d5138002f50390032523d00365441003d5c47
+0046664f00568363005c936d0062a477006db2800078c18a0080c8910088d099
+00a7e4b400b1e8bd00bcedc600bef1c800c1f5cb00c1f4c900c1f3c800c1f0c9
+00bfebc600b5ddbc00adceb300a6c0ab0099b09f008da1930086998b007f9184
+0060716400506556004059490032513d00244a32001f472e001a452a00144427
+0012452600154e2b0016552e00185d3200196235001b6739001b693a001b693a
+001c673a001a623700195e34001b6036001d6338001f653a0021683c00276b41
+002e6f470046785800527b61005e7e6b00648470006b8a7500789b860081a88f
+008bc29f008fc9a40093d1a90093d2aa0093d3ab0092d3aa008fd2a8008acda3
+0080c3980061a37a0050916800407f570039765000336e490028603d00215636
+0018522e0018522e0019522f001b5331001d543300215a370026603a002d653e
+0034714300409252004299550045a159004baf620050bd6b0053c9740056ce78
+0058cd750055cc730053cb710052ca700051c96f004fca70004bcc6f0046ca72
+0044c7720042c1730042bf720042be710047be75004dc0790057c6820060cc89
+006fd5960072d5990076d69d0076d49b0076d39a0076d19b0077d19a0078d49b
+007bd8a0007cdc9f007bdb9c007adb9a0078da970076d9950075d8930075d990
+0080e19c0082e29d0084e49e0085e4a00082e19b007fdc99007ad5940074cd8c
+0073c88b0074c18c0073be8b0073bc8b006db6850065af800058a37600479166
+002a714700256a410021633c001c573400194c2e0018472e0016402600133621
+000f2c1b000c2918000b2a19000a2a19000a2a19000929160009291600092916
+00082013000a2315000c271800123322001c462c0025593800316b46003f7c53
+004e865f0059876400678c700075927d00859e8a0094ad9800a3bfaa00b2d1b8
+00c0e2c600c7eccb00cdf4d400d0f8d600d2f9d900cef8d600c7f7d300bff7d2
+00b6f4c800aaf0be009deeb80090ebaf0085e7a40079e39c006ede950064da8f
+005cd5880056cf82004fc97c0048c5780044c2740041c272003fc372003ec572
+003fc7730043c8760046c777004ac376004ebd770050b8780051b6740052b777
+0051b8770052b9780053bb790056bd7a005abc7c005db77e0060b17e0063ae7d
+0064ad7f0066ad810066b1830068b685006bbd860070c38c0075c5900079c893
+007ec997008acea10093d2a8009dd7b000a1ddb200a5e2b500aae4bb00ace6bd
+"/>
+<palette number="555" name="Evening_Sunshine" data="00184f42003157380035583500395a33004061380048683e00506c3e0059703f
+00717a39006e7536006c703400636930005a622d00545b27004f5521004b501d
+00474c190037351100323513002e351500303a1900333f1d00333f1e00343f20
+003a4e3500365b42003368500029665800206461001b606300175d660010586a
+000d5b6c0012636e001e6469002a6664003e6a5900526e4e005d734800697842
+0099893200ac902900c0982000ca951500d5930b00d8910a00db900900dd8e0b
+00e0880c00d1700500c05f0400af4f0400a54305009c38060099390600963b07
+00864908008c550600926105009e750500aa8a0500af920700b49b0900c4ac08
+00ceb20800c8b20f00b7a81a00a69f25009b9a2b00909531007b8c3e0064854a
+003d755d002f6e6100216866001d66680019646a001864690017646900126266
+000e5d63000f5d63000f5e6500105f67000e5c66000c5a6500095665000a5566
+0012595f001c59580027595100305a4d00395b4a004c5c42006262380073662f
+00886b2700a67c1e00b2811800be861200c0850f00c3850c00c4850d00bc8810
+00a58e15009687170087811a007e7b1d00757620005f6c23004e6427003e5a26
+002a4d25000d302000092c1e0005281c00031f17000118130000121200000f10
+000113160001151a0002181f0002191f00021a2000021a2000011b1f00021c1e
+00031b1e00031c2000021c2200021d2400021f27000424290004282c00052c31
+00032f3b0004323e00063641000637430006394500063c4d00043b5400063c5b
+0009425f000c4d6b000a4f6d0009516f00095170000f516a0017506300284e54
+004c483a00534733005b472c00664a29006d50280071552f00715a38006d5d3c
+006a624200606b4700606b4800616c4a00636b4a00676c44006a6f3a00706f33
+00786f3000756e3000736e3100676b37005868400046644c0038635b002b6367
+001f616f0019607400195e730025646b00386d63004a7b5800608b4e006e9546
+00869d3200879b3200889a3200889c3400829d3e00779a48006a985000588c5d
+0044816900327b7500257880001e7c87001d7d8b001a7a8b0019798c0016798f
+00187e90001b8391001c848c002682830033817b004c816d00668562007c8855
+0090874500a3893900bc8b2900d48d1e00e38d1400e8860e00dd780d00c86e0a
+00b0600b0095540a0080470800693107004f230500351406001f0c0600100705
+000a0204000c0203001405020020090200330f0300481704005b210600743008
+00893d0700a24a0800bc520b00ca580b00d55f0d00d65e0900c85d0600bb5207
+00a44507008b3d0c00773513005e301b00472c24002f252d00192435000d293f
+00062f4b0004365200053d580008415800083d5000073c4a00083c43000b4140
+"/>
+<palette number="556" name="Evensong" data="001a1f3300171b2a00121724000e131f000e121d000f111c000e101a000d0f18
+00080a0f0006070c0004050a0005070c0006090f00070b1200090e16000a1018
+000b121b000e151f001016200012182200181d22001f22230022252600252929
+003e3e330046463d004f4f48005154490054594b0050564c004c534d00454b4b
+00373e4300222931001c212c00161a2800141825001216220011162100111621
+0012182300131a2500151c2700161d2a00181e2e00181f2f0018203000182132
+0019213200151d2d00141c2a00141b2800121926001118240010172300101723
+00111621001115210012152100121420001214200011141f0010141f000e131f
+000d131f00060b16000408120003060e0001040b000002090000000700020209
+00080a16000d101d0013172400161b2b001a2033001b2235001d2437001e2638
+001f253a001f2739001e2537001d2436001c2335001c2335001b2235001a2134
+00181d3100151a2d0013172a00101426000e1222000a0c19000a0b14000d100e
+0016160f00373a3200525445006e6e59007f816d0091958200b6baa600cecfae
+00e5e9c500dcdfba00d4d6af00cacca500c1c29c00a4a3820090907900898976
+00858475008b8970008f8e7100949473009a9d740094946c008584650074785f
+0045464100373a3b00292e3600252b3500222834002025360023293800292e3b
+002e3141003a3c40003d3f3f0040433f0041443d003f4438003d433300373b2c
+00282c230021241f001a1d1c00171b1c0015191d001318200013172100121823
+0012192400181c27001b1f29001e222b0023272d002a2d30003131360031373b
+0033384700313848002f384a002d384e002b3550002b3550002b355000303c50
+00424a4e005e645500696e5500747856007e7d5300777851006b6c4c005b5c44
+0030332900282b2600212424001a1c1c00121414000d1014000b0e15000a0d13
+000c0f16000f121b0011151f0014182300161b2600181c2b00191f2c001a212d
+001f252c0020262b0022282b00252a2a00282c2b00292c2c0026292d0025282e
+0023273100202533001f25360021283c00242c4200252e460026304800262f46
+00232c41001f263900171d2d00111421000c0d160006070e0003020800020105
+000303050006070a00070a0f00090e11000b1216000d131b000e141b000d141c
+000e141e001014210010162300111725001319270013192800131a2800151b26
+00151b2500141b2500141b2300141a2200131b2300121a230012192300121923
+00141a2300161b2200171a220015191f0014171c0014161a0012141a000f1319
+000f13190010131b0010121c0010121d0010131d0011131e0011131f00111420
+001316220015172400151a2700181d2c001c20320020243900262a3f00202638
+"/>
+<palette number="557" name="Exceding_Expectations" data="006f5d540056342900552e230055291d0067362300794329007f492c00864f2f
+00a66f5500b0836400ba977300b79e7c00b5a68600aaa18700a09c8800999682
+0093917d00716d5a00625848005344360048352d003d2624003c2121003c1d1e
+00451b1f0050272d005b333c006942440078524c007c584f00815f53008d6f5c
+009b7c6500a8816700a7816900a7826c00a9826d00ab826f00ac826f00ae836f
+00ab8a7300a98b7500a78d7800a5917c00a3968000a19986009f9d8c009fa69d
+00a3aea700a9baaf00aebab100b3bbb400b3b3ac00b3aba400aea69d00aaa197
+009c908f0096888b009081880087808b007f7f8e007c7f8f007a8090007b8195
+007b83960077849000787c840079747800766f7100746b6a006b5e5800614f4d
+005732310059302c005b2f270064342c006d3932006f3b3200723d3300724536
+007b4f3f0085675200836e5d0081756800887d69008f866a00979270009a9574
+0090867200857b62007b71530072674c006a5e46005d4e3d004f403000473824
+0042311c003e2e18003c2d18003b2d18003c2d19003e2e1a003f312200423a2f
+0057534d0065636000737374007b7d7d0084878700939a93009ea69d00a0aba5
+00a3ada600a0aca5009ba9a60097a6a8008e9fa8008898a40087979f0086969f
+00829497007f8e8c007c8882007b867e007b857a007a8077007b7c7500797671
+007978710079807b0077807a00758079006f7e7500687e7000667a6d00657365
+006d6c560074684e007b6447007b6043007b5c3f0076573900725533006c4f30
+0060452e004e4a3e004f50440051574b005761590059716800678379007a9b8a
+008eae9d008fad9c0090ad9b0092b19c0092af9b0089a4960081908700747b74
+006664650045424e00403b46003b343f00332234002a19310022163300201e38
+00222d3c00232f3e00253141002a394c002c3f54002b425200313e4d003a4251
+0041445d00434f66004d506a005b5d700069677d00797f8f008b919d009aa3a6
+00acb0a400b0b3a200b4b6a100bdbca300c4bfa200cbc1a000cfc6a000d1caa2
+00d5caa700d7c7a800d5ceac00d1d8b000ceddb200cad4b100c2cdae00b9c9ae
+00adc5b1009fb4ab0091a09f007e858f006a6f8400555873004545610039314f
+00302640002e21330030242b0034242600362621003a2c1c003f311c0044351f
+0047371d004a3b1e00574123006b492b007f522e008f5c30009f643600b1693e
+00bf6c4200c9714400c7714800c1754d00b6775100b47f5800b6835f00b58f6b
+00b3997700b4a37f00bca88200c2aa8200c7a78400c6a28300c79d7b00c7946e
+00c78a6200c5815b00c27a5100c1754d00bb714b00b36e4e00ab6e5100a77158
+00a27b65009b7f720098867e00958a82009593880086837b007c726c006c5e57
+"/>
+<palette number="558" name="Explosion" data="00815a1000502e1100421c1000350a0f004d140c00661f0a00722409007e2909
+00a63a0600b33b0500c03d0400b63b0500ad3907009b340b008a2f0f00802b13
+00762717004916280037122c00260f3000220e2f001e0e2f001f0f3000211032
+00290d2d003109250039061d004f091600650d0f006f120e007a180d008c250b
+009b310900c5520400d5620500e6730700ed840e00f4961500f59e1900f6a61d
+00f7bb2d00f8c23700faca4200facf4600fbd54a00fad64900fad74800fad746
+00fbd64000fdcf3400fdcc2f00fdca2b00fdcc2a00fdce2a00fdcf2b00fed12d
+00f4cd3b00e2be3900d0b03700b89b3200a0862d00987f2e00907930007f6d36
+006d5d3700443734003b313900332b3e00332d4100342f440031304c002e2e4e
+00232344001d1d3d0017173600121330000e0f2a000c0d27000b0b240009081f
+0008061a00070313000603110006030f0005020e0005020e0005020d0005010d
+0005020f00040210000403120004031300050414000504140005041400060414
+000604140006031300060211000602100006020f0006020f0007020e0009010e
+0012021100170715001d0c190020101b0023151e002f1e2200402f2c005a4330
+0071593a0099844700a28e4b00ab995000c2ad5300d8c05b00e7d26300f3db66
+00fcde5d00fdde5700fede5100fedc4e00feda4c00fed34400fdcb3900fdc72e
+00fdc22700fcbd2100fbbb2300fbba2600fbc02f00fbc63c00fbcc4b00fcd154
+00f6d46200e5cb6700d4c26c00c8b96c00bcb06d00a29c67008e885d0075724f
+005c5942002e2a2f002a222b00261a280027102000310c1700460b0e005a100a
+0071110900700f0900700d09006e0c09006d0f0a006b130a005f1310004a0e15
+0033081a0014041c0010041c000d051d000a0722000c0c290014142e00252337
+00534d4c005f5953006c665b00827b63009d916a00b5a36e00ccb26d00e1ba6a
+00e9b35f00e3a35100d28b4400b77336009f5e2a008b491e00743113005d1b0e
+0035020d0034010e0033010f0041070d0055130b006c2209008534070099440c
+00b2571100ca701a00df8b2900f1a53500f8b94700fcc85600fdd66600fde278
+00fee98300feec8c00f8e78f00eada8b00d5c18000c9a86f00c8945c00cd884b
+00d0823d00c0743100a75e2b00944826008839220081351e007c361900683318
+00542b1d0042212200341525003f1221004f191700662611007f370e008f4811
+00aa5c1b00c3752900db8f3800eea94600f4bc5000f3c55b00ebc96c00ddc67a
+00cbbe8600bab48e00a6a18900908b8100767273005b576200484456003a324a
+0030243d002b173000290c220030071700450911005d130c00772209008e3609
+00a2470900b8560a00ce680a00e1790800d1780900ba720c009d680d00815810
+"/>
+<palette number="559" name="Faded_Denim" data="0021365f001f356000273a6e002f3f7c0039488c0044529c0048549c004c569c
+0058619e0058619f005962a00058609c00585f9800545a8b0050567e004b5176
+00474c6f002d37590026315400202b5000202b5000202b5000212c5200222d54
+0025325f00293663002d3b6700323e6b0037426f0037436f00384470003a4570
+003b446f003a426c0039436e00384470003d487800424c8000444e850047518a
+004e58940047548e00415088003a497d0034427300333f6e00323d6a002d3862
+002832580017214500111a3c000b14330008102e00060d2900050c2a00040c2b
+00040b2b00030929000307270003052400030321000303220003042400040828
+00050d3000131b45001d245200282d5f002f336400363a6a003c426f003e4870
+003b4c73003c4c74003d4c7600404e770044507800414e76003f4d74003a4c73
+0030446f002b3c700029386d0027346b002532690023316700202f63001c3064
+0017336c0017347000183574001835730018367300193876001d3f7c00214486
+00294b96003956ad003c5ab0003f5eb300405fb3004161b3004164b6004266bb
+00476cc300466bc200466bc200446abf004269bd003f67ba003e63b5003b60b2
+003a5cae003a5ca9003d5ca900405caa00495dab005062ae005e6bb5006473bd
+006f7dcb00717dce00747dd100787fd2007c82d3007980d300737ed1006b78cb
+006371c5005560b500535db200515baf004c58aa004855a50045519f00454f9e
+00474fa0004b51a3005054a7005256a8005458a900585daf005d60b3005b62b7
+005864bd005067be004f67bd004e67bd004f68bd004d67ba004b69bd00466ac1
+003b6bc6003a6bc800396ccb003b6dcd004271d1004878d6005181de005787e8
+005f90f10077a3fe0079a5fe007ca7ff0083aafe0087a8fc007fa2f60088a2f5
+007e97ed007993ea007590e8006784e1005576d9004d70d5004c6cd3004a6ed6
+004b72da004b76dd004d77df004b79df004976de004976de004a75da004a72d5
+004a70c500476cbf004568ba003e61b200395ba90034529e002f4e96002b4a8f
+0029488a002745860026428200253e7e00253c7800213874001f3572001b336f
+0018306c001b2f6e001d31720021357800233c830028438f00304b9a003851a3
+003e59ad00415db2004262ba003f64be003e62bd003d60b9003c5db1003c59a6
+003b559e00334f96002f4b8f0029468a002642840024407e00253d7a00213974
+0021356e001e2f6600172a5e0010235300091d4800061940000514370004102d
+00030c270003071f00020319000203180002041a00030a2000040f2900051835
+00081e40000c2048001022500011224f0011244f0015285000192d53001c3054
+001d3255001d3151001c2f490018273c001a2b40001c2d48001d2f4d001e3255
+"/>
+<palette number="560" name="Fading_Away" data="00656879006f688200736b8100786f8000796e7d007a6e7b0079697c0079657d
+00815d7d0084617c0088667b008e718000947c8500978980009b977c009a9a7c
+009a9e7d0091a181008c9a7b0087937600858f7200848c6f00858a6e0086886d
+0086876b0080896c007b8b6e00719072006796760060987800599a7a004f9a7e
+004093830033838200337a820033728300396980003f607e00465e7d004e5d7d
+00636e7b006c757b00757c7c007d7f7b0085827a0084837800838577007d8576
+007c8272007c7f6500777d6400737c6300717c64006f7c66006e7d66006d7e67
+005c807200557d77004e7a7c0050797800537975005378720054786f00597865
+0064735b007e6e4a00826f3f00877034008a6e2f008d6d2a0098662a009f682c
+00a46f2c00a6742e00a9793000a57f3500a1863a009d8941009a8d4800929854
+00909b600092a07d0093a9880095b293009ab292009fb29100a5a39200a5988c
+00a3888100a37b7a00a36e7400a4696e00a6646800a26362009c655e00956d5e
+0091725a008a7d5500877d5200847d5000847b4f00857a4e008c7951008f7c52
+008c764f008874550085725c00836e6000826b64007c646c007a5873007f517d
+00894c84008d45840091448600954389009e498f009f539400946596008970a2
+008287ab007f87ac007c88ad007882af00747db1007070a7006f669b006c5c8f
+0069538d00694b7c00684e79006752770068607900696b77006f71710071736e
+00767074007a6a75007f6476007f6374007f627300805e750080597f007c5087
+006c4c87004d46890049438c0045418f003d3e8f00363f8c00333c8c0037388f
+003d338c003e328a003f328900483289004a358b004f3b8c004c428a00564d88
+005e5585005d6284005b608500595f8600525788004c4c880044478700414085
+00463c890049408a004c448b00544e8f005f5f9b006c6ca500757eb1008187b8
+008b8fc6009a94c9009da2cc00a4a4c200a4a1b700a59aa7009ca19b008ca692
+00779f8a0078a18c0079a38e0079ae9a007eb5a80089b7b60096b8bf009ebcc2
+00a1c0c600a4c3c900a5c3cc009ec1cb0092bec80083bbc70080b1cc0081a9cf
+0087a2d0008c9fcb009395c8009995ba009e97a800a79d9a00b39a9600ba9a9b
+00b59ca000b29fa700b5a2ad00bea5ba00bfa5c100bba7c300b3abb900abb4b0
+00a6b8a100a0b698009aaf92008fa8910089a59000869b8f0088929300868996
+008689960085889000898989008c8580009388740095886900988d5e00968b56
+00988e50009a8d49009b924a0090974f00849c5a007ba6630078ad6c007cb57a
+007eb385007eb08d0078a98c007ca18c0085928c008a818b008277850075697f
+00695d7d0060527d005b53770058597100535b700053547c00534f7f005e5980
+"/>
+<palette number="561" name="Fiery_Sky" data="00a35f3100af563000b4532f00ba502f00ab4c2a009c49260096442300904021
+0069372800573b2e004540350035393f002532490025334e00253454002d3553
+0035375200593f47006b463c007e4e31008f522600a0571c00a7561900af5617
+00bd3d1000c82f1200d4211500d6191700d9111a00d4101b00cf0f1c00cc0d25
+00c9063200ad0d34009a0c3700880c3a00770b3e00660b42005b0b3f00500b3c
+002f0e3d002f0c3800300a33003a0a2b00450b2400490e23004d122300521619
+00561c1400531e0f00451f100037211200301f19002a1e20002b1d20002c1c21
+0037181800401d1e0049232400532825005e2e2700602e2800622f2a00612f35
+005e2b4400592451005a1c4b005b1545005e14400062133c00691133006d1529
+007c180f007a191100791b1400771b1100761c0f00701b0f006b1b10005f171a
+0056122100400c1600350c19002a0c1d00250b2000200a2400120728000a0927
+000c1636000f13420013104e00161252001a15560028195e00381c6100431561
+0051125e0069155d00691454006a134b007015470076184300862942008c3641
+00a6492e00b2562700be632100be662000bf6a2000b1671c009c5b1700834e19
+00684627003f3238003a2c3800362738003523390039283700482c34005b312b
+00713713007335170076331b00703121006b2f27005b263000451c3b00341446
+00261349000f1d3a000e2237000d2735001c332c00313a1b0049410d00574708
+0074490a007a470900814509007a4309007441090069420c0066500d006d5d0d
+006d610f008061160089661600926c17009e741a00a4751d00a8771a00ad7d17
+00ae871b00ac8b1900ab8f1800b0991500ba9d1300c59c2100be992500b09f30
+00a09e3600977d3e00927a3c008e773b007b7437007a653e0082523900954534
+00a5493700a64c3900a7503b00b2553f00b6593c00b9603b00b2673400b1722c
+00ac712400aa6c1d00a7631700ab5f0f00ac560c00ac490b00b03c1100b83c13
+00cf481100d4451100d9421100da3f1100dc3c1300d83f0f00d4390c00c73207
+00be2a0500b0270500a5220c0096241100922716008d2b19008b291f00882828
+008528340081293c00853144008e3148009831510099295200a2345600b03f4e
+00bf4d4700be4f3600bb582c00bd642100c4701900c57c1400bb831300ae8417
+00a2761d0098652e0085573e00704d4c00563f5500402f61002b216400271865
+002b155e00331256003b0f47004c0d3e005f0d39006f0c37007b09300084092b
+008c0c2600951627009e202300a82d2100b1381400be440e00c6490b00cc4d16
+00cc491d00c8442400b7363000a62b4100911f4e007b165400600c5c004d0861
+00450a5d004010550043164e0043284c004f314100603b3e00823d360098543a
+"/>
+<palette number="562" name="Fiesta" data="00547c7b00385e9500244fa3001040b100113fa500123e9900174096001d4294
+0036559900396187003c6e760048745b00557a4100607533006c7126006e6e22
+00716b1e007b5510007f4709008339030089320200902c0100922e0100943101
+008d3c0f007c3d28006b3e41005b415c004b44770045498100404f8b00365ea1
+00286bbc000a69eb000660f2000258fa00035cf9000460f8000663f4000966f1
+001467d400176cc3001b71b3001d7b9a001f86810021877300248965002c7f47
+00387633004e5e19005b541100694b0a00794c10008a4e16008f531d00945825
+0095793100988432009c90330098a3440095b655008fbc59008ac25e0082c154
+0075b84700599e3d0050973c0047903c00408f37003a8f330030862a00257c25
+002e6223003e6526004e6929005d7433006c7f3d0072824300798549007b8b51
+007e91560076a1630070ad72006aba810068bb850066bc890061bf830066bc77
+0088b9700099a76600ab965d00b18c5100b8834500c67c3600d6712700de6221
+00e1501700d6380700d23c0600cf400600cb420700c8440800b94f0e00a95818
+007e6242006c6958005b716f00547b75004e857c004291840033988e002e9393
+00268e9000208669001f835d001f80510021743d00216f2b001c6c1b0014690f
+0004570200044e010005460000094501000e4502001d48020031450200433901
+00562c0100801801008c18010099190100ae1d0000bc220200c6210200cc1e02
+00ce1b0300c51a0400bc1a0500b7160400b3130400af0e0500ad0a0300a90906
+00a5090600a20a0a00a10e0d00a11310009f1e1a00932a2700873933007a443c
+006c5c470063604a005b644d00486952002f665e00225e67001f546e001c4772
+001a3f6b00072a55000525510003204e0006174c00141b480021283900283a2e
+001e5b3a001e6447001f6d5500247c6d0028917f0027a087001ca38e0013a292
+0013918e001b7f8500296d71003b5957004c4d3f005a3f2900692d1b00741c0f
+00810d05007c110400781504006a1e08005e240b0057260e0058220b005a2407
+005c2707005d2d07006b340b007b360b0090390800a3390700b0380600c13509
+00cd330a00d52f0600d82d0600d92e0600db2d0900df2a0a00e3220700e81c06
+00ec180400ee1b0300ef1e0400ee1f0200eb210500eb250e00e8361d00e44c2f
+00d95b4c00c3655a00a76373008b619100726797005f64a9004d6397003e5487
+0036428200333a6f00383367003d3b53003f483c0041523400405d350041613e
+003e664900346e4e002d79560022855e001a8b6800148e73000d8b78000c8f82
+000d998f0012a1a00014abb50010b1c10009b2ce0005b0dc0006ace70007abef
+000fa8ea001fa8de0035a9d0004ca5bc004aa5bd00449db3004495a400428d96
+"/>
+<palette number="563" name="First_Love" data="00da9f9000e8afa300e6b09f00e4b19c00e3b19a00e3b29800e5b29700e7b297
+00e9b39500e9b79700eabc9a00ebbf9c00ecc29e00ebc3a300ebc4a800ebc5aa
+00ebc7ac00f0ccb400efceb900efd0be00efd0be00f0d0bf00f1cdbc00f3caba
+00f5c2af00f2bca500f0b69c00eca99000e89c8500e4967f00e1907a00db7e6e
+00d5706900d2636b00d0656d00cf686f00ce697100cd6b7400d06d7600d37078
+00e2868000e48f8300e6998600e69e8700e7a38800e6a28700e6a18700e49e86
+00e29d8500d99d8100cc977b00c0917600bb8b7200b7866e00b8866e00ba866f
+00ba8e7c00be968700c29e9300ceaa9f00dbb6ab00dfbaaf00e4beb300e9c1b6
+00eec5ba00f2c8ba00f0bfaf00eeb6a400ecb09d00eaab9600e8a08a00e4977c
+00d4796400cb695d00c25a5700bb505100b5464c00b1414c00ad3d4d00a73a4c
+00a43d5300a6516c00a7597200a8627900a8627800a8627700a46270009c5f6e
+00874e64007b3e5800702f4c006b29490067244600631b43005e1841005c153d
+005b133d006316490067184e006b1a54006c1a55006d1b5600701b5a0075225f
+00843b6d00914870009e557300a55a7400ad607600bb6e7900c7777900d2827a
+00da8b7800e68a6b00e6876600e6856200e37b5c00d9715500cf675500c65b51
+00bc474b00b73f4800b3374500b2364500b2354500b4314900ba335100bf3255
+00c1305700c13e5500c0435500c0485600c4515900c3555f00c4566200c25c68
+00b9626400b15e6100aa5b5e00a5565e00a1515f0094465800843a5100712d4a
+006023440048143f0046113d00440f3b00460c3700480b34004a0b35004d0d39
+004e0e40004e0c3e004e0b3c004e0b38004d0b34004a0c3600450e3b00420b3e
+003d0c3c00380a3500370a3400360a330036072f0035072c0032042300360221
+0043031e0048041f004e062100540b220061102a00701a3700802944008f3354
+0099395a00a4415b00ac4b6100b75e6700be707100c7787700d07c7500d77f74
+00e2957a00e3997f00e59e8500e7a28c00e8a59000e9a99400eaac9700e8ad99
+00e6ae9c00e4af9d00e4b09e00e5af9d00e5ab9b00e1a69900e0a09600de9e92
+00df9d8f00e09c8d00df9a8e00e1978d00e1988c00e3998b00e59e8800e5a187
+00e5a08400e39d7f00df967900dd917200d7876d00d07c6700ca726200c2695b
+00c2665800c3675b00c3685e00c26a6300be6c6400bc6d6500bb6e6a00b96b6b
+00b2666d00a95e6600a1555f00994c5a00974252009b3e4f009c3a4c009d374a
+009b354d009a324b009d344700a2354400a13343009a304800902a4c0084234d
+007a214a00721c47006917440066174300621444005f1547005f1449005f144a
+006d204a0078254800893851009d4a5d00a7546b00bc6f7800c2797c00cd8e84
+"/>
+<palette number="564" name="Flame" data="00844c34006e3e260065391f005d3419006c4222007c502b00885a320094643a
+00bd875400c88d5800d3945c00d5905b00d78d5a00d17e5400cc704f00c9694a
+00c6624600b24d2f00ab462600a43f1d00a33f1b00a23f1a00a04019009e4218
+0094491900914419008f401a008b361700872d1400852a130084281300822813
+008629170097351b00a2431c00ae521e00bb632700c9743000cf7d3700d6873e
+00e6a95100eab05a00efb76300eeb96a00edbb7100eaba7300e7ba7500e5b875
+00e2b27100e6a86000e2a15700df9b4f00da924400d58a3900d3853300d1802d
+00bc712500b0671f00a55e1900975215008946120081421100793e11006a3510
+005d2e0b00522209005221090052210a0054220900562408005e290a006b310b
+008b460e00974d1300a4551900ab571e00b2592400b3582300b5582300b15421
+00ac4a1f009b301f0090261a00861c1600821914007e16120076121100711311
+006e1a14007221180077281d007a2d20007e322400883d2b0091452e0095472f
+0099462d009a3c280095382600913424008d3222008a302100802c1e007c291a
+007d2c1d0083362200894128008d482a00924f2d009a583100a15f3400a76332
+00ae622f00b0572900ae532700ac4f2600a2461f009b3f1800933615008d2a12
+0082160d0080140b007e130a007e120a007f120b00800e0a00870b0800940d05
+009e100500aa190b00aa1a0d00aa1c0f00ac220f00ad251100ab281400a42a18
+008b271a007d2417006f211500691e1400641c1300601a11005e150f005f110c
+006311080072100400781004007e110400871604008c1f030090220300902303
+00971f0400922005008e21070084200800741d0a006c1908006a14090067140c
+006a1a100077321f007c392300814128008d51300099603400a66d3a00b37841
+00bf854c00c0854b00c1854b00c2864400c5833e00c07e3b00be793a00be773c
+00c47c4100d0854600d9904f00df985800e3a16000e8ac6c00efba7800f6c884
+00fbd99600fbda9700fcdc9800fbdd9a00fcdd9900fddf9b00fddd9a00fdda97
+00fbcf8e00f5c48000efb87100e7ab6100e1a25700da954b00d3883f00cc7c32
+00c6722700c26d2200be682000b9632400b75d2500b3562500b1542400ae5323
+00a8502600a35028009e4e2a009b502a009a5329009754290095542700935526
+0092572600945c2500965e2600965c2500955a2500915724008f5723008c5824
+008a572300875625008454260082502300804d2300804a1f007f481f00824823
+00854b23008c50280097582c009f613200a86b3b00a9724000ab744400ad7545
+00ac704500ac694300a65f3e00a05339009b4d3400984831009a472f009e4533
+00a4453700ad4c3c00b7594200bf694500b4674300a65f3f0094533a00844633
+"/>
+<palette number="565" name="Flying_a_Kite" data="005a96650053a1660045a9680038b16b0045af750053ae7f005baa7c0063a67a
+0074ab4e0076a43a00799e26006e9b1e006498170065991a00679a1d00699624
+006c932b0068ad430071b94d007ac558007fcb530084d24e0086d64d0088da4d
+0087ca44007ec83a0076c731006ecb390067d042006fd44c0077d8560074dd68
+006dcf6c007dac5f007f905d0081755c0084604400884b2d0087482200874618
+00934c1b00905d17008e6e14008f6c1900906b1f008c641f00885d1f00705924
+00674a31005e3a35004c4641003a524e0035625a0030726600287a600021835a
+001c9655001e905300208a510020863b00208325001c782200196e1f001c5625
+00194f1f001e511400285a25003363360032683b00326e410033794a003b8356
+00528a730056757b005a61840072547f008b477b00944673009d456b00b54f5f
+00c7644f00d2793b00d0833800ce8d3500ce923e00ce984700cca45c00cba965
+00b5ba8400a7c3900099cd9c0090c8990088c397007dc0830070b274006ca15d
+0066924b00799e280087a4240095aa2100a1b52300adc12600bad82e00cae339
+00dde55400dfdd5b00e2d66200dfd15d00ddcd5800e0c44e00ddb14500d5a441
+00c8a23500c09e2500bf972300be902200b28a1e00a38e220095962d008f9b39
+00829d540077ab6a006cba81006bbf8b006bc4950065cba50058ceb30043cdb9
+0035c6b6002fb4b3002fa7b600309bb900397cba003c5fb3005b52b2007343bc
+008531b5008c3eb200944caf009551b0009657b2007a6ba80061799f004d7aa3
+004267b600246cbd00216bbd001f6bbe002156cb002850de002d64e6003578e9
+003878e300367fe1003586df00329bdf002aabde002eabd40037a4c6004ba6c5
+0058a4bf00767297007b65920081588d0083468700813b800081397c007b4288
+00876fb000927cb8009d89c100aba8c300b7bdbc00c4cfae00d1cfa000e0d380
+00e0d56000e0dc4300dfd33000e1c12200dcae1c00d2a12400cf972a00cd8b35
+00b28e6700ad937600a8988500b0a19d00c3b1af00c7aeb600bea7b900b79bae
+00bea5a300bb9b8f00aa947e0099976e0091b168008cc66a007ad373006be287
+005fe6930059e299004fce950046b690003e978c0038808c00326b9100285490
+00303598004528a0005731b6005248c200505ed7006172e3007a8aec0084a8eb
+0086c9ed008fddf1009fe7f300adeef300b3f1ef00b7eee600c0ebd800cbedc9
+00c2ebaf00b4dd9700a5cd7b00a4c365009ec145009aba320094b1280095a72f
+0097a732009fb04000a2bb5000a3c673009ecc89009bd0a60097d3b10092d7c0
+0087d8c8007ed0d60073c7d8006bbed30063bdcf0065b7d7005bb2e1004eb2e6
+0048bbe30056bbe60061b3e20066a7dc0073a1c600869ea900769a810065956a
+"/>
+<palette number="566" name="Foamy_Waves" data="00282e860030368e0033399200373d97003a449c003e4ba2003e4da4003f50a6
+003f56a9003d59a9003c5da9003a5ea900385fa900365fa7003460a600325fa5
+00315fa5002c5da20028589f0024549c001f4f95001a4b8f0017498c00154789
+000d407e000b3e7a000a3d77000a4077000b4377000c4679000e4a7b0015517f
+001d5c83003b6a8400487185005678870064828a00738c8d007a8d8a00828e88
+00a6a89300a9ac9f00adb1ab00b4b6b000bbbbb500bdbcb600bfbeb800bfb8b9
+00bfb8bc00b9adb400b6a3a700b3999a00aa919a00a28a9a009b829800957b96
+006c6283005b547f004b467b003937770028297300212571001a216f00121b64
+000d175c0007134f0008184c00091d4900091e47000a1f46000d2446000f2746
+000f2d47000e2d45000e2e43000d2d40000d2d3e000d2d3d000d2d3c000d2b38
+000d2b37000e2e37000e313a000f353e0010363f001137400012374300123845
+0012364900123448001232470012304600122f4500122b420011284000112740
+000f2442000e234a000f254f00112755001127570012285a00152d6100163065
+00193269001c386a00203e6c0022416c0024446c0027486c0028496b00294e6c
+0029506d00305c7400315e75003360770034647b0036677e0036687f0034687f
+002f687b002b657700286274002661710024606f00205d69001d5864001a525e
+00184e5a0012405200113c500011384f000e354d000d2e49000b264600062043
+0000173f0000153d0000143b0000143a0000143a000012380000123700001136
+0000113600000b3400000a3300000a3300000731000007310000063000000630
+00000831000008310000083100000a3300000b3400000d3600000e3800000f3a
+0000103b0000133e0000133e0000133e0000153f0000184000001a4200001a43
+000022490000224a0000234b0000244e0000245100002655000029580000275a
+0000265d0000245e000023610000206200001f6400001b67000018690000176c
+00000f7100000e7300000d7500000c7b00000a80000008860001058b00030592
+0009079700110a9d00140da200180ea8001c0fac001e11af001c0fb1001c0fb3
+00190eb400160eb500130eb700100eb8000e0eb8000f11b8000f17b7000f1ab4
+000f1cb1000f1ead000d1fa8000a20a200061f9d00031e9700011e9300001f92
+00001f9100001f9100001f9100001d9200001b9300001b9500001b9600001895
+000018930000189100001a8e0000148b0000178a000016890000108900001089
+00000d8900000989000107890003098700050b8600060c8200070e7e00091078
+000a1071000a106d000a1069000b1168000d1167000e1167001114690012126c
+0018157000191674001c197800201c7b00211e7c0021207f0023238000252883
+"/>
+<palette number="567" name="For_Lenora" data="00a984a300b68ac300b07fc300aa75c400a268bf009a5cbb009351b3008d47ab
+006f298f0063277f00582570004f276c00472a680045306b0044366e00453a75
+00463f7d004c5b9400586da3006580b3007a8fbd00909fc70099a7cc00a3afd2
+00abc1e000a9bedd00a7bbdb009cb3db0092abdb0086a3d6007a9bd100698cbd
+005d7da6004e75850040736c00337153002a744400217835001d7730001a762c
+0021712d00276530002e5a34003a4e390046433e004b3e3f00513a4100503447
+004c334e003a2660003b2766003c286d0038227900351c86003b17880041138b
+005b1686005813820056117f005a0f77005f0e6f005b106d0058126c0054136d
+0055186b005c175f00561b5d00511f5c0050215800502455004e224c00441b41
+002c19350026142f00200f29001a122500151621001416270013172d00140e33
+00140e350022134500310c530040056200450965004b0d68004c1b6800482c61
+0049585b004b6b5a004d7e5a004a7e5d00487e6100487e6100506e67005e5e72
+006b4b83007a338c007d2b8c0080248c008125860083278100882d72008c2f66
+0083255e00791d5100701545006c16400069173b005e1e3c00531f3a00472037
+0042213200492831004b2c34004e3038005938420071454f00894d62009f6273
+00bb818b00c48e9e00ce9bb100d0a0b900d3a5c200d7acc400d8a9c400d1a8c3
+00c0a4c200a0929c00998a90009382850079727b00615f6b004f4f5800493f49
+00452e49004b2e4600522f4400573346005d374800663b56006f446800764f7b
+0082628b009277ad009076b5008e75be008c72c8008971c7008d6abd008863a9
+00724a82006c47780067446f0060475500604f400059552f00525b2a004d5d2c
+0051693d00668b6600678a6e00688a7700648089005d7993005b7e93005b868f
+006a8689006f878b0075888d0082958e00889b96009598920097849d0094729f
+00835ba20076478c006231790050256000391f4f002e243a00242c2f001e3c24
+00155113001652170017531c0021542a0032583700475b3900605a4500795954
+008e596800a3667000ba657800cd637f00d75f8d00da6c9600dc74a000d875a9
+00d278b600ce82c100cd91ca00c89ad300c8a5da00ccaadc00c9a9d600bf9fcd
+00b793c400b187b100a0779d0087698d00725c85006a537c00644b7800644c7d
+006c598a007e6b99008c7aaa008f85b900908ec4009496c9009893cb009592c5
+008f8dc3008e8cc4009284c700a286c500b28ec500c29cce00caa7da00d7b3e2
+00e1bbe300e7c1e200e2c3e300d9c1e400c7bdde00b6accd00a29abc00918ca7
+007b918f006f9275006a8863006c785b0071725500767958007e7960007f6f6c
+00856076008b557e009051820092508100965a8c009f5f90009e6a9300a4708e
+"/>
+<palette number="568" name="For_Stacy" data="00a9858400c38aa000c37f9d00c4759b00bf689300bb5c8c00b3518000ab4774
+008f2958007f275000702548006c274e00682a54006b305e006e366800743a72
+007b3f7d007a4c94008358a3008c65b3009e7abd00b090c700b799cc00bfa3d2
+00c2abe000c1a9dd00c0a7db00bb9cdb00b792db00ad86d600a37ad1008d69bd
+007b5da600554e850044547b00335a71002a657400217178001d7177001a7176
+0021717100276565002e5a590038504b0042463e0049463c0051463a00503834
+004e3339006026540066275c006d28640079227000861c7d00881776008b136f
+008616520082134e007f114a00770f3b006f0e2c006d102f006c1233006d133a
+006b183a005f1725005d1b2c005c1f330058213100552430004e222600441b1e
+00351926002f142100290f1c0023121e001e1521002114270025132d00330e32
+00350e350045133d00530c39006205350065093600680d3700681b4300612c4c
+0049495b004b606c004d787e004a727e00486d7e00486d7e00505b6e006f5e72
+00834b6c008c3352008c2b48008c243f00872539008327330088362d008c482f
+00833c250079371d00703215006c351600693917005e361e0053301f00472a20
+00422c2100493b28004b3e2c004e413000594a380071604500896b4d009f8562
+00bba98100c4ac8e00ceb09b00d0afa000d3afa500d7b9ac00d8b7a900d1b0a8
+00c2a4ab00a094920099908a00938d82007b7275006b5f6b00564f5800493f40
+00492e36004d32320052372f00573e33005d46370066443b006f4444007b4f5b
+008b627100ad779a00b576a500be75b000c872bb00c771bc00bd6aa700a9638e
+00824a620078475a006f445200604e47005660400039592f002a5b2b002c5d35
+003d694e00668b85006785870068808a00686489006f5d9300685b93005c5b8f
+006a6b890070708b0077758d00828c950088909b00929894009d848e009f7284
+00a25b84008c4767007931520060253d004f1f3c003a24330025242f001e3a3c
+001351450015524a0017534f002152540032585700395b48004f604500797854
+008e775900a3906600ba9b6500cda16300d7975f00da9f6c00dca17400d89475
+00d2877800ce838200cd919700d39aae00daa5bf00dcaac200d6a9bd00cd9fb4
+00c493a800b1878d00a0777a008d697400855c75007c536b00784b66007d4c6d
+008a597f00996b8d00aa7a9f00b985b700be8ec400c094c900c893cb00c192c5
+00bd8dc300be8cc400c784c300c586b200c58eaa00ce9caf00daa7bf00e2b3c5
+00e3bbc300e7c1c200e3c3c900e4c1d200debdd900cdacc800bc9ab900a78ca6
+007b8091006f91920063887c005b786300587255005a795800697e60007f7f6c
+00856960008b5955009055510092565000965b5a009f645f009e6d6a00a47e70
+"/>
+<palette number="569" name="Forest" data="002d472d002a422a00273d290024382900203123001d2a1d0020211b00231919
+0023191900231919002319190023191900231919001e1e190019241900192419
+0019251900212b1c0028301e002f362000363c21003e43230041462300454a24
+005054270054582900595d2b005c602c0060642d0060642d0061652d005f652d
+005e642d00585c2900535728004e522700484d2500434824003f4624003c4424
+0036402200334022003040230032412400344326003644260038462700384929
+00364b2b00394f2c00394f2c003a502c00394e2b00394d2b00374c2b00364b2b
+002d432900283e2600243a2400213523001f3123001e2f22001d2d22001b2922
+001a262600231919002319190023191900231919002319190023191900231919
+00192519001a281d001c2b21001f3024002336270024392a00263d2d002b4633
+0037523300586d3e00627641006d7f4500718246007685480077884700758847
+0074854500758343007682420074804000737e3e0072793c006f713800656931
+00565b2c00414622003d401f00393b1c00383a1b00383a1b003a3a1c003b3d1d
+003d3d1f003a3d1f00383d2000383c1f00383b1f00383b1f003a3a1e003b3b1d
+003a3a1d0037371c0035351c0033331c002f2f1b002a2a1b0026261a00241a1a
+0023191900231919002319190023191900231919002319190023191900231919
+0023191900231919002319190023191900231919002319190019241900242419
+0021261800212618002126180023251800252518002525180025251900252519
+00252519001e2819001f281900212919001f291a001f291a001b291b001a291f
+001b2a25001b2b23001c2c21001d2f22001f33270022382600253e250028432b
+002c472c003653320037573500385b380043673f0048744800518355005c9360
+0073b2780078b87a007dbf7d0081c88f0084ce920088d1910086d1970084d191
+0085d085008bce820097cd80009cc87b009bc1750098b86d0089a965007b9959
+005d774000586f3b00546837004f5b2e004a532800494d2400424722003b4221
+00343e200031391f002c3620002a352000293521002e382100323b22003c3f24
+0041442500484826004e4e290050552e00595e3200616b3a006c79420073864a
+00798f500081945200859753008698530083985200899a51008ea1520097ac57
+009eb85f00a3c36700abcd7000b8d47200bcd57200bed26f00b8cb6900bbc661
+00b9c45e00b8c25c00b1c25e00b3c05f00aebe6200abba62009db15f0092a458
+0088944e007884430065733b005864330049582f00414f2c003a482900324226
+00293c25002338270021342100203320002134210022372200293c2500294229
+002d482d002d472d002b462b002a452e002a442d002a432a002c422800294229
+"/>
+<palette number="570" name="Frivolous" data="0024b44e00319d4d00479c44005d9b3b007b8c37009a7d3300a5763400b07036
+00d24c2f00ca4e3100c3503400b3562f00a35d2b009d672b0098712c00917929
+008b81260089871c0097852200a5842900aa822b00b0802e00b77f2d00be7f2c
+00d4832c00dd812c00e6802d00e17e2600dd7c2000d8792000d3762100c76e29
+00b6733000a87c4400b08a5b00b8997200c2a78800cdb69f00d7bdaa00e2c4b5
+00f9dbc400fbd7bd00fdd4b600fcc79900fbbb7c00fbb37000fbac6500fd9c4e
+00f98b3a00f27a1800ec781900e6771b00e0731e00db6f2200d8712400d67326
+00bb763600b07d4400a6845300a88b5d00aa936800ac9a6e00aea27500b0b787
+00a8c19400aac48f009dc0850091bc7c0089b2740081a96d007c925600837f4f
+009c563700ac4e3200bc472e00d0482e00e5492e00e94c2d00ee4f2d00ed5a2c
+00ee602b00f8642d00ef693200e66e3800e0703900db733b00cf7a3f00bc8648
+0092995200859a5000789c4f00739b51006e9a53006d975500718e54007a824d
+0089744b00b05f4800c15f4b00d25f4f00d9625400e1655900ec696500f26e68
+00f98f8500f99a9200faa59f00f7a49d00f5a49c00ef9f9500eaa29100e9a088
+00e1967d00c5795f00c2785b00c0775700bb745400b26e5300a0654f0093634c
+007e5c3f0077573e0070523e006c4f3f00684c410068473c006c423e007d4c45
+0093575900b7656b00be6c6900c5736800d6816600e6876400f3866300f7895b
+00f38b4f00f48b5400f68b5900f38b5c00f18c6000ef8a6200f0886300f18267
+00ee766900db526100d4495d00ce415a00cd3a5300c7375100cb3d5600c94658
+00d66a5800dc755d00e2816300e9956f00e7a57000dcad6800d0ac6000c1a963
+00b09f6200937844008e703d0089683600815c2e0080562f00894b3000914a2c
+00946437009d6c3f00a6754700b7854d00c59a4400cdac3d00d7b43900dbaf3d
+00e2af3400ecac2500f2a31900f3962100ec8d2e00ea863400ec7b3200ea7233
+00d8703700d4703500d0703300c96e2e00c96c3700cb734300d07d5500d68c63
+00dc9b6f00deb37c00dabb7e00caba8200b8a97a00a2a17800928f6500797a58
+00665b4d0060444d006f304c008729480097264400ab2d4000be384200d44544
+00da514900d8575200d4625c00d46e6400d6766a00d3706e00d5636c00db5c68
+00e7596300f0525a00ed464f00e33d4700d7424600d64b4a00d35e5000cc6c59
+00c47b6500c8837200d38f7c00de948000e2948400e6868800eb758a00f16a83
+00f66c7c00f46c7400ea646d00db5e6400cd635e00bb6f5900a67655008c7350
+00756c4c0066694a005b70480055744a0051724d005170500050774d004b7f4c
+0049814c0046835200458b50003e954e0034984a002b914d0026944f0026a64e
+"/>
+<palette number="571" name="Fun_Stuff" data="00295857002b6b3e003669400042674200566943006b6b450073703e007c7538
+008b7f1c00937f17009c801200a8811300b5821400b77e1200b97b1100b67813
+00b375160099702c00946c360090684000985b4900a04e5300a24a5800a5465d
+00a14d6c009f516a009d5669009b57690099596900955b6800915e6800856562
+007773580055864100488f40003b984000309739002697330025962f0025952b
+0023882500298932002f8b3f003e8642004e814500517d4500557a4500616d45
+006a5f4f00724d5c007d495600884550008d3e4a00933845008e354600893347
+00732a4c006b274a00632549005c284a00552b4c00512c4e004e2d5100483258
+0048395d00554b5000605943006c683600706e310074752d007e7d2d00878727
+009b971b00a29a1200aa9d0a00a4970b009e920d0097900d00918f0e00858c0f
+007d870f0088700b00885f0e00884e1100824a14007d4717006b461c00624421
+005e41270061392d0065313300612f37005e2e3b00582c42004b2f4c003b3152
+003535560033396100363264003a2b68003926680038216900381b6900381a6b
+003a1b66003c1866003e1566003e1265003f0f6500410c660049106100521759
+0061205100732d4600712f46006f3246006e3743006b3a3f006c3d36006c4529
+0067491a005b4819004f4818004945170044431700354012003239100032330c
+0030330b00362d0f00362d1200362e1600372a20003b252a003d2333003f213b
+004e254c00542b56005a3261005f35650064396a006e417000734771007f4c73
+00875672009f6f7600a5757400ac7c7300b18b6d00b9936800be966000c19661
+00c97d6500c97d6100c97d5e00c9805500c8824200c1863300b7822f00ac752b
+009c6f24007f7a1b00758016006b8612005f93150053991a004a971f004b9827
+0043953300409538003e963e003e964a003f9152004f8e52006e834f00818046
+008d7d3d00927937008c7334008f6c30009b5d2c00a24e2c00ac462c00b6442a
+00b5492500b7492300b94a2200b4422400b0342c00b4293100b2263000ad242b
+00ab2a2200a22e1500912a1100841f100079171300720e15006b0a1b00650c1b
+005a0f1d004d0d230042102d003e11350038113f003a10470039104b00380d4c
+00380b4f003a0a5200390a52003c0851003c064d003b0649003a0d41003c153e
+004020350044292c00492f2500492e2200462f1d003e3220003b362300373a25
+00383c26003a3628003c2b2a0038213200331a3b002e1544002e114b002f0e52
+00330b580036085e003d066400420a6a0043106e0042177100431b70003f1e72
+00421972004a1770004e18710050197200511a7000491d72003f1b71003c196e
+00391c690036246400352f5b002e315a0028315d002533610024396500264163
+"/>
+<palette number="572" name="Getting_a_Tan" data="0081411f0083412000803d1e007d3a1c00712d140066210d0063200d00611f0d
+005b1b0a00581a0a00551a0a00511b0a004d1c0a004c1b0a004c1b0b004f1c0b
+00521d0c006a2b1700743519007f3f1c0088461d00914e1f00954f1f009a5120
+00a7592200a95b2100ac5d2100a9591e00a6561b00a15119009d4c1800914112
+0086390f00712b0a0066250b005c200c004e18090040110700380e0500310b04
+0018020000100100000901000005010000020100000101000001010000020100
+0003020200100803001c10080029180d003c2819004f3925005a432c00654d34
+0090744e00a07e5000b0895200ba8f5500c4955900c5965900c7985a00c6975c
+00be9056009c6a380086562a0071421c00673a18005e3215004c2710003c1c0b
+00220b020019060100110200000c010000070100000601000005010100040001
+00030001000400010004000100040001000400010004000100070101000a0202
+0019050100220801002b0c0100300d0100360f01003f14020048190200541f05
+00612708007b370d00833e0d008b460d008f490d00934c0e009a531200a45b17
+00ba722e00c4823d00ce924c00d19a5500d5a35f00dcaf7300e2b98200e8c497
+00efd3a700f9ecc300faf1c700fbf6cb00fdfbcb00fbf5c300f8edb500f6e1a7
+00f6ce8b00f7cd8300f9cc7c00f9ca7500f9c96f00f4bd6300f2a75a00ec934c
+00e8834500ed753d00e9713a00e66d3700de613300cb552b00b5432100a32f17
+00891c0b007c1a09006f180800651808005b180800481407003d110500360f05
+00330d0400380c03003b0d03003e0e0300461002004a1201004d1400004c1500
+004e17020050190300531b0500581f09005f240b0062280e00662f10006b3614
+00743f18008f61320097693b00a0724500b1875500c19a6200d0a76900d6b06e
+00deb36f00dcb06f00daad6f00d1a66d00c69a6800b58b5f00a5794f0093643f
+00814e30006c3921005826140043190e00341109002a0b060024080500200804
+001b0602001a0602001906020018060200160403001404040013040500120406
+00100507000e0607000c0607000c0607000f070800150c0b00201512002f2419
+0043342400594733006f5c44008570570098846e00ab9b8200bfae9600d2c1a7
+00e3d3b300f0deb600f7dfb400f8dcad00f8d3a200f8c59500f8ba8a00f6b17d
+00f0a66a00e8995600db8c4700cd7a3600be692f00ae5d2d009d5328008f4923
+007e4421006f3d1b00623618005a321800552f1700572d13005d2f110065330e
+006f360c00793e0e008349130093531500a3611b00b4722500c3863100cf963d
+00d7a64b00dcad5200e2af5300e6ac5500e9ae5700e9ad5800e6af5b00dca95d
+00d3a05800cc915000c98b4e00c6804700bb723a00ac6433009b572c008a441f
+"/>
+<palette number="573" name="gipper" data="00beb49000a4a0950092969400808d94007281890065757e005b6e7b00526879
+00425a7200465b74004b5c76005d6170006f676a007a656600856462008d655e
+0095665b00b4685300b9674d00be674700ba614000b75b3900b5593600b35833
+00af573000a55534009c533900844d3c006c474000634541005a434200484043
+004142460045464b003a434e002f40520022375300152f5500102d56000c2b58
+001d315800243559002b3a5a002b3a5b002c3b5c002c3c5d002d3d5e001c355d
+0021375e002f3a5c002f395b0030395b0027355a001e315a00172e5a00102c5a
+000e2855000e2855000e2856000f295800102b5a00102c5b00102d5c00102f5e
+0010305f001032620010326200113262001131620011316200103061000f2e5f
+000e2d5d000d2d5d000d2d5d000d2d5d000d2d5e000d2d5e000d2d5e000e2d5f
+000d2f61000e3364000f36670011396b00183a6d001f3b6f00303f7300414574
+0064567b006f617d007a6d7f00816e82008870850098708e00a96e8a00ba7086
+00c9718400dc837400d9837500d6847600d07f7500cb7a7400bc707200aa6373
+008e5a6b00815c6900755e68006f5c69006a5a6b005a5670004a5074003c4b78
+002e477b001a467d0019457c0019457c0019447c0018447b0017437900174279
+00154178001540770015407700154077001540770016407600163f7500153f73
+00153e7200143c6f00143b6f00143b6f00133a6d0012386a0012366700113362
+000f2d57000f2953000f264f000e244d000d234b000b214a000a1f4800081e47
+00071e4700091e4600091e46000a1f47000a2049000b214c0010204f001d2351
+00433052004d345200583852006c44540079525900855d600096676400a76f66
+00b8786500d7865900d3875a00d0895c00c28b5f00b28a64009f8468008c7b69
+00766e5d006c685b00626259005058580040525b003a4c5f003845660039416e
+003a416f0039426f0039426f002e4272002e447300304474003c4778003d487b
+003c497c0036487c0030477d0023447a0018407600203e6e002f3f68003f4060
+004d4257005c43510065434d005d4352005841520059415300593f5300593f4f
+005d3d4b00643c4400583846004835480037324d00282f55001a2f5c00123161
+0013336500203268002f356e00403c7400524877006555770074617700777077
+00887a73009a847400ab8d7800bb9a7d00cea57800dfa97100ddb06b00d9b061
+00caaa5d00baa05a00a8976000979163008c8663007d7c630076726000646561
+0053586000434e64003248690023416d00163c6e00153b6d00143a6c00143a6c
+00143a6d00153c6e001c406d002a486c003a526c004a606d005d6d7000707b76
+007e8681008b928c009c9e9200ada79600b8b39700c5b99000d0bd8800cab989
+"/>
+<palette number="574" name="Glade" data="00477140001e421b001035150003281000012711000027130000271300002714
+000026160000251600002517000026180000271a000026190000261900002619
+0001261a00052b1e00093320000e3c23001e5332002e6b420038774c00428356
+0066a9660082b96d009ec97400a0c36d00a3be6700a1b75b00a0b0500096993b
+00818a2f004f631c003a5b1b0026541b0020551f001a562300215b2500286028
+004d85350066923a007fa040008fa63e00a0ac3c00a3ab3d00a6aa3f00aba746
+00aba243009d904000938c40008988400088873f0088873f008c853b00908338
+008a7b230081782200797521006e6d1e0064661c005c651b0054651b004d6b1b
+00497222003474290040812b004c8e2e00539430005a9a320058a8480052b360
+006dcb79006ec97a0070c87c0060b9750050aa6e004b9d6200479056003a7743
+002a5e2b00093b1b000631180003271600022515000224140001231200002210
+000022100000220f0000220e0000220e0001230e0002250e0003260b00032809
+00042c09000f4316001f5925002f703400387d4000418a4d004b9c68005ab170
+0088c7740092bf6d009db86700a2b25e00a7ad5600b3a94400bea33000c6a32f
+00c99d3000b49c2f00ab9a3000a2993100908b300078792a005b682500415822
+0023431e001a3f1f00113c20000f3a20000e3920000b3820000b391f00093720
+0007331e00052a1b0005281b0005271c0005261b0004261a0006271a0007271a
+000829170008281500092813000b2812000e2912001c33110031401200434c12
+00514f13006d5e10006e600e006f630d00685b0e0059540d004d490a003b4104
+001a2e0100162b01001329020013280100162900001b26000019240100192302
+001925040019210300161f0300131e03000e1f05000a1f07000720090006220b
+001031150018371800213d1c00314b22003d5c2a00476f2f00577832005f7d32
+005f7e3400537c3500456f30003a6228002e531f0024481c001d3e17001e3d15
+0028430d002e470c00344c0c0043581000526514005a6b170067751900798222
+0090972b00a1a63700b0b64200bbc04d00c1cb5100c0ca4e00bbc64f00b1bc4f
+009daf4800839c3a00698e32005d8a380059954c0055a05f004dae710050b777
+005dc27c0067c5790066c3740063b469005e9a5100547e360045681e00375616
+002a4414001c331200102a110009231100062113000420140003211300032014
+0002201500012016000022150001241400022513000224100002240d0003240c
+0003250d0003240e0004240d0005230e00082410000b261200112c16001c341a
+00273d1c0030411700324a17003350180032571e0039591b003e5e1c00446019
+0047632100506925005e7432006d8943007a954e006e8a4500607335004a6c39
+"/>
+<palette number="575" name="Glory" data="008f573e0043456e0044456700464561005d525200745f430082653c00916b36
+00a0842a00a28a2e00a59032009e954500979b5900a6a76a00b5b47c00bbbc7c
+00c2c47d00ccbb6900d3b45c00dbae5000d99a4700d7873f00d4854400d2834a
+00d0985f00c9aa5400c2bd4a00c3bb4000c5ba3700c3b33500c2ad3300c5a42b
+00c6a22e00cbaa4300ceb53c00d1c13600d7bd2c00deb92300dfb71d00e1b618
+00deb20800dab50900d6b80a00d4ae0f00d3a51500d2a11400d19d1400cc8914
+00cf832000c8751e00be722300b46f2900aa613000a0543700984e3a0091483d
+00872a37008b2d340090303200993e2700a34d1d00a9531d00af5a1d00b46c1a
+00b87a1600b08f0900b1950b00b39b0d00ad9b0c00a89c0c00a58e1200aa8025
+009755480093506900904c8a00994a9100a3499800a54d9600a7519500bb6c81
+00bd7a6200b8923600b79a3300b6a23100b69d3200b7993300ae8e3c00a2703f
+007b464900733046006b1b44006b1c3e006c1d3900761737007e0e290087121b
+0086181d006f152d0060193900511e45004822480040264b00372a530031375b
+0028436b002b3f73002e3c7b002f387d00303480003c267c004a1978004b156d
+0059176100753357007b395200813f4e00935051008b6151008269530073655b
+004956720038457f0027348c0023338d001f328f0019288a001f218100243075
+001d256b0032225e00351d5b0039195800451055004a124200491935004f1f31
+003d3f2f003143400026475100214d5b001d5366000f4d740012427e00223898
+003229a50050129e005b119d0067109d007b0f9100801a86008f316f00a73c60
+00b25d4500b8613e00be653700c05a2f00bd512f00b44b3c00af3e3a00ab2839
+00991e4e006b136300641467005e166c004b1e7e00481e83005b277c00693672
+009f455900a74c5200af544c00b1634a00b9734d00c6824b00cd8e5700cf9455
+00da964100e7983900e28c2e00d8861a00d37e0b00c36e0b00ad5f11009c4b13
+006f342800682d2a0061272c005a212e00572232005b2e2b006d372500843a21
+008c4a1500905c1100885810006e4c0a005a4312003e3a20001f2c280012282e
+00122c38001e3232002e332300452d200054281300601d0d006c0f1a006b0b23
+00610d34005611480052165400551c5a005f2a59006a3a4d0076354100823432
+008e3a1d00933214009232150098381500a13c1900ad472400b6542e00b76239
+00b56e4f00b27c6d00a8846f00977c6b00947585008369890072538500773a92
+006a289900621f9700671295005e0d8f00590b8400580a7a00581177005a237a
+005f377500643e7500624f74005c616a004f5e660048596700414d61003c415b
+004235580052225300671e47007a2739009b372c00b2462000a4472b0098543d
+"/>
+<palette number="576" name="Gold_and_Blue" data="00a17d5400c7863d00d28c3d00de923e00dd8f3e00dd8c3f00d9893c00d6873a
+00c9753700c06a2d00b7602400a5521a009345110086380e00792b0c0076290a
+00732709005c300f005734140052381a0053351a0055321a0052321900503219
+00443f25003f3f29003b3f2d00344133002e4439002c4840002a4c4700225252
+001f5a6100216e78002979810032848b00368c92003b9499003a9499003a959a
+0040888d003b828600377c7f00317277002c696f002b6269002b5b63002b4d57
+00283f4c001c2a390019243100171f2a00181c25001a1a20001c1a20001e1b20
+0032292000463523005a4126006f4f2e00855e37008d62390095663c00a56c3b
+00b06f3600b56d3100ad642d00a55c2a009f5826009a54230088471a00753b13
+0051220b00441d0900371808002a1207001e0d0600180a0600120807000c0a0c
+00070e12000c1e220015272e001e313a0022364000273b47002a414d002d4552
+002d404e002d3c4a002e3946002c3642002a343f00282e35002c282c00332522
+003f23190049230e0051250d005a270c005d260a0060250900611f0700551903
+00391305002f0f0900250b0d0020090e001b081000120d12000b121900031c23
+000226300001384600023b4a00033f4e0004465400064d5b00064e5f00044d61
+0004445600053d4f000636480005314300042d3f0002253400001f2800001820
+0000131a00000913000008100000080e0000090800000a0400000c0300020d04
+000e180f00152017001c2920001f2b2300222e260029362700333d2b00404331
+0055533e00857f54008e855700988c5a00a08e5700a6895500ad865900b19161
+00a99b7400a29670009b916d00847b65006c6f61005f6a66004f6e75004d797d
+004b7f85005c8a930061919b006799a30077a7b20082b0bc008fb7c20098b4c0
+0099b1b20097abaa0095a5a2009398910094887a00937c67008c73520086683e
+00855b2b0088531a0097521400a3561100aa5b1000ad5b1200a6551200a35115
+00a6521a00a9551e00ad582200b15b2800af5c2d00ab5b2b00ac5f2500b66428
+00c9703000d07c3e00ce844f00c1885700b0875f00a5846300967b62007f7267
+00686768004e5d6a003b58650031525b00264a51001f4548001942480014464a
+00174c4f001b5053002153560027515a002c505800344d53003c494e00464548
+004c444b0054484c0066515100816153009c775700ae8a6500b49c7900b6aa8e
+00bdb29c00c0b99f00bfbd9b00b2bd9d009eb69e0088a9a1006d969b0053868e
+003a7f8900297b7f00237f81001d7b8100237379002b6f7700356b6900466c61
+00536c5c006468520074624a00825c4100925f3b0096623e00996d4b00957858
+008d7e65008c876f0086877100868571008b896d008e8668009185640098825e
+"/>
+<palette number="577" name="Golden" data="00946e420091724600896b400081653a00705531006046290059412500523d22
+003d3222003e3327003f342c0042383000463d340047423d00494846004d4c4b
+005150510067656300706c65007a736700827664008b7961008e7a5f00917c5e
+009576500093714600926d3c0089663a00806039007a5c3800755938006b5337
+00654f3400544838004e453b0049433f00484441004846440048464500494747
+004a494a004f4b4600554e42005a503f0060533c005f523a005f5138005c4d2f
+005a4a23005d471700614a1800664d1a006e551e00775d23007d61270084662c
+00a5804000b4914f00c4a35f00d0b16e00dcbf7d00e0c37f00e5c78100e6cc83
+00e8cd8000e4c97f00ddc37c00d6bd7a00cfb67500c9b07100bba16600ac925e
+00927c5b008371590074665700665b520059514d00554e4a00514b48004a4545
+00454040003a3739003634350033313200323031003130300031303000303031
+002f2e2f002f2e2e00302e2e00302e2e00302f2f00312f2f00312e2e00332e29
+00342e240039312000393122003a3124003a3124003b3225003e362400433929
+00463e3600463f390047403c0048413d0049423e004c4541004e484400534b47
+00554d48006050410062503f0064513e0068533b0069543c006b533c006b5139
+0060492f0058442d0051402c004d3d2c00493b2c0041352b0038302700342e23
+00322e230039332b003c352c003f382e00493f310053483a0061554300726350
+009a825c00a98f6000b99c6400c0a26700c8a86b00d4b37100debb7400e0bc71
+00d8b87100c1a26600bb9c6400b6976300aa8b59009c7d53008a6f4b00775d3e
+005c462f0059432c0056412a00523f2c0050402f004e4236004c453f004d4946
+00504e4d0060595200645b5100685d51006f5f4f0074635200786553007e6b57
+00887257008a7459008c765c008f795f00927f670099856c00a08c7200a7947a
+00ad9a8100b4a48700bfab8700cbb38200d3b98000d6b97b00d6b97900d5b678
+00c9aa6a00c4a36300c09d5c00b58f4f00ac834300a37b3e009b733c00966f39
+00946c3700956c32009b713100a3783500ac813800b78b3e00bc914000c19541
+00c3984300c2974200bf964600b7934900ad8d4c00a3874e00997f4d00907950
+0089765400897557008d785a00947e5b009f865c00a68c6400ad936800b3986c
+00b59b6e00b69b6b00b39a6f00ac967100a28f74009589770088807500807970
+007a726900736961006b635b00645c53005e564a005b524300574c3d0052493a
+004c423600483e3000443a2d0042392b0040392f003f393300413a320043392f
+0046392b00483a2700493b24004f3d210054401e0059421c005c421b005d431a
+0062441a0067481c00705228007456300084653a00906e4000956e3b00a07843
+"/>
+<palette number="578" name="Golden_Green" data="00283103002a320300282f0200262c02001f240100181d010014180000101300
+0004060000020300000001000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000100000001000000010000000200
+0000020000000300000003000001040000010400000205000003060000040800
+000c11000012170000181d00001c2200002127000022290000232b0000262e00
+00283101002d3701002f390100313c0100303b01002f3b01002d3a01002c3901
+00273501002634010026330200263301002734010028350100293601002b3901
+002e3b010036430300384504003b4805003c4905003e4a0500414d0500434e04
+00495403004a5604004c5905004d5a05004f5b05004f5b0500505c0500525d03
+00545e02005a6200005f660100646b0300696f05006e7407007a7e0c00858610
+008f8d0f008c8c0d008a8b0b008a8b0b008a8c0b008d8e0b0093940f009c9b11
+00a3a01500a5a115009f9c110099970d0095950b0092930a00939309009a960a
+00aca51800b5ad1d00bfb52300beb52400bdb52500b5af2000aca81a00a6a317
+00a09f17009e9d18009e9e1a009e9f1c00979a1a008d9116008286110074790b
+00575c02004d530100444a0100404601003c420100353c00002f3701002a3101
+00242b010019210100171e0000151c0000131b0000121c0000141f0000182400
+00232f0000273400002c3901002f3b0100323e0100384402003e4a0200465204
+00525c0a00697112006c7413007077140073791600707815006a701100656912
+005d6116005b5f16005a5d16005759170050541400454b0e00373f09002b3308
+0021290700151d0600141c0500141c0400141c0300161e0300182102001c2402
+00232b0200242c0200262e0300293002002b3101002c3401002e360000303900
+00323d0000344001003541010036420100364301003542020036420400374405
+003d4908003f4a0800414b0800434d0700455005004751070046510600485207
+0049530800495208004951070049510400485104004650020045500100455102
+0046520200475201004a5401004e580200525c0200555f020056620200566302
+0054610200525e02004f5902004c5602004a530200464f0200434d0100404c01
+003d4902003a45020038420200373f0200373c0200363a020036390100363901
+00363a0300373a0500373b0500363a060035380600323406002e2f05002a2b04
+0026260500212205001d200600191d0500171b060014180500111502000e1102
+000b0d0100080a010005070000030600000205010003060000050a01000a1001
+001218020019200200212a0200273002002a3302002c340200293302002b3403
+"/>
+<palette number="579" name="Goldenrod" data="00edb81200fcae1200e8a82600d4a33b00c4935900b4837800a6808800997e99
+007274a2005d6b880048636e0034575200214c37001a392a0014271d0015241c
+0016221c001b1c1900191d1a00181e1c00112922000b3428000a392d000a3e32
+0003644e0005685100076c550007644e00085c47000d544100134c3b00224831
+004b4b220098571800bb651200df740d00c9700f00b36d12009e6416008a5b1b
+003f5430003056400021585100356b6a004a7f840057859100658b9f008290b2
+00938dc5008f72d1008c5fd6008a4cdc00813dd600792ed0007329c7006d25bf
+0049227700332161001d214b00102d3e00033a31000241370001493d00045642
+00025d400005663e000457360003482f0005442b00074127000a351f000b2318
+0014171500171615001a161600533a12008c5f0e00885d1000845b1300b6770d
+00eb8c09009f591000874512006f3114005a271500461e170033181e00451e32
+004d325f0056367f00603a9f005c35a7005831af005a21ae005421b5003d29a3
+002b3a8900204381002f4888003f4d90004e4a9c005d48a8007652be008a63b9
+00bf8f7400cb985700d8a23a00e1a32a00eba51a00eb9b1700d98c1300a97712
+007c5613003b3110002b2511001c191300181314001810130017111400151115
+0013181a001b1c2700242035002a2144003122530036265c002e3e6900285a7c
+00276d8000027c5e00067a57000b7951001a5d3a004351270077511e0093510e
+00e87e0a00f28d0b00fd9c0d00fc9f0e00fba30f00fba80d00feaa1200fea713
+00fca31000dc952600cf933700c3914800be7d6a00b0728d009970b8009b62de
+009b46ec00973feb009439ea008532dd00772ad1006e21c400621db0004c1999
+003c1579002c1451002812450025113900301e2700573023007e3b2200855137
+00a5557000a3547e00a2538c008052ae00773ebc007827bb00602aa80046378c
+0037357c00273b71000f525f0002635a00066a5e0009705f00197d6400367e73
+00435864004957620050576100523f5300392c430021303800182f2a000f2e26
+00062e2700032a250002261f0001231b00022118000220140001221700012a1b
+0000311e0000372500003b2600013a24000538220008321e00092916000e2212
+00121c1200131811001416110015151000151310001513110015141000141411
+00141312001413140014141700111619000d1d1c000c23270008292f00043532
+00033d3c000440430005404100073d3d00073b3800063432000b2a27000f2621
+00122a23001f392e003a49470051575d004c796b0046958c00459b9500459871
+0051956200669b51008b942a00b98c1800e0920f00f69c0c00fba31000fda611
+00f5a92100e4ab4e00deb27200d0b47c00c2ae7c00d0b77700d9b86e00dbb23e
+"/>
+<palette number="580" name="Grape" data="0053435a005d4b6c00624d7300684f7b006a507e006d5182006d5182006d5283
+006e5381006d517d006c507a00655279005f5478005a597c00555e8000536185
+0052648a004d749f004a7da8004887b100458ab900428ec100428dc000428dc0
+004686ab00447d9d0043758f003f677c003b5a6a0038546000364f5700334543
+002f3f360029362a002736290026362800294237002d4f4600345752003b5f5e
+006e8a8a007c9b9f008bacb4008bb5c6008bbed9008bbfdd008cc1e10096c4e0
+008fbfe00064a3cc005797c0004a8cb4004587b3004082b3003e80b3003c7fb3
+003c7eab00427da800487da6004c7ba300517aa00051769e0052729c00536f92
+005866860062587000614f6d0060466a005f4368005e416700633f6d00674170
+00673e7700603b6f00593968005638620054375c0051365a004f35580043304a
+00392b40003427370038273b003c283f003f294300432a48004a2e5000503259
+005e37680060386a00623a6d00603b6a005e3c6800573d6100503b5a00493852
+004034490034353b00333639003337370034383800363939003b3a3d00444046
+00574c5e005a596f005d6680005d6c88005e7391005f7da2006283ad00608cb9
+005c94c50052a5d80052a6da0053a7dc0056aadd005aabde0061afde0073b6df
+008fc0c8008eb3c0008da7b90090a1bb00939bbd009a8fac009e8a9a009c798c
+008c64800076428400753f8300753d8200763b80007739800079358300743483
+0069337c00633173005e2f6a00592d6500542b600047285200392447002e243a
+0027232d001f2021001e1f20001d1e20001f1b2000241c22002a1b2700301c2d
+0042244300462749004b2b50004f3961005248750055578a005e5e96006e619d
+007365a2006a6eac00666ca800636ba40066669700695c87006a557900635071
+00534d5f00514d5c00504e59005352580053565a00545c5e00525f6300526169
+0056626e00586474005b64770058607700545c770053517500514672004f3e71
+00432e60003f295a003c255400331946002813400024113a001f153500221c33
+00261f30002d21340036253e003f2c4b004d345a005a3e67006843730075477f
+007c4f8a007b5999007564a5006e6dae006772b5006574b400607bb3005c7cb1
+005b7daf005b7aaf006074af006876af00707db0007683b1007783b200727fad
+006e78a8006b79a300697b9b005f7b980053788c00486d7b0043606800425555
+003f4b48003b423e00343d35002e382e0027332700212c1f001c241a00171d15
+0016181600181618001a151b001f142000221325002a122c00341634003b1a3e
+00421e4500431f4a0045204a00462249004626480048294900462a4b0045284a
+0043294600422b410043303f0044344100483647004a384c004c3a5000503e56
+"/>
+<palette number="581" name="Lemon_Grass" data="003c65430021524d001a504e00134e50000d484b000742470008404300093e3f
+000d332800153022001e2d1c00262d15002f2d0e00392f0c0044310a0047300a
+004a300b0051320b00512d0d0051291000522a1600532c1c00542e2000553024
+00543f350053463700534e390053553800545d3800545f330054622f00576724
+00616b1b007e7c0f008b860d0098900c00a3951300af9b1a00b29e1c00b5a21f
+00b1a32d00ad9f3200a99c3700a19834009a953200949132008f8d3300868134
+007b7531005e562d0052482d00463a2e00372c2900291e2400241b22001f1820
+00141817000f1a12000b1d0d0012250b001a2e09001e33090023390a0029430a
+00314a0a00415612003f5817003d5a1c003a5a2000385b2500355d33002e5a3d
+0021504c00214a520022455900243e59002738590026335600252e5400252451
+0027234900242c40001f2e36001b312d001e362800213c24002f4a1d00415d17
+0064730b007a800a00908d0a0097900b009f940c00a5950f00a4931300a49415
+009f9317009089210088872400818527007c842700788327006d7d2a0063772c
+004d692c0045612c003e5a2c003e572c003e552d003f512d00424d2e00454a2e
+004a4a2e0051512c004f522a004e5328004855230045582200465f24004b6825
+0055752b00607b34006b823d0070854000768844007e8b4a007f884d007a804d
+0071764b00615e40005d573b005950370054472e00564627005e4720006c4c1a
+00906714009f741100af820f00b3870d00b88d0c00ba930b00b5930900ac9008
+009d890600757307006c6e090064690c00555f12004c571a004451220043502d
+00495245004b5249004e524d00535251005652520058515100594e4c00584944
+00554139004a3724004836200046361d00423417003e3313003b3513003c3b16
+004b50210051572500575e2900676d3300787b3b0088884200939246009e9949
+00a49d4800a59c44009f943d00968c36008e842d00887d26008375220081711f
+008b7919008f7c1900937f1a009c812000a6892600b0912b00b49b2f00b19b35
+00a7963b009b8d42008a874300797e4100657440005265400040583f00324b3a
+0028433400223a30001d342e001a302c0019302700193023001a3121001c3324
+0021382600273d29002c3d2a0030392a0034342b003a312a00412f2700492b20
+00512819005a2914006631110070390e007c410a00874a0800935708009a6109
+009e660800a0670600a36b0500a46e06009f6b0700956208008b5a090081580b
+0074560d00614f0e004f480e0044480f003d4e0e0039550d003a5b0b00436309
+00516d090060770a006e7d0b007c810c0088850c0091890f00988c12009c9013
+009d9313009b961400949518008c941c007f8d210073882700637c3100547439
+"/>
+<palette number="582" name="Magenta_and_Teal" data="00ab41b400ad319e00b0329600b3338e00b7359200bb389600c2399c00c93aa3
+00d436ad00d33baf00d240b100cf4cb900cd59c100c766ca00c173d300bc77d6
+00b77bd900a28dda009697df008aa2e4007fb3e40075c4e50070cae6006cd1e8
+006de5da0074e4d1007ce4c9007fdbbc0083d2af0082c9ab0082c0a8007aada2
+00809c9a009c819b00a97c9c00b7779d00b96f9d00bc689e00b9639c00b65e9b
+00b1499500b54e9900ba539d00c561a500d16fad00d379b200d683b700df90b9
+00e29fb300e6afae00e5b6b300e4bdb800dec8c600d9d4d400d4d9d900d0dedf
+00b2e7ee00a2e7ee0093e8ef008de7ed0087e7eb0086e6ea0086e6ea0086e6ea
+0083e4e90078e3e90075e5e80072e7e70076e8e6007aeae60084ede60093efe8
+00b2f2e700b7f4e900bcf6eb00b6f6ee00b1f7f100aaf7f300a3f8f50098f6f8
+008ff5fa0080ecf6007de0ef007ad5e90072d0e4006bccdf005cc0d60055b2cc
+004693b400457ea400456a940042608b003f5783003b4c77003e496e004a4972
+005d52710080687300896f680092775e00907a58008f7e52008c7f54008d8356
+008886640086846a008583700082826f007f816e0079786e006c777300647578
+005d7582005c78a2005f7ea9006285b100728dbf007e99d0008ba4d90099aee4
+00b6abed00c7a3ee00d89cf000df95ee00e78eed00ef84e000f37bd500f26dd1
+00f45bd000f235d700f22cda00f223de00f31adc00f319d500f118d100ee19cc
+00de17cb00cf12cb00c10dcb00b80dc700af0ec300a10fbc009512bb00911db9
+008c2cb7008f4ab5008f51b2009059b000926da9009379ab009c89ae00a59ab1
+00c1b7c800c9bacc00d2bdd000ddc4d200e5c6d100edc5ce00f2c4c600f0c3c4
+00edbcbf00eaa0c900e89acc00e794cf00e68ad500e782d500e87ed700e976d1
+00eb64d200e95dd200e757d300e14dd300d844cf00cf40ca00c83dc100c03dbe
+00ba3ebf00b341c400a843c6009949c5008a4fc4007e5ac1007066c1006c73c6
+007196dd00719ce20072a2e70079a8f1007facf40085acf6008eacf50098b1f6
+00a4b5f600a8baf200adbef100aec0ee00a9bfea00a4bfe60097c1e4008cc4e6
+0081c8e50076cee6006dd6e80066e0e90065e6e70066ece5006bf0e40073f3e1
+007ff2dd0088ecd90096e7d200a4e1ca00afddc500b4dbc500b8ddc600bbe2c9
+00b8e4cd00b4e4cd00abe2ca009cdcc5008cd3c3007ccfc40073d1c80071d3d1
+0075d9dc007be1e3007ce5e7007ce3e70076e2e7006fe1e4006bdce3006fdce4
+007be1e50089e8e80099eceb00a4f1ee00abf6ed00abf5ec00a9f3eb00abf0e3
+00ade8dd00addbd300add1cd00b1cdc800b8c6c600b9c1ca00b8bacb00b6b1cd
+00b19cc600ac88c0009774b0009063a40087589f00894fa300904eac009647ad
+"/>
+<palette number="583" name="Mahogany" data="0031090f0028060c001e03090015000700150007001500080015000800150108
+00160109001601090016020a0016020a0016020a0016020a0017020a0017010a
+0018010b0019020b001c030c0020050d0025060e002b0810002d0810002f0911
+00340b1100350b1200370c1300390c13003c0c14003d0c13003e0c1200410d13
+00460e130055131500611817006e1d190077231c00802a1f00852e21008a3324
+00a44a3100a64c3100a84f3100a54c3000a24a2f00a24a3000a34b3100a24c32
+009e472f00913928008d3627008934270085302600812c25007f2a24007e2923
+00742420006d201f00671c1e0060181d005a151c0056131b0052121b004a0e17
+00440c15003a0912003507100030060f002e050e002c050e0029030c0028030c
+0028020a0027020a0026020a0025020900240209002302090023020900210209
+001f0108001a010800190007001800070018000700190007001b0006001e0108
+00270208002c03090031040a0032040a0034050b0035050b0036060c0038060d
+0039060c003a0812003908130039091400390913003a0912003b0a13003d0c15
+00460f18004c1018005212190054131900571419005c1517006217190067181a
+006a191d0067171b0064161a00621619005b14170052121700471017003c0c12
+0029070e0022050b001c0309001a020800190208001702090016010700150006
+0015000600150007001500070015000700150007001600070017000800180008
+001a000a001b0009001d0109001d0008001e0008001f010a001f010a001f010a
+001f0008001e010a001d0109001d0109001c010a001c0008001d0009001f0007
+0028040a002b050a002f060b0037090e00400b0f00470c0e004d0e0e00511110
+0053111100511012004f0f11004d0f1100470d0e003f0a0b0037090c0030070d
+0026040a0025030900250309002503090028040b002c050c002f070f00310912
+00310a1300310a1300310a1400300913002e0912002a081100240710001f050e
+001a010a00190009001900090018000800170008001700080017000800170008
+00180008001700080017000600180109001a0108001d02090021040c0028060f
+002e091200340c16003a0e1800410f18004a11190053141d0058161d005b1821
+005b1920005b1920005c1a24005d1922005c19220059181f0056171f00531721
+0050151f004f131d004e121c004f101800501018005110170053101700551117
+00581118005a1117005c1117005c1219005b1116005b111600580f1200530d11
+004d0c1200470a1100440910004309100043091000430a1100430a1200440b13
+00450c1400470d1600470d1600450d1600410c15003b0a120037091100330911
+003008110030091100320a1300370c1300340b120030090f002c080e0029070e
+"/>
+<palette number="584" name="Marina" data="0013577a0016587200125a70000e5c6e000f6771001173740011777300127b73
+000d8a74000e8b7500108d760014877a0019827f001e81870023808f00247f94
+00267f99002c77ab002f77af003277b3003378af00347aac00387ba7003d7ca3
+006788890075928800849c870088a08e008da496008da394008da3930095a391
+008ba193006595a800548ba6004381a400407d99003e798e0040798c0043798a
+00417780003b707d0035697a0033667800326477002e6175002b5e73001d5272
+000e446f0002376a0001396900013b69000341690006476a00064d6900065369
+00056a6d0006726d00077b6e0007826900078a6400068c6300068e6300058d61
+0006845d0005725e00087366000b756e000f7771001479740020817f002f8584
+00438b920048929d004d9aa800559dae005ea0b400619fb500659fb6006599b8
+006195c0005b90cc005f93ce006497d000689bd2006da0d40075a4d40084a1c2
+00968a8e008c818a00827986007d728400796c8200726f76006b5d5f00625959
+00475960001b5e7d00145e80000e5f84000b608600096289000666890004668a
+000457880004548a0005528c0006538e00075491000a5694000f599800145e9c
+001a639f002267980024649000276189002a5b7b002a566f002a516900234e61
+001b34390016292d00121f21000e1f24000b2028000623350003243d00002440
+0001294800003c69000041720001477b00024f860003538e000357950003599c
+00055ba200065aa200075aa300065aa400065aa600075ead001266b2002376bc
+003989c7005ba9d4005eaad30062acd30063b6d1005ebcd00062c1cb0063c7ca
+0061bbbe005ab6bc0053b2bb004baaba0047a9bf004ca6c4005ba7c80066a8ce
+0070a5d2006fa0da006c9ed800699cd6005f95d200568bcd004e85c8004881c5
+003f7dbe003d7abd003b78bd003b7abc003f7cbd004780bc004f85b9005686b4
+005884b0005280aa004e7ca3004b7b97004e8184005683760051847100477d73
+002d747b002d7578002e7776002e7a79002a778100237290001a6b9d001766a3
+001966a7001c68a900226eab002c75a9003479a600397aa5003876a50033709e
+00326b9200356680003c5d6f00444e5f00483c5000502b400059212e00611b20
+006f141300760f0b00790e090079140a006e2014006b2a220067362c00624036
+00604d3b00535c4500496450003f6e5700396f5b00386d5a0032685a002a5a54
+001a50490011473b000a4035000639360006313c00022a410004263f00052940
+00052e49000534570002396800003d750000417b000043800000447e0001437d
+0001417a00023f7600023f7500013e7200013e7000013d7000023e7100034277
+0004497e00075086000a578a00105f8b000f5781000d5379000c4d75000a4a72
+"/>
+<palette number="585" name="Meadow" data="009981b0009a7eaa00a887b200b790bb00c398c600d0a0d100d4a2d500d9a5da
+00ebb3ea00e4b0e400deaddf00cba3ce00b999be00a493a8008f8e92007f8c80
+006f8a6e00697f5b00697c5a00697a59006c7558006f7058006f665d00705c63
+006f4c770067466f005f406700543a5e004a3455004532500041314b00352d40
+002d293b0026263200242631002327300022272d0022272a0022252900222428
+002123290022232b0024242e002c293400342e3b00393040003e3246004a3951
+0057405e006e51750073567900785b7e00725c79006d5d7500675b6f0061596a
+00445d4200375d33002a5d2500245e1e001f6018002060190022611b00266124
+0030652f00487465004c827400519184004f8f7b004d8d720044875a00378e45
+00218a2200278717002d850d002b8307002a8202002983010028850100288501
+001d7e000025850200228005001f7b090022760f00257116002d6d230031632e
+0043534700474c4e004c46560050435a0054415e00593e62005e41660065466b
+006d4e7500825f870086628c008b6691008b6691008c66910086628b007b5c81
+00664e6b005f4b640058485e0055465b00524559004b4355004d4258004e4358
+004d425700403c50003e3a4c003c3849003934440036344400393848003e3a4b
+005c4665006a4f720078598000805e880089639000956a9c00a174a600a579ab
+00ac7eaf00af80b200ad7fb200ac7fb200ac7eb100a97eae00a27da700987ca0
+00828c9e0076959e006b9f9f00639b91005c9784004a90650034934a00298941
+0020862c0022890e0021800f002077110021661700255820002c55240030482f
+00463d4e004f41560058465e00654d6c00634b6a00664f6e0065526d005f536a
+00504c5e00384b45002f49390027472d001b491a00144514001a4612001f4614
+00274520002d46250033482b003948360045484600494c570050536200575f69
+0059616800575e6400525461004d4f5c00474d550042474c003e3e4700463d4b
+00494859004f525f00555d66005f6c7300637c7f006b7d83006983840062817f
+00577c7800556f6f00545d64004f4c5b0052495c005b4b6400685170007b5a81
+0090679400a575a600b480b500bd87bd00c08cc000c38ec300c48ec400bc8abf
+00b384b800ae7eb300ab7baf00a278a80097759f008a6c95007c6187006b5776
+00594f63004848520039423f00283729001d2f1d00142a150011290f000f270d
+0010260c000c1e0c000f191200151b1d00181e1f00191c1e001919220022202d
+00302f3d00403d4b0051475a006a55720081678700977c9d00ad8ab100bf94c2
+00cd9ace00d09ed400d5a0d700d0a2d300cbaac700c1b0c500c7b7cd00cabad6
+00d9c5d900d2cbd800d2ccdf00cabfe600c7b1de00c1a4d600b499ca00a98cbf
+"/>
+<palette number="586" name="Mermaid" data="00467a7500506c64005166610052615e004c5e6800475c7200435b7800405a7f
+00365697003c589c00425ba1004c61a6005767ac005f6eb1006775b7006879b9
+006a7dbc006587cd005d8bcf005690d2005492d2005294d3005194d3005195d3
+004a81cc004979ca004972c8004266c6003b5bc4003959c4003858c400385bc5
+00385dc700335bcb00315ccf00305ed3002957d5002250d8001f4ed9001c4cda
+001147da000f48d8000e49d7000f4ed4001153d2001258d100145dd1001866cf
+001a6ccb002279c100267eba002b83b3002c83a6002e839a002e8495002e8691
+00318a8a002c878b0027848d0024809400227c9c001f77a0001d73a5001767ac
+00135baf001047b2001042af00103dad001340ac001744ab002051a80027599a
+0037747e003f84760047946e004e9b710055a2740054a1790054a17f004b9786
+00488b9200467cb3003f72b2003969b2003867ae003865ab003967a100386a91
+002f7172002b74680028775f0024775b00207858001978580017785a00167759
+00147656001c6b4d00256545002f5f3d00335a380037563300424e2c004e4d28
+0068592d00685d2a006962270066642500636723005b6a2200526e250049722a
+00427634003b784f003c7755003d765c00437566004e766d0058756e00627268
+00726c4c00776b3f007d6b32007e6b2e00806c2b007f6b24007c6a1e00746a1d
+0068661d00495a190043581a003d571b00355521002e532800274b2a0027432c
+003a3c300046392d0053362a005a392700623d2500745024007c5f1e007c6918
+007775150067921a0060941d005a9621004e982f00459d40003d9c5300379868
+0036a1970038a49f003ba8a7003ca8af0036a7af002ea4a3002a9f8d00289675
+00298f610036873d0037833400397f2c00377623003b752800477f3a004e8c51
+00488e7600478f7f00469089004a9aa2004da0b6004d9ec2004899ca004398d2
+003e94d500358cd5002a85d5002281d1001d7dc7001876ba00166faa00186a98
+001c6472001e636d00206269002461630025636400206165001e5d6b001c5772
+001a547800164f770015477100183c65001b3154001f29440023233600272230
+0028232c0027282e00243034001f3b3d001a464400154f45001154420011583d
+00145d3700186033001d6032002361360028664000286a4d0027705e0025746e
+00257a7d00217f8a001e8496001d889e00218ca300298fa7003695ab004399ad
+004d98ac005696a50061969a0069958c006a917b006891680067915500649143
+005c8f3300548e25004e8d1b00498915004786140046821800477d1f00497827
+004e743100566d3b005b6841005e644400606047005f5c4700565741004a573b
+00425c3f003f695000357160002c786a00287b71002e827f00338487003c8284
+"/>
+<palette number="587" name="Mesmerize" data="00141d33000c3b33000c5339000c6b3f0019784800278552002e915500359e59
+004d96780054977f005b9987005f948b00648f9000708792007c80950084829a
+008c849f009f8a9a00ab8b9c00b88d9e00be919a00c5959700c9929900ce909c
+00e08c9a00e1769c00e2619f00d3559e00c54a9e00bc419b00b33899008c3b98
+006440930032416f00284965001e515c00395160005551650063566900715b6d
+00b3388700bd2f9000c7269a00d01d9a00da159a00d81e9b00d6279d00e4309f
+00c4339500b8588700ac5c7c00a1607200b1636d00c1666800bd696700ba6c66
+00a17073009f7c78009d887d00ab858600ba828f00c8839000d6859200e98093
+00f07f8f00f3857c00f5847a00f7847800f1867900ec887a00e37f7f00da7b85
+00b67e9500a1788b008d72820086728100807280007b6c8000766780006e6782
+007a6589007f559600815c960083649600816c94007f7493007a7b8d0076868b
+008c92860098818700a5718800a96c8a00ae688d00b1639a00aa5ca500a159a6
+00a45faa00b376a200c06b8f00cd617c00d15f7500d65e6f00e84c6800ec3865
+00f52c6b00f42d7300f42e7c00ef308000ea338400e13e8700d7489000ca4b9d
+00bf4d9e00a446a100993fa4008e38a8008029aa007422a7005b2ca6005129a3
+00693199006d3a96007143940074479700774c9b00835ba0008e6e9e00947c9d
+00a7869600c5858700c6808300c87b8000c56c7400c2646e00b5656d00a36b73
+0084898000738e8d0063949b005e939c0059929e006f81a300847da000948092
+00b3808700e78b7b00eb887600f0867200f4827700f97d7e00f9758700fa7690
+00f68e9a00f6909d00f692a000f895a100f38ba000f775a000f960a000f74ba0
+00fb34a100f5279c00f2239900ef1f9600eb268d00e0338600d2348600ca3684
+00b5348400b3338a00b2339000b8259000b7238c00bb309000c2369500d23e93
+00df548a00de6d8600e57e8500f1868300ee8e8400ed948800ed8f9000dd9398
+00c38fa000b38f9e00a4909c008a8f90006a787c00495c67003c475c00473060
+00571d6100670e62009a127800c31d8500d3218000ea2c7c00f23d7c00f1497d
+00f64b7800f6527500f45d6e00ed6b6800e0756600d97d5900d98e5700da8c59
+00dc845500e4806400f16f7100f65b7900f14a8600ea419500e136a100d02ba7
+00bf29a400b52aa500ac29ad00ac29a800b636a700c63eaf00ce3da900d24da6
+00d858a800cd53a700c053a400b9549e00b54e9b00b5489900b74a9300c04e94
+00cc559600d25f9500d5619900d4659a00c4689600b25f9300996092006d6188
+0055577600595c77004f5b7c00544d7600774b710097457700ae388100c13377
+00cd326800cd306700a82c60007e2a5000731f440048193d001d2137001a1c31
+"/>
+<palette number="588" name="Midnight_Wave" data="000f2397001027990011279d001228a1001327a5001427aa001428ab00152aac
+00172fad00162cab001529aa001423a700141da400121b9e00111a9900111a94
+00111a90000c167e000a127400090e6a00070b5e000508530004074d00030648
+000103350000022d00000225000001200000001b000000190000001800000017
+00000017000001190000011c0000011f00000122000102250002032600030527
+0005082a0005072a0005072b0004062900040627000406260005072500060924
+00050823000306220002042300010224000103280001042d0001043100020536
+0006104f000d1e5e00142c6d0029427e003e598f004a639800576ea2006a81b3
+007994c1008bb4d9008fbadc0094c0e00094bee00094bce00090b1dd00809ed5
+005c7cbc004867ad0035529f00243e8f00142a7f00112479000f1e74000a1566
+00070f58000307420002053a000103320000022f0000022c0000022700000224
+0000021e0000011d0000011c0000011c0000021c0001021c0001021c0001021c
+0001021b0001011b0001011d0001022000010222000103240002032a00020430
+0002053d0003074700050a5200060c5700080f5c00080f5c00080f5e00080f61
+000a10650010198100111b8300131e86001521890014228b00141f8900101988
+0010199600101a9600111b9600101b9400101b9300101890000e168f000e198e
+0010228e001a3b94001d419600204898002652a0002c5fa900316cb2003672b9
+003571b1003168a6002d5f9c002b5c97002a5a92002953900025488e0021418c
+001c3b8900163682001637830017388400163486001531890014308900132f87
+0012317800112e7200102c6d000d21610009175400050c470003063a00020430
+000103290000022200000222000002220000022300000125000002280000022b
+00010335000103380002043b000205420003064d000306560004075c00040761
+0004076400040764000408660004096900040a6900040a6700040a6600040a62
+00040a6300040b6500050c6800070f6e00091376000c167d000f198400111b8d
+00121c9700131ca000141ca700141ca900141ca500141b9d001218930010158a
+000e1180000b0d7500080a690006075b0004054e000205430002033a00010334
+00010331000103300002033200020436000305380003053a0003063c0003063b
+0004053b0004053c0005063d0004073f0005094400060b4900070f52000a145b
+000f1d66001228700017327a001c3987001e3e94001f43a1002245ac002248b3
+00234ab6002448b5002343b5001f3db2001b32ac00172ba6001323a000111d99
+00101998001017980010189800121c9a00121f9c0012219b0012259d0012269e
+0012269d0013269d0012269c0011259b0010259c000f249d000e239b000f229a
+"/>
+<palette number="589" name="Mint" data="006d98750075a9880077ac8f0079af960079ad93007aac910079ab900078ab8f
+0075a080006e987b00689077005e837400547771004c6c700045626f00435d6b
+004159680045566800495b69004e606b00566873005e717c0061777f00647d83
+00748c8d0078918f007c979100819b9500879f9a0089a29a008ba59b0092afa4
+009cb4a5009dae9b009baa980099a7960091a19600899b9600889a9600879a96
+00829495007b938c00759284006f927e00699278006893750067947300669573
+00699b79007ba1850081a5890088a98e008ba98e008ea98e008ea88d008fa78d
+0087a5860082a083007d9b800075967c006e9279006a8e7700668b7600628675
+005d8370005d896e00638c6c0069906a006e936a0074966a007d9c6e007b9c74
+00769472006c906f00628c6d005a87630052835a004f8157004d7f5500477b50
+00487b4f0046715300446d5500436a580042655800426058003c565300364f52
+003744530038465600394859003a4a5a003b4c5b003e545f00455f6300496866
+004d6e6b0054796c0054746b0054706b00546e6a00546d6a00586c69005d7169
+006e816b006f866c00718c6e00708c6d006f8c6c00677f6b0060746600576f63
+0049615c00394a4a00334748002d454600223c3b00182d3000142a2c00152c2c
+00122b32001d353b00293f45002c4549002f4b4e003855550046615f004e6967
+00556e6c00617e790063817b0066857d006d8782006e8b80006e927f006e9482
+006c948100699382006792830067908500678f88006b918d0071938c0076968e
+007b9c940080a38a007fa387007ea385007ba17b00799e7300779b6c00729666
+006994600065925f0062905f0059875a00507c5700486d53003e604b00355448
+00354c4900385855003e5f5c00446664004e776c00548274005b8a7c005b8f7a
+00508468004a7e630045795e003b6b500032624300305c450030554700315643
+003b5d4c004163580043665e0047685d0046695c0042675f003f5f5e003a5a59
+00395f57003b6156003d635500466c5800517c59005d875b006b8e6200759768
+007ca06d0082a17500829f79007e9c7a007c957f00738d7f0068857c00647e79
+005c77740053756d0055796700597c63005e846200658d680070936f007b9778
+008198850082978f0083949300849095007f8d94007c898d00778189006f7c86
+006d7b81006975800066768200697e83006a8285006e8987007392880072968c
+006f9b8e0072a28b0075a58b0072a68d006fa88c0074a78a0073a587006fa085
+006e9683006990800068887d00667d79005f7376005869740056667500576574
+0056627300556474005b6b73005e6e74005d7177005d7477005b7478005a7478
+0058707500546c730052686e0051686800536c6200586f5d005d7a6200668e6c
+"/>
+<palette number="590" name="Mistic" data="001d18420017144100131240000f1140000c0e3b000a0b36000709320005082e
+00070c24000c132300121a2200182029001f273100262c38002d313f00303242
+0034344500302f54002b2855002622570024215c002320620022206500222169
+002b266c00342f71003d387700454078004e487a004f4b7900514e7800535273
+0052556f004f556a004d5165004b4d61004c4c61004d4c61004d4b5f004e4a5e
+005a4d5d005f5062006554680068566a006c586d006d5b71006e5e750073627f
+00776288006f62930064598f005a518b004d468200413b7a003b357500353070
+00262557002a2852002e2b4e00363251003f395500423e580046445c004e4b65
+00535172005a5c84005c5e86005e61880061638800646589006c699000756f95
+0084769b008e7da3009985ac00a38fb500ae9abf00b19abc00b49bb900b095b5
+00af98ba00a78ea800947f9700817087007b6b820075677e006b5d7500635c70
+005b596e005b5973005b5979005a587c005a578000575582005553810050517c
+004d4a78004c43750052467700584a79005b4d7a005f507b0064547a0064597e
+005c5478005752710053516a00534f6700534d6500564d66005f506a0064546e
+0067586f006e5e74006d5c75006c5b7600645577005a507800594f7b005b517d
+00615c8b006e6792007c72990084779a008c7d9b0099879d00a28e9d00a78f9c
+00a88c9c00a48b96009f8892009a868f008e7b8d0081738b00776d88006c6881
+005a557a00544f76004e4a72004c4971004b4971004b4b73004b4c72004c4d71
+004f506f00585a7600575a7600575b7600575b6f005557680054596500545b67
+00585b6800595c67005a5d67005d626a0061687200636977006368740061636e
+005e5a6600544c5a00504a59004d485800493f560048355400443151003e3154
+00312851002e244d002b214a00241a46001d16420018133b0013113400100e2d
+000e102e00151a3100202436002c2f3a0037394400484755005a5668006c6476
+0091798d009b7d9100a5819500b1869600b68a9500b6899400b2879400ab8092
+009b74900086688d00705c8b006052870053478600443c7f0038337d002f2d75
+002b29700026246a00232268001f2265001f275f00212c5a002b36580036435f
+0048506a00585e7400686a7d00757a880083849500918da1009990a800a097aa
+00a89caa00b39ea900bda1a600c6a0a400cba0a100d09ba000cf989a00c89195
+00bd8e9000b8898b00af82840096707e007a5f74006b4f670065465900533c52
+003e354d002f2a46002a1f4100241d41001e1f45001b2148001b1a48001b1645
+0018114300120d3d00100833000f0626000f07220009061f0009041f0006021b
+0007031e000505250009092f000e0b3500140c3700150d380018133b00191741
+"/>
+<palette number="591" name="Mixed_Berry" data="006e2350008c2450008e1e4e0090184c00951250009b0d5400950d5200900e51
+00670c53005009500039074e00300d470028134000331934003f1f2800431d22
+00471b1d00611816006b181500761915007d15160084121700891319008f141c
+00ac191700b01d1600b4211500ac271f00a52e2a009d342f00953a350080403d
+00633a46003b3b590039335200382c4b00412043004a153c004d143600511430
+0054151d004d151f00461522003d182c00351c3600331a3a0031193e00331446
+004510540076195d008c195500a2194e00b5184700c9174000cb163a00cd1635
+00c3122f00b90e3100b00b3300a20d3a00950f4200910e42008d0d4300820a43
+00770b4700670f4e005c0c4800510943004c08460047084a003d0e4e00361553
+00292a5c002b3460002d3f64002c4d5f002c5b5a00335f54003a644e00496445
+004e5c3e005e4a2f006f4032008137350085323500892d350089203b00891c42
+007f264a0071234b0064214d005d214b00572149004b284a003f3350003a3255
+003b3557003c485a0039445d0036416000343c62003338650030346a00282867
+001813500013114a000f1044000c133d000a173600101e24001e261b00282c1b
+002c311d00483419004d351d005337220052382e00483b3200433b2d003a4327
+00245b25002e5b1e00395c1700415713004953100051550a00634e1100764118
+00803222007c2a2c0079272f007624320073203b00731d3e00771d3e007a1c37
+0091112c009b0e2700a50c2300a80b2300ab0a2400b10d2500b80e2400ba1222
+00b51327009e17330097163200911631007b153500680e3e0051114a003f114f
+00221b5b001f235d001d2c60001a3e5d00164c5b00105f59000f7455000d8548
+000f8844001c853f00247f39002c793400436a300058572b0074462d0091332b
+00c01e2b00c81b3100d1183700da164500de104800dd124500e1154300df1c47
+00db173f00d4103100d30c2600d5102400d7102200d50b1e00d0071e00cd0728
+00c8083d00c2093e00bc0b3f00a70e4500960f520082165b006e255a00573852
+0044444e003453490026653e001d722f00166b2800196121001d5a1e0026541d
+002c45250038362b0048313100563338005a3a45005a454e005e5257005e5e53
+0052695400456f5700456f6300516861005c62580067574e007d4a4b009b3949
+00b3303e00c62b3000d4292100db231c00da211400d0211000c21f0a00b31d08
+00aa1b0700a61a0900a2140a009d120a00a3170a00ae1f0a00b5220b00b3200a
+00b31e0e00b3201400b21d2000a61c2b009c1439008f144300811051006d155d
+005f156a005c166f00541372004a1870003c246f0041326f00463b70004d4171
+004a436f004e466b00594466006244630063446200693a5f006c2e520071224e
+"/>
+<palette number="592" name="More_Blue" data="0051677d003d536e00344966002b3f5e00293e5b00283e5800273e5800263e58
+00243f5a00233f5f00223f64001e3d67001a3b6a00163b6700133b6400123a62
+00113960000f31540010314f0011314a0013314b0016324d0016324c0016334c
+00132d4800122a47001127460011274400122842001228410013284100172d3f
+001e3244002e435200354c5a003c566200415e6d0047677900496c80004b7187
+004f7c9f004f7fa0005082a2005586a5005b8ba8005c8cab005e8eae005c8eaf
+00568ca900538399004d7a930047728d003a6482002d567700284f7000234869
+001932540013274a000e1c40000b16340008112900071024000710200007111b
+0009111a00111c24001c28300027353c002f3e440038484c00495a5e00586e75
+007993a1008ca5ae009fb8bb009db9bf009bbbc40095b7c40090b4c40085aec5
+007fa4bb00648399004e6e87003859760030506f00294869001e3c5c0019324e
+00152734001326300012262c0012272d0012282f00142c33001a353a00233c43
+002a4448002c4553002a43550029415800293f5600293e540027384f00223146
+00131d35000f182d000b1425000a1422000a141f0008131c0009131b000a151e
+000c172000111d2300121e2400141f2500151f2800161f2b00151f2d00131d2d
+000e172b000b152a0009132a0008122b0007122c0005102f00040f3300031137
+0002123b0002153f0002143f0003133f0003133d00031239000111330001102c
+00020d2100010e2000010f2000011022000112240001172b00031d3500022340
+0002254d0001265e0001265f000226610002256100032460000422610005215d
+000b2455000d26530010285100122b4e00132b4c00132b4900122b4a00132b4b
+00122a49000f1f40000d1c3d000c1a3b000a183900071b3c00081c40000b2046
+00162e560017305600193357001b3459001c3355002136570022365b00243555
+0023324f00202e45001e2d3e00192f410014314700113650001338580010385d
+0009326d000634750004377e00093b8e000f419500134796001a4492001d488f
+001e4b950024509700255698002555970026559000204d8a001c458200173d7c
+000e317800092b7500042673000125700002276c0001266c0001276d00052c74
+0008357c0010418400194d8e001e559400255b9c002763a2002869a8002f6fad
+002e6dac002c66a700265da0001c549700174a8d00114083000c34760007276b
+00021d620001165f0001156300021a6900021d710004267600082b79000d2d7c
+0012357f0016397f00183e7b001b3f71001e3c63001f38580020354e001f3349
+001d3246001d3246001e3147001d3249001f374d00233c51002a425800324a5f
+003a506600455d6e00536975005b707f005c708400586c860053698500536880
+"/>
+<palette number="593" name="Morning_Glories_at_Night" data="002b3e93002f4498002c44920029448c00254582002246780022487200224b6d
+00215358001e534c001b534100174e3900134a31000f472d000c4429000b4427
+000a4525000b4322000b3f24000b3c26000b3927000b3628000a3526000a3525
+0007381c00063c1a00064119000d471f00144d2600164e2d00195035001c5240
+001f5348001b5447001d5647001f59480022584e0026585500285659002a545e
+002a496700274663002544600025435900254352002542500026414f00263e50
+00283a520027325600272f5700272c5800262857002625560025245400242453
+001f1f4f001f1c4e0020194d0020164d0021134e0021134e0021134e0020134e
+001e154d001f184b001e1949001d1a48001c1a47001c1b47001a194400161941
+00101c39000e1f33000c232d000a272800082c2300072d2000062e1e00062f1e
+0008322000153e2e001f4b3c002a584a002d5d510031635800376865003a6972
+003c628a004062930044629c0046639f004964a2004a64a3004962a100465e9b
+004054960035428a0033408800313e87003240860034428600384784003e4c82
+00495a83004c5e88004f628e004f639200506497004f66a0004e66a7004e68ab
+004f69ab00516aac005068ad004f67ae004b63b100465db1004156ad003d4da8
+0037409800333b9000303688002e3484002c338100272e770023296f001e2365
+001e1f5d001d1b56001d1b57001e1c5800201f5800212258001f2358001f2357
+001e26550021285500242b5500252c5400272e5300282f5100272f500024304f
+00212e4e001d2b57001d2b59001e2c5c00232f630028336a002f3b6f00344275
+003d4a7d003b4a7b003a4b7900384a740035496d00334a6300314b59002f4953
+0030474f00243d4a00203a49001d37480016334300112e3c000c2937000c2436
+000d1d3b000d1c3f000d1b43000f1c4d00121b5300151c5700181d5a00181d5a
+00181d5b00161d5d00151f6300141f6b00151f730017207d001821830018248a
+00192890001a2b90001b2e910020359100273e92002f489100375392003d5d90
+0040639300426696004366980044669b0044679c0045679d0047679b0045679b
+0040649d003b5c9f003454a2002c4ba4002543a400203ba0001e3898001e3691
+001e338a001e3287001f3086001d2f8300192c7f00172b7900182a7200192a6a
+001c296600212c6600293367002e386b0032416e00374c70003a5571003d5b73
+0041617b00476983004d6c8d004f6e960051729d0050759f004d729e00496f9c
+00476a9a0046659900455f9800445c96004359920040558c003d5182003a4e78
+00394b7000394969003a4a6300394b5f00374a5d00374a5d00354a5c00314860
+002f4465002d406b00293e7100263a750024377b002437800024388700273a8d
+"/>
+<palette number="594" name="Moss" data="008b8b6d004b503b00383c2d0025281f001c1f160013160e0015160e0017160f
+003425190046342000584427006552330073613f0075653f00776a3f00736b41
+00706c43004e553f003c4635002b372c001f28230013191a000f1415000c1010
+000c0404000e02020011010000160201001c0302001d0302001f0402001e0600
+001d090200281711002e211800352c1f003e392c00474739004d4c3e00545244
+00675c4f006760550068655b0065605700625c54005a5b4f00535a4b00405343
+00314a38001b352100122e1b000a2716001025150016231400182414001b2614
+001e251b001c2316001a21120015190d00111209000f0e07000e0b06000f0803
+00190a0300331d1600442c1f00553c290061442f006d4c36007e5d4800886c5b
+0095856900918465008e84620083795e00786f5a006f68520067614b0057513a
+0048403000362b250035232100341c1d00351e1e0036212000382b270042372f
+0052413c0052453e005249410051473f0051463e004f443600473c2f00413727
+003c2e22003a2b16003e301d0043362500483a2a004e3f2f0057483700605443
+007f7c6d00898c7e00939d90008ea3970089aa9f0087bbaa0082c0a90088c2ae
+0084b9aa0074a69200729f8b0070988500738b7a00727f740069716b00546361
+0032504b002442430016343c00102d35000a272e00021e1e0001131500020c10
+0004090d0011150e00161a12001c1f1600272a21002e362b003640330039493b
+003855410034614800316e4f00336d5100356d5400376e560040705700447b5e
+00517c630071786700767b69007c7e6b00878769008d906c00919d6d0096aa7c
+00a5c29200a5c58f00a5c98c00a3c689009cc7870099be8c008ab987007caf84
+0076ab7c006c937300628f7400588c75004f8e72005a8570005c786100556b56
+003e533d00394a3800344233002f382f002d302d002e302a002f33280038392a
+00413f2d004e3e2d00563e2b005e3a25005d391e005c3316005c2b12005e2412
+0054321d0053372200523d270054453300534f3d00515a47004b614a00436148
+0039644000306437002a5d32002a542e002a502c00284c280029472a0030442d
+00394330003a3e2f0038372b0034322600302c1d0029221400241a0d001c1308
+00170f0700140c0700190d090020140b0029201300352b1c00433327004f3e2c
+00584d350063583b006c5f4100706445007168470070684700716943006d6942
+00686740005f5f36005255280045471e00353c1c00283114001b260900111b00
+000815000005170500091c0d00112518001c2e2200273c2e00354a3d004a5e47
+00646f5200797c5a0089896900999a6c00acac7000b9b57100c4c18700cdca98
+00dbd8a600e0deac00e8e9ba00e7e4bf00e1dcb400d0cbab00c0c09f00aaa992
+"/>
+<palette number="595" name="Moss2" data="005264390058693c0055663c0052643d004f5f3b004c5b3a004c5a37004c5a34
+004a562d0047522c00454f2c00434c2c0041492d003f4529003d4225003a3f22
+00383d2000303118002b2c160026271500202113001b1b12001818100016150f
+000e0c08000b0a060009090400080a0600070b0800070b0800070c0900081009
+000b130900111e0b0014210b0017250c0019240b001b240b001c250b001e260c
+00262a0f00282c0f002b2e0f002a2b0e0029290e0028280e0028270f00282611
+002b2612002b2813002825120025221100211e11001d1b11001d1a11001d1912
+001e1a18001f1d1a0021201c00262620002c2c24002f2f2600333328003d3b2e
+004643310056572b005f612900686c27006d71270072762800787a2f007d8035
+007e8337007c8436007b85350077813c00747e4300727b470070794c006a7355
+00646e5d00626d5c00606b5a005e6a59005d6858005c6658005a625800596055
+00585b4a005759440057573f0056563d0056563c0057553a0057553800555235
+00535134004f51360052573a00555e3e00566141005765440059694a0057684d
+004f5f4d004a5a49004656450044544300435241003e4c3c00364437002f3c30
+002934280022271b002125180021241600202212001f2110001f221100202512
+00272a19002b2c1a002f2f1c002f311c0030331d0034381d00383c1d003c421e
+00434821004b5528004d572900505a2b00535e2800576428005c69290063702e
+006d7941006f7c460072804c0073804d0074814e0075824d0074824f00748053
+00707d5300686f4f00666b4c00646749005e5f410057573a004f4e320047442a
+0037311e00342d1a00322917002b24150026211400232015002223170021261a
+0022291b0022312200213123002132250022342500203326001f3023001f2f24
+001c2d28001d2e29001f302b0022342d0025372e002a3c31002e423a00344741
+003d514900485c500050665200566d53005a7556005975550056725200546e4d
+00485c380044573400415330003a4b2a00314224002a3e1e0025391900203415
+001f2f1200202b1200202614002026150022281800252e1c002d362000374023
+00434b26004e542b00595d330062683b006d71450074784c007f845100888e54
+009093590093975c00949761008e916200898b620083875d007c7f5700737850
+006b714b0060674600525b450048534300414b41003a453e0036413b00323d3a
+002b373b0024323d00222d3d001e2739001e2431001f232d00202229001d2126
+001b1f2400181d2100191d1d001b1e1b001e211b0022261e00252b2300273028
+002b352e00303c330035453600394a3a003d4e3a003e4f3b003e4f3b003d503b
+0040553a00435a3c00495d3a004c603a004d5f3b004c5e3a004c5d38004d5f38
+"/>
+<palette number="596" name="Motel_Decor" data="00ec5f2400e5371300e8273000ec184d00e7225e00e32c6f00eb2f7100f43274
+00d2465200c7414a00bd3c4200b72b4600b11b4b00a8125300a00a5c009c0b59
+00980c5600741c520064214b00552745004e3746004747470043514700405c47
+00457a4f0046824800478a4200527a3a005e6b33005f642b00615e24005f4d19
+00544811004a3017003d2c1d00302923003b252d004621380050273d005a2d43
+00a0617400c1926500e3c35700cdda5800b8f15a00b2f84500adff310099e630
+0080d728007ea524008093210083811e007268250061502d0059492d0051422d
+00363a30002f522e00296b2c00266c2b00236e2b0022742c00217b2d0014612e
+000e452600132c230015241b00171d13001b1914002016160024182100231820
+003c24370046323c00514142005d464900694c51006449500060474f005f4052
+005b3a5000484245004c463d00514a35004b4d3300465132003a4d2e0036482c
+00283a2d00332e33003f233a004b253e005727430071294f00932e5a00a84362
+00af5e6700af6f66009c6c5d008a6954007c5d4b006f52430059463a00483b29
+00421e1800561a12006a170d006f140f00751111007f0d1400880d1700810e20
+0084113100971d5c00a4246800b22b7400cd3b7900e2666900fb9a5f00ffbb5c
+00fff62400f3dd3400e8c44500e3b93f00deae3a00c7894300a8664d00975a50
+00904c52008b3a5e0082365f0079336000752d59006b265600512b4f00403246
+002e2947002d233f002c1e37002e163900310e3b0032093600370a2b003f0d2b
+004a132800552824005b2a2800622c2d006c283000743a2b00794336007d4c46
+006a713800627737005a7d3600487a300038702900275f22001b4b21001b3520
+00192322001723270017282400172e2100133a2600134624001c4d270024562c
+004c593f00555944005f5a4a00676254007b64590093625c006e4a55005a3b43
+008a46430085313000842c1e00af4a2400c8591b00d55a1200d65c1300cd570d
+00b1350a00aa330e00a43212009f3a1e0094482b0092562c00907437008f9041
+00959e320097b72c00a0c83200a9c93200acdb2e00c8d82100cdb21b00b69a1e
+00b67e1800a7500d00882c0d00711612005b0412004f001400470013003c0212
+00310018002b011e00280723001e0727001804270019072700120323000f0123
+0018002400160021000f00220013002b0012042c000812270003202700082228
+000c272300132c1d0021231c0029171e00350e1600420a1300480318004a0017
+0047031c004a0920004f0a2100500f1d0056160c00691809006f2b0e00643705
+00653509005a401600474b220040462d00373c31003742350037453600334533
+003d5a21005c6714006f6517007f7d0d00af8b0d00d57d2100e6762200ec741d
+"/>
+<palette number="597" name="Muddy" data="00503f3200594533005a4533005c4634005c4432005c43300059433000564331
+005445350056473600594a38005a4c3b005b4f3e005b5040005b5142005b5143
+005b5244005752450056514400565143005650410056503f0056503f00565040
+00565141005551410055514200534f4000514d3f00504c3d00504c3b004d4837
+004b443300453f2d00413d2d003e3b2d003b3a2f00383a3200373b3300373c35
+003a413b003e443c0043473e00484a3f004e4e400052504100565243005e5646
+00665b48006f644f0071665000736852007266500072654e0070644d006f634c
+006c5f48006a5b44006858410063533f005f4f3d005b4c3a00584938004e4233
+00433a2c002e2d220027271d00202118001d1e16001b1c14001718100014140d
+00110e0900100e0900100f090013140e00161a14001a1e18001e231c002a2e26
+00373a330052534d005e5d57006a6861006e6b6400726f680076756d00797872
+007c7d74007d7f76007e8178007e8176007f81750081817300817e6f007e7969
+0078716300655a4b00584e3f004b423400453d2f003f382a00353021002e281a
+00281f1100281d0f00291b0d00291a0c00291a0b002b1a0b002c1c0d002d2010
+002e241400352b1a00372b1b00392c1c003e2f1e003f301f0042311f0044311e
+0043341f00423620004239210042392100433a2200443b2400433b2600423b26
+0040382500393322003631200033301f002e301e002a2f1c002a301c002a311e
+002d35240030372700333a2b00343b2c00353c2e00373d2f00373e300038402f
+0039402f003c4230003d4230003e42310042423200464232004a4133004d3f32
+004f3f2e004f3e2d004f3e2d004e3f2c004d3f2d004d3e2d004e3f2d00513f2e
+0054413000594435005a4536005b4637005c4a3a005b4d3d005a504100585244
+0056554800545448005354490051534a004e5149004c4f48004a4d4500494a42
+0048473f0045443b0043413800403d33003c372e0037322b00322f28002d2b25
+002a2720002b261f002c261e002e281e00322a1f00352d20003a312400403729
+00464034004e4a3e0059564b0066615800716d64007c786f00858178008b887e
+008f8c8100959286009b978c00a29f9200a9a69900afac9e00b3b0a100b6b1a2
+00b5af9f00aea79700a49d8d00999281009088760089806d00847b6600817860
+0083775d00887a5c008c7c5d008d7d5e008a7a5d0087785a00837458007d7055
+00776c5200706750006e644b006c624a006d6249006b5e4900685c4800645948
+005e564700575144004d4b410043433900393b3100333429002e2d230028281e
+0024231b00202019001d1e18001c1d1a001d201b0020221d0026251d002c281d
+002c291e002d291f002e292000312a2100342b2400382f28003a342d00433830
+"/>
+<palette number="598" name="Muddy_2" data="00634f4300524235005b4c400064564b006d5f540076685e0077685f00796961
+00776c6600706863006a646100605a570057514e004f49460048413e00443c38
+00413832003d322a003c302a003c2f2a003e322d004035310040363200403734
+00473732004b352c004f3327004d3024004c2e21004c2d20004c2d2000452d23
+003f2d2600382e2b00362d2b00342d2b00342d2900352d2800352c2700352b26
+0039281c003a2419003c2016003b1d13003a1a100038190f0036180f0033170f
+002e150d0025170f0022160f0020151000201711002019130021191300231913
+002a201a002e221d0033252000332622003428250032272400312623002c231f
+00291f1b001e1612002117130024181400271b16002a1e180035262000462e27
+005f3e2f006f463200804e36008c563700985e39009d613b00a2653d00a2653b
+00a0673f00865d440074554200634e41005d4b400058483f004f423a004b3c34
+004f392f00553c31005b4034005b4135005c4236005d4337005b473a00574537
+00503d300046302200452b1d00452718004528190045291a00492d2300503529
+005a4a40005f50470065564f00645550006355510060524e005a4d4900534443
+004d3e3b0045342d0045332b0046322900493122004e2e1b00542a16005a2814
+005d2b16005e2f1f006034280060392d00613e32006949380072544800776057
+00826f610084756c0084766b0084786b007e72640073625a0068574f005a4d46
+00453c3a00393433002e2d2d002b2a29002827250021221f001b1c1900181715
+001715110012100b00120f0a00130e0a00190d07001e0e0600221108002f1608
+0046230a004a250e004f281200592d1700643417006c3514006e371a0072391f
+007d371e007c45280079402b00773b2f00743f2e0068432f005e3e3100573a30
+00533d3300523d3300523d3300523c3200553b31005a3c33005d403400654537
+0075493d007a4b4200775043007650430070483e006241370053392f00463022
+00392418003824160037241500382519003c2b22004233280049382e004f3c33
+00533f3400543d3400533c34005038310049362e0043323000403031003f322f
+0040333100453634004e3e390056433d005d4a4000644d4400634c46005e4c44
+00594941004e403b003e363400352f2c002f28250028221f00251d1800281a15
+002c1a1700301c1800361e1a0038201d003a241f003d2620003f2821003c281f
+0038261d0034261b0032241b0030221b002f231b0033261f00382824003d2d28
+0043322c0045332e0046342e0047342d0047312800492c220048261e00482318
+00441e10003d170c00361309002b110700230e07001b0b06001a0b08001e0e0a
+0020120d002919130037231b00422f260055403700624b4200574037005b4438
+"/>
+<palette number="599" name="Muted_Rainbow" data="00c07b5300d1957400b8816600a06e58008962510072564a00675043005d4a3c
+00534f2c00504b24004e481c004b46200049452400413d2a003a353000373633
+003537360035413500454e3700555c39005e5d3000685f2800695e27006a5d27
+00684a270068462d006942340069463700694b3b00684e3b0068523b005b4d35
+00464a2e002e4b3200264c33001f4e34001d4f35001b5137001a543700195738
+00215d35002962350032673600446b3300576f31005f69320068643300796134
+008c613800a5643000b2733300bf823700cf9a4600dfb25500e3bb6500e8c575
+00f8e27100e8ca6e00d9b36b00b99155009a6f40008c593c007f443800662b2c
+00531e26004c14230059202600662c29006c332800723a2800814a2b009c652f
+00c79d2b00d4a72f00e1b13300d1b23600c2b33900bdac3400b8a53000af982e
+0099882600966d15008b5d1600814e1700774417006d3b180057341700462e1b
+002c1f170029251900272c1c00252c1d00232c1e002b2f240035322e003b3538
+00492f3a005e2c3b00622a35006629300066282c00672729006e2c2500783723
+009a451e00a7551b00b5661800bd6d1900c6741b00d1782300da7f2700e6832e
+00ea7b3100f7723000f2702d00ee6f2a00e97b2000de7a1700c7731500b27220
+007d552900604b300043423700393c34002f37320027332f0028362900363d20
+00573c1d0095421c00a13e1e00ad3b2000bc382300ba372a00b6332f00b33c36
+00ac523000b5652d00bf782a00c27a2900c67d2800c9882500c5911e00b68c21
+00a6811b0070651b0064591a00594e19004c3d1300482c18004e1e1d005f1b19
+00902e2300a1332400b2392500cf552700db772f00e9844500f5945f00f0a771
+00eca27d00e3977700e2966f00e2956700d68e4b00cb873800c6842800be7e21
+00be691d00c2631c00c65e1b00d64f2a00da452c00cb453100b53c4b00a43759
+007f415c0054415d004c3c5a0044415000394140004239350052392f005e3f31
+00793d38008040390087433a008d4a45008f4f480093544c00a4635500b17162
+00b16f6d00b4737900ba768600bb619600a34e990099528800a6538f00a35586
+00aa647100b1767100a48267009e8757008f884e00718a46006789360071862a
+0078852800808b2c008d923300949b32008b9238007b833f00658938004a7d38
+003767350029642c0021642d001c6d2f00237a3800307c460039825500468e62
+0056945d0052915100458b4d00408245003a773700346b330033643900455f40
+0066634500767545008a7d4700a4804d00aa7f5000a9765300ad705400b45f52
+00b3575600b65f5500c1574800cc563e00d95a3700d9513200ce502f00c74c23
+00ae3e1f008f3b280081402c00773c2700783e2800804030009e5b5100c18364
+"/>
+<palette number="600" name="Mystery" data="00500b0000400600003a04000034030000300200002c0100002a000000290000
+0024000000200000001d00000019000000160000001400000012000000120000
+00120101000b0308000d050c001008100019090f00220a0e00270b0e002d0d0f
+004a1813005c1d12006f2211007d2a17008c331d008f3a250092422d00964e3d
+0088554d006b6e8200667891006282a100577a99004d729100496d8d00466989
+0050576c0058495300613c3a00662e25006b2010006e1c0a0071180400741804
+00761803007c1802007e1801008118000080180000801800007e1800007d1800
+006d15010062120100580f01004e0c0100440a01003e090100390801002e0601
+00250301001d02010022030000270500002c06000032080100410e0300571504
+007328140075311f00783b2a00773b2a00763b2a006f3b2d00683c3100573d39
+00433d41002c30380028242d002419220024161e0024131b00251219002c0f14
+003c0a070042080300480700004a0700004d080000530a00005b0d0000651000
+0071140000861c0000901e00009b210000a0220000a5240000b0290000ba2d00
+00c8370700c93c0e00cb421500ce431500d1451500d8461300dc451100d54615
+00cb441700b6381100b1340d00ad300a00a02806008f2003007c1902006c1200
+00520a010049070100400501003c040100390301003204030029060900220a11
+001c0e1b0013223900112843000f2f4e00093555000534580003305200032f4f
+000f324e00152a40001c2332001c1f2b001d1c25001b1c26001c202d00282a34
+0037323b005c4241005f43410062444200734b42007f4a3e00964e3900a84b2d
+00b63e1600b43a1200b2360e00aa350f0096311100822e13006e2914005a2213
+004b1e1300251715001d14140016111300090a0f000506090005020300080102
+00180302001e04020024050200340a0200480e01005f140000781b0100912202
+00a9290200bc300300ce360200de3b0100eb3f0200f6430300fa450400fa4705
+00f6490700f4490800f24a0a00ee470a00e6450a00e0410800db3f0700d73f09
+00d73f0900d73e0700d93d0500da3a0100da3a0000dc3a0000da3a0100d73901
+00d1350100c8320000bf2e0000b42b0000ab270000a32400009d210000991e00
+00961e0000941f0000921f0000901f00008d1e0000861c00007c190000701600
+00661300005d100000550e01004f0c01004c0b00004d0a0100530c02005c0f03
+0066140400711704007a1a0300831c0300881e0300891d0400861b04007f1902
+00771501006f120000650f00005c0b000055090000500800004e0900004e0a00
+004f0a0000500800005308000056080000590801005c0b01005f0c0100630d01
+00660d0000690d0100690f01006810010066110100631100005e0f0000570e00
+"/>
+<palette number="601" name="Neon" data="00153479001428880013239100131f9b00141ca300151aac001719af001918b2
+002514bb002c12be003411c1003d0fc000460ec000500cbd005a0bbb005f0ab9
+00650ab7007a07ad008308a6008c09a000930b99009b0e93009e0f9000a2108e
+00b0148600b6158400bc168300c1168500c6178700c8178900ca178b00cd1691
+00d0159700d112a400d011aa00d010b000ce10b300cc10b700ca10b700c911b8
+00c114b200bd16aa00ba18a300b71b9900b41e9000b31f8b00b2218700b02481
+00ad267b00a72c6e00a4316700a13760009c3f5b0098475600954a5400924e53
+00885e4e0084644800806a43007e703c007c7635007b7732007b792f007b792a
+007b7825007c6b1b0080621a00845a190086551a0088511c008e472100933e27
+00992e38009a2943009b254f0098245d0095246b00922672008f287900882f86
+00803892007251a5006c5ea900666cad006372ad006178ad005e84aa005f8ca4
+006a929400748f8d007f8c86008488830089858000927b7b009e727800aa6475
+00b5557400c5377900c4298000c31b8700bf168b00bc128f00b20b9800a608a0
+00870fae007719b3006724b9005f2abb005731be00493fc2003a4ec5002d5ec7
+00226fc9001491ca001399c90013a1c90017afc60020bbbf002ec3b9003fcab0
+0061cd9e0073c8930086c489008ec1810096be7a00a8b76d00b8b36000c6ae55
+00d1ab4b00dca63e00daa43c00d9a33a00d19e3800c59c3800b69a3c00a59a42
+008199530070945b0060906400588c680050896c00407f740032767c00256c84
+001a618b00134b960014459700154099001a369a00212d9b002a259c00321e9d
+004211a100460ea2004b0ca4005308a7005a05aa005f04af006204b3006104b9
+005e05bf00510acb004d0cce00490ed1004114d700381cdd002f24e300262de7
+00143bee00103dee000d40ef000745ef00044aee00014dea00004fe600004fe0
+00014cd8000347d0000540c700083abd000a34b4000e2eaa001229a000182496
+00261a830029197e002d187a00351670003c16660043185c004a1a5300511c4a
+00591e420060213a00672434006d262d00732a2600782e1f007d321900823613
+00883a0f008d3d0c00933f0a00994209009e460800a2480a00a5490e00a74914
+00a9491d00aa482600a9483100a4483c009d4b4700945052008b545c00815a69
+00775f730071647c0069698300626e88005b748a0055768c0052768d0052758d
+0055728c005b6c8a0061658800665f8500685783006b4c82006d4283006d3986
+006b30880067298b0063278c005b288d00522b8e0049308f0040379000363e90
+002d459000254d8e001e548b00195b86001560820013657e0012687a00126976
+001368710014646d00155e6a00165768001650680016486a0016416e00163a72
+"/>
+<palette number="602" name="Neon_Purple" data="00c039fe00cd3afd00c63bf600c03cf000b73ee700af40df00ac41da00aa42d6
+00a44cc400a157bf009e63bb009f72b900a082b700a08bb800a195ba00a196b8
+00a298b7009b8fc5008f8bca008487d0008086d5007c85da007881d800757dd6
+006a62d5005e55d3005348d1004c3ed3004535d6004432d4004330d200412fcf
+004b32c900593ab6005636ad005333a4004d2d9b00472793004424900041218d
+002f197e002415760019126e00131269000e1365000e1567000e1769000c1974
+000d2080000a26a5000c24b1000f23be00121dca001518d6001918da001e18df
+00331ef1004020f5004d22fa005d24fb006e27fd007628fd007e29fd008a2bfd
+008e2cfd008e2cfd00882af8008328f3007f27ee007b27ea007525de006f25d1
+006328bc005d29b600582bb1005229b0004d27af004b26ae004a26ae004824ad
+004925ae004b2ab9004e29c3005229ce005228d4005228db005525e6005923ef
+006824fb007326fc007e29fd00822afd00862bfd008e2dfd00962efd00992efd
+00992efc00922df600892cf000812beb007b2aea007629e9006c2ae8006528e8
+005624eb005123e9004d22e8004920e700461ee7004120e7003e20ea003e20ec
+003f20f2005123fa005422fb005822fc005822fc005a23fe005923fd005923fc
+005a26f5005b28ee005d2be8005f2ee6006131e4006737e0006a3cde006e41e1
+007242e2007540e0007340df007240df007240de006f3dda00693fdb00643cdc
+006032df005b2de0005729e1005426df005223de00441fdb00371bd5002b19cf
+002116c8001313bf001413bc001513ba001414b4001515ad00191da5001c229d
+0020299200212a9100222b900021248b00232087002a248400332983003f3082
+004c3a84005d4792006148960065499a006a4ca3006e4fac007251b3007a53bd
+008e57d1009557d4009c58d700a759df00b15ae700b45fe800b261e800b061e8
+00ab5fe400a45dde00a15bd600a358d100a159cb009b5cc5009560c1008d5eb9
+007257b1006953b1006050b1005247b400443eb900393bc3003237c8002d37ce
+00262ed400202fd8001a2ddd001530e1001030e9000832f0000934f4001338f5
+00203ff3002a45f3003349f0003b47ed00424aed004a47ee005752f0006b59f1
+007c64f3008e6ef500a174f400ae75f400b971f400bf6ef500c467f500c460f6
+00c05ef900bd59fa00b851fc00b249fd00ad43fd00a63cfd00a234fc009d30fc
+00952efc00912dfc008d2cfc00892afd008529fd007c27fc007525f7007223f0
+006c21e6006b21d9006520cc00621fc0005e1dba00571db500521cb100451aa9
+003719a6002a16a00020159c0017139c001915a4002317b0002f1ab8003c1ec5
+004920d0005323d9005823de006326e6007229f000842ef5009933f900ad36fc
+"/>
+<palette number="603" name="Night_Flower" data="00273c48003f487a002b515d00175a40000f4d330008402700063a1f00043518
+0004311500093018000e2f1c001d2736002c1f51003d1c6a004e1a8400581595
+006310a6007512c4007110bf006e0ebb00630bb2005908a9005506a10051049a
+004c0294004e01930050009200510195005303990054029b0055029d005a01a2
+006004a600730ab9007810bc007e16bf007917c0007419c2007017ba006c16b3
+00490c8c003b0c6c002d0c4c002710330021151a001d1715001a191000151c0e
+0013281500154331001b494300214f550031436b004238820048308a004f2993
+005d06a400560791004f087e003d0a63002c0c4800240e39001c112b00131b15
+000b1f0f0003260c0003240b0003230a000321090003200900031a0800041608
+00040f0500060e0b00090d1100140929001f05410028094e00320d5c00461280
+005d10a4008122cf008421d3008820d700851dd500821bd3007315c0006411ac
+00470b88003a126a002d1a4c002719440022183d001a1f2d00132a19000e2a16
+0011271e0003301900033019000331190002301500012f120001310b00013008
+00002b0100002601000022020000200200001e0200001b040000170600021507
+0003180a00062513000a2817000e2c1b0019362200223e2d0023493900225242
+00205948001955420012523c00104f34000f4c2c000a4320000c3c16000a360b
+0006310400032d0400032c0400032b0500022906000126070001250a0001260d
+0001280d00012c0a000230080001310800013308000234090004350f00063d16
+000845220015543d0014563d0013583d0018503d0021453a001c3a2c001c2d22
+0024142c0026103700290c4300380f540047086e004f00890053029200550e87
+004f1b7400302d4400273136001e36280017371c000f351200082f0d0007280e
+00101c1000121a1000141911001b181300241a16002b1f1d002e1c3200321445
+0036174700361a4900351747002f1140002a1731002c1a33002f104500330c52
+004f039000570499005f06a200690bb2007413c0007f1bcd008423d6008429d8
+00822ad6007a23cb006e1ab9005f17aa00500c9700440385003a03800036027f
+003b017b0036037a002a086a002e0d52002e0d470020123400201c20002c221f
+0034292a003c3b37003d4b420037554900365a4c00295946001955390010482c
+000a381f00082c1500092410000d1e10001019110013161100191612001c1614
+00191712001a15100019120f0013120c000f120a000d100a0009120a0007140a
+0006140a0006150a0007150a000617090007190a0007190900061b0900061f0b
+0007200d0006230d0005270d00052c0a00083507000b38080012340c001f3813
+00273a1a003034290036313900312a3a002925330021292e00312055003e1f67
+"/>
+<palette number="604" name="Night_Reeds" data="00454847002c3a2c001a2b1b00091c0a000f200a0015250b001b270d00222a0f
+003f3b11004d4810005b550f006a6119007a6d2300816f300089723d0087723f
+008572410071693e00615c3d00524f3c00443d3500362c2e002f262800292023
+0013140c000e1008000a0c0400080b0300070a0300060a0300060b0400050d05
+00050e0500051104000515040005190400071c04000a2005000c2105000e2305
+00102a0700122f08001534090018360a001c390c001d390d001e390e001d370d
+001c360d001a340e0018330c0016330b0014320a001232090012320900133209
+0016380a00193c0a001d410b0021450d00254a1000294c11002d4f1200375415
+0044571a0051573100515639005256410051543e0051523c004d4e3900454838
+00363f3b002b3c2f00203924001b38190016370f0016370e0016370e0017370e
+0018370f001a370f001d391000213c1200233e140026411600304a1900415527
+00616e4500657048006a734b006b744a006d754a006c794c006b7a4e0069754f
+005c6845003b5225002f4b1a0024440f00213f0e001f3b0d001a350b00152f0a
+000e2308000c1e08000b1a08000a19080009190900091a0a000b1c0a000f2109
+00132309001a2708001d26070021260700292b06002e2e03002d310400282e04
+00241e0500201c04001d1a040018180300141703000d110200070b0200040603
+0002030300000102000001020000020300000304000004050000060600020607
+000a0c0e001010150017151c001a171f001d1a220024212300282823002a2e26
+002e332600343a2900333b2700323c25002d3c2100283b1c00223819001f3316
+001726140015231400132014000e1b13000b16120007121100050e1000040c0f
+00040b0f00070e0d00080f0e0009110f000e141100161813001b181400201813
+001f1712001f171200201813001e1313001d101300190d110012090e000c070c
+0006050900030308000103070001030500000404000005030000070200000901
+00020f01000312010005150200061c020008210300092605000c2806000e2a08
+000f2d0900102d09000f2c0a000d290a000c240b000a1f0a00091a0800081507
+0007100600080d0600090b05000a0a05000b0b05000c0b06000f0e080015120a
+001e140f00241512002316170022181800221f190027261c00302d1d00353321
+003a3b21003c441f003a4c1e003c511b003a5119003a4f14003c4a10003b470f
+003c460d0040450d0045430a004e3d070055370600573505005b370c005b3c10
+005b4113005a3f1300544010004e3e1300423c1600353e1900293d1800214014
+001e3f11001c3d0f001b3a0f0019360e0017310e00142c0f0013281100192919
+00242b2600302f34003d38440049464e0044414700413f45003d3c400038363e
+"/>
+<palette number="605" name="No_Clue" data="0073535c00775167007a526b007d5370007d536f007d536e007f546c0081566b
+00946157009e674d00a86e4300ad743e00b37b3900b5843300b78d2d00b7902a
+00b8942700b3a61e00b2a81d00b1ab1c00ada42300a99d2a00a6972e00a49233
+00987a49009071510089695900846161007f5a69007d556c007b5170007a4879
+007c3c7b007c2382007a208500781d88007522860073288400732c8200743181
+0083426c008c475f00954d530099574c009e6146009d6645009d6c44009b7843
+009a8342009c8e4200a38d3f00aa8d3d00b08e3900b68f3500b7913400b89333
+00b6993000b3973200b0963400ad943500aa933600a9923600a9913600a99037
+00a88f3700a78c3900a28341009d7b490099764d00957252008e655b00865b67
+00764d7f006e458800663d910060329b005a27a6005822aa00561daf005413b6
+00520ebb005208be005409bc00560bbb00570bbb00580bbb005b09bc005c08bd
+005f05c1006104c0006304c0006504be006705bd006705bc006708b900640ab4
+005f0dac0053109c004e1595004a1b8e004b1e8b004c2189005029840057307f
+00663571006d325f0075304d00762f4800782f44007e2d3f00832b3f00872c43
+008e2d4b0097296100992562009c2263009d1a69009c136d009a116f0097156d
+0094286a00933467009340640094466100964c5f0099555900995d5600996653
+00986f52009a7b48009a7d46009b7f45009e824400a07e4400a1774600a26f48
+00a5584500a34f4300a14641009d4241009a3e410091394200853343007a2e47
+00722945006a1c4400691c4400691d4500671e4600642348005d255000502a5b
+003f3265003f3267003f326900443570004b3a7300553e77005c437c00634c80
+00675381007b6274007f666d00836a66008b745e00937d55009a824e00a0874a
+00a48c4600a58c4400a68d4300a78d4100a78e4000a48d42009e8b440095884b
+008e80520088775a00836c61007e606f0077577b00714f83006a4889005d4092
+00472fa500432ca800402aac003c20b2003718b2003713af00380ea900350ea1
+00310d99002f0e90002d1288002d1383002d157b002a1574002d1672002c1a70
+00281f6c0027236800272d63002836630029446100274f5c002a545f002f5665
+0034566a003a536e0041517000454f700048546c0047596300475e5300445b47
+004a563f004b513e0054404500583550005d2959005f2261005c1f6700541f6c
+004e206d0044246f004224740040237600402177004120790041237c00452481
+004c2483004e23820050258400552682005a297d00612c74006a336800733b5a
+00803e490089413e008e45390091443b0092443e00924440009047400092563d
+00935e3800926637008f6c3800896e3c00836a41007d62460072574f00725558
+"/>
+<palette number="606" name="Nonsense" data="008da65100abac4d00b3ba4b00bcc84a00c3ce4b00cad54d00c6d05000c3cb53
+00a0a75f009195710083838400736f9200645ca000514ba5003f3baa003834a8
+00322ea600292597002e208e00331c85003d208200472580004e2a8300563087
+00764ea000865fad009671bb00a389bf00b0a1c400b5abc000bab5bc00c6bfb2
+00c5bfa000aeaa7a00a49f66009b9453008d7f49007f6b4000725e3e0065523d
+003b2d5500312b670027297a00252e860024349300273696002b389a0030369b
+0038379800423c91004a388e0053348c004f2e87004c29820048268300442485
+00332298002c2ea000263ba9002e4ba400365ca0003a629c003f689900447591
+00407789004a6e820057687a0065637300695a6f006d516c006840620066315a
+006d2241006b193a006a10340060163700561c3b0053213e0050264200442c45
+0037284b0017245100132a53000f3155000e3052000e304f000e3141000a2631
+000e1d1b00111e1700141f1400131d1400121b140014181b00131c1d001a1f1b
+0020201a00261b2600291b2b002c1c3000311a3000361930004019320048193f
+00482261004721690046217100431f7800411e80003b2193002d23ac00252ebf
+00223bc200254dcb002750d1002a53d800365cea004870eb005080e9005b8fe3
+006fabe4007cb2df0089bada0089b7d60089b4d20081aacb006da4cf0065a4ce
+0061a2ca00679ab9006697b7006695b5005f95a7005c92980054818800577971
+005b6e4d00526b3d004a692d0045632700405d21003f511a0041461800474219
+004844220049493e004c4746004f454f0051405400563952005433500057354c
+005c3647006137410067383b006f3c2d007841230083431c0085431f00883a1f
+008b331c00892b2400872a2b00852a32007e293e00792a4400742d4800753848
+00754c4e0070504e006b554e005e584a00585d4100565f4200646940006b7640
+006f804300738c4100719445007fa252008eb760009fc67100add68500afe091
+00abdea900aad6a600aacea400adb99e00b7b09a00c0ac9200c5b38e00ceb57f
+00ccad6700d2a95300d7b03e00d8c13400e0d32e00d8dc2d00cdd13100bcc639
+00a0ba460092ac550086a962007f9e6e00819977007a9a860081989e00879caa
+008e9aae009890a6009a8f99009b899700958891008a848e0078778200667378
+005a727800527f780054927f0059a1820064b58e0074c59d0080d3a7008fddaf
+009ce0ae00aedfae00c1d9ae00ced0a400d7ca9600d4c38100d7bd6b00dfb760
+00eaab5400f5a34900ed9b4100e4923600d3882e00c17b2f00b66e3200a3653c
+0094634d00805e56006b5a5a0059575a00485155003f5855003b645b003a6f5d
+003a7a5e00387b55003b76460043743d004c7439005b7a4200688c49007a9c4f
+"/>
+<palette number="607" name="Oak_Tree" data="005a451f0069532b006c562e00705a32006f5e37006e623d006d643e006d663f
+00786c3e007e714000847643008d7d4d009784570096855f0096866700958667
+009586680085726800817360007e7558007e7352007e724c007f744600817740
+008f6422008f6416008f650b008d5e0d008b581000855810007f5910006e5315
+005f4218003c27130039210d00361c08004320050050240300572a09005f310f
+0078462800744d380071544800745f4f00776a56007c6f5a0081745f00968767
+00a3977600cab99900d1c29600d8cc9300dec78100e4c27000e0c16600dcc05d
+00d4b26d00cfb57600cab98000c3b47f00bcaf7e00b2a57800a89b72008f835f
+00786e4d0051493b00413c2f00322f24002d2a200028261d00201d1600201c0e
+0031290e003c2f0f0047351000543e170061481e0064492100684a24005a4324
+0056472000533b1f0054391d0056381b005a371d005f371f0068371f006f3d18
+0069412200634522005d4923005949270055492b0054493400574c3a00574c3b
+0058493c0058443b004d3b340042332e003c2e2900372a24002a201e00221919
+002a1c180036241b00422c1f00482f1f004e331f00583b1f005942210059471f
+005a491e004f4623004d4524004b452600453f2700433a2a00433b2b00433c29
+005842240066502700755e2a00806429008c6b290099762a009d732e009d782e
+0097763000745e4200705f48006d614e006c6760007475770084858600928b89
+00a99f8900ac9a7900b0956a00af936600ae926200af8e6300b59a6300b39c63
+00b0976200a08d4b00978343008e793b0080652700684f1d00553f1a004a3718
+0043311d00463421004a372500583d2e006a4332007c4e350088533900915938
+00946236008b563800885337008650360080493700783e340070373200653533
+00513c35004c3c3500473d3600433e3600423f37003f3f31003c3a29003b3424
+00342e20002f271a003326150038291b003d2d220049392b0060493900785c47
+008f785b00947b5b00997f5c0095845a008d7c59008173520075664900695841
+005f4f3a005b463300573e2d005b3b2600693d1b0071411700764819007c4b14
+00774d17006b4e1f00604b25005b4930005b4738005f4a3800675639006e5b3c
+00725b3800726136006f6337006a5c350065553500605439005a513a00584c3a
+00554d3b00534e3b0057503e005e554200605845005f5c4a005f5f4b00585b47
+0053564000505138004a472d004a3d24004f3623005133240055352400603925
+006a42270073502c00805d3000916836009a7541009c7c48009d7b4c009b7a51
+0093764d00866a4800775f43006851380057422e004a39240042321a003e3015
+003e2f1200422c0d00493010004d2d16004d2c14005131130053341a00543a1f
+"/>
+<palette number="608" name="Ocean_Mist" data="0075c3c40071b1af0069a7a100629d9400589082004f8371004b7c6800487560
+00365e43002d58380025522d0024492900234126001e3824001a2f2300162d20
+00122b1d0011202000111c250012182b0010152b000f122c000f112d0010102e
+0013153b00161b41001a214700222c4b002a3850002f405000344851003b5454
+00405e5800487063004f7d6800578a6e005b947600609e7e00609f810061a084
+005d9c87005aa0890058a48c0057a08800569d850053977f0050927900478272
+003e746700305e57002e5953002c5550002a514b00294d4700274b4300264a40
+002a503d002f563d00355c3e00355d3c00355e3b00345d3c00345d3e00365a42
+003855490031464c002d3d4c002a344d00292f4f00282b510025255400251e53
+0022154900201846001e1c44001f2643002130430023354300263b44002d4544
+00335246003c6b4900406d4a0045704c00476e4e00496c51004a685600446256
+00324b4d002d3e4c0028314b00252b4a00232649001d204700161a4000131739
+001216350016213700182a3b001b333f001d3640001f394200273d4500303e49
+00393d5800393a5c00393760003d3561004134620047366e00523f7b005a4a86
+00625c94007578a100787f9f007c869e007a8d9c0077909700729091006d868c
+005b716c004b6561003b5957003756570033545800365856003f5c5400476455
+004c6a5600507858004f7855004f7853004d774d004a744900476e4500456941
+00345039002e48380028403700294137002b423800354a3c003a524100415d4b
+00476a5b00588c7b005a9481005c9d880062aa910065b39b0062b69d0060b59f
+005aad91005aab8e005aa98c0053a180004b987500448f6a003f8660003f7f5a
+003e7c56003e7453003e7354003f73560041715c00477763004e806a005b8974
+00739c920077a09a007ba5a2007facaa0082b1af007eb1af007ba9ae0076a3ab
+007095a2006b8c96005d82870051777700457367003e6a5a004068500040674b
+003b7049003a714800397347003d784700427a4900497b4c004b7e52004b7d59
+004d7f5f00517f660058847000638979006d8d8500799191007f9098007f959c
+007d9a99007f9e950089a492008ea3940091a397008aa2960086a496008aa995
+0090ae9c0099baaf00a1bfbd00aac6cf00b1cbda00b5ccdb00afd2d900a6cfcb
+009bc7bb008ebcac0082ac9f0072a093006194860052847a0044746e00386268
+00315263002d4760002c3f62002e3a67002f356d003135700034346e00383569
+003d3a68003a3a6700383c6800353b6a00343766003737640034346100303361
+002d366500313d6e003f497a00515c8700626e98007080a5007895b3007eaabf
+0084bdc80088cad1008ed0d5008ed4d5008ad6d50085d8d5007bd6d10078cdce
+"/>
+<palette number="609" name="Paige" data="005b564300595340005c5640005f5a4100675f40006f64400074663f0079693f
+00856e3d00856f3e0085713f0085764500867b4c008d845300948d5a009a925e
+00a0986300bab27300c4bd7900cec97f00d1cf8300d5d58800d3d58800d2d589
+00c4c68500b9bb8000aeb07b00a2a57500969b6f0091966c008c926900848c66
+00808764007b81630078806400767f650074806700738169007382690073836a
+007483690074806800747e6700707a64006d7662006b74600069725f00656c5a
+006065530056554300504c3e004b443a00453e37003f3935003e3734003d3534
+003e3735004238330046393100483c32004b3f33004b3f33004b403400493f32
+00463b31003d342e00362d2900302724002d2423002b222200251e21001f1b20
+0015151f0012121f00101020000d0e1f000b0c1f000a0b20000a0b21000a0a21
+000a0920000d0c2000100d2000140f200016112000181320001c182100231e22
+00332b24003d332700483c2b004b3d2a004f3f2a00544229005545290056462a
+0055472b0052482e00534b3200554e3700554e3800564f3900544f3b00514e3b
+0047473800424337003d4036003b3f36003a3e3700383e3900383e3d00383e3f
+003a4142003b4547003c4548003d4649003f4849003f4a4900404a4a0042494b
+0044494900474c49004b5049004f534a0054564b005d604c0066694c006f724b
+0077794c0086824800898447008c874600938b45009b914800a4994e00aca254
+00bab66900bfbd6f00c4c47600c6c67800c9c97a00cccb7c00cdcd7f00cecd80
+00cecb8000ccc98400cbc98400cac98500cbca8500ccca8200ceca7e00cec979
+00d0c87300cfc77300cfc77300cbc47300c8c47500c7c37600c7c37600c6c273
+00c6c27000c9c26d00c8c06c00c7bf6b00c1b76a00b7b06900aba568009d9762
+008079550079735100736e4e006a6447005e564000524b3c0046403900393535
+002d2a350022213300191c3300141b3500131c380016203a001a253c001f2c3e
+00303c4600354148003a464a0044514f00505b53005b665700676f5a006e765b
+00737a5d00767b5c00787a5b0077785a0075735600706f53006c694f0068624c
+00615c49005a55450056504300524d4300514b4100514b4100514d3f00554c3c
+00554b3900544936005549330056493300594932005d4b32005f503300625435
+00615435005f5134005a4d310051473000483e2c0040342900392f2800342c28
+00302a29002f2828002e2727002c2826002a282500292622002a2520002b2420
+002b2522002f292400352d28003e342b00483e2f0051473100594f3200605536
+005f573b005d593f005a5845005556480053554c0051544d004e544b0050554a
+0050554a004f544800545a4b00565c4b00575c4b00595c49005a5a49005b5844
+"/>
+<palette number="610" name="Paris" data="00b04c4100b74b4300bb494500bf484700c2474600c6474500c6474600c74848
+00c4524800c55e4c00c76b5100ce765700d6815d00db8c6000e0976400e09d66
+00e1a46900e3b57d00dfb08300dbab8900cea98c00c2a89000bbaa9100b5ac93
+009ea59800929b940086929000818b8a007c8584007c8182007c7e80007e7b7b
+008372760088646a007d5f6400725a5f0064585d0057575c0052585d004d5a5f
+0039616300365b5f0034565b0040515b004c4d5b00504d5b00544d5c005d4654
+00673b4800771a3800721b35006d1c33006c1f31006c232f0071213100771f34
+007f324400893e4800934b4c00a34e5100b3525700b4545a00b6565e00b36066
+00af686800a3796c009f8076009c8880009e8f8500a1968a00a5a78e00a7b893
+00b1cca200bad4a700c4dcad00c4dcac00c4ddab00c2d9aa00c0d5aa00bfcba5
+00c3c6a100c8bd9c00c7b79900c7b29600c8b29300c9b29100cdb38b00d1b086
+00cea28200c99c7c00c4967700c0927300bc8f7000b6856900b07b6100ad735f
+00a6735a008e735900836e56007869530074675200716651006e634f00695c4f
+00675748006f574600785844007d564500835446008e574700995b4700a56047
+00b0674900c4715b00c7725d00cb746000d2746000d6705f00d86b5d00da6b61
+00e06c6300e06a5f00e0685c00e0675900e0665700de665400e0685300e26c55
+00e3715600e7785100e7785000e8794f00e97e5000e9835400eb865500ee8856
+00ee865700ea885600e68a5600e5895600e4895700e1865a00de836000dc8162
+00d6806200cb7d6100c77c6300c37b6600bd786900b7736800b16a6400af655d
+00ae625800ae625600ae625500b05f5400b45f5300b9655500c36f5a00ce7c5d
+00d6876300de9f7000dea67400dead7800e2b87f00e6bd8400e6c08b00e4c08e
+00ceba9000cab78f00c7b58e00c5ad8a00c6a38500c2997d00bc8e7600b18671
+00ab7d6a00a67763009f725f00986d5d008e6a5a0088635900855d580084565a
+00804c5b0083475800864356008b404f00923949009536450092344300912f3c
+008e3436008d3c2f008b462d008c4f30008c5732008b5e37008f663800936f3e
+009c784700a5855400aa956100b29f6e00baa47300c2a47300cca47700d2a876
+00d4ac7900d5aa7800d3a27200cf936b00ca866400c17b6100b9725f00af7362
+00aa746700ac766d00af787000b6787100ba7e6d00bf866c00c98d6d00d2926c
+00db8f6900df8d6300df8d6100df8d6500e1926900e4966e00e79d7100e8a77a
+00e7af8500e8b98c00e8c39000e6cc8f00e5d28b00dbd38800d4cd8200d0c47b
+00c8bb7400c4b66b00bdb36a00b6b06700b1a76a00ad9e6f00a5956f009e8c6f
+00998b6c0093816800927767008f6a6300895b5f008f555800984e4d00a34c48
+"/>
+<palette number="611" name="Parrot" data="009c650800615b090049580e0032551400285217001f4f1a001b4d1800184c16
+00233a17002c39100036380a0035420b00344c0c002c59100024671400216d15
+001f7317002b831c0043891f005c9023006a8e3400788d460070854b00687d51
+00406f660030625c0020565200355f42004b683200566a2d00616c29007e7a34
+009e813900b07d4e00ae674e00ac524f009a45460088383e00872a3c00861d3a
+00620e270051092400410522003b051a00360512003e07160046091b0058121a
+006b221800923f12009b571500a5701900b3781d00c1812200c6842700cb882c
+00db682800e2552100ea421b00e9381600e82f1200ec341700f0391d00ea4a1e
+00ef622200f27b2100e17f1600d1840c00c0830b00af830a008c831000757a19
+003382310033713c0033604700345c43003659400043583b00515736005f562a
+00655e1a006c5b0a00554f17003f43240038372600312b2800271c3900221649
+0037054400510a3e006b103900731037007b113500881036009d113b00b0123f
+00bf0d3700ce143700cc153200ca172d00bd173100b117360098134300790f50
+00510c5b0042134e00341a410036193a00391934003a1d2000301e0d002a1606
+002f1306003c090b0045090a004e090900670806007c040e0091071400a20b11
+00a5123b00a01345009c144f0091184f00861d4f007622470067204000572339
+0046223d004424510048225c004c21670051257b00513e8d00545895005d6c8f
+004b8e95004c8483004d7b72004d746a004e6d620052605300673e4700882f33
+009d302000b1341600b43c0f00b8450900b2530f00b8631200c1690c00cb5f10
+00e3452d00e0393200de2d3700d81b4900cc255b00b41e66009213690077276a
+005b2c70003f276e0040266c0042266a0040226200482c570058324f00592f4b
+00653e490064394a0063354c005e2b4f0062214a0066183b006615330066142e
+00691323006f171700792514007c3614007d460f008f520c00a4670c00b07716
+00d9781b00e0772200e7762a00e5643400e5563300ed4b3600e3344200d12648
+00ca274100c22b4000b1344200a149480094524e00884d4500864a47007c4755
+0077394a0075333a006f392f006f3a1d00673a18006a38160072351700703e26
+007f46310096503300926235008f6a380092622a007e541b00674519004f2e17
+00321b140026121800230d2500210c3200290b34003911370052183c006a1f3b
+00822b360099373500aa3e3d00c03c4600c53d5100be455c00c04b5c00bb4b6e
+00ba4b8c00b15f8d009f648e009a63a5008a68a400695592004f4d8600495270
+004545560039323f00393432003b373400342a360027203e001e1c4f001f1756
+00231056002c0d4f0042174100571f3900752b2a009b411c00974d1a008e5913
+"/>
+<palette number="612" name="Pastel_Lime" data="001d8a230031a5410038b04f0040bc5e0047c56e004ece7e0053d2860058d68f
+0071e6ae0074e4b20078e2b6007adabc007dd2c30083d0c5008acec7008dcec5
+0090cfc4008fcbb4008dc8b4008bc5b5008ecab60091d0b70092d3b70094d7b8
+0088eab5007aecb7006deeb90065eab6005de7b40059e4b10056e1af0052ddad
+004dd8af004ad8b40056d4b30062d1b30073ccb20085c8b2008cc4b10094c1b1
+00b5c2b000bfc3b100cac5b200cac7b100cbcab000cacaaf00c9cbae00cacea9
+00c9d1a200c4cfa800bcd1b100b5d4ba00b4d9bb00b4dfbd00b4e1be00b5e4bf
+00bed8c700bacdd200b6c3dd00aebfdd00a6bcde00a0bddb009abed9009ac1d6
+0095c0da008abfea0081bfea0079c0eb0077c3e70075c7e40073ccdc006ecdd3
+0063cecb0060c8ca005dc3ca0069bbc60076b4c3007cabc00083a2bd008d94b7
+00988ab200a76d9d00b6659200c55e8800cc5c8200d35b7d00d95e7200d86069
+00c35b5900b55a5800a85a5800a9615a00aa695d00a4745e009f856400a1956e
+00a19d7700a7ad8c00aeb38d00b5ba8f00bcc19000c3c99100d0d59300cdd192
+00d1c98c00cac08100c4b77600c1b57000beb46b00b4b06100aca65900a19e4f
+009092430077832a00728025006d7e2000627c1a005d7a18005d721700617019
+0078511700814d17008b4917008d4816009047160094501b00995324009e4b2a
+00a14937009a4c4a00924f4d008a525100775e5a0068585c005256600048575f
+003e655b00406e590042785800447c580046805800468856004796510049a44d
+004caf48005bba4d005ebb500062bd530067c25a006bc962006bcc690066ce72
+0061cf7d0063ce7e0065cd800067ca840067c7850066c38c005fc097004fbaa1
+0045b19d00359c900034978c0033928800329081002b908e002596950023a09f
+002aaeaa002fb3a90035b8a80040c2af0048cab7004bd1c2004fd7cb0051dcd8
+0057dbe10062d8e60070d5e60079cee5007dcbe00080cadc0080c8d80084c5d5
+009cc0ca00a1bdc700a6bac500acb9bd00acbab200a8b9a200a6bc9800a4bc90
+009fbc920095c198008ac4a20077c29e0065c49c0057c38e004ec2850049c87d
+0049ce7e0048ca77004bc6730052c363005bb85b006ab056007eaf570090a75c
+009e9e6700aa9d6900ae9c6f00ac9e7a00a5a88700a4ae99009bb2af0090b8c1
+0084bdc90074c7cd005ed3cc0053ddcc004ce5ce0048ecd00047eed40048eed5
+0047edd3004cead10058e4d0006addd2007fd0ce008fbcc40097afb70099a2ac
+009a93a100948e9b00958b9400957f84008c7e72007b7e60006c7a5200557d49
+0047874b003f884c0038884500348b3e0032873a002b803600277c380028793a
+002372380025703400276c2d002868240026681e00266c1800207216001b7c1a
+"/>
+<palette number="613" name="Peace" data="003b44650034354d00262c410019233500182335001824360018243600182437
+001a263a001a273d001a2941001a2a44001a2b47001b2c49001c2e4b001c2f4c
+001d304e00243657002d3b5c0036406200484769005b4e710067547600745b7c
+008f6e93008f70980090729e009676a0009c7ba300a07da400a47fa500ab81a7
+00aa7fa6009c769800976f910092688a0091638100905f7900885a730080566d
+0052405800403850002f304800262c42001e283d001c273c001a273b0019273b
+0018273c0016273f0016273f001628400017273f0018273e0018273d0018273d
+0018273d0019273e001a283f001b2a40001d2c42001e2d44001f2e460021314b
+00253351002f3a5a00363d5f003d4165004243680048466b00504a7000564c74
+00554e78005650790057537b0053547d0050567f004c547f0048527f0041517b
+003d4e7800394e78003d4f790041507a0045507a004a507a0051507900575079
+005e537b006a557c0077587d00805a80008a5d83009c6b8d00a8759800b480a0
+00be89a700df9bb500eaa3be00f5acc700f4adca00f4aecd00eab0d200dbaacf
+00ba93be00a989b7009980b0008e7cad008479ab006f70a300586598004b5889
+003f4f7d0030456c002c42690029406600243c600021385b00203555001f3350
+001d2f4a001c2e48001c2d47001d2d46001e2d46001f2e46001f2e45001e2d44
+001d2c44001e2e46001e2e47001f2f49001f304a0020314d0020324f00203452
+002336560024385900263a5c00273b5e00283d60002b4167002e456d00304a74
+00324f7a00395c8a003b6090003e6596004873a300587bae006f83b3008286b4
+008a82ac00887fa900867ca60086779e00897093008160800073536d005b455c
+0045394d0026293700222632001f232e00191e2700161b2400171b2300161b23
+00161c2500151c2700151d2900161f2e0017223200192638001d2a3e00212f45
+0029365100363e5b004c496900675c7a0080748c00978da3009b9bb2009d9eba
+00999bb8009a9cb6009b9db5008897af006f89a30054729200385a7e002c496d
+00253d5f0022365600203350001f314d0021324d0025344d0028354c002a364c
+002a364c0029354d002a364e0028364f0028364f002736500024355200233655
+00233758002237590022375a002237590024375700253754002435500023324b
+00222f4600222e4400222d4200222d4300232f470023334c0025385500283e5e
+002b4367002c476d002e4a71002f4b7400314c7400324b720031486c002e4362
+002a3b59002736510025314a00222d4400202a3e001d2739001b253700192538
+001825390018263b0019273d001a293f001b2b43001c2e48001e324e00213756
+00243d600028436800394b720043507900414d73003f4a70002f456900344163
+"/>
+<palette number="614" name="Persia" data="00ec926f00eb846b00e1816500d77f5f00c87a5900b9755400b3715400ae6d54
+009d6c5800926e590087715b007b6d5b0070695b006b65570066615400665f51
+00675e4e0064523b00684731006d3c270074331e007c2b16007c2914007d2713
+008c281d009d2a2400ae2d2c00ac2e3000aa303500a23137009b333900923b3f
+008d434600824241006f4139005d4131004a412c0038422700303e2400293a21
+0022321600282e13002f2b110038230f00421c0d0047190d004d170d00551612
+005f1415006a131800661418006215190057191b004c1d1d0049222000462723
+004f503f005b604e0067705d007a7e65008d8c6e0097957300a19f7900b4ab86
+00c5b38f00d2ad8c00cba58600c49d8100bd947c00b78c7800ad756c009f6760
+008354480074483e00663c3500603733005a3231005b3633005d3a350060453a
+00604f400063605a006b666300736d6d00766f6e007a727000827970008b7e71
+009f897400a58e7700ab947a00ac967b00ad997c00ac997a00a9967900a39177
+00988a76007f7b6f00757067006b65600068615d00655d5b00655b5c00675f61
+0074707200817875008f80780097837a00a0877c00af907e00bc958200c19c80
+00c09e7b00a78f69009e88640096826000867555007a6a4e0069604400555440
+00353a340036322f00372b2b003a2a2b003d2a2b00432e30004d36360059433d
+006b4e4200885547008d54450092544300975641009e5a3b00a15036009a4b33
+0076342500622e21004f281d0046271e003e2620003124250020252a0015292d
+000e2930000d2c2f000f2b2e00122a2d001b2d2900252e26002e302700343328
+003e372e003f372d0041382c0043362b0041352c0038322e002f303300262d32
+001c252a0014141900161318001813170023171d002f1f25003d2a2e004a3635
+00675f50006e695900767362008687770092918200979d8d009aa492009ca792
+009ca791009c9b84009b8c7200997d5f00996b4f00995a3f00964b3100893b21
+0068240c00621f0b005c1a0a0054130d00470e1100330a1400220a1800110b1b
+000a0d1c0009131d000a161c00121b1900201f170033261700493218005d3d1e
+00694922007451280079562f007d5935008463400083704c0085785900868167
+00868370008d867400938977009e847500ab7d7000b5716900bf645f00c05a58
+00b74b4d00a73c42008f283300781a240064111d004f0d1a003e111b002a111b
+001b0f1700120d1400150a12001f0e11002d0f10003f150f00541a14006b201b
+00822a240095322800a13c2600ad432600b3432700ba422b00b9402e00af402e
+00a54528009747270093472c00964b33009d503f00a65c4700af6b5000b77a5b
+00c0886700cd927200db977700e89a7800f19c7800f39b7800f29c7600ee9a73
+"/>
+<palette number="615" name="Persia_2" data="00eccd6f00ebc16b00e1bc6500d7b75f00c8ae5900b9a55400b39e5400ae9854
+009d8c58009289590087865b007a7b5b006d705b00686b570063665400636651
+0064674e0063643b00686031006d5d2700745b1e007c5a16007c5914007d5813
+008c5c1d009d622400ae692c00ac672e00aa653000a26131009b5e3300925f3b
+008d634300826041006f5b39005d563100444c2c002b422700263e2500213a24
+00163217001d301400252f110033310f0042340d0047340d004d340d00553512
+005f3514006a3713006636140062351500573419004c331d0049352000463723
+0047503f0052604e005e705d006f7e6500808d6e008897730090a17900a8b486
+00bec58f00d2ce8c00cbc58600c4bc8100bdb37c00b7aa7800ad936c009f8560
+00836f480074613e0066533500604c33005a4531005b4833005d4c350060563a
+00605e400062635a006a69630073706d0076736e007a777000828170008b8a71
+009f9d7400a5a47700abab7a00aaac7b00aaad7c00a8ac7a00a6a97900a1a377
+00969876007c7f6f00737467006b6a600068665d0065625b00655f5b0067615f
+0074707000817d74008f8b780097917a00a0987c00afa77e00bcb18200c1bb80
+00c0be7b00a2a76900999e64009196600080865500767a4e00616944004c5540
+00343a36003535300037302b003a312a003d322a0043352e004d40360059503d
+006b614200887347008d76450092794300977f41009e893b00a18336009a7b33
+00765a2500624c21004f3f1d0046391e003e3420003129240020202a00151d2d
+000e1930000d1c2f000f1c2e00121d2d001b282d00252e2a002a3027002f3428
+003d3e2e003e3f2d0040412c0043412b00413f2c0038362e00302f3300262732
+001c1e2a00161419001713160018131400231717002f201f003d2e2a004a4035
+00646750006a6e5900707662007e8777008c9282008f9d8d0092a4920092a792
+0092a79100929c8400979b720099985f00998e4f0099843f0096793100896b21
+00684f0c0062470b005c400a0054340d0047250e0033120a00220a0c00180b1b
+000f0a1c0009091d000a0d1c0012181b001c20170033331700494918005d5b1e
+00686922007474280079792f007d7b3500848340007d834c007e8559007d8667
+007f867000888d7400909377009e977500ab987000b5946900bf915f00c08a58
+00b77c4b00a7683c008f4e2800783c1a00642b11004f1e0d003e1c11002a1211
+001b0f1100140d1200150a0c001f120e002d1c0f003f2b0f00543814006b451b
+008256240095662800a1762600ad822600b3842700ba862b00b9812e00af7b2e
+00a57f2800977b270093782c00967a33009d7c3f00a6884700af975000b7a55b
+00c0b16700cdbd7200dbc67700e8ce7800f1d57800f3d57800f2d57600eed473
+"/>
+<palette number="616" name="Persia_3" data="00af95ec00a591eb009f89e1009a81d7009279c8008a72b9008671b3008270ae
+007e719d007d7192007c718700756f7b006f6d70006a686b0065646600646166
+00645e6700594b64005141680049386d00423174003b2a7c0039287c0038277d
+003e338c00433d9d004948ae004a4aac004b4daa004b4da2004c4e9b00525492
+00595a8d0057568200514b6f004b405d0046384c0042313b003e2d34003a2a2e
+00321e26002f1b2a002c182f0028173800241742002218470021194d00231f55
+0023235f0024256a0024256600242662002627570029294c002d2b4900312e46
+00504c4f00605d5f00706f6f007e7a7e008d858d00978c9700a193a100b1a3b4
+00beafc500c0aed200b8a7cb00b0a0c400a89abd00a195b7008d88ad007e799f
+00655d8300575174004a45660045426000403f5a0043415b0047445d00504960
+00574f6000636363006b6b6b0073737300767676007a7a7a008282820089878b
+00978d9f009c91a500a195ab00a396ac00a598ad00a496ac00a194a9009c91a3
+00948e98007f7f7f00757575006b6b6b00686868006565650065656500676767
+0074747400818181008f8f8f00949297009996a000a29aaf00aaa0bc00ae9fc1
+00ae9ac0009a84a700927e9e008b7896007d6a860072617a0064556900544d55
+003a3a3a00373738003434370033333a0033333d003839430042424d004e4b59
+005b536b00675d8800675b8d00675a92006a5997006d549e006550a1005f4b9a
+00443876003b30620032294f00302946002e2a3e002c2c3100282a2600292d1c
+00293015002c2f14002b2e16002a2d19002d2a22002e2c2c00302e2f00333034
+003b383e003b373f003c3641003c3543003b364100373738003333330030322e
+00272a22001819180017181800161718001c1f230026292f0033353d0041414a
+00656067006d6a6e007675760087878700929292009d9d9d00a4a4a400a7a7a7
+00a7a7a7009c9c9c00968b9b00897799007c6799006c5799005d4996004c3789
+00321c68002c1a620026185c00201a5400191a4700121933000f1922000f1b13
+00101c0e00141d0d00161c0e001b1a16001f1c2000291f330038234900452d5d
+00513269005a3a74006142790064497d006e558400786183007f6e8500847c86
+00868586008c8b8d00928f9300948e9e00938bab008c86b500827ebf007977c0
+006868b7005759a7003f458f002d327800212a640019234f001b223e00171e2a
+0013171b00101412000d12150013141f0016162d001d193f0027215400312c6b
+003f398200494095005340a1005a41ad005b43b3005d49ba005c4bb900594aaf
+005b42a500593f97005a4393005f4b960066589d007161a600806caf008e78b7
+009c86c000a893cd00b09adb00b59de800b99ff100b89ff300b89df200b699ee
+"/>
+<palette number="617" name="Pink" data="00b63c6e00af346900ab316700a72f6500a52e6300a32e6200a22e6100a22e60
+009b2b5c0097285b0094255b0091245c008f235e009124600093266200962764
+009a296600aa2f6a00b0316a00b6336b00b9346a00bc366a00bc366900bc3768
+00b52f6100ae2b5e00a7275c00a0245c009a215c0097205c00951f5d00911e5e
+008e1e5e008d1d5e008e1e5e00901f5f00911f5e00921f5d00931e5b00941e5a
+00971e5500981f53009a2151009f235100a4265200a8285400ad2b5600b6335a
+00be3c6100d1516d00dc5b7600e7668000ed708c00f37a9800f57e9d00f782a3
+00ef82aa00e679a600de71a200d5699d00cc629900c75d9600c2599400b84d8c
+00ad4181009f3775009d3575009c3475009d3476009e347800a0347a00a2367c
+00ad3d7d00b4417f00bc468100c1498600c64c8b00c94e8d00cc518f00d05996
+00d65e9900d760a200d961a200db63a300dd66a300e069a400e571a300e77ca8
+00ef99b400f4a5b800f9b1bd00fab2bd00fbb4bd00feb4be00fcb0bc00f7abbd
+00f1a2b400e3809700dd6d8800d75a7900d3537300d04d6e00c7456600bf3e5f
+00b93b5b00b8395e00b7386200b3366300b0346400ab316600a5316800a33269
+00a1336c009f3172009f3173009f317400a3337200a6367000a9386c00ab386a
+00ad366b00aa346900a8326700a5306400a22e62009b285f0094245f008d1f61
+008a1d60008a1b5c008c1b5b008e1c5b00941f5c009d245c00a72d5c00b0365d
+00be3d5e00be3b5c00bf3a5b00bd3a5a00bb3a5900b6375800ad355600a22f56
+009b2955008d2153008a205200871f5100831d5300811e5600802058007e1f5a
+00741653007314530072135300731052007712550072115000730f4c00770f4a
+00800f4a00911552009317520095195300991a54009c1c55009f1f5800a1205b
+00a6265f00a7265f00a9275f00ac2c5f00ae2f6200ae346400b0386600b13a64
+00b03e6500b23f6700af416c00ac407000ab3e6f00a83f6e00ab3f6f00b14171
+00bf437800c3447800c7467900cc487b00cd4a7b00cd4a7e00c8487e00c5457d
+00c1407c00b93c7700b1367400a6316f00a02a6a009e2566009e2260009e205a
+009f215400a1225100a3235000a8255100aa265200ab265100aa295200a72b53
+00a72e5700a72f5c00a72f5f00a53262009f3364009a326600942f6700902965
+008c25620086235f00811f5e007c1b5d00791659007b1255007d11510080114e
+00841250008a15510092175100991b5100a01e5200a5215500a8255800ab285c
+00ad2c6200af316900b1367100b53c7800b9417e00bb458500bd4a8c00bc4d8e
+00be508e00bf4e8b00c04a8700bf478400bc437f00bb427a00bc417300be3f6e
+00c2406c00c4406b00c6416d00c8436d00c6416d00c23f6d00be3f6d00b93c6e
+"/>
+<palette number="618" name="Pollen" data="00737237008f8b2f00a69e3000bdb13100c6bd2e00cfca2c00d1cb2a00d3cc28
+00d8c82f00cdbf2b00c2b62700ada02600998a25007e70250063572500574d20
+004b431c0028210900231e06001e1c040025230a002d2b1100343116003b371b
+00625c3300766f43008b8253009c946800aea77d00b7b08800c1b99400d3c9a5
+00dbd2ab00d9d29f00d7cc9400d6c78900c6b87600b7a96300aa9d56009d924a
+0081691d0081551100824106007a360800732c0a006b2909006426090065200a
+00681a0700661b0b005c220e00522a12004e3214004b3a17004d3f19004f441c
+00605b2a006f6030007e6537008e6739009f6a3b00a16c3800a36f35009a7332
+008d6c29008c5b210087601c0082651700796616007168150068611300605914
+00564f11004e471100463f12003c331100332810002f240d002b210b00211c0a
+001e1b0c002628160031331d003d3f2500444529004c4c2e005a5d3800676b40
+00777940007d75390083713300896c32009068320093612f008e5d2900825a21
+007754190077441c006d411c00643f1d005b401d0053411d0046441d00414624
+004142270042422b0043422f004344330044473700494f3d00515643005d5e4b
+00656550006f7154007073530071755300767951007c805300838759008b8e5d
+0094976200999965009e9b6800a19b6b00a59c6f00aa9f7600b0a47c00b2ab84
+00b5ae8700b0a68800ada38600aba08400a49f82009ea08100969a7c00919777
+008e93690091966800959a6700989e66009ba26500a3aa6800b3b86900c2c568
+00ceca6b00d1cd7100d1ce7200d1cf7400d0d16f00cdcb6700c5c26400b9b460
+009c955900968d520091864c00837740007668350065582d0054452300453219
+0038241100201304001a100300140d02000b06010006030200050304000b0909
+001b1c18001e211b0022261f002a302300353c280044482c00535436005a5d3f
+006162460062664900666a47006c6d45006b7046006f70480072714e00797857
+009193690097996e009da07300abad8000bab88c00c5c49400d0ce9d00d1d09f
+00d0d1a500cccda600c4c79d00bbbe9500b1b08500a3a37d009593780086846b
+00767860006c6e4d0061644000575837004d4d2e00434425003c401b00373e16
+00353c170030381a002f331b002c2e1c002a2d1b002a2d1b00272c1e00282e20
+002b2b21002d2b1f00302d1e00312e1e0030321f0032311f00332f1e00312e1d
+002e2a1c00262a19002229160023291300252b12002c2d1500333518003a3e1d
+0045491f00505625005d602a0067692d006b6d2d006a6b290064642700595a25
+004c4e210040431b003839150033301400302a15002e2619002c261d00302920
+00373123003f382500464028004b4528005a522e00665f360071693b00777440
+"/>
+<palette number="619" name="Poppies" data="00ae2c2a00ce1a2900b2173000971537008f122a0088101e008b1820008f2123
+006b361d004b3919002c3d150028350e00242d08003c2f050054310300643208
+0074330d00746133005f7b56004b95790055979100609aa90064a2a70068aba5
+00af708f00be537400cd375a00cd304500ce2a3000c2262c00b6232900a4312b
+00973829009d393e00a6393f00af3a4100a84a3300a15b2600a2692600a37827
+0092984f00949d6e0097a38d0099a497009ca6a2009d9e9a009f97930096958b
+008a837c005e775e00436c4a00286136002d5f2c00335e220043672100537120
+00b68c2800d37d3900f16f4b00f2644500f4593f00f1673900ef763400db7a17
+00c2a91100a9971f00b37f2800be683100c16d3a00c4724300b6815100b2a17b
+0091af7d0079aa620061a5480047a035002d9c2300258f20001e821d001b7813
+00196216002d56040040560b0054561300605110006d4d0e0093411900af2c15
+00e0110a00eb170d00f61d1100f21f1100ee221100e1452500d4491700be5016
+00ac5308007c5c19005f622a0043693b002f6d3a001c7239001c8130000c8f29
+000e9c19002b942f00498d4600698752008a825e00b3687800d5697f00e17089
+00e0979800c2aead00c398af00c582b100b888aa00b963a100d0599200c23e7f
+00c02f5400b82e4f00b12e4a00ae344600ab3b4200943e4d0080355100744359
+0078436c009b388600ab348300bc318100ca258c00de249a00e829a500f32ba7
+00f5428a00f7468c00fa4a8f00f24b9200eb4d9600ee51ad00e040b200d84da8
+00d941a100c32a8200bc247c00b51f7600ae226f00aa347600b0476300b54770
+00dc386900e32c6300eb215e00f41a5400eb093b00dd222a00d1293000bc572a
+00b05c470072676900656b740058707f002f7f7a002d9b690018a253001cae2f
+002ba6170033a81a003bab1d0058a10f0061a82d007fa31c0089a34600a9a744
+00b5ab5500bea95a00c9ab6600bfa46f00bf9c8200b98f7b00c88c8e00c97a83
+00ea758e00eb729100ec6f9500f7628200f85a8a00f74a7400f23f7a00ec3f73
+00ef317c00e2227e00db177d00df116b00d61a5700e12a4b00d6424800bd6655
+0095755b006886710053996700369e620044ad4f003fb63d0043a9430036a545
+001e8f4c001b996200169864002b9e7a0054a0860064978a0092888c00928e88
+00a78c8400a7917b00bc9f7600d3987800e1977500f88a7900f76b6100fc5852
+00f6463a00f1342900eb302d00e7263500e8185400ec206900e7268600ed3689
+00e23a8e00e9348c00d4289f00d912a800d00ca900d50fa200e2199600e82f87
+00e93e8200c14d75009a495a005a4742002e3d390016312c000a3b3a001b473c
+00325c43004b6b51006b645e00765a5d0075315f007a2f4e006c2343004e2c3a
+"/>
+<palette number="620" name="Produce_Department" data="0099194100b8323500c13d3900ca493e00c9595300c96a6900c7726900c67b69
+00c0885500b78e6200af956f009a94700085947200718763005d7b5500567654
+0050725300295f4e001a504c000c414b000e333f001126340015202d001a1b26
+00300d1200400a1100510810005c070f0067070e006a080c006e0a0b00740c0b
+007b0e0e00760d19006e0d1d00670d2200670f1f0067111c0067111b0068121a
+006f101e0076101b007e111800821a14008623110085271300852b150080341f
+007b3a2b00683f38005e423d005446430051484c004e4a55004d4a58004c4b5b
+00424762003f466d003c4678003f487c00424b8100414f7f0041537d00425476
+00465770005659620055605c0054675600546b5200546f4f00547b4400567b3b
+003c7e3f002d803e001f833e001c7e360019792f001a762e001c732d001a7329
+001a772900187d2b001d8137002285430025854d00288658002e8d7000349179
+00349a7600338a7900337b7d0038737d003e6b7e0044687a004a676a004b6759
+004e5f5a005c6a7f005e6d8a0061709600606d98005f6a9b005569a7004e70b6
+004b6bc0004956af0047429e00473b920047348700502a77005d2d63006e344e
+007d39400089442e008a4b30008b5332008f683200917e42009d8e56009e9c6e
+0091b3930086bb9f007cc4ab007cc1b3007cbebc0074b5c70071a8c900639ac2
+00568db4004a63a40048599d00474f9600443e88003e35710045345e0047344a
+004d372a0051361f00563615005b36110061360d0070370b007d37090086330b
+0092280d00a2100e00a10e0f00a10d10009b0f13009613190090151a008c1020
+0079102c0073122f006e153300621f37005a293d00553944005349410052543c
+0052573a0058553d005b573a005f593800615e2b00635c250063532100644328
+00652c2d00632d2d00622f2e005b343100563338005a2c3d005d243f0064233b
+006d2d3a0074323a007b2d390081263900811d37007e2137007f283a00792a3f
+0072234e006e2452006a255700692561006426670064276a0061226c0059256a
+0057236a005021650049215c00431a5200341648002c13420023123e001f1a3b
+0022253b00222e3d001f3444001c384c001a4051001d4e5500245e5700256559
+0023665600235c4e0023524100284e34002b4b2a002a4c21002a4519002b3714
+00282910002422120020241c001d2b23001e302d001d32380018333f0016304f
+0017305900213160002e3867002c3b5c00273653001f2f4a001a263f0024273c
+0026262e00222422001a2319000d1f1300092314000b2a10000e2e11000f3413
+000d3b1d000a432700094b2700094f26000b5121000954250007552f000e5237
+00144f3f00204441002d3a4000393243004e2a410062254100791a42008d153d
+"/>
+<palette number="621" name="Purple" data="0041385300454157004644560047475600494c56004c525700484d5400454951
+0040474c0043494f00464b5300505056005a565a0061576000685867006a576a
+006d576d0071527700704f7700704c77006e4476006d3c76006b3676006a3076
+0065207400611d75005d1b770056167600501276004b11770047107800410e7a
+00400a7e00420c8600480c89004e0c8c0052108e00571591005a1791005e1a92
+006a309100743995007f429a0083419b0088409c008a3c9b008c399a00873394
+00872f8b007b308100722c7e0069297b005f1e740056136e004e0c650047065d
+00340047002e00410028003c0027003b0026003b002500370024003400240032
+00230033002500390026003f0028004500290046002a0048002a004b0029034f
+002c06580032065f00390666003f0b6c004610720047147300481875004a1a77
+00491f78004e247800552578005c2678005f27770062297700672a7400662e72
+00602b69005e2364005c1c5f005b195b005a1658005b1153005b104c005a1146
+0057134100531a3a00521f36005124330050253100502730004e2b2c0049312b
+0046382500463a2400473c2400473d2600483f280047402e003e423400383e3e
+00323540002e2341002f204200311e4400381b48003e195100461a6400501671
+00641187006d118c0076129200791192007d1093008913980091149e009a10a4
+00a610ad00aa0ab500a708b200a406af009f05a400940498008a008c00820082
+007700770073007400700072006e006f006c006c00670065006400600064005d
+0062035c0065135b0067175c006a1c5d006d265f00722f660075356800763a6c
+0073406d0073416c0073426b0072486b0076496b007b476d007e4470007d3e74
+00783674006d2370006a1f6e00671c6d0065146d00650e6c0065086e0064086d
+005e0c69005a0e680057116700501565004c1b61004a1f64004b2464004a2a65
+00483168004936690047396800453a6600453a65004636640047316100452c60
+0042205e00401c5c003f195b003c1456003b1151003b0e4e003e0a4a00420947
+004609460047094500470e420048134100471b440046234500472a44004a3146
+004b334c004c3950004e40550051465b00524e600053566400576067005b6772
+005c6b76005e767a00627d7d006b7e8700758990007f8d930089929d008e8ba3
+009189a6009084a1008e76a1008d6e9c008b6495008b5b9300844f910080428d
+00753a8600682c7b005e236d00541f60004e1c5500451b490040193c003a1a32
+00331b29002f1f26002b2223002b262000292b1e002b2c1d002c2e1d00302e1e
+00312b1f00302824003225260032242e003322340033233a0035263e00382b41
+003a3044003a2f4600453b50004c40580050415b004f425c004f425d004f455d
+"/>
+<palette number="622" name="Queen_Anne" data="00807eba007f7eaa007f799a0080758b00776d75006f66600069615600645c4d
+004a4927003e421800333b09002c36070025320500202f06001c2c08001b2a08
+001b28080018220a00161e0d00141b1100161b1600191b1c001d1d1c0021201d
+00242528002b283600322c440037324e003d3959003d395b003d3a5e003e3b63
+003b3961003639510036394500363a3a003c3b3700423d350047413b004c4542
+005f5d5e00635f650068616c0060606500595f5f00555e5b00515d570046544a
+00394538002835200024311d00212e1b001f2a1c001d271d001f281e00222920
+0026292f002a2d32002f32360033374000383c4a003d404e00434452004d4e56
+004f565800535c5900535c5500535d5100515d4a004f5d43004f5d41004f5b44
+0050565400595b610062606f0069658300716a9700756b9f007a6da7008475b1
+00877cb9009488cc009d90cf00a799d200a69bd400a69dd600a99edd00ac9cdc
+00ab9bd700a99ad400a79ad100a499c900a299c200a697b200ab9aa700af9cac
+00a79dad00988b9c0090859c00887f9c00847a9e008176a1007c6f9c007b6d93
+0085808c00867d8200877b7800817871007b766b006b72640062695700525844
+0041472e00232f1b00202d19001e2b18001c2815001925120017221000161f11
+00141f0c001a2211002126170027271b002e292000332e27002d2f1c00323625
+003c3a2e003a3b3a00383c3f00373d44003c4150003e4455003f435600414456
+00454750003e424100383d3200343a2a003037230028321700222c11001c280f
+0019250e0015230c0015240b0015250b0016260b0016260c0016260b0018270d
+001b2a0f001a2a0f001a2b0f00192910001a2811001925110017251100132210
+0011200d00121f0800122007001222060014240600172807001b2c0b001f330c
+00253412002433130023331500213215001f3015001d2a13001825100013210d
+000f1d0a000c1609000b1208000c130b0011170d00181a12001f1d1700262721
+003b4035003e42370042443a00434a3800434e380042513800404d3800394830
+003543280031402200313d2000313c2100343d25003c413000464b4000555955
+00666a6b007b7d88008988a4008f8eba00908fc6009695ce009491ca008684b9
+006f719d005e627e0051595f004a57470047573300515d250060661d006c6c20
+006a6e2b006a6c39006f6f440073695100655e5c00534f5e0040455800363c52
+002c334e002b314600282f3a00272f2e00232d2a0026302e002c333a00333a49
+003a3e5800414665004c4b760057598c0065639e006d6aa600736ca7007270a4
+007372a1006f6e99006c659100645f84005f5e81005b5c81005d5c8900615b90
+006c629f007569b0007c74bf007c77c8007e77ce008076ce00847ac900847ec1
+"/>
+<palette number="623" name="Quiet" data="0059335a005f33640060346c0062367400563174004b2c7400432b74003c2b75
+002c317900293079002730790028307c002a317f002d2d7c0031297a00332679
+003524780035207600331e6d00311c65002b1856002515470020123f001c1038
+00120a1d000b0612000503070005030700060307000a040b000e061000160c1d
+00190f2900301d4c00352d5c003a3d6c003a406f003b4473003e437400424275
+004b4e760056467000623e6a006c3a6600773663007a3663007d376300803760
+0081335e00762f5200702b4f006a284c0066264d0062254e005e234e005b224f
+004d20560047205b00422060003f2062003d2064003d2064003d2065003e2064
+004020610045205a00421f58003f1e56003c1d56003a1d5700361c5900351c58
+00331c5800351c5600381d55003f1d4e00471e4700491e45004c1f4300511f40
+00541f3f00542147004f214f004a21570047205a0045205e003e1f6400361d66
+002e1a5b002c1851002b1648002815410026153a001e102b00160d1e00150918
+00110911000b07130010081900160a20001a0c26001e0f2d0027133900321845
+003f1d5300411e5600441f5900441f59004420590045205a0044205a0044205a
+0045215a0048215f00482162004921650047236b0044236f004321760043207b
+003c227d003f217900432175004621720049226f0051256a005b276300662d5e
+006b2f59006831500066314f0064314e005d2b4b00502a4900452544003b2041
+0032173e0032173e0032173f0032174000331741003518430034184200341840
+0032173f002f153a002b143500281431001f102500170c1b0013091700100811
+0012090f00160a11001a0b1400240d190034132200421830004f1d3c00561f44
+005b224b00532c5d004f2f60004b336400433869003a38690035376b0033396a
+003536650036316300382d61003d26590044215300491f4e004d214a004e2347
+004f2448004f224c0051244e0052264f00502853004c25590049235e0049215d
+00441f5800421e5500401d53003b1b4d0037194700331741002e153c002b1437
+0029133400291234002b1437002e163d003018450030184c0031195300321955
+00341b5600331b5500311a530030194f00321a4c00361a4a003a1b4a003a1c4b
+003d1d4f00411f550045205a0046215d00472161004522660043216b003e206d
+003e2070003b2072003c2273003b2172003c216e003d206b0041226800452264
+004823600049225f0049215f004a215f004d225f0055276100622e6200703763
+00813a5f0095445f00a5495f00ac536600ad516200b3555f00b1505900a64b5e
+00904060007f3a610072345c006a2e5b005e275a00552157004e1e5200491c4d
+00411a49003c1942003a173c003815380038183800341938003f22450047294e
+"/>
+<palette number="624" name="Rainbow_Sprinkles" data="001e1433000c253b000c4153000c5d6b00196e7800277f85002e8e9000359e9b
+004d879600548597005b8499005f7c94006474900075789200877c950092809a
+009d849f009f8a8d00ab908d00b8968d00bea39100c5b09500c9ad9200ceaa90
+00e0b28c00e1927600e2726100d35e5900c54a5200bc414f00b3384c00983b6b
+0093408f0048326f00332e65001e2a5c003f3d60006151650069566200715b5f
+00b3383c00bd2f3900c7263600d01d2c00da152200d81e2800d6272f00e43030
+00c4333c00b8655800ac6d5c00a1766000b1896300c19d6600bd9e6600baa066
+00a18b70009f9376009d9c7d00ab9a7f00ba988200c8a18300d6aa8500e9ae80
+00f0b67f00f3d07c00f5d17a00f7d37800f1d07900ecce7a00e3bd7f00daac7b
+00b6897e00a17d78008d7272008672740080727700806c790080677b007f6782
+008965820096558500965c870096648a00946c8e0092749300857a8d0076798b
+008692870095867c00a57a7100a9746c00ae6e6800b1636900aa5c7500a6597c
+00aa5f8200b3767c00c07f6e00cd896100d18f5f00d6965e00e8904c00ec7a38
+00f5682c00f4602d00f4592e00ef553000ea513300e1593e00d7594800ca4b4f
+00bf4d5800a4466700a63f7200a8387d00aa298500a7228800a62ca6009d29a3
+0099318900963a870094438500974789009b4c8e00a05b92009e6e90009d7c92
+00a78a8600c5ab8500c6a88000c8a57b00c59c6c00c2956400b58e6500a3856b
+0080898200717d8e0063729b005e6d9c0059689e007d6fa3009a7da000948086
+00b3998000e7ce7b00ebd17600f0d57200f4cf7700f9ca7d00f9b57500faad76
+00f6c28e00f6c29000f6c39200f8c79500f3b78b00f79a7500f97f6000f75f4b
+00fb413400f5312700f22d2300ef291f00eb392600e04a3300d2443400ca4236
+00b5343400b3333b00b2334200b8253600b7233100bb303900c2363f00d2453e
+00df745400de9a6d00e5b77e00f1cb8300eed08400edd28800edc88f00ddbc93
+00c39e8f00b3978f00a49090008a8b90006a6d7c0049496700443c5c0060305b
+00611d4100670e2b009a122400c31d1f00d3302100ea522c00f26d3d00f17b49
+00f6874b00f6945200f4a95d00edbc6800e0c06600d9cd5900d5d95700d8da59
+00dcd85500e4cf6400f1bd6f00f69c5b00f1744a00ea554100e1363900d02b41
+00bf294700b52a4f00ad295b00ac295700b6365800c63e5b00ce3d5000d24d53
+00d8585800cd535b00c0536100b9546000b54e5c00b5485600b74a4f00c04e4e
+00cc5d5500d2705f00d5706100d4746500c4736800b25f600099606f00856188
+0067557600685977005f4f7c006d4d7600774b560097454500ae383800c14633
+00cd5b3200cd5a3000a8452c007e382a00732e1f0048192000291d3700261a31
+"/>
+<palette number="625" name="Rainforest" data="00705637008d62340097683200a26e31009e6c3b009a6a4500946d49008e704d
+00567d6400436e6d00315f7600255a6b0019556100175551001555420016523f
+0017503c001a4b21001a4715001b4309001e410800213f0700213e0700223e07
+002a3d0c0039440b00484b0a00584e0900685208006e540700755607007d550f
+0085561b0079543200784d3100784631007d413700823d3d007d3e4100793f45
+007f4c3f00804f490081525300705e5e00606a69005b726700567b66004b706e
+00376e77000c617900065d6f00015966000054600000505b00014c5800034955
+002238430036363d004b343700592f3300682b30006f272a0077242400861419
+00900f0c00870c0100800c0000790d0000730f00006e1100005d1a00004e2001
+00352e11002d311400253518001c35170013361700103418000d331a000c301b
+000c2c1b000e270f0011230a00151f0600191d04001e1b0300291a01002a1901
+002615080027150700291507002b1406002d13060030130a0033101400281a1b
+002128260016463f00174f51001859630015626b00126b74000a79840001888e
+0005879a00088297000b7d95000a7b92000a7a900006758d00076c8700096281
+000b5b7b00055c7600035d7600015e7600015e76000c576d0019516000234f55
+002c4b4200354434003f3d27004239210046361b004f290f004c280b00442b08
+003e270b002d291d00292b2300252d290020342e0028362c002f342c00433328
+006b2f2b00843025009d321f00a7311a00b1311600c32b0c00c71e0a00c61f09
+00bb1e0b0092261000862610007a271100612912004a29190035292400252a2e
+00133c3d00123f4000124243001a43430022404400303f40003a4539003a4f33
+0042532600514f1100544d0c00584c070052510400505201004e550000515000
+0063470000674400006c4100007141040075390b006c3a1900643f27005a4031
+004c463e0045404500313d50001d3d56000e3e5700013f570000395200003450
+000037450000394200003c3f0000383a00003439000030390000323a00023835
+0006332f000b2e28000c2325000a202600092520000a271c0013331100183610
+001b411a0019512300165a290016672d00156a3100166c3d0014744f00137759
+000f78640009736c00056e7200006c7c00006c7d00006d7b00026777000d5f6e
+001a57660026535b0028554e002959430034543200444b26005f421b006c4013
+00774b0e00854c0800934c0800a7480b00b54b0f00c4521200cf4f1300da4916
+00d7421b00cd471f00c6492000ba451b00b53e1600ac3012009a3010008b2e0e
+00792b0c006d2b0800672705005f2507005a210c00521c0e004c1b1200481f13
+0041261a003b2d29003532310033353d003d303b0047333600563a3600654730
+"/>
+<palette number="626" name="Rainy_Day_in_Spring" data="004a654800526c52004e614b004b5744004b5342004b5040004b4b3f004b473e
+00412e2d003c252400371c1c00321818002e1514002916120024181100231b11
+00221e12001d24120019271200162a1300142f1500123418001236190013391a
+00183f1e0018401f00184121001a4021001c4022001e3f2200203f2200253d24
+00293d270031442e003a4c360043543f004c54440055544a0055524a0056514a
+0056534b005b504c00604e4d0060454a00603d4700603b460060394600653747
+0069374900663a4c00623d4c005f404d00554347004c46420045473f003f483d
+00304d37002a543500255b3400216133001e6833001f67330021663400236535
+00286336002a6237002c5935002f513300324d3200364932003d433500444239
+00564447005e4b5000665259006d606200756f6c0077747000797a740079867a
+00778d7c006a8d7300628168005b765e00556e58005067520042554300374335
+0027261c00271e1a00271718002b171b0030171f003b2429004c34390060464d
+00745b64009e7d8c00b18a9e00c498b100ca9db700d0a2bd00d6a7c500daa7c4
+00d69cbc00d093b500ca8baf00c886aa00c782a500bf82a000bc819d00be7f9d
+00bb7d9c00b5729100b2708f00af6f8d00ac6c8a00aa6a8900a76384009f5c7c
+008a4d670081475e0078415600733e52006f3c4f00673a4800613843005b333c
+00552e380048272e0045282c0043292b003e2b27003c2c27003c2c27003b2c28
+003e2e290041302c0045322f00483231004c33330056343b0060364200673948
+00703d4f00864961008c4d660092516b009b5a7900a4648200ad708e00b27c98
+00b48ea300b291a300b094a300ad93a200af95a500ae99a600ad9ba700a9a7a6
+009fa79f00a1a19d00a29b9b00a4959a00a59499009d8f91009087840087807c
+00775d66007556620073505e006e4a57006d4b5600704f5b0077576300826371
+0090728200a0849200ad97a000b5a6ac00b8b3b300babdb900b7c1ba00b0c5b5
+0098bea00093bb9c008eb8980086ae90007ba686006e9c7900608f690054835f
+00507758004d7155004c6b51004b614a004b5a47005053470057504b00615051
+006d4d5500764a58007c465a007d435a007a425800743e51006b3a49005e363f
+004f33360043312e0038312800333225003334250036382a00413d33004e443d
+00614d4d0075565e00876370009c6f8300ac799100bc85a100cc90b100d59dbe
+00dfa6c900e5aed000e9b4d700efbddf00eec7e300eecee500ead3e200e7d5df
+00e7d8e100dfdede00d5dfd800c4dcc900add2b5009cbfa2008aac8e007c977c
+006d816a00596d5800485746003b42360033322900312622002f211e002c211e
+002e2321002f28230037332b003b3a2e003b4031003b4934003a4b3300425a3e
+"/>
+<palette number="627" name="Rainy_Forset" data="00767e57009d824f00a97d4500b6793b00bc773300c2752b00c9732900d17128
+00d74d2000bf431a00a83915009b3815008f371600853617007c351900733519
+006a3519004d34190047331900423219003c2e1900372a190034271800322417
+00312113002f2213002e23130032281800372d1e003a3023003e342800453b39
+004a4a4c005e5e670063616a0068656d00716f73007b797900827c7b00897f7e
+008979760084756b00807161007f675a007e5e53007a5a5100765650006d4c4c
+005e4345004a2b2a004626210043211900421e1600411c1300411b1200421a12
+00481e12004c23130050281500562d16005d3217006035170063381700673919
+00673c1a006a3e1c00693b1a006838190065361900633519005e3717005a3717
+00523917004f3b18004c3e1a0048401b0045421c0044421c0043431c0041421c
+003f3e1c003f341a003d311b003c2f1d003a30200039322400383831003e4546
+00526f850064849d00769ab5007f9eb90089a2bd00899eaf008c9eac0080a1bd
+008a9bae0090726f007d5852006a3f350062382f005a322a00542b200054271a
+004d24130047251200412612003d26120039261200342612002e2112002a2313
+0024231300202315001f2115001e20160023201600272017002e231700342416
+00422416004b271600542a1600592d16005e31160068391a00753b1a007f3e1a
+00863f190089461e0089481f008a4a21008f4f270093522b0094532e00905235
+007c594100735d43006b6145006960450068604500605a3f0053533b00434937
+0034412f0028372600293726002b382600313f27003b4a28003f5c32004a6a3e
+006d794c007c7e46008c834100a4963e00bfaa3c00d8af4600eeaf5700ffa85a
+00ffa55e00f5a45e00f0a36400eba26b00d7937200c3867600a8796f00826465
+0053424c00503b45004d353f004f2d2f005028260054271d005d2a19006a311a
+007939200085482400905a2700a2672300ab722100b5722100bc6f2600c07528
+00eb7c2400eb7c2700eb7c2a00e7723200d16d3e00cf5e3e00d05c3f00c25e48
+00b1615000966a610079656500655c600054505a004a454d0049424900454245
+00413e3f003b38390037312f00392e28003e32230042382100483e23004a4526
+004f4c280050532d00505a2d00525c2d00565c2a00595a2a005d572a005a592a
+0056592a00575c2700565e27005960280056612a0050612d0050632d004d612d
+004f5e2b004d592d0049532f00464f3100434a380046453800483e3b0049383c
+0046393c0045394100433b42004539410046353f0048323c0048343c0046383c
+00463f3c0049453e004d493c00524a3c00534c3b0052533b00565c3e005a643f
+00606b45005c654800595e4a005a5d4f005a5e5300656a5600676f5a006b7659
+"/>
+<palette number="628" name="Red_Light" data="002e1525002d1a20002a181f0027161f00201121001a0c2300170b2600150b29
+00120d38000f0b3d000d0943000907430006054400030342000002400000043e
+0001063c00061036000711310008122d0007102600060e2000060e1c00060e19
+000610100007110e0008120c00070f0c00060c0d0005090d0005070d0002020c
+0000000b0000000700000006000100060004020600070407000b0607000f0808
+00280f08003610090045110b004e161100581c17005a1e1c005d2121005d272a
+005c2b31005c24390058203a00541d3b004b1b3f00431a44003b1b4600331c49
+00181248000d0b430003043e000102360000002f0000002c0000002900000023
+0000001e000302160006051400090913000b0b13000d0d140011101600131319
+0019181b001b1a1c001d1d1d001d1d20001d1e23001c1d25001c1d2800191b2b
+0017182d0016142800181123001b0f1f001f0d1d00240b1c002e0718003b0416
+005d0113006d0710007e0e0d00850f0c008c100c009a111000a4111200ad1116
+00b50d1500b90f1500b2101300ab111100a21011009a10120088101800740c1a
+0053021e0049041b00400619003e0818003c0a17003a11170037181600351d16
+00311f180030211e003121200033222300422422005426210067281e0078281a
+00951f18009c191800a4141900ab121900b2111900c0111800ce121200da1012
+00e40d1000de090d00d9080c00d4070b00c5090c00b60f0b00a9160e009f1c11
+008b3015007b2e13006c2c1100642a11005c29110050291000492210004f2614
+00572a140065290e0069260e006d230f006f1d0f0069131000670c1500660a1a
+00620f2100621123006213260064142c00661934006520370064253600642635
+0064263100692227006e202600741e2500811d24008c1d1e00961c1800a01712
+009f1208009d1108009b11080097120c008f140d0085170f007b17100070140e
+005f100f004f10110042131600371719002e1d1b0027231f002626200023261f
+001e2123001e2125001e21270022232b0028273100332c36003f303b0047353f
+0046324300422e45003d274500342144002f1d41002f173f0032173900341436
+0035103100330b2b002b06250022041f001b001a001800130017000e0017000a
+0019000700190005001a0004001900050015000500100006000b000600070006
+0003000500010005000000050001000400020005000400050005000500050006
+00060106000501050005010400070004000b0004001201030019000400210004
+00290105002f01040035010400380003003e01020043010300460205004a0508
+004e080b00510b0e004f0e11004e1015004f0f1a00480e2000420e24003d0f29
+003b152c003a1a2e00381c2e003a1b2d0038192b0035162900301128002f1126
+"/>
+<palette number="629" name="Riddle" data="0032100800330f0b002f0e0c002c0e0e0027101100221314001f1216001d1119
+00170f1d001a131a001e1718002a1b1a00371f1d004828260059313000633832
+006d3f3500925c3e00a46e5000b6816200b88b6c00ba957700b6937600b39175
+00a3846d0094776b00856a6a007e5c6e00784e73007a4877007d427b007a347c
+007b2983007a1d8a00761c8600731c82006d1a770067196c005e19630056195a
+0038192e00311925002a1a1d00331929003c183500451940004e1b4b005a2361
+00632b74006736880064388900613b8b00564384004b4b7d0046507800415573
+00356f6600387464003b7a6300428568004a916e004a9874004ba07a0051a97d
+0056ab78005199590042914c00348a3f00318537002f8030002f722200356316
+0037440d003e3b0e0046320f00523413005f36180065391f006b3c2600763f39
+0083404f00985274009e678200a57c9000a6819400a8879800a88aa1009d8b96
+00808b730071856100637f4f005b79460053743e0048662f003e5d2400375423
+003c4d24004b4a2c00545334005e5c3d00656143006c664a00747255007b7f61
+008f927a0092988400969e8e0093a18e0091a58f008ba68b0088a6840084a479
+00839e7200889666008b9464008e9263008d9661008a9962008f9c670097a173
+00aa9f9100a59e9400a09e98009b9e9200969e8d00889780007c8d71006d8164
+0060735600425d33003a5b2d00325a280021532600154d2b00113e2c0011312b
+00142830001526370017253e0019233c001b223b001f233600252b35002f3942
+003d465500565e78005c647b00626b7f006b7884007a838b00868b91008d8b95
+008984830086837b0084837400818764007c8b5900769255006f9552006a9450
+006a97500067994f0065995100649953005b8d5300537b5500516858004a5a5a
+0043565f00415460003f52610040495e003e415d003d4258003e4a510040544d
+00465c4800496051004b655900526467005b65770068618100745e92007e61a2
+009f62c400a662cb00ad62d300b760d900b35cdc00ad5ad700a65ac5009252af
+008050960069458500523c7600473c6600322f4a0022262d001319190008110b
+000d120900161408001e1a070022190c00272313002d271f0038272b003f2830
+003d21320039202f0031202e002f1e34002b1c3700241638001a0f3400140e28
+00100d21000f0f1d0010101a000f0d1b00130d1a001b091700260b1400341110
+003f131b00471f26004e2e3100533c3a00584e3400605a390062674200657f4e
+006790590065a3590068ad560068ac5a006eb0620076b56b007dba730086bb74
+0087b7760089af7b0087a38100859582007e8276006f72610064644f00555642
+004d443e004331360038222700321a190029190b002a1707002b1506002e1107
+"/>
+<palette number="630" name="Riverside" data="00526864005a616c005d5c7100605876005c527700584d7900544b7900514a79
+004346730042446f0041436b00424267004442640046415e0048415900474054
+0046404f00443c3e0045383e0046343e00493243004c3049004d2f4d004f2f51
+005230540052335200523650004f3a50004d3f50004b3f510049405300484257
+00483f5c004e416500564566005e4a6800614d690065516a00674f69006a4e69
+00734e6b007a4e6c00824f6d00834e6b00844e6a00824c6700804b64007b4a5e
+00764b5d00735765006f606a006c6a6f006670760061767d00607982005f7c88
+006187a400658fb4006997c5006d9ecc0071a6d30072a6d40074a6d60078a2d8
+00819cd5008f8bd5008e85cd008e80c6008c7cbf008b78b900846daf008565a4
+0085528a00834f7f00824c75007d49690078475d0076475a0074485700714b52
+00764e5000805c5300876455008e6d570093725600987755009f805500ab8958
+00bd916200be947100c0988000bf988600bf988d00bb969900b693a500b48da3
+00ae82a0009f739e00936b9c0087639a00805f9900795b9900715590006a4c7f
+006344600062415300613e4600613d4200623c3e00653b3900693d3a006d433c
+0073493b008353410085554400885847008e5b4a00915a5000905b56008c5b55
+008a5b5000845b4f007e5b4f007c5850007a565100724f550067495600624254
+005d3b4e0056384400553843005538430056394600573a4a005f3b5200663b54
+006f3f4c006e3f48006e3f44006b3d4100683c3f00653a420065384500663b4a
+00683c4f0073455b0074485c00764b5e00754c6500744b6d00724d7500705381
+0078619a007c67a000806ea700867bb0008b82b4008e8bb0008e96ad008e9eaa
+008ea6a6008eb8a2008db7a0008db69f0089b49a0087b1930087af8a0086ab81
+0083a57a0081a079007f9c790075947a006b8a7e0065868200608286005b7f8b
+00597d8f0059798f0058768f00567291005471950056759b00567d9d0059849d
+005585980054829500548092004f7a89004d7286004b6d88004f6d8b00516e8f
+00536f9600586e9c00586d9c00586b9b0054669c0052609900505a94004e5592
+00504e9600514a950052478f0054478b0054468400524679004e4771004c496e
+004b516c004a5b6a004d676f0054717a005c7d830062848e00668a9d006990a8
+006b98b3006aa1ba006aa5c2006aaac3006aa5c400689cc400658dbf00607eb6
+005a74aa0053699e004f6290004c5a81004a547300494c680048435800473d4a
+0044393f004536350047352d004b36290050382900573829005d3c2a005f412c
+006249300066543300685d380068633b0067643e00646943005e6b47005c714c
+005d79510060845600648a5600678a540067865600617d57005b755800556a5d
+"/>
+<palette number="631" name="Rose_Bush" data="00a2956f0099956700967d610094655c0091565a008e4859008b415700893a55
+007f1f45007821410072233e0071243e0071263f007127400071284100712842
+007128440076214900712146006d2143006d1f40006d1e3d006d1d3c006d1d3b
+0071223b0076223e007c2341007a283f00792d3d00792d3c00792e3b007a2e3c
+007a2e3d00852b480090244f009b1e56009f1c5900a31b5c00a11d5b009f205b
+00912e59008a365d00833e620084446b00864a7500894c7c008d4e84009a4f8e
+00a6569800b965a200bb6fa800be79af00bf80b500c088bb00b888bf00b189c4
+00c380ce00cb7bcc00d376ca00d76fc700db69c500db67c200db66c000dc60b8
+00dc54ad00d73c9a00d4308f00d1248500cf1e8100ce197d00c8157600c0176f
+00b6216400b3276200b12e6100af366100ae3e6100b03d6000b33c6000b23c62
+00b13d6300ae3e6800af426c00b0467100b0487500b14a7a00b2538400ba548a
+00c64e9900c9459a00cd3c9b00cd369900ce319700cf269100cf1c8b00cf1883
+00ce157d00bc1c7200b41f6e00ad226a00ab236800a9256600a62a6b00a52f70
+00ae3c7a00af448000b04c8700b04f8800b1528900b1558a00b1598a00af5e92
+00ad679e00b97cb900be82be00c488c400d090cc00d999c900e19eb800e49fae
+00db949400d0948900c5947f00bf977900ba9b7400b0a36d00a1a8650092a75a
+0087a4520077944500728d41006e873d00607b3300546d2c00476026003c541e
+002d431300303d16003337190038301b003d2a1e00452125004f1e3000591b37
+00631b4000781750007a1953007d1b570087185e008e166400961368009b146a
+00a11b6d00a31d6e00a51f7000ad1f7600af247700ac2a7600a42e72009f2b6e
+00972c6600802d5200772f4b006f31450065323a00603236005a3b3200534731
+004d422f004c402e004b3e2d00463c2900363f2200283a1a00243417001d3017
+001b2e16001a2c16001a2c16001d2d16002d271700352016003e181400441412
+00451511004514110045141100441510003e1e12003e1e11003f1f1000411f10
+00461a0f00471a100048190f00471712004718140046191800471c1f00492027
+004d242f0055263a005d2c48006732540070396000754469007b496700804c67
+00824f6b00844e6e00884c6d008f49730098467700a1447d00a6468400ab4784
+00ae457e00af427600ad3a6e00a7336400a3285b00a01a54009c0e500096084f
+00930450009202500092014c00900047008801430080043f007e0136007f0034
+007f0035007f0038007f003e0080064400820c4a0084195300842a6000873769
+0090446d009c4b7500a9537d00b65c8b00c3639800d068a000db71af00e17ec0
+00e58bd100e48ccf00dc8fcc00d38fc700ca91bd00c18f9b00b7a18400af9c7a
+"/>
+<palette number="632" name="Rusted" data="0081aab0007e9eaa0087a1b20090a4bb0098acc600a0b4d100a2b6d500a5b9da
+00b3c7eb00b0c4e500adc1df00a3b6ce0099acbe00939fa7008e9291008c887f
+008a7f6e007f645b007c615a007a5e5900755b5c0070586000695a6800625c70
+004c647700465d6f00405667003a505e00344b55003247500031444b002d3f40
+00293b390026322e0024312a0023302700222d2400222a220022292200222823
+0021292400222b2700242e2a00293332002e393b00303d400032414600394951
+0040525e0051657500566979005b6e7e005c6e79005d6e75005b6b6f0059686a
+005d5142005d4a33005d4325005e401e00603e1800603f190061401b00614924
+00654f2f00677448006e824c00759151007a8f4f007f8d4d00878544008e7c37
+008a652100874f1700853a0d0083320700822a0200832b0100852d0100852e01
+007e32000085310200803605007b3b0900763d0f00714016006d482300634c2e
+00535143004c534c004656560043565a0041565e003e54620041566600465a6b
+004e6475005f73870062778c00667c9100667b9100667b910062768b005c6f81
+004e5e6b004b5a640048565e0046545b00455359004353550042555800435558
+00425457003c504d003a4c4a00384947003444430034444000384843003a4b49
+00465a65004f657200597080005e758800637a90006a839c00748ba6007991ab
+007e93af008096b2007f97b2007f98b2007e96b1007e94ae007d91a7007c91a0
+00829e8a00809e7a007e9f6b00819b630084975c008f904a0093863400897e29
+00866c200089470e0080440f0077421100663f1700583e2000553b2400483e2f
+003d4b4e004150560046555e004d5f6c004b5d6a004f626e0052646d0053666a
+004c5e5c00454b380046462f004741270049361a0045331400462a1200462814
+00453020004632250048352b00483e36004848450049574f005062580057695a
+0059685a0057645800526159004d5c540047554a00424c43003e4744003d474b
+00485954004e5f5600556658005f735f006a7f63006e836b00728469006f8162
+00697c57005e6f5500546455004c5b5900495a5c004b5d6400516470005a6e81
+00677b94007589a6008094b500879bbd008c9fc0008ea1c3008ea2c4008aa1bf
+00849cb8007e97b3007b92af007890a800758d9f006c869500617a8700576d76
+004f60630048524e003f423900373328002f291d002a231400291d0f00271b0d
+0026180c001e180c0019190f00161d15001a1f1800191e190019221e00202d2b
+002f3d39003d4b490047575a0055687200677987007c8e9d008a9cb10094a8c2
+009aaece009eb6d400a0b7d700a2b7d300aab2cb00b0bcc500b7c5cd00bad1d6
+00c5ccd900cbd6d800ccdfde00bfe6e300b1d9de00a4ccd60099c1ca008cb5bf
+"/>
+<palette number="633" name="Sachet" data="004968270031491800203711000f250a000d240e000c2412000e241300102415
+001d4120002c5326003b662d0049753100588535005e8a3600658f3700618e33
+005e8d300055842700497a25003e7023003d6e24003c6d2500396a2400366824
+00467328004e762e00567934005b7b3900617d3f00647c3e00677b3d0061723c
+00557139004c693b0042633f00395d430031553f00294e3c00284d3a00274d39
+00254e3200295331002e59310032583200365733003354310031512f00304e2a
+002e472c00253e31002f3a47003a365d00413a6e00493e8000513d8f005a3c9f
+006e629e007b739900888494008e8e890094997f009699890099999300a0969d
+009b86a2008775a300827a8f007e7f7b007f816f0080846300878f52008b9b4a
+0084943800708436005d753400465e2a002f472100253b1e001b301b000d1c13
+0007150f0003140e00081e11000e2815001230150016381600244b1a003a5d1a
+00557220005f7130006a7140006a6b4d006a665b0065556800604e72005b4f7d
+00534f76004d565b004a5f5700476853004a6a55004e6c5700506c5e004f6560
+00596d61005f725a00667854006f7f52007886500085905300909c4e0096a049
+00949c4d0074873600697d33005e7431004562260032501b00223e1700183316
+00283c1f0036492b00455737004a5e37005066380052703b0052714200557047
+0056694b0074727d007f7b89008b849500958f9f00a5a09f00aeae9e00a9b58c
+008fa263008b9c5a008797510087984f0087994d0085974a00909f48009caa45
+00a2ad4400a8b64800a8b64900a9b64b00a5b04f00a3ad4f009da74d00919e4c
+007d864500748140006c7c3c00596f3700496331003a5625002b481d001e3d15
+0014300c00071c0400061902000616010003100000000c0000010e0000031101
+00041b0100051f0200072404000c2c070011320a00173a0d001f421000244715
+00274a1a0031501b003a551a0043591d00556a2300687b28007a872c008b9833
+009aad43009bac43009cac43009ca944009dad47009db049009fad4700a7b14a
+00acb84e00aeba4c00b0bb4b00aeb84a00a5b2440099a942008b9e3f00748b39
+00647e3e00607f420064814d007a966d0094ac8400a7b68c00b4c59400b9baa2
+00b2a0a6009d8f94008f7b8c008b718900887c7c00918a7200999b63009dac58
+00a6b65600adba5a00b2be5c00bac86500b7ca7400b2c16d00b1c266009fb969
+00849f56006b833d00526931003750240023361600192412000c1d1000091c11
+00122213001a31170023432100375528004b65280059712b0067783200707930
+007a79320079793f00717c4700757d4f00777c64006e7381006e6a9300776a9a
+00745ea5006c57a2006f629000706c80006d7a6a00738752007a8e47005f7d3a
+"/>
+<palette number="634" name="Sage" data="003f332200402e190042351d00453c21004c492c0053563700575d3c005b6442
+006f875a007a97690086a879008ab281008fbd8a008dc08b008bc48d008bc68c
+008bc98c0089c6860082c07c007cba720078b56b0075b0640078b063007bb062
+0087a6580083964d007f86420076793d006d6d390069663500656032005e5024
+00543c18003a1e08003119060029150500261405002413050024130500241305
+002916060028160600281706002518070023190800241a0900251c0b00281f0d
+002c2313002b3d210030482800355430003a5734003f5a39003f5c3800405f38
+003e5e2f0042562a00474e2600514b20005b491b005e46170061441400624314
+0060421500675125006b5c2e006f6837006c6d3a0069723e00607b47005b814c
+005d8756005c8655005b8654005a7c4a005a724100586a3c005762370051512d
+0048412500352912002e200c002718070024150600221305001f1004001b0e03
+001c0f03001f1304002317050025190600281c07002c210c00322913003a301c
+00433d25005f5f4600686d5400717b6300717e65007281670076826b0074826a
+006b7861005e6c5200526043004b573b00444f340039432a00333b2000303618
+003235130033381100353a1200373d14003a4116003e4217003f3f16003d3e17
+003c3c18003e391600403714003f3412003f321100412c0d0040280b00412509
+00422306003b1c010038190000351600002e110100270e00001f0d01001b0c02
+00160e04001611050017140600191507001b1608001f180a00231b0c00261f0f
+00282010002921110028201000271f1000241e0f00221d0e001e1b0d001a180a
+00141505001416040015170400171805001b1b090022230f002a2c1600333c1c
+003c4d2300526d3a00577442005d7c4a00688f580071a1630078a96b007daf6e
+0080b0720080b0710081b0710081aa71007d9f6b00778e60006f7d5300677046
+0060633f00585738004e4b330048402f00423727003a302100352b1b00302717
+0033291900342b1900352e1a00373219003b3517004036180043371a00483a1e
+00493f1f004d461f00514d240055562b0057603600576c41005877450058814b
+005b8a52005f8f59006293620064946300659260006e8e5a0077854f007f7a46
+00816c3b007b5f2f0078542500764b1b0075441400713c0e0063350800542d04
+00452702003a230200342201002f2202002e2304002e2707002f290900312b09
+00332c0800342b0800382c0a003f2d0d00452e0f004d331100593c1700614b23
+006d5c3500796e4900827f5b0094906c00a6a68100b6b99600c3ceac00ccddc1
+00d2e4cd00d8ead300d8e6d100d1e3ca00cddfc500c6d7bb00b9cdaf00aabaa0
+0094a78d0082967a0075836700686f56005d5c4400514b360047402d00423926
+"/>
+<palette number="635" name="Saturday_Morning" data="007eabd70073afcf006ab3cd0062b7cc0065b6c80068b6c5006eb3c20075b1bf
+008d9cc7009796c700a291c700a390cc00a590d200a88fd300ab8fd400ae8cd3
+00b18ad300b57dbd00bc7dac00c47e9b00c7758b00cb6c7c00ce6e7000d17064
+00e0754300dc6b4200d9624100d9634700d9654d00d7645300d5635a00d26771
+00c9698c00c87baf00c780bc00c685c900c67bc700c772c500ca6cbf00cd67b9
+00d25b9d00d25d9200d2608800d46e8a00d77c8c00d3838c00d08b8c00c69f97
+00b9aba700afb7be00a8b6c000a1b5c30095b3c7008ab2cb0083b4cb007db6cb
+0071afd1006dabd3006aa7d600769dd0008293cb008e8dc6009b87c200b480b9
+00c57bb100e46b9e00ef679800fb639300fc5f9100fe5b9000fd558700fc4c84
+00fa369400f4349d00ee32a700eb33b000e935ba00e73bc000e541c700de50d3
+00d75dd000e069a700e36a9800e76b8a00e8678600e9648200ee5b7000f55662
+00f24e6a00f14d7200f14c7b00f04e8200ef508a00e75d9b00dc6ba600d57ba7
+00cd8caa00bfbca500c2cb9300c5da8200c4dc7b00c4de7400c0dc7500c7da72
+00d2c57300cfb98200ccad9100cda79100cfa19200d4968a00d9858400e17981
+00e76c7d00f4526300f64e5f00f94a5c00f9465900f5435100f5444b00f7464e
+00f6465400f5475a00f4486000f34a6800f24d7000ec4f8200e0579100da5e9c
+00d367a300b37cb400ad80ba00a884c000a081c6009c7dcd00937cc900967cca
+00af68c300bd63bc00cb5eb500d15fb100d761ae00e062a900e369aa00dd74af
+00d980b200c39bbf00bba3c200b4acc600acb4c800a6b8ca00a2b4cc009db5d2
+008fb5db008ab3dc0085b1dd007fb3dc0081b5da0085b9d90085b5d70086b0ce
+008ea6c500a396a600ab919f00b48d9900c67d9400cf729600d16c9700d8719a
+00e475ae00e076b600dd77bf00d17fd100c08ada00b395de00aba0df00a3a4df
+0099a9d9008eadd20088b7c8008ab7c2008bb1c10089a9c30083a9c70081abca
+007aa3d4007a9fda007a9ce000799bec006c9aeb006399e4006a92e5007c89ef
+008380f600827af0008879ea009878e900ab7bea00b47de900b382e300b084e0
+00af86dc00b58bdb00b68dda00b98ad600bb81ca00be76ba00bc75b200b271ae
+00ad6eab00a566a6009d6bad008e69ba008a60c900885bcf008d62d700946cd8
+00a468de00ab69dc00b26ed700b47dc900b88ac400b594c500b69aca00b39ccb
+00ac9cce00a398d300a194db00a191e0009c90e000948fe0008d90e3008d92e6
+008c95e5008d9ae5008ba0e4008ba4e40089a2e3008da0e30094a1e0009ba1dc
+00a39dd300aa95c900b490ba00b68eae00b891ab00af90ac00a88aaf00987cb1
+008c74bf007c72cc00787bdb007c83e0007e83e7008279e700817be800868fdc
+"/>
+<palette number="636" name="Scattered_Petals" data="0044787b0039616000335654002d4b4900283f3d002434320023302d00222d28
+0021231b0020201a001f1e1900211f18002321180025271700272d1700273018
+0028331a002a3720002b3a23002d3e260035482b003d5230003f563600425b3c
+004a6b51004e6f52005273530052705300526e5300506b53004e685300455c4d
+003f524400363c3500383a34003a383300463e3f0053454b005e4753006a4a5b
+009652750097567500995a750094557200905070008d496c008b4369007b3a59
+005f2f45002a2221001e1d1a00131913000e1610000a140d000b150d000c170e
+00152413001a2e1b001f39230027412b0030493400374b3a003e4e4000585053
+00725867009d689200a6749d00b081a800b285aa00b48aac00b290b000a98dae
+008e889900758385005c7e71004c6c5d003c5b490039534300374c3d00334033
+002e372e00252924002528210026281f0025271f0024272000212722001e2324
+001e2423001d2926001d2f2a001e322d001f353000213b3200263f31002a4130
+002a48350031583f00355d3f003a633f003a6741003a6b44003e754d0045835b
+004e976f004d9a74004d9e79004e9e79004f9e7a004f9b72004e926a004a8b5d
+0045815100406d39003d6834003b633000395e2700395d24003f61280049692f
+004f7c4a0050845500518c6000548d6100578e6300578e6500598e6600579264
+00549561004c8751004a804c00487a4800497140004a6e3b004c6f37004a6e34
+00435f2e003e552d003a4b2c0038482b0036452a00313c26002e372100292f1e
+0026281d002b202100322024003a2128005022330066233b006b253a00692a38
+0070453d007a4d440084554b008f5e4e008e6655008b6c5e008c746b00998285
+00af899800cc89ba00d483be00dc7ec300e877cd00ed6dc900df66bc00c95eaa
+009b48790093416d008b3b620070324b00562b38003b25250025211900272c18
+002a3517002b39170031441a002a3c180031471e00395526003d5e290042682d
+0034542900304f28002d4b280027412600223b22001f3420001a301e00182b1c
+0017291f00192b25001e322f00233e3b00294c4600336054003e73670048877c
+0051998e00679c9d007f9fa900979db600ad9bc400b39ecb00c595d100d98bd1
+00eb7dd200fa73d600f773d500e876cb00dd7bbb00d180a900c4809700b8808c
+00a07d7a008a796900787958006977480060723f00566a3500495d2f003e522c
+0034492c002c412b00273c2700233720001f321a001b301700182c1600162816
+0017281300192813001d2f120020361400223a1900243c1b00243b1f00243d20
+00274022002a4323002e452500324428003c432d004e493d00685050007c5962
+007d667000796b750076717e007b778a008879970082829e0070849900597e8a
+"/>
+<palette number="637" name="Sea_Mist" data="00429484004691860040897f003a817800317066002960550025594f0022524a
+00223d3900273e39002c3f390030423d00344642003d474500464949004b4d4c
+00515150006367660065706f00677a780064827e00618b84005f8e86005e9189
+0050958800469386003c9284003a897b0039807300387a6e0038756900376b60
+0034655c0038544f003b4e4a003f494500414846004448470045484700474947
+004a4a4900464f4e00425553003f5a57003c605c003a5f5b00385f5b002f5c59
+00235a5900175d590018615d001a6661001e6e6a0023777300277d78002c847e
+0040a59b004fb4ac005fc4be006ed0cb007ddcd9007fe0dd0081e5e20083e6e6
+0080e8e8007fe4e4007cdddd007ad6d60075cfcf0071c9c80066bbb8005eaca7
+005b928b0059837c0057746e00526661004d5954004a55500048514d00454a46
+0040454100383a37003436340031333100303230003031300030313000313030
+002e2f2e002e2f2e002e302e002e302e002f302f002f312f002e312e00293330
+00243432002039370022393600243a3600243a3600253b3700243e3d00294340
+0036464200394642003c4743003d4844003e494500414c4800444e4a0047534e
+0048555000416058003f6259003e645b003b685f003c6960003c6b5f00396b5e
+002f6056002d584f002c5149002c4d45002c4942002b413a0027383400233432
+00233232002b3936002c3c39002e3f3c00314945003a534f0043615d0050726c
+005c9a930060a9a30064b9b40067c0ba006bc8c10071d4ce0074ded70071e0db
+0071d8d30066c1bb0064bbb40063b6ae0059aaa100539c91004b8a7f003e776c
+002f5c52002c594f002a564c002c5249002f504900364e48003f4c4800464d4b
+004d504f0052605d0051646000516863004f6f670052746c0053786f00577e76
+0057887f00598a80005c8c82005f8f850067928a006c99910072a098007aa7a0
+0081ada60087b4b00087bfbb0082cbc60080d3cf007bd6d20079d6d20078d5cf
+006ac9c30063c4bd005cc0b8004fb5ab0043aca0003ea396003c9b8d00399688
+003794850032958600319b8d0035a3960038aca1003eb7ab0040bcb20041c1b7
+0043c3bb0042c2ba0046bfb70049b7b0004cada7004ea39d004d99930050908a
+0054898400578982005a8d85005b948d005c9f980064a69d0068ada5006cb3ab
+006eb5ae006bb6af006fb3ac0071aca60074a29b00779591007588850070807d
+00697a770061736e005b6b6700536460004a5e5b00435b58003d5753003a524f
+00364c4800304844002d4440002b423f002f403d00333f3c0032413e002f433e
+002b4640002748430024494400214f49001e544e001c5952001b5c53001a5d55
+001a6257001c675c0028706500307469003a847900409084003b95860043a091
+"/>
+<palette number="638" name="Secret" data="0052356d002815330028173500291a3700271737002615370025163500241733
+001f1d35002119310023152e001d13280018112300160f2000140d1d00130b1c
+00130a1b00180a2300190c21001a0f2000181024001712290019142c001c1630
+002120420029244a003129520039265300412454003f234f003e224b00371a50
+0035204b003824490038294b00382f4e00413561004a3b7400443c75003f3e77
+002b2a540026234500221c36001f1a33001d1930001c182c001b182900171226
+00141122000e0e1a000c0c19000b0a18000e0a1900120b1b00110a1900100a18
+0008050c000e07130014091a00160a1f00190b2400190c2300190d2300180f24
+0015122300161324001615270016172b0016172b0017182c0017152d00191631
+001d163700231d400029254a00312950003a2e56004631620053346f00633887
+009351b300ab45b3008737940063297500592e6f004f346900332c56002b2748
+001a19380015152f0011122600101124001011230011102000140d1d00150e20
+001a0f200023112b002f1436003c1742003f1b4600431f4b00441e4d00492555
+0053206500502361004d265d0049265a004626580039204800351c3a002c1937
+00291838002e16380031173d003519420038174400351c4300301e44002c1c41
+002b1d40002921460028264d00292349002a204500211c3c001d1a37001a162f
+00191526001612200015121f0014121f0014141e0014121f0013111f0012111f
+000f0e1c000f0d1c00100c1d00110d1d00120e1d00130f200014112400131224
+0011102200100f21001110210013122200141124001413250015132900121130
+001f184200211b4400241f4700221f5400251d4600201942001a12390013132d
+00111224000e0e1a000c0c18000a0a1600080614000c0015000f031700180523
+001d1129001e132b0020162e0022162e0022162c001d1427001d1127001f152d
+001d1431001e193700211a3c00251a4400271c4600292148002a234c00301c4d
+0024163a0022143500201331001d102a001c0e25001b0f23001c10280020102b
+001f132b001d152a0017132a0019152c0020132f00221334002b133500300044
+0037173e0031193d002b1e3a00221e3500201c35001f152d001a112200170e1f
+0016091b00130d1900110e1900120e1c00151120001a1126001b19310024213e
+002c254e003a2b5600502e6a0061387a0064428e005c4184004e417900583672
+00533374004c29610044204c00321e41002a1b38001f16310017152a00141325
+001411240015122500161128001c163200261c41002c235200322a5900402e6a
+004a3071004a39800052468800534b7e00574e8700625986006752af00814cb6
+00ad69bc00c57ee600dc92ff00a76cc8008a58b10069559c00704a850061337c
+"/>
+<palette number="639" name="Serenity" data="00908589008e7e81008e7d7f008e7d7e008b77770089717100856c6c00816768
+006b50550061464d00573c450051363f004c3139004b3239004a3339004c353b
+004e383d0058484d005c4e550060555d00645a610068606500696066006a6168
+00685f6500675b62006657600064555e0063545c0063545c0064545c0067575f
+00685c630071666b0072686c00746a6e00756a6f00766a700075697000746970
+0072666d0072656c0072646c0075646c0079656c007a656c007c666d0080676d
+007f676d0077666b00726368006d606600665a610060555c005e5259005c4f56
+0054414900533a420053343c0053353d0054373e0055394000573c43005e464a
+00624e51006b595b0069575a0067565a0065555900635459005e525600564b51
+004c3f45004a3b4200493840004c3b42004f3f450055444b005b49510069565c
+0077676b0096868a009d909300a59a9d00a69a9d00a79b9d00a89798009e8d91
+00917d7f008a757800836d7200816c71007f6b70007e6b71007c6b71007a6b70
+007d6e740085787d008c7c800094808400978386009b868800a38a8d00a99192
+00b6a3a400baa9aa00beb0b100bcb0b100bab0b200b3aaad00aea5a900a69da1
+009d93970094848900918085008f7d820089757a00876d720081676c007a6367
+00695056005d484e00514046004d3a410049353c00422c34003c2730003b252e
+003d262f004c343c0050383f00543d43005f444b00634c5000644a4e0063454a
+004c373b00432e34003a262d0035242b00302329002b1e27002a1a2400271922
+00261923002c1a24002e1c2600301e280033232c003b28310044313900493940
+0057484e00594b51005c4f55006153590066565d0069595f006d5a6000725c63
+00756066007a6870007d6c73008071770085797e008b80860092888e00999095
+00a89fa300aba2a600aea5a900b2a8ac00b6a9ab00b6a8aa00b1a1a400ac989a
+00a49091009a878600927b7c0088717300816b6c007c65670077606500756167
+007c6d73007f71770082757c008a7e840095868b009d8e92009f929700a29499
+00a4969a00a0959a009d9499009d9296009b909400998f94009b9195009c9296
+009e959900a4999d00ab9b9e00ad9c9f00ad9c9e00ae999a00aa949600a08e91
+0097878b0091818300887b7e0080747a007d7176007c7176007e7276007f7378
+0083787d00887b8000877c8100867c8100867c810083797e0081777d0082777c
+00847a7f008a80850093898e009f959900aba2a500b9adb000c8b8b800c9bcbd
+00c6b9bc00c3b2b300b7a9ab00aa9ea200a09297009a8a8f0097848800967f85
+00977c8200967a7f0094787e0091757b008d73780089727500846d710080696e
+007d676c007b656b007b686e007d6c730084767c00887d8200867b80008c8084
+"/>
+<palette number="640" name="Serpent" data="0024462c001a5237001a5037001b4f380015463300103e2e0011382900123225
+000b2217000a2312000a250e000a2d13000a3618000a3e1f000a462600094426
+000942270011331f00132c160016250e00272b0c0039310a00423908004c4107
+006b49050065450200604200004d3101003b20030031190100281200001f0f02
+001f0d0300421a02004f2907005d380c005f421900624d260058512d004e5534
+00305749002d5149002a4c4a00384d4100464f38004f4d3500594b3200614d2d
+005c502d004b5b3a0037533900234c39001f422f001b39250019341f00183019
+00191f070021230b0029270f00393b1f0049502f00565e3600636c3e007d753e
+008c844700ae954c00ae8d4400af863c00b0853800b1843500b47f2b00b98123
+00c4831400c0831400bd841400b27d1400a87615009f6e140097671400845518
+006e471000452a0a003f290600392902003f2b0300462d04005935070068440b
+00995b0c0096601000936615008d621500875e16006f561a00564a22003e3c28
+00292f29000d201f0009171a00050f1500040f0f0004100a00040f0800050e09
+0007100800070f0700070f0600070e0500070d04000509020003060100030402
+0003050300060c080008120b000b190e001127170014301e001c3a2300274125
+0031412200383d1d004039190045371a004a351c0055381e005d411a006b461a
+0076471900754d0b006d4a0c0066470e005a3d0a0046320700312b0d0024250d
+00131d0b00101b0b000d1a0b000d190b000e180b0012170a0014140700191404
+0026190300542c02005c340300653c0500804c060098600c00a3721900ac8423
+00c9b54400cdb84b00d2bb5200c6b75200cec25300d1b64e00be9a3e00b78e31
+00b27d2c00a5661900a05e1e009b5723008e46240076401b00603b230051342c
+002b3f2e00284231002645350029493200354e2d00475b2f005b643200736b34
+008b7b3800a08e4700b3a16100b3ab6b00b2ad6200c0ae6300aea560009c9746
+0098732300926b1c008d6416008b5910008c520d0083460a00703a0a00623009
+00572a0a0049280b00442a0d0052370f00694b11007956190092691b00a87a1c
+0096722400836a280072642d00535c3200354e310028423300283e3100253a2b
+0025332300282b1b0027261800212114001e1b0e0017170b00111208000e0e05
+00080e0400050e0200050e000004110100051102000711040009140600091507
+0009150800091409000a1207000a0e04000d0a0400100b050015120800191b0f
+001b281a001d3622001e4028001b442b001b3e2a001e37230020331a00242d19
+00262c1800272d15002531190023311800252a1600282c18002c2b1500302614
+0035291200382b1000342d120031311200303112002c331600263b1e00244324
+"/>
+<palette number="641" name="Sharp" data="002ad619001dcd11001cc914001bc517001bc222001cc02d001aba340019b53b
+00139747000e824300096d3f00065e39000350340002423b0002344200032f44
+00052a4700132047001e2d49002a3a4b0030445400364f5e003550650034516d
+00375c85003d6c8e00447d9700478f9b004aa2a00045a69f0041aa9e0036a698
+0029a28e001a986b00179f590015a6470011a839000eab2b000fac280011ae25
+002bb31e003eb81d0051be1c0063c21f0075c723007fcb26008acf290092d32f
+00a7d43100c4c22c00c2b22700c1a32200b3942000a5851e009c7e1e0093771f
+007653130064430c00523306003d2a0500292205001f1f0500161c0500091903
+0002160300000f0100001a020000250300002b030000320400003e0500004906
+000052060000560600005a07000066090000720c0000761300007a1a0000802d
+000283400003715f0004695d0005625c00055d5a0005595800044e5700064357
+000a2a63000e255f0013205b001321520014234a00122a3700113324000e3916
+000b400e000f5111001355140018591700185917001859170016571600105412
+00074e0f00094810000c4211000c4011000d3f11000d3c11000d3610000c2c0d
+0006260800011a04000119030001180200011a0200011e020001200300022204
+00081e0d000e1d1200141d18001521190017261b0016321c00153e1b00134a18
+001255180015681b00176d1c0019731e00197d1e0017841c0015881600188a11
+002e7a080041740800556e08005e6e0700686e0700756e0700866e080095650b
+00a85a0a00b84d1400b94c1500bb4b1700b64d1900ad531a009e541e00924c1b
+00733b1c0069391d0060371f004c3c20003a452000295022001b571e00155a1a
+000f5a140007640f0006680e00056c0d0004770c0003820b00038c0a00018c07
+00007a050001730400026d0400076203000f5a03001c5402002e520100425501
+00545701006658020078570200885b0300985e0200a45d0300ae620700b16e0c
+00ab821100a48812009d8e130091991300829b100072970f005c9411004d9314
+00398f1500258b1500158715000c80100007750b0001680700005b0600005005
+0000480500003e04000032030000270200001c01000115010001160000011d01
+0001290200013603000243070003500c000a5e1200116d1800158027001c943c
+0023a54d0023af5d001db66e0020ba7b0024b6820021af8b001fa89c00279da2
+00258f9f001b7d9e00176e9600145e87000d4c7200053d6800072f5c000b244c
+00131f3e00201a2f00331c1f0048240e005a2e070061340a0064421200695322
+006f6137007b704c008d846000a6976400aa9e6200a6ac610098b75d0082ba5d
+0069ba5f0058c06e005ac4710056c46a0057c9610053d24d004ad539003ad524
+"/>
+<palette number="642" name="Shy_Violets" data="00625a5200414730003c402f0037392f003c2e350041243b00452140004a1e46
+00541a500050264b004c3346004a3d3f0049483800484b3800484e390048503e
+004952440057536900604c7400694680006745830065458700614887005e4b88
+004d6162003c6950002b713f00257d3200208a26001c932000189c1a0011a11b
+0012aa1c002ca0130032961b00398c240048782e00576438005c593d00614e42
+0063336000602d6f005d277e0056287e004f297e004b2a7c00482b7b0049297b
+004e2c7400482960004b255a004f2255004c1e5100491b4d00431a4d003d1a4d
+002d1b470025243f001e2d3700173c3100104c2b0010562700106123000b6c23
+000d6d23000f5934000e4a3f000e3c4b0010335000132a56001c1c5d001f145e
+002e165d00341d59003a2555003a2f48003a393c0037403a00354738002e5334
+002e5a29002c5f2300355c2d003f59370049523c00534c4200663e500073315a
+008120650081186600811168007b10690075106a00630c61004c0b5a003f174c
+00382c400033492e0032502c0031572a00385a2b00405d2c00455536004a4b47
+00563f7b0069438c007c489d00804b9e00844f9f008b56aa008f639b008c6f8b
+0080787000646b4d00586745004d633d003c5d3100375031003a40350040313d
+0058134a00640c4c0071054e0074064e0077074e00750c49007b1e4400773537
+0072472e00634f2b005f512b005b542c0054592d004d523300423f4200362a51
+0025125e001a0e5e000f0a5e000b095c0007085b0007055c000e045c001c065c
+002a0a5b00450866004f086b005a0971006d0c7b007c0d83007f108a0080148c
+007b1b83007a1b7e00791c7a00771f6d006d1f5e006a1b54006b165100701550
+006c1255006607680064076a0063086c005b0b7000560b710054097100540a6c
+004c0862004d0760004e065f0052095e00540b6100550d66005a0e6b00631474
+0071208600812b99008e39aa009c45b500ab5ac300b96ccf00c67bd900ca82dd
+00c78dd900c78bd700c789d600c37dd600bd70d500b065d000a459c600944bbb
+008a3cb5008132ab007b2ba50073239d00711e9b00771c98007f1b9e00871ca3
+00901ea7009c29ad00a832b500b137b400b734ab00b930a200bc34a000b33397
+00aa2f8a009f2379009d2472009a2b7300942e77008a2d7a007c2d7b007a3482
+00753386006d2f8900592782004c277a003f246e00352464002e1e5900312553
+002a265a0020236000151962001a1b5e00161c680019167100191173001f1b66
+001b2e59001b3f4b001e4f4200265f3a002f6738003d6a380050694600656e55
+007e696a00995e7d00ae559a00bf5eaf00c86cc400cc74cc00c879d100ca7fd1
+00ce88d500cf8ad300c98ace00c67fc200bb74b200a76a9c008b6c830075656a
+"/>
+<palette number="643" name="Singe" data="00d2a45600ecc86a00e3bb6200dbaf5b00be8c4b00a16a3b00945a3200884a2a
+004c151400420d0b003906030036030100340100003401000034010000340100
+0034010000430d0d00582113006e351a00914f2c00b46a3f00bf7d4800cb9052
+00f5b46a00f9c27a00fdd18a00fed78c00ffde8e00fedd8c00fedc8b00fede84
+00fdd97f00e3b66800d9aa5600d09e4500c7923f00bf863a00c1883800c38b37
+00dba84a00d8a84e00d5a95300d0a24e00cc9c4a00bf8e4400b2813e0096622d
+007f442100541a0700480d03003c000000380000003401000034010000340100
+0034010000340100003401000034010000340100003401000034010000340100
+0034010000340100003401000034010000340000003400000036000000390000
+00420101004503010048060100480501004804010045050100430601003e0300
+003b000100340000003400000034010000340100003401000034010000340100
+0034010000330100003301000031010000300100002d0000002c010000270200
+00230100002302000026010000290000002a0000002c0000002f000000320100
+0034010000340100003401000034010000340100003401000034010000340100
+0034010000340100003401000034010000340100003401000034010000340100
+003401000036010000380100003b0600003e0b00004b1400005d1d0000703408
+0095471400ca6f2900d7762f00e47d3600f28b4100ea934b00e8984c00d89045
+00b0773900955629007b351a00702e1500662810004d1208003f010300390001
+0035000000340100003401000034010000340100003401000034010000340100
+0034010000340100003401000034010000340100003401000034010000340100
+0034010000340100003401000034010000340100003401000034010000340100
+0034010000340100003401000034010000340100003401000034010000340100
+00340100003301000031010200300104002e0103002a020300280004002a0102
+002c0000002e0000003000000033010000340100003401000034010000340100
+0034010000340100003401000034010000340100003300000033000000330000
+0033000000330000003300000033000000330000003401000034010000340300
+00390500003f0d0100471704005c250c006f35120078420e00894e0e008e4d17
+0081420f0076350200692905005414050047080100430503003f0002003a0101
+0039010300390002003700000034000000340100003401000034010000340100
+0034010000340100003401000034010000340100003401000034010000340100
+0034010000340100003401000034010000340100003401000034010000340000
+0035000000370200003e0700004a1302005f250c0079411b0097632b00b9833f
+"/>
+<palette number="644" name="Slate" data="0048485c00515164005353670055556a005353670052516400504f61004e4e5f
+004a475800484556004743540046435300464352004543530044435400434354
+00434454004646550046485700474a5900474c5d00484e6100494e62004a4f63
+004a5267004a5267004a5267004951670048516700474f6600474e6500464d65
+00444b64003d4664003a43620038406000343d5c00313b58002f3957002e3856
+002d3554002c3554002c3555002c3655002c3756002c3757002c3759002c385a
+002c385a0029375c0027355c0026345c0025335b0025325a0025315900253159
+0025305800252f5600262e5400262e5200272e5100282d5000292d4f00292d4f
+00292d4e00292d4d00282c4c00272c4b00262b4b00252a4b0023294a00222748
+002326440023264300232642002426400026263f0026263d0027263c00292539
+00292538002c2535002c2434002d2334002d2334002e23340030233400322534
+00372937003a2d3b003d313f004034410043374300483c48004f434d00544751
+00584b540060525400625453006456520064565100655651006756510068564f
+0067544f0066524e0065514e0064504e00644f4e00614e4f00614d5100604b52
+00604d5500634f5c0065525e00675560006a5965006e5d680075646c007c6c70
+008877790089797b008b7c7d008b7b7d008b7a7e0088797c0085767900817273
+007d6c6f0073636500716164006f5f63006a59600067565f0063545f00604f5d
+005d4f5d005e505d0060525d0060535d0061545d0063555d0064565f0065565f
+0065565d0064565d0063555c0063555c0063545a00605259005d4f5800594d54
+004d424d00493e4a00463b47003d344300382e3d00342a3900302737002d2635
+002d2535002a2337002922370029223700272238002620390026203900262039
+0026203b0026213b0026223b0026223c0026223c0026223d0027233d0027233f
+0026233f0026254000262540002726400027264200292740002a2742002a2742
+002a26400029263f0029263f002a253d002a253c002c253c002c233b002c2339
+002c2339002c2338002c2238002c2237002c2237002c2037002c2035002c2034
+002d2034002c1f32002c1f32002c1e32002a1e31002a1c31002c1e30002d1e30
+002e1f3000301f30003120310031223200312334003123350030253700302539
+002e263b002e273c0030293d00302a3f00302a4000302c4200312d4300312d46
+003130480032314a0035344e00393852003c3d580040425d0042446100434763
+004348640044486500434865004348670044486700444a670043486700434867
+00404765003f4764003d4463003c436000393f5d00373d5a00373c5900373c59
+00373c5900383c5900383d5a00393d5a003b3f59003c3f5a004042590044445a
+"/>
+<palette number="645" name="Slightly_Messy" data="005179170057761600597316005c7117005d6e17005f6b170060691700616818
+00666219006b601900715f1900775f18007e601800856016008c6115008e6114
+0091611300996411009a640e009c650c009d6409009e6407009d6306009d6305
+0098630300946404009166050090670a008f6810008e6813008e6816008d6a1d
+008b6c26007a763e0070764a00667757005c735e00537065004d6f6700476e6a
+002b666f00225e6c0019566a00134e65000d4661000b425f00093e5d0006365a
+00032f580002245600062158000a1f5a0010205e00172262001b236400202466
+003b2b6e0049336f00583b710066486f0074556e007a5c6d0081646c008e706b
+009a7a6500aa8d5a00ad995700b1a55400b0a95300b0ad5200aeae5000aaac4e
+00a0a34a00979e49008f99480082904800768848006f80490069794a005d6a4b
+00515a4d003a3f4c002f334b0024284b0020234a001c1e490018154400150f3e
+00130735001306330013063200120631001207310013083100140b3200160f34
+0019163500252737002f2e380039363a003e3a3a00433e3b004f4839005c5135
+00755e2d007d5f2a0085602800875f26008a5e25008d5b23008f5622008e5024
+008b4a2a007c3c3c007637410070334600622c500055285a00492665003e276f
+002b2b8000252f8400203489001f3889001f3c8a0020438800234b830026517c
+002955730036595f0038595a003b5a55003f59490040573c0041553000425027
+0044451d00423f1900413915003f3613003e3412003a301100382d1000372910
+0037251100371d1600361b1700361a190035191c0034181e0033152000311322
+002e0d28002d0c29002c0b2a0029092c0028092d0027082e0025073000240632
+0022063600210b4000220d4200231044002517490027214d00282b5000283655
+00294a6100294f63002a5466002b5e66002b6565002b6a6100296a5c00266758
+0023635400215e4e001f5947001f5340001f4c390022443200243c2e0028362b
+002c392b002e3b2b00303d2c0034432e003a472f00404f300043573200446034
+0042673500416b3500406e3500416e3500426c33004468310046612e0046592a
+00455025004548200046411c00493818004b2e14004d2410004e1b0d004f150a
+005211070054100700571007005a1209005b140b005d160f005e1715005e181d
+005e1a26005d1e30005b2139005724430052264c004c285400462b5a00402f5d
+003b345f0036395f0030405b002d4755002b4d4b002b5241002e563700305a2d
+00345e24003a631b0041681300486b0c004e6d0800516e0700536d0900536d0b
+00526d0e00516d1000506e12004f6e15004c6d1700486d1900436e1b003d6e1b
+003a701c0039711b003b731b003f741b0043751a0046771a004a7819004d7918
+"/>
+<palette number="646" name="Smog" data="002f342d0030332d0030322d0030322d0030312d0030312d0030302d0030302e
+00302f2d002e2e2c002d2d2c002b2b2a002a2a29002829270026282600252725
+002426250021242200212422002125220024272400272a27002a2d2a002e312d
+0041433c004a4b440053544d005e5d56006a665f00716b640078716a00847b74
+008c817b008d7f7b008b7b79008977770085737400827071007d6c6d00796969
+005f545400554d4c004c46450046424000403e3b003d3c38003a3a3600353632
+0031332f002e302d002e302d002e302d002e2f2d002e2e2d002e2d2c002e2d2c
+002c2d2b002b2c2a002a2c2900292b2800282a2800282a2700282a2700282b28
+00292d29002f342d0034383200393d37003b4039003e433c0044494100484e45
+0050594e00535c510056605400545f5300535e5200515c50004f5b4f004b574b
+0047534800444e4400434b42004249400041483f0041473f0042463f00444840
+004a4c44004b4c45004c4d46004b4c45004b4b4500484a440046494200434740
+0041463f003a403b00373e3900343d3700333d3600333d3600333d3600343d36
+00364038003741390039433a003a433a003b433b003c443c003e433c003e433c
+003e433c003d413a003c4039003b3f3800393c36003739340036383200343731
+0031352f0030342e002f332d002f332c002f332c002f332c002f342c002f342d
+002f342d0030332d0030332d0030332d0030322d0030312d0030312d0030302e
+00302f2d002e2e2c002d2d2c002c2c2b002b2c2a002a2a290028292800262826
+00242625002124220021242200212422002125220023262400272a27002e312d
+0041433c00454740004a4c450053544d005d5c55006a665f0078716a00847b74
+008c817b008d7f7b008b7d7a008a7b7900897777008774750082707100796969
+005f54540059504f00544c4b004c46450046424000403e3b003a3a3600353632
+0031332f002f312d002e302d002f302d002e302d002e2f2d002e2e2d002e2d2c
+002c2d2b002b2d2a002b2d2a002a2c2900292c2800282a2800282a2700282b28
+00292d29002b302b002f342d0033383200393d37003e433c0044494100484e45
+004c544a0050594e00535d52005660540055605500535e52004f5b4f004b574b
+004753480045514600444e4400434c42004249400041473f0042463f00444840
+00474a41004a4c44004c4d45004c4d46004b4b4500484a440046494200434740
+0041463f003e433d003a403b00373e3900343d3700333d3600333d3600343d36
+00343e3700364038003741390039433a003b433b003c443c003e433c003e433c
+003e433c003e433b003d413a003b3f3800393c36003739340036383200343731
+0032362f0031352f0030342e002f332d002f332c002f332c002f342c002f342d
+"/>
+<palette number="647" name="Sno_and_Shadows" data="00081316000b14200008102200060c2400050926000407280002052800010429
+0000042f00060b3b000c12470017255a0022396d003b4e8100556495005d6f9b
+00667aa2008593ac007a879900707b87005f6a78004f596900475164003f4a60
+002633600025346200253665001d316200162d6000162b5d0016295b0015275e
+00182b630024386d003f517f005a6b92007686a90092a1c100a5b1ca00b8c2d4
+00e4eaf300eef3f800f9fcfd00fbfcfd00fefcfd00fefcfd00fefdfd00fcfdff
+00f5f7fb00e1e6ee00d2d6e200c3c7d600b9bfd500afb8d500b2b8d300b6b9d2
+00ccd1e600dadeea00e8ebee00e3eaef00dfeaf100d8e3eb00d1dde600bacad8
+009db0d2008199bf007790b5006e87ac006c84a6006b82a0005c7293004a5b7b
+00293553001f2d450016263800152535001524320016253400172737001a2b44
+00253656003b4d890055689e006f84b3007a90bf00869dcc00a3b6d700b9c6df
+00cad6e700c5cddd00c0c4d300bcc1cd00b9bfc700b1b6c000acb3bf00b2bbc1
+00bcc2c600d8dee100e2e7eb00ecf0f500edf1f600eff3f800e9eff700dde3ef
+00bac0d800abb1d1009ca3ca0098a1ca00949fcb008e9bd00097a2d500a9b3e2
+00bbc6ea00dfe4f400e3eaf700e8f1fb00e8f3fa00dee9ee00cad8e400b3c3d9
+008d9aab00808da40074809e00737d9a00737b9700717892005f6d9a004e5e95
+00455284001b2d6100152454000f1c470009123600080f2a00080d2200070c20
+0011162d00151e3a001a264800233253002c3e5e004256750057688b0071839f
+008c9ab000bdc6c900bec7c900c0c9ca00c9c9c600c7cac400b4bfb900a9aea9
+009499a0009198a0008e97a100929c9d00939fa0008f9ca50089939700767f82
+0058687300343a5100272f49001b254200141b36000e142c000a0f25000b0d20
+000b1227000e152e0011193500172146001d2a5600223161002738710026397c
+0022367c0025358100222f7e001d2c770022317e00333b82004a528900636fa2
+00acb3d000bac1da00c8d0e400d5e1e700d8e3e200d0dbdb00b7c8c6009aa8ac
+0078869500596786004652760032406700243261001e2d5d0019275700172255
+0011224f000d1d41000f1a3900101e35000f202c000f1f2300101b1e000c161c
+0008151a00060e1400040a1200040d1300050d1200060c1100050d1200050d11
+00050b0f0005080f0005080d0004080c0004080e0005091200040a1800030c25
+0004103500061645000a1e56000f23620012276800172b6300192b5d00162959
+0013234f00102042000b1e3c000b1b38000d1930000e1a28000d1820000c191e
+000d1c20000f1c1e000d1a1d000a171e000b171c000b111900070a1500040611
+0003050e0001050c0000060c0001060c0003090d000612130008151600071012
+"/>
+<palette number="648" name="Snowy_Field" data="007cb0b40079aeb00080b2b50087b6ba0085b0b30083aaad0083a6a90083a2a6
+0080999f007f99a0007e99a1007c9ba3007a9da6007b9aa5007c97a5007b95a1
+007a939e007a7d87007c717b007f666f007c5e67007a565f0079555e0078555d
+007b5f69007c6871007e727a0082818800869097008a969c008e9ca10092a9ac
+0098b3b500a1c4c600a4c5c700a7c6c900a5c1c400a4bcc000a3b5ba00a3afb4
+008f919800817f8600736d7400655e6600584f580053474f004e40470048353c
+00442f38004c2e3c0052364300583e4a005f4b5600675863006b606a006f6872
+007b8b930080999f0086a8ac008bb3b60091bec10093c1c40095c5c80097c8ca
+0099cbcb0097c6c70091bbbd008bb1b40085a8ab0080a0a300728c900062767d
+004f5663004d4c59004b434f00534857005b4e5f0062556500695d6c00776b79
+00827d87008d9ca2008fa1a70091a7ac0090a6ab0090a5aa00889fa100879597
+0085767f00816971007d5c640079565e0075505800724652006f424f006c424e
+0067424d005f4252005f4857005f4e5c005f505d0060535f0061566100615b63
+00655e6200645b5f0063585d0060585c005e585b005c545b00584d550057414f
+00533e4b005c4451005e445200604553006349550068526100745f6d007b6b79
+008c8691009c939d00ada0a900b4a7ad00bbaeb200c7b9b900d5c3bf00e4ccc5
+00efd0cb00f0dbce00f0ddcf00f0e0d000f0e1d400e8dfd400dbdcd200cfdcd0
+00bcd2cc00b8cbc500b5c5bf00b5c3be00b5c1be00b9c0bb00c3c0ba00ccc3ba
+00cfc7be00c0c8c200bbc5c100b6c2c100aabbbd0098b1b40085a9ad007b9da6
+008091a00081929f0083949f008d9ba5009ca4aa00acadaf00b3b4b300b7b6b8
+00b9b9b700b5afa500b4aaa200b4a69f00b1a29f00af9b9d00a8969700a69392
+009f8e92009b8a8e0098878b008f7e810087767b007d6d76007768720074666e
+0072666f0071667200706c790070727e006d7982006d7b84006e7e84006f7d82
+0064717b00626e7700616b740061656e00616069005e5a64005b5762005a5862
+005e5b6300605e64006361680065686e006c6b7500746f7a007b7481007f7d86
+0085858d0093909600a19ea200aeafad00b9beb800c8cdc200d6dbce00e4e8d8
+00eeefdf00f5f4e200f9f5e300faf6e100f9f5de00f6f5db00f2f1d800f0ecd2
+00ede6cc00e8e3ca00dfe0cd00d3dece00c8d9cd00c3d7cd00bad4d100b0d3d2
+00a4d1d2009fcfcf009bcbce009ac7c90098c5c60098bdbe0096b4b70095a9ae
+0092a2a70092979c00958b91009a828a00a37d8600aa7a8500ab768300a77884
+00a9778000ae777e00b2727b00a7727c009b737a009074760090727400907275
+0090767a00877b8100818389007c898f00788e9300738a920077969b007ca0a7
+"/>
+<palette number="649" name="Snuggle" data="00781a3d0076183800741834007218310079142e0081112b00860f29008c0e28
+008c10210085141d007e191900771d1e007021230071273000722d3e00712c44
+00702c4a006b2e5c00652b5f005f2862005c2b6a00592e7300572e7900552f80
+004d3398004c3399004c339a00533392005a338a00623585006b388000783e7b
+008046790088627d00896e7b008a7a7a008e81740092896e0096896c009b896b
+00a0917600a1968000a39c8a009ba0910093a499008ea09900899c9900799399
+00688b9a00517a8a005371840055687e005b5b7300624f680064496400674361
+0065334e00632e4f0062295100662458006b206000701d6800761a700084197a
+00911881009e1b8400a11e8300a4218200a5208300a61f8500a8218400ac217f
+00b8266400c02e5400c8364500cb383a00cf3b3000cf3a2d00cf3a2a00ce3926
+00ca372200c3342500ba322500b2312600ac2f2600a62e26009a2824008d2322
+0085122700811027007e0e27007b0e2800790f2900700f2900651128005e132a
+005c132c005f182f0060213200612b36005e3135005b38350051453700495042
+0042564f00475757004d595f00515c6000555f62005c645c0063685f006a685c
+0070655800774c5a0079475e007b4262007d3a5e007d3162007c2c620076275f
+005d1d5100521b4e0048194b00451a4f00421b5300452661004c30700052427c
+005a4c8500645c8c00645a8c0065598c00675894006e589e00725da700795fac
+008563ae00855eac008659ab008857ab008a55ac008c51a800904fa000944a94
+009a428500a5427b00a6478100a74c8800a5599600a06ca300977fab008a89ac
+00738faa006f8cac006b89af006384b7005787c7004e8dd5004494dc003796dc
+002e96de002d84d5002c7cd3002c75d1002c61d0002d55d0002848cf00233fce
+002537c8002834c2002c31bd003529b0004124a4004b219b00561a9200631589
+006c14820079147f00891b7b0096247400a0256500a5245d00a8215b00a2225d
+0098266e00972f7800963883009c438a009f4e9500a45b9d00a26aa0009b72a1
+00966ea1008c72a6008c75a3008f749f0098769900a5758c00ae797d00ba7270
+00b8676400af5c5800a24b4f00943c4f008a3052007f2e54007f2b5a00802962
+007e236c00781e710071187500671979005f1d78005a1e76005720700052216f
+004c29680052295d00552954005c2a4800652c41006f2c3c00762a4000723148
+006f3251006933570064325a0066315c006b2d5c0071236000712266006d1d6f
+00671a74005e19720054186f00491568003f125e0039175900351d5c00331f61
+002c236200242961001d2c6100182e5b00142f5600133456001a325700233159
+002c335700353356003e335100472f49004e2d42005a283c0066233d00731f3e
+"/>
+<palette number="650" name="Soap_Bubble" data="007096c50059bcd60057cfda0055e2de0067e6dc007aeadb0083e6d9008de2d8
+00a9c3d100aeaec600b49abb00a987a8009f74960091688600835c76007e5d73
+00795f700061727d00568182004c90870042a58f0039ba980039c2a2003acbad
+0044dabb003cd5af0034d0a30030c39d002cb698002ab09c0028aba000259e9f
+00269a9d0047878e004d739400545f9a005b5c9800635a9600705b8f007e5d88
+0098698700966a9200956b9e00a96b9d00be6c9c00c56c9800cc6c9500d27687
+00cd738400da747d00e0736f00e7736100e46e5500e2694a00df674d00dc6551
+00d1617700ca5b8600c4559500c351a100c34dad00c64eaf00c94fb200c561b5
+00bd74b100ac9c9f00a8ab9700a5ba8f009cc28e0093ca8d007bcc8b0063d58a
+004bdf8c003ddc950030da9e0033cea50037c3ad0042bbaa004db3a70065aeab
+007ca1ae009f7ebf00b468c500c953cb00cf4dcf00d548d300df45e200d847ed
+00cf3cf100cb3cec00c83de800c541e300c246df00c14fce00bc5bbd00af6aa8
+009c7f9500789e73006c9f5d0061a1480058a140004fa1380047aa35004ca63e
+006b884a0076735400815f5e00845c6900875974008a578100885784007d557a
+007b5976007f7f78008088770081927700809f6e008aa76e0098b37800aac281
+00c6dc9300cadd9f00cfdeab00cfdcb100d0dab700d4cfc600d6c7cc00cebdc9
+00cab2ce00bdafdc00bfa8df00c1a1e200c08fd900c272cd00b95dba00b257ac
+00b8509500c3407f00ce316a00d12b6100d4265800dc1f5700e0206000df2565
+00d9247000b1237500a9237b00a124810092298b0081299a006828ac00492cb2
+002a3bba00283fbb002743bc002a47c3002b49c6003045c2004542b300613f9b
+007b428200a14b6300a8516000b0585d00c7675200db7e4800e7924400ed9e49
+00e9b57100e9b97c00e9bd8800ecbe9400ecb29a00ef9fa000ed8aa800e477b8
+00d960c000cf50c700c040cb00af33cd00982ad7007c1ede006820e800532aed
+003b54f4003859f200365ff100386ced00377be8002e8fe10029ade0002abdde
+003dc9dc004fc8dc005cc8d30067d1c7006cd8bb0079e2ae0087e5ac0092e6a3
+0093e891008ceb81007fec6e0074eb6b006fe56c0060e5690054e5650047e466
+0043e76d0050e3780062e282007be489008de694009feba300aaeaad00aeebb9
+00b1e9c300b2e4cc00a9dbd90099c5de0083b1e6006699ea005783ee004371f2
+00325bf1002e48f1002c36ef00372bf2004623f4005121f4005b2aec006231df
+00663dcc00693dbd007039b00084409f0090478f009b617a00a0756c00a08265
+00af866600bd876a00ca8d7200d6928000d69a8f00d691a100d881ad00d670b2
+00d65ab400d050b600c34cbd00be41c200a64dc200955ac200866cbb006d8cc0
+"/>
+<palette number="651" name="Sophia" data="00aa80390097693300916332008b5d310081522d0078472a0075432800733f27
+0071372b00743c2e00784231007e493000855030008d553000955b31009a5f34
+009f643700af744300b3764400b8794500b57a4800b27c4c00af7c4e00ac7d50
+00a77b5300a47c5500a27d58009e8256009b8755009b8854009b895400a18853
+00a3835300a0794b00986e430091643b00875637007d493400764334006f3d35
+00623531005e322d005b2f2a00552c2c00502a2f004f2a2d004e2a2b004e2b26
+004f291b00491b110042150c003b0f0800380c0500360a0300380903003a0804
+0043060600480a06004e0e06004d1108004d140a004c140b004b140d004b1510
+004d180f00411e0b003a1c0b00341b0b00341a0c0035190d003d1f1000472915
+00674c26007759300087663b00907048009a7a56009f826000a58a6a00b09c7e
+00baae9400c5bb9d00c6ba9e00c7ba9f00c8bea200c9c2a500d1cea300d9dc9b
+00e4d98500e0cc7a00dcbf6f00d8bb6900d5b86400c9a75b00be9a5200b2824b
+009f6b4500854d44007e4c4b00784c5300784f5b00785263007c5d7400856a87
+0099859f00a692a100b39fa300b8a5a000beab9d00c5ab9b00c6a88f00c79e7d
+00c6916b00ba774c00b36e4800ad6645009d56400091493d00893e3c0080383f
+006f324b006b375100673d57006640590066445c00684c6200695367006e5869
+0077617000856d8300866f8600887189008a6e87008d6d82008a6d7e008b667f
+00895d7900855c7100815c69007f5b67007e5a65007f5b6200855d60008f625c
+00986e5a00a4805c00a6825c00a8845d00a9835900a7814f00a07947009a6e3e
+008a583e0085553d0081523d00744c3c0069453700603b320059302f004f272b
+00442226002a1d1900271a1700241815001e1111001b0a0d00190a08001c0e05
+00311f0c0037230d003e270f00492f110056351200663e180072451d007a4d23
+007c5228007d522e007f52350081523c0082533f0083533d0082513e00854e3d
+00934b3e00954a3a0097493600994832009a472b00a0482d00a64e3200aa5234
+00a7583800a25a35009d5c3600985d3700915a3500875536007c4b3000714227
+0063362000532a1500411f110034130d00320e0a00360b0a003d0d090042110b
+0045140f004e1a15005a1f200067232b00722832007a2b3300823033008c3438
+00933b420092434e00904e5700935b59009d6b5900ae7c5c00ba8a6200c0986c
+00c0a27400bdad7a00bbb68000bbbc8500c0c09300c4c49d00c4c4ac00c0c7ba
+00beccc200c0d0c700c8dcc400cfdec000d1d9bc00cfd4bb00c9c6b500c3bfb0
+00b7b6a300b0a69600a59793009e868f009c7a9200977992009d7c8c00a48186
+00ab857c00b4877000b8886800b88a5c00bd935800c09a5600be9c4e00ba9546
+"/>
+<palette number="652" name="Strawberries" data="006c000900740209007503090077040a0076040a0075050b0074040b0073040c
+0067050b0061050c005c060d0059050d0057040e0055030d0054020c0053010c
+0053010c0053000c0053000c0053000c0051020e00500510004e0712004d0a15
+0044141a003d1419003715190033151900301519002f1519002f161a00301719
+0031171b0032111100370b0d003d060900430307004a0105004c0005004f0005
+00550006005a0007005f000800620008006500090066000a0067000b0068010e
+006a0312006a1823006f293100743b3f00814f54008e636900946b70009b7377
+00998f9300929696008c9e9a008e9e9800919f97008e9b94008c979100858b88
+00767b780053574f004d483e0047392d0047332800472e240046231f00481b1b
+00531215005c0d130066081100700410007a010f007e000f0082000f00860111
+008802130086061400810512007d05110079051000750610006b0810005e0c12
+0049101000440e0e003f0d0c003d0b0b003c090a003a0a0b00370b0a00360b09
+00370a07003904050038030500370306003604060035060600360808003b0a0a
+0046090d004c080d0052080d0054080d0056090e005c0a1100650c13006d0b17
+0076091800820815008308140085081300890813008d0916008f0b1b00921622
+00a1363700aa474000b3584900b95e5000bf645700be736000c07e6b00b78570
+00ab866d00958265008d7f6200867c5f007f745700766550006e524300663b31
+00671b190070141500790d11007e0b10008409100092060e00a0030d00ab010c
+00b3000c00b6000c00b3000c00b0000c00a8010c009f010c0095010c008c010c
+0078000b0073000b006f000b0066000a005d000a005700090052000a004e000a
+004d0009004d0007004d0006004d0005004e0005004d0005004c0005004d0006
+0053010500560105005a01050061010700670308006d040b006e0710006f1013
+00701c1b007b1a1d00851a1c0092181b009a131a009f1018009c1c1d00a11b1e
+00ae161d00b2121c00b60f1b00bc031700ba041700b9031800b5031700b30317
+00b1041800ae031900aa031900a8031900a6021700a6021400a7031400a90414
+00ab051500aa081700a50f1b00a61f2400a82f2f00a9413d00aa504900aa594e
+009c594d00915c4f00865d4c007f5e4e007a5e4f007c5a4d00774f440072403b
+006c2f2c006920220068131c00690b17006c0a16006f15200072212b00732c35
+0073303c0075313d007c28370081293600892c3b009131400093334300933142
+009725380098172a009a0c20009e071b009d05190096041a008d071a00810a19
+00740d1900660e19005a0e1700510c1700490c1700420d17003e0e18003a0f18
+00380f15003a0b13003d071100440410004b020d0053020c005c020c0064010b
+"/>
+<palette number="653" name="Summer" data="007d432f00582f0d004c2c0e0040290f0033241000271f1200271d0e00271b0a
+002f1606003f200400502b03006032090071390f008546180099542100a1582b
+00a95c3500be8a4f00c6986000cfa77200cca47300caa17400b99b7600a89678
+00886d5f007a6955006d664b00746540007b64350082673400896b3400937731
+009a863800bca55400c7ba6b00d2cf8300d8d19700dfd4ab00e2daac00e6e0ae
+00e2d5b100d5caa300c9bf9500baac7e00ab996800a59161009f895b0094764b
+0095713600ab7a2300b1822500b88a2800b6903700b5964700ad914c00a68d51
+008d765d008264510077524600744b3700724528007244200073431900694013
+005b4212003b3c120030381900253520002334200022332000293324003a382b
+005b493900635142006b5a4b0064564a005d524900554c46004d474300403f31
+00322c210019170f0017180f0015190f00161d11001822140026331e00363e2d
+004d4b340057443300623e3200613d3500613d38005c42370057433a00534e4a
+00585f6000677e7000698275006c877b006d8678006e86750066816d005c7a61
+0063795f00768369008a8e730091957800989d7e00a5b08300aeae8800a6a67d
+009aa66e007e96670078926600728f6500698e630061906900578966004d7657
+00395337003d402900422e1b00452f1800493116005b3213006b361b0070431d
+00724f23006a5932006b603c006c684700727559007a835d008e966800b1a570
+00d2c76700e0c46200eec25d00e8c05c00e3bf5b00dcb55900d79e5500d09252
+00c68d4f00bb925000b7935400b3945900b49c6400b5ae7400b1b98700bbc3a3
+00cde3c800cce5cd00cce7d200d7e9d200d5ddc700c8c1b500b9ad9c00ac9b85
+00a77f72009f6d42009c693d009965390097613100955d2e0084553100734f36
+0052423a004c463d00474a400045574d0049675b00537c6a00569684006baf97
+0085b69a0088baa50094bda900a1b19c00a3a08600a38d6f009e806300967350
+008860400086624200856445008c6a430095743d00997b3c009e742f009e761d
+0095751800855e170075461600633b170055311c004d292200472625004b2b2a
+0052372d00563d2e005e422b005f432a00563b2b0049332100402b1d00342423
+002f25240033292600392e3100423a37004846390048523f004e5644005c6043
+0066724000717c49008b8a5400a39c5d00b6b06e00c5be7f00cac28b00cec59b
+00d2c6a300cbc39f00c9bb9f00d0bd9b00d5c58d00e1c68600e9c88400eccc7c
+00efcc7400e7c37500ddb77700d2b17400caa27700cc998600d19f9500cfa1a5
+00d1afb400d7c0c400ccc9cc00c1d1ca00b5d5c900a0cabf009cb8b1009bafa2
+0086a291007f8d7c008c7e69008d735c0085635400845b4e00864e350085402b
+"/>
+<palette number="654" name="Summer_Fire" data="00fede3900fde93a00f6e23b00f0dc3c00e7d13e00dfc64000dac34100d6c042
+00c4b54c00bfb05700bbab6300b9a97200b7a88200b8a78b00baa69500b8a696
+00b7a79800c5a38f00ca988900d08d8400d5868000da807c00d87d7800d67b75
+00d57a6200d3715500d1694800d3633e00d65d3500d45b3200d25a3000cf5a2f
+00c9613200b66c3a00ad683600a46433009b5d2d0093572700905424008d5121
+007e3e1900763215006e271200691e100065150e0067140e0069130e00740e0c
+00800d0e00a50a0f00b10f0f00be140f00ca211200d62f1500da361600df3d18
+00f1521e00f5602000fa6e2200fb7d2400fd8d2700fd942800fd9c2900fda92b
+00fdad2c00fdac2c00f8a62a00f3a12800ee9d2700ea992700de902500d18825
+00bc7a2800b6732900b16c2b00b0672900af622700ae602600ae5e2600ad5d24
+00ae5e2500b9622a00c3662900ce6a2900d46c2800db6e2800e6732500ef7923
+00fb892400fc932600fd9d2900fda22a00fda72b00fdaf2d00fdb52e00fdb82e
+00fcb72e00f6b12d00f0a82c00eb9f2b00ea992a00e9942900e88a2a00e88128
+00eb722400e96e2300e86a2200e7662000e7631e00e75e2000ea5d2000ec5c20
+00f2602000fa722300fb752200fc782200fc7a2200fe7b2300fd7b2300fc7923
+00f57a2600ee7a2800e87a2b00e67b2e00e47c3100e0803700de833c00e18541
+00e28a4200e08e4000df8c4000df8b4000de8a4000da863d00db813f00dc7d3c
+00df7a3200e0772d00e1742900df712600de6f2300db621f00d5541b00cf4719
+00c83d1600bf2e1300bc2e1300ba2f1300b42d1400ad2c1500a52a19009d291c
+009228200091292100902a22008b2d2100873320008439240083412900824b30
+0084583a0092694700966d48009a724900a3774c00ac7c4f00b3815100bd8953
+00d1a05700d4a75700d7af5800dfbc5900e7c75a00e8c95f00e8c76100e8c361
+00e4be5f00deb85d00d6b45b00d1b55800cbb25900c5ab5c00c1a46000b99b5e
+00b1805700b1775300b16f5000b4634700b9563e00c34c3900c8433200ce3a2d
+00d4382600d82d2000dd231a00e1191500e9101100f0080f00f4091000f51318
+00f3202000f32c2a00f03a3300ed493b00ed534200ee624700f0705200f18159
+00f3916400f5a26e00f4b57400f4c27500f4cd7100f5d46e00f5d96700f6db60
+00f9d85e00fad55900fcd05100fdcc4900fdc84300fdc43c00fcc03400fcba30
+00fcb52e00fcb02d00fcac2c00fda82a00fda32900fc9d2700f7962500f09123
+00e68a2100d9852100cc802000c07a1f00ba751d00b56f1d00b1691c00a95b1a
+00a64d1900a04016009c3415009c2c1300a42f1500b03b1700b8471a00c5551e
+00d0642000d9702300de752300e6812600f0902900f5a32e00f9b63300fcca36
+"/>
+<palette number="655" name="Summer_Skies" data="007a65b8007979b7007d83b900828dbc008494c100879cc700889ec80089a0ca
+008999c0007f91b7007689ae006c83a600637e9f005d789e0057729e00526e9e
+004e6a9e003d5aa4003555a3002e51a3002b4da300294aa4002a4aa3002c4ba2
+004154a7004e59ad005b5eb3006564bb00706ac400736ec7007672ca00807bcc
+008984ce009c99d100a3a5d200abb2d300aec0d800b2cedd00b1d2df00b1d7e2
+00a5e0e7009cdee30094dddf008ed5dc0088ceda0085cbd70083c8d4007abdcd
+0074b6c8005ea8be00509db6004392ae003887a3002e7c99002a77940026738f
+00225c7b002251730022466b00203c66001e3361001d305e001c2d5c001a2a5a
+0017295c000d3861000c4266000c4c6c000d5171000f57760012618100176b8c
+00287da1003085ad00398dba003c99c4003fa6ce003facd10040b2d50040bedd
+003dcee40035dfee0034e2ef0034e5f10035e4f10037e3f2003ae0f2003be1f0
+0040dae80042d9dd0045d9d20043dacc0041dbc7003edebe003cdebb0040ddbb
+0048dcba005adebd0061d8c10069d2c6006fcec20075cbbe0078c3b90077b9b3
+0072a5a7006f9aa1006c909c006a8e9900698c97006882970069779e006d6ca1
+006e64a3006c5fa1006a5da100695ca1005f579f0058569c004f599900495e97
+004d699c004f739f00517da3005283a400548aa5005994ab005a9db5005ba9be
+0056b4c70048ccd30046d1d50044d6d80040d9de003ddee3003de5e50041e6e4
+0053ebed005aecef0061eef20062eef20063eef20063eff3005feff3005aedf4
+0054eef3004df1f1004ff1f10052f2f2005af1f30065f1f30073f0f40083f2f5
+0097f5f90099f4f9009cf3f90099f0f70093e9f4008de2f1008adfee0088dbeb
+0089d6e70094d4e40096d4e30099d5e3009dd9e4009edbe4009fdce5009cdbe6
+009bdce7009bdae6009bd9e5009bd7e4009bd5e50099d2e30097cde20091c7de
+0089bfda007ebad70072b5d4006ab2d10066adce0066afcb0069aecc0070b1cc
+0086aecc0088abca008ba9c8008d9fc3008599bf007b95ba00708eb600668db1
+005a90af005099ad004aa2af004aaeb1004bb4b10051b7b00058b5ad005db5ae
+0063aeb2006ca6b4006f9fb5006d9bb3006995b200678baf006084aa005b81a6
+00587a9c00597992005b6d890066648900755f8c00855f900090649800a168a0
+00ac6ba700b470b000b676b500b985b700b78cb200b892b200bd9ab400c3a1b9
+00c9aec100cfb9cb00d4c0d500dcc3dd00ddc6e700dad0ef00d2daf200c6dff2
+00b9dff000acdbeb00a0d2e20094c6db0087bad5007eaccf007a9ecf007991cd
+007384c8006978c1005d6bbb005064b500445ead003b60ab002f60a6002c61a3
+002f5da3003d59a7004853aa00534fac005d4bb0006950b4007150b3007c5db9
+"/>
+<palette number="656" name="Summer_Tulips" data="00b3854200cd7d2c00cc751e00cb6e1000c56a0b00c0660700bc630600b96105
+00b2610500b0620700af640900b0691200b16e1b00b0742500af7b3000b17d32
+00b47f3500ba7e2c00ba7a2300ba761a00ac721e009f6f23009d7026009b712a
+007170460070734d006f7754006d7857006b7a5a006e7b5b00717d5c00797c57
+0085784800996c2b00a2651b00ac5e0c00ab560900aa4f0600a94a0600a84507
+00a93a0700ab380600ad370600af410600b24b0700b34d0700b4500700ba5e11
+00bb721d00c6883800cf914000d89a4900d89a4900d99a4a00d6994a00d4994b
+00b98e4c00a88c5200988b59008e895c0085886000828861007f896300858a61
+00908f6600b4926800c89b6c00dca47000e2a47000e9a47000f0a36e00efac61
+00de9f4400d0953700c38c2b00bc872400b6821d00b57e1f00b57a2200b67c21
+00b9812200b7813000ae813700a6813f00a28041009f7f43009e793c00a16f2e
+00a85a1800ac4f0f00b0440600b0460500b0480500b24a0600b2460500af4905
+00af4a0700ab390700a7320800a32c0900a1290a00a0270b009e2509009d2509
+00922f090095370800984007009642070094440800984208009b4108009a420a
+009f4008009d470b009d4c0b009d510b00975d1400946525009170310089793f
+008e875c00918b5e00958f6100988e5e009b8d5c009f8a5300a4844800a77d39
+00af792800bb7a1b00ba7b1d00ba7c2000bd842700bc893400b58d4400b09150
+00ad965b00b0985c00b39a5e00b69a5c00b99b5a00ba985400bf914800c78c36
+00c4812800be6c1100b66b1300ae6b1500a1662000966b2f0084733f0079774d
+0076826000788461007b866300858a670095916d00b09c7700c9a67c00d8ac7d
+00e0ac8400d9ab7c00cfa67a00c5a27800ae996d00a6936800a09062009a8b5a
+009d8854009c8753009c8652009884510094875600908a5d008d8b6000898d65
+0086906b0087916c0085916b0082906c00818f6a007e8e69007a8b6700768663
+00707f5e006e7d5d006c7b5c006b7a5a006b7959006c7a5900757c5900817f54
+008d7e4b009f7d3d00af7c2e00bb792200c5771500c8771000c4771800be7920
+00b17c2d00a8803e00a8844600a5874b00a68a4d00b18d4700b98f3d00bf9137
+00c9923100cd8e2900cb8b2700d18c2300d5861e00d0811e00ce831c00d3861c
+00d58a2100d5902800e0973400e49d4000e5a04900e6a34f00e2a44f00dda14d
+00d69f4a00d09e4300d09b4000d2964800d18e4e00d28b5100d88d5a00d68f5f
+00d6905e00db966300dea06100e5a25b00e6a45800e1a35100e09e4b00d79d47
+00cd994200ca933c00ca923700cc943400cf943200d7963100df9b3100e19b3a
+00df974700db9a4f00d79e5400ce965900bb915a00b1955a00ba905d00b68751
+"/>
+<palette number="657" name="Sunbathing" data="00d9870300faa70100fba40100fca10200fba30200fba60300faa40300f9a303
+00dd840300c16c0200a55402008d4505007536090058280d003b1a1200351912
+0030191200543314005b3f1800634c1d0062532a00625a380063644700656e57
+00417e93004587a7004991bb0069a3b00089b5a5008db49e0091b49800b5c182
+00d6be5e00e2b03200bfac4c009da866008b8f640079776300737262006d6d62
+00787b69008c784c00a0762f00c0831b00e1910700ea960400f39b0200f6a204
+00f7a30700fb9a0b00f0860c00e6720d00c75f1200a94c18009e441700933d17
+004e151b0033122000180f26000e12210005161c0004151d0003141e00061422
+000b181b00241b190040291a005d371c006e401d0080491e009a562200b46820
+00e9901600f2971500fc9f1500fb9f0f00faa00a00f9a00800f9a10600f8a107
+00f3a20a00c3901100a08228007e753f0074754d006a755b004c6b6f0030567b
+0035577b004a5c6e0060626100635b540066554700704a2b00764710007e4e06
+00865103009c530a00a95c1000b7651600c36a1500d0701400d36b1500bf5f14
+008b3f1900682c190045191a0034121900230c19001206170008031a00020118
+000002140000030b0000030a00000309000003090001040a00050409000a0409
+001e0611003a1a0e00562f0b0063390a00714409008c4f0f00ac5f1000c46f14
+00ce771500ac661f009d612b008e5c370078575600585b740038648b00176ba7
+000478c8000271b600016aa50001649300015f82000050680000384600002029
+0000150e00081302000e130300141305002d2104004a3903006d5302008a6405
+00c98e0500d6990400e4a50400f5b00600fcb40c00fbb11300f3ad1f00cdab3d
+00aba763007c938800678b8e00538494003574970019689a00155984000d4571
+00111f4100101d3a000f1b33000a15340008113700061342000420560005306e
+0007438400055797000170ab00027bbc000679bd00066cb30004629b00075483
+001d2b4700282938003427290053311600744309008e510400a7640100c47801
+00df880300e38a0300d47c0100b86a00009f560100854a020067370300442406
+0028120a00150d0e000b0b120006101b0003142b00021d4100002a5f0002417c
+00035a98000370b0000181c900018dd800058cd7000d84bd00217e9d0041837e
+00637f6400807944009c772800bd8e1900dda51100f2b60d00fbb90900fdbd10
+00fdc10f00fdc00d00ffb40500fa9e0600ea830700d16a0600bb560400ae4101
+00a33103009b2a0300982e03009d350000a03e0000a04200009b440000923e00
+007c3a0000612d0000411c0000280a0000140302000a01050003020600020206
+00070207001002080022080a003b1c0a00623d0700805004009d570400b46203
+"/>
+<palette number="658" name="Sunny_Field" data="0075b070006eaa74006eaa7f006fab8a006eaf90006eb396006eb797006fbb98
+007fc39b0087ca99008fd1980094d09a0099d09d009bd19e009dd29f009ad29d
+0097d29c0099c5900095c1880091bd80008db1710089a66300829c5b007c9354
+00576b3a0045572e00334422002a402000223d1f002440210027442400324d25
+003a5730004a714d0048724b00477449003b714800306e47002c6a420028663e
+0015512900104b20000b4518000b3a13000c300f000a2d0d00082b0c000b2807
+00132c0900293910003744110046501200535a1c0061652600676b2a006d712f
+00708045006b804e00678158005b7f59004f7d5b004c795a004a765a00406e58
+003a6d4f002c7641002d753a002e7533002e7430002e732e002a702900276b25
+002b5c1c0029561c0027511d002c5923003161290035652d003a6a3200426f39
+004d773f005682560053845a0051875e004f875a004e8857004b87510042844f
+00408c4b004b91470056964400599b48005da04d0063a759006daf5f0069b463
+0060b669004cb667003cb064002dab610026aa61001fa961001ba762001da961
+002ca25e00329e5b00399b59003a9a59003c9a5a003c9956003d945200389451
+0035945300299c5e00299c63002a9c680032996f003a9b7000419a6f0044946b
+0047845b0045834f0044824300407f3c003d7c350037792c002f752900276f28
+001f672700195a23001857200018541e001a4a1e00224a2100294b270038572c
+00786d3d0090834b00a8995a00b3a06500bea87100d3ac7c00dcb68500d8c08b
+00cbc89400a6bda0009ab9a1008eb6a30073b49e0062af990053a38e00489784
+00318664002e805a002c7a50002a6e42002769310025682800276a20002d691f
+00346e1d00567d29005f823000688838007a8e4800939d5c00b2a66600c8b670
+00d6c98700d6cb8b00d7ce8f00d0d29100c5d98e00a9db91008edc950077d898
+006ed6940065d694005fd591005bd28f005dcd83005fc87a005ec06f005ab467
+0043984f003c9449003690440030863f002a843c0024813d001c883f001d8941
+001b8140001a80410019864a0022935a00248f62002a8b660030896b00389276
+0038a2800035ab810037aa7a00399f6e003c9c6700409f630045a06000499b5c
+004d9b5d0057a062005fa86b0064ae770068b67f006fbf890075c58c007cca91
+0082d291008bd7910090d98d0093d9860093d47d0090c9720093bd670092b25f
+0091a45b00899857008e9356008f965700909c60008ba6680091af6e009bb972
+009ec27b00a2cd8700a3d08c00adca8f00b5c39100c3c79400cdcd9200d5d091
+00decc9100e3cc9300e5d09100dfd98f00dcdf9000d6e59800cde49c00c1e4a3
+00b4e6a500abe8a900a3e3a2009ddc9a0091d48d0085cc85007cc1790078b876
+"/>
+<palette number="659" name="Sunset" data="00bd6a6a00a5515b009b475700923e530089335100812950007b244f00751f4e
+0059173f004c1336003f102d00360e27002d0d22002c0c21002b0c21002b0c20
+002c0c2000310c2200350b2200390a230040091f0048091b004f091a0057091a
+00731016008418180095201a00a2292000af322700b5352800bb392a00c83d2c
+00d53e2900da482100dc4e1f00df541e00d9571f00d45b2000d0592000cc5821
+00b84a1f00a7421d00973b1b0088351800792f1500702d1300682c12005a250f
+00511c0d0044130d00431b160043231f004b322a005341360056483b005a4f41
+00705e52007c645400886b570097745a00a77d5d00b1835e00bc896000cb9563
+00d59c6600df8e5f00da805400d6724a00d26a4400cf633f00ce583200cd5627
+00cd5b2100cf5d2200d1602300d0642700d0692c00d0692b00d0692b00cf6c2a
+00cd702d00cc7c3500ce853a00d18e3f00d2924200d4974600d79d4900daa24a
+00d5a14b00cd984700c6904400c18a4200bc844000af783c009f6d3800926533
+00845c2e006b4f24005f472000543f1d004e3a1b00493619003b2b13002e200f
+001f0e07001f0b04001f080200220702002507030033090400410a06004d0906
+00580807006b0709006e07080072080800750607007907070078080800750807
+006c060700640407005c030700560206005002050045000300370003002d0004
+002701050026080600290b07002c0e080034150a00411f0c004b290e00593313
+0075452300844c2b00935434009a543600a1553900af563b00ba553b00c4553b
+00cc563e00d3544c00d5544f00d7545200dc565800df595d00e25c6300e45d66
+00e8626d00e8666e00e96a7000e9717300ec7f7700ee8d7d00f19e8500f3af8e
+00f2ba9a00f8d0a400f6d0a400f5d1a400f1cea000eec59900e8ba8f00e4b287
+00d2967b00cf8f7700cd887400c57a6c00bb6c6200b45f5500ac514700a7453f
+00a13b35009c323200993131009631310095363100993d31009c4630009f4c36
+00a8593800a95c3700ab603700a9633800a5643700a1643800966235008c5e35
+008458300082502b008248250081401e007e3518007f2d14007c221200771c15
+0074161a0075121f007a0f2000830e21008f0c20009c0e2000ab0d1c00b5121d
+00ba172000be1f2700c1292a00c0312e00c2363000c03c3000bb3d2b00b54124
+00ae401f00a7411f00a1431d0097451d0090441d008d421b00873d1a007e3a18
+0075331500682c13005d25100050200d00461a0b0041120800410b0600420806
+0046050400460403004704030048060300490907004a0f0b00521811005e271b
+006f37260080452f0091533900a2603f00b26b4800b9735000c2785500ca845c
+00d3906300d9946900dd947100de957500e1947700db8c7900d37d7400c77170
+"/>
+<palette number="660" name="Surfer" data="00154bc0000862ea000566f000026af700036cf600046ff6000470f6000571f7
+000377fc000577f9000877f6000c70ea001169de00145ccc001850ba001a4bb2
+001d46ab001b3aa3001939a5001739a800153fae001446b400114bbb000e50c3
+000269e9000271f2000279fc000279fc00027afd000279fd000379fe000578fe
+000878fd001563e0001f54c5002945aa00353e950041378000453174004a2b69
+005d0d320060072500630219005d04230058072d00540b370050104100431f5e
+003c2c74002340a200184dbb000e5ad4000a66e4000773f4000576f800047afc
+00007dfe000080fe000083fe000084fe000186ff000186fe000186fe000286fe
+000282fe000574f4000968e2000d5dd1001256c5001750b90026429f00353487
+00531b550063123d00740a2500820616009002080093010500970103009b0101
+009f010100a5010100a8010100ac010100ae020000b1030000b8040000bc0400
+00bf020100bf030100bf040100bd040000bc040000b1040100a5020200990104
+008f010600840107007d000800770009007500090073000900760008007c0007
+008900060089010600890207008702090085030b007e0516007509260069103b
+005a1952003b257a0034257e002e26820027258600272585002d257f003a2375
+005a174f006a0f38007b08220082051a008a03120097010800a5010400b00102
+00b8010200be000100bd000100bd010200bd010200c1010200ca070100d30d00
+00da3c0100dc540200df6d0400e46f0500e9720600f4770a00e7771a00cf8734
+00b2925300898f83007d828c00717595005866aa003c57bd002353c500224fbb
+0032398d00363383003b2d7a00441f61004f134600590a2e00630419006a0210
+006f010d0070000a006e000b006d000d00650217005d042200530932004a0e40
+003b135400391253003812530037115600381254003d12520047114b00540e3b
+0062082b0070041a00750111007a000c0082000700870004008e0002008e0001
+008b0003008b0003008b00030092000200990000009e000000a5000000ac0000
+00b9060000c50c0000cf120000db190000e1190100eb1f0300f4250600fa2b07
+00fe310600fe320600fe300500f92b0700ef250800e51e0700da1a0600d61803
+00d0120200c60c0200bc060100b2000200b2000100b6000100c0060100ca0c01
+00d0110100d5110100d60a0200d90b0100d80c0300d2120700c0141100a51323
+0089163b00711955005e246d00492c8200343597001e3caa00113fb8000f3fba
+00113db600193aaf001738a60015349f00182b8c001d217a002a17690032125a
+003812560042114d004d0f41005b0b34006707250072051d007a0416007d0313
+007d03130072051d00660e31005a1a4c0049276a003d3280002c3996001e41ab
+"/>
+<palette number="661" name="Tequila" data="00c5712800c56b2f00c4683000c3663100c3642f00c4622e00c6612e00c8612e
+00cd602b00cd5c2b00cd582c00cb532a00c94f2900c5482600c2412400c13e22
+00c13b2100c03b2500bf3e2f00be423900c04c4500c2565100c25b5600c2605c
+00bf6b6f00bf737700bf7c8000bf838700bf8b8e00c08e9000c1929300c39898
+00c59e9a00c9a29e00ca9e9e00cc9b9e00cd979900cf939500cf909000cf8e8c
+00ce827500cf7b6700d1755a00ce6b5100cc624800c95d4600c7594500c35244
+00c14e4200be453d00be453900be453500bc483600ba4c3800b84f3b00b7523f
+00af5d5700ae5f6300ad616f00b0647300b4687800b7697a00bb6b7c00c0707f
+00c5758000cb808400cb7e8600cb7d8800ca7a8500c9788300c4717d00c06774
+00b9545f00b44e5200af494500ae443c00ae3f3300ae3e2f00af3d2b00af3c28
+00ae3b2a00b03a3a00af3c4200af3f4b00b03f5000b13f5500b53e5f00ba3e61
+00c03e5f00c13e5e00c33f5e00c33f5e00c3405f00c3425e00c5425c00c74061
+00cb3d5e00cb334f00c92e4300c8293800c5273300c3262e00be242400bc2319
+00c2271000c72b0f00cc300e00ce320d00d1350d00d43a0d00d63e0e00d53f0e
+00d63f0e00d5430e00d5460f00d6491100d6521700d65c1f00d6662a00d67036
+00d87d4c00d97f5500da815e00db816200dd826700df836f00e1867800e08a84
+00dd8f9100d69aac00d599b200d499b800d293c000d38ac700d485ca00d683ca
+00d583ce00d086cd00cc89cd00ca8bca00c88dc800c68bbe00c481b500c179aa
+00be719d00b6638600b55e8100b45a7d00b0587500ac596b00ac5c6000ad5956
+00b34c3f00b4483800b6443200b83c2700ba331e00bb2c1900ba271600ba2613
+00bd261400c42d1a00c6301d00c9342100d03a2a00d5423400da4a4000dc524c
+00de5e6100de606400df626800dd686d00db717500d9777c00db7f8200dc878c
+00dc909700db97a400da9cb100daa1bb00daa2c100daa4c600d8a4c900d9a4c8
+00dca6c500dda7c500dea8c500dfa8c500dfabc900e0accb00e1abcf00e1aad3
+00e2a8d300e3a4d000e59fcb00e49ac300e391b700df88ab00d9809f00d37994
+00cd718a00ca6d8000c96b7600c7676e00c2646600ba615b00b05b5100a65247
+009b4a3d008f41330084392d007c362500793523007632220074362100743825
+00763e2b00794434007b493c007b4b47007c4d510081515c008b53670093596c
+009b5b7200a25f7400aa617500af637300b2627400b3627400b5627300ba6272
+00be636e00c05f6900c15c6500c6585d00c8555100c9524600c74f3c00c44d33
+00c04b2a00bf4c2100bf4b1a00bf4c1800c34d1700c54c1500c64b1300c54b13
+00c64c1600c54f1900c5581b00c45e1c00c3641e00c56b2000c76f2500c87227
+"/>
+<palette number="662" name="Thistle" data="00999c9200a0a99900a7aca100aeb0aa00a7ada200a1aa9a00a0a89a009fa69b
+00afa3a800b799b500bf90c200c08ebc00c28cb600b78aa100ad888c009e8484
+0090817c006d754b00656b48005e624600645758006b4c6b00774b7800834b86
+00a764b100b377bc00c08bc800c099c600c1a8c500baacba00b3b0af009ead96
+00879b85005e7557004e6745003e5a33003c582e003a5729003d5a2700405d25
+004b6f19004c731a004d781b004b75170049721400436f13003d6c1300356514
+0031601500315c1d00355d2400395f2b00426532004c6c3a004e6d3e00516e43
+00556c4b00556c4a00556d4a00526648004f5f47004c5b44004958410041523c
+00394d3c0033383a002a333400222f2e001e2e2d001b2e2c001a2c2c001f2f29
+00283a32002e3b3900353d41003f3a4a0049385400493858004a385d00473a5c
+004537580041305300463759004c3f60004f476300534f67005c606600656570
+007f758f0089729700946f9f009765a4009a5caa00a152b500a754bc00b050c5
+00b33fcb00ab34c300a541ba009f4eb1009950ac009452a7008f589b008e688e
+009b8f9900a09f9800a5b09700a6b49500a8b89400a6b69200a0b5890098b07b
+008eae6700789d420072963c006d903600628c2e00558027004f7928004c6d2c
+004d613e004f6247005264500053645100546552005c69530061695600627054
+005e774c005e793d00607a3c00627b3b006a873c007597430084a64e0093b066
+00b3c69500bdd0a000c7daac00c9daab00ccdaab00ccd4ac00cfd4b200ccd5bc
+00c9d2b700bbafa300b7a5a700b39bac00ad8ab700a977b7009c62ad008a4c97
+0068307000622d6a005c2a65004d284f0038213800262123001c211800192511
+0014230c0012220b0014250b0016280c001b2f0b001a300b001b2b0e0018260f
+00162b1000162c1600172d1c001a2c2f00232e41003030510040365f004d406e
+0054487400584c75005b506e00605368005a555a0050514b00434b3d003e433c
+003d383e003d3440003d30430040274e00462358004f26600059256a00612578
+006d1d8900731e8e00731a8c006b1e8700661a8500601b790053166600411852
+002e194200201833001a1925001a1d1f001d282100232d2900373738004d4a46
+0066615b00767b6d008c8b83009ba18f00a6ae9700a3b994009fb9920096b58d
+008ead840081a0770076916f006a7e6d00626f72006060780063577f00644e82
+0066468600693d8900713e870078477e007a5376007a5b730078617300776976
+007169780070638000725b8800755b9300735d9800795d9e00825c9d008a649b
+0091799b00a193a200b1a4ad00bdb5b400c7c3bc00d7d3c800e3dbd800e9e4e5
+00eae5ea00e5e4e600d4d9d700bfcbc000a6b6a200a0ae9f009faca300a3a7a9
+"/>
+<palette number="663" name="Tribal" data="006a542900635333006255380062583d00615741006057450061584500625a46
+00786445007d674200836a3f008469390086693400775d2e0069512800624b24
+005b4621005136160059391200623c0f0071470d0080530b0081540b0082560b
+007b550c007a540a00795409007d570a00825a0c00885e0c008f630d009c6c0f
+00a8751400ac802200ac842900ac883100aa8a3a00a88d4300a58c4700a38c4b
+00978c6300928d71008e8f80008c9290008a96a1008b97a4008d98a8008594b0
+008092b400627eb7005677b6004b70b500456cb3004069b2003e64ae003c60ab
+00345093002a4484002139750015306d000a2865000726630004256200012261
+0001226100012464000225670003276a00032565000324610003235c00032159
+0003205700072155000c225300172a5400233255002a365100313a4d003f4144
+004e48390062501c006f5717007c5f1200826313008968140098741600a7811c
+00c9a22900d2ae3200dbba3c00ddbe4100e0c34600e3c84d00ddc35000ccba57
+00bdb05c009f985b00908d5b0081835c007e805b007b7d5b0074735500636550
+003f4642002d3436001b222a00121a26000912220001091a000105110001020b
+0001010700010105000101050001010500010105000101050002010500020105
+000b050500150b04001f120400241604002a1a04003521040040280400492d04
+00422904003f2604003f2603003f2603003f2603003f26020041270200492d02
+00372302002c1b0200211403001b100200160d02000b06020003000300030003
+0003000300030004000300040004000500030005000300050003000600030006
+0003000500030005000300050003000500030006000301070009060700120d08
+001d14080033230b0036260c003a290e0043301000463213004d39160057401b
+006f521f0076561f007e5b1f008b642000996e2300a2762500aa7f2700b0862c
+00b38a2d00b6902f00bb943200bf963200c2983300c59a3200c99e3100cca332
+00cca43500caa33600c8a23800bc993900ab8e3c0099813e0089753f007a6b41
+006e634300625a4300595342004e493f003f3e3c0031323a0024283600181d32
+000e162e0006102b00020d28000a0f240014131f001c1419001c1214001c110f
+001d110b00261608002a1a070037220600483007005f410700705109007f5c08
+0086640c00906e0d0093730e0095740d0098760e00a07a0d00aa810d00aa810b
+00a27b0c0097740d008a6c0c007c610c006d560c005d480b0056410c0047360f
+00403011003c2c11003c2b11003c2b1100402e110046330f00533e0e005b4410
+00654d12006f5412007a5c1200846212008c6611008f650d008f6409008a5e06
+0081590600765207006d4d0a00684c0e006a4e1200694d1700694e1c00695222
+"/>
+<palette number="664" name="Trippy" data="000056fd000078fd000081fd00008afd000090fb000097f900009bf20000a0eb
+0003aeab0016af920029b17a0047ae700065ac6600739d4a00818f2f00808521
+007f7c13007e73390076634d006e536100524b54003643470027424800194249
+0004356e000e2d7d0018268d001a1f8c001c198c001915890016128600190b82
+001a077f001d02720013025a000902430006042c000306160006050f000a0509
+0011040c000d0617000a0922000b0d25000d1228000f12290011122a000e1b47
+0007226800002e8e00002a860000277f00002c90000032a1000034a9000037b1
+0000417e00004868000050520003524900075441000d5a39001361310021721e
+00377d0d005f60080074571a00894e2c008b4d31008e4c37009346360086342d
+007c1b3400651335004f0b3600360624001d01120018010c00140107000c0100
+000700000001010000000100000001000000010000000101000001030000010b
+0000082a0000134200001e5a0000256400002c6f000036850000408b00014782
+0004557d0016736c001c7b570022834200208634001e8927001b8e1b001d8e28
+00218e6700188d75000f8d84000b858700077e8a00006b90000056930000468b
+00003d7e0000224b00001b3d000014300000082100050322000b023000100342
+000c046e000c0487000c05a1000f05ad001306b9001b08ce002009e0002508de
+002107d4001905a200170599001605900020057a001f046100180244000f0126
+0000010600000203000003010000030100000301000005050000080b00000b1b
+0000112e0000236100002b6b000033760000459100005aaa000067bf000078d9
+0000a2f10000acf20000b7f30000c2ed0000bbe50000b5d80004b1ba000bb19c
+0016b680001c945a001b864c001b783e001761250019571000214c01001c4201
+000c2001000719010003130200041002000b18020017250100283401003a4301
+00495101005a61010061730000668500006b9800006fa4000078ae000079bb08
+005acb2b004fca390045ca470037bb55002fac600034a05d00298f60001d7e67
+000e64680000456200002f4e00001c390000102800000a23000005260000022d
+000002350000023b0000063a00040a37000c11370017183600231732002f172b
+003c141b004d1b0e00621f0500741f0000811b0000860d0200860b0300850a03
+00820a03007c0a02007503020064040300500603003d0603002e0602002a0401
+002a0407002a060f002d06190032051f0041031a00580317006e091600831519
+0091271f00a3381900b5511200c5690800d2810200c7900200b98c0100a98409
+00987913008979200074732d0059663d00414d59002c3076001a2094001015aa
+000617ba00001ad0000022e4000029f5000030fd000038fd00003cfd000047fe
+"/>
+<palette number="665" name="Tropic" data="006f2a5600672b6e00612b75005b2b7d00552a82004f2a87004c2987004a2987
+0047268500472583004724810047218000481f7f00461c7d00451a7b0043197a
+004218790041176e00431a6400451d5a004b214f005226440056293f005b2d3b
+00724131007e4c28008b581f0098641500a6700c00ac760800b37c0400bf8901
+00ca910000dea30000e5aa0000ecb10000f1b50000f7b90000f8bc0000fac000
+00fec70000fec90000ffcc0000ffcc0000ffcc0000ffcc0000ffcc0000ffcc00
+00ffcc0000ffc80000ffc10000ffbb0000ffb70000ffb30000ffae0000ffaa00
+00ffa80500ffa30800ff9e0b00ff990e00ff941100ff921200ff911300ff8b16
+00ff881900ff852100ff862600ff872b00ff882c00ff892e00ff8b3200ff8b33
+00fb8f3600f7903600f3913600ee913600ea913700e78f3800e58d3a00e08942
+00d7844d00c0726400b1636d00a25476009b4d790094467d008b3a8700872f96
+00781dad006f17b8006711c300630ec500600cc8005b07c9005d04c9005b02c7
+005f02c3006d06b7007509ac007d0da20081109b0086139500891b8400902375
+00a1376000aa415400b44b4800b9514200bf583c00c9642e00d26d2000d97716
+00de811000e7920900e8940700ea960600ec970400ef980200f09c0000f09c00
+00eda20000e9a30000e6a50000e4a40000e3a30000de9f0000d89b0100d29702
+00cb920300bd8c0400ba8a0400b8880500b3820500ae7e0600aa760600a66e07
+009e6009009a560900974d09009649090095460a0094400c0092380f008f2f15
+008c291c008314260080112b007d0e310077093c00710449006a0157006a006c
+005e008a005c0091005b0098005800a6005600b3005500be005600c7005701d0
+005e03d6006d0adf00740ce0007b0fe1008814e0009419db00a11ed400a824c9
+00ae31a400b3359d00b83a9600c0418900c8487b00ce4f6f00d1536200d25c58
+00d0625100c9635100c1625300b75e5800ad555b00a45164009c506e00994c6f
+0096477400964674009645740095437400954173009443720097456b009f4a65
+00a84d5900b3524f00be5b4700c75d3a00cf632d00d3692300d7721f00d8761b
+00d9781800da7b1600db7e1300dc7c0f00dd7b0b00df7b0800e17e0400e27d02
+00e27d0200e27a0400e1740700e16b0b00e0631000e05d1600e0571d00e14d24
+00e3462b00e63f3000e9312e00ea2a3000eb273700eb253f00ec254300ec264a
+00ef274b00f2285000f6284e00fa2b4600fd2f4300fe353b00ff423c00ff4e3b
+00ff573600ff603000ff682800ff6f2100ff711900ff741100ff710c00fe7309
+00fb720900f8710900f46f0900f06a0b00eb650c00e6600d00e1550f00db4b13
+00d3431800ca3c2000be392a00ae2c2c009e2b34008f2a3e008229460077294f
+"/>
+<palette number="666" name="True_Blue" data="0000135e0000125d0000115c0000105c0000135d0001165e0002185f00031a61
+00051c5f00081c56000b1d4d000d1c4700101b41000e173d000c143a000b1239
+000b1038000c0e3500080c3c00040b4400020c4c00010e55000110580002125b
+00051a6800061d710008217a0008237e00082682000826830008278500082583
+0008218400061b8100041b7d00021b7900021b7800021b7800041c7900071e7a
+001330890013348a0013388c0013368a0013358900143487001534860015317c
+00122a6e0005174f0002104600000a3e0000063a000003360000023500000134
+000000370000003b0000013f0000014300000248000002490000034a0000044b
+0000044c000106520003095900060c6100070e680008116f000c197a00102485
+001438930013409e001348aa001352b000135db7001464b800156bba00156ec2
+00146bc9001056cb000e52ca000c4fc9000c4dc9000c4bca001146c700103ac3
+000e29b0000a26a70006239e0006219a00071f9600081e8d000a1a860009137f
+00050e7800020a6e00030c6a00040e6600040e6400050e620004115f0004135d
+000716530009164a000c1642000c163f000c163d000a163b0008143900071138
+0008103500090e3800080d3900070c3a00030a3e00010a4000020b4200040f45
+0013225700192a62001f326d001e336d001e356d002136680024376900283969
+00293869001c2a510018234900151c4100101334000d0c2d000a092900070728
+0002022c0001022d0000022f0000022e0000022d0000022b0000012800000124
+00000220000003190000021800000218000000190000011f000002260000032f
+0000044000000444000104490001044f00010453000204550001045600010456
+0000065600010d590002105c0003146000061e6a000d2c7600183c8600244f97
+004d7cbd005787c4006293cc00709ed70076a6e0006aaae6006bb2ed0071c1f3
+0076c3f50078c1f50064b5f1004da8eb003ea5e8003aa1e4003a9be3003a8de0
+002a6ac6002562ba00205baf00174b9a00123987000b2b7400071e6300051751
+000213440001103d0000133d0000174000021d47000622520007276000082b6e
+00072f79000630800007308800082a8b0008278b0007248a0004208500021e83
+000119820002177f0005187a000c1e7500152775001b337b00203c8400203e88
+00203e8600233c8100233b7f00213d82001c39870014308a000e258800081b8a
+0005148e00021390000113930001149200001591000113930002138f00021389
+0001137c0001126a00000e5a0001094a0002063e000204320004042900050422
+0005041e00060420000505240005062a00060830000509380006094400050a51
+00030b5b00030e61000112640000156700021368000211670002106400011060
+"/>
+<palette number="667" name="Tryst" data="00a5c6c300abc6ba00b9caba00c8cfbb00d1ccb700dbcab300dbc5ad00dbc0a7
+00c59d8500b58c7400a67c63009e7159009667500096624e00965e4c00975d4c
+00995d4c009b614d009d695200a0715800a4795f00a9826700ae856a00b3896e
+00be8e7300be876e00bf816900b3775f00a86d5600a066510098604c00895442
+007e4c3c0071372d00723028007329240073231e00731e190074201800752318
+0077301b007d341c0083391e0088331c008d2e1a008d2c16008e2a13008d2911
+008b2c0e00903b0a008e3c0f008d3d15008b3e1e008940280087442d00864832
+00835a4300855f430088654400816147007a5d4a00765c4b00735b4d00685555
+005d535d005d555600594f5100564a4c0054464800524345004e3b3f0048343f
+003c2d3c0039303c0036333d003a383c003e3e3c00413f3d0044413f004b4543
+005045440053474300554843005749430057474300584543005c454300624341
+0073434000794841007f4d4300804d4400824d460085514a0086514b0087534c
+0089544b0092604d0099635100a0675600a3685800a66a5a00ac6f5d00b2725c
+00ba7a5c00b87c5e00b77e6000b7806300b7826600bc896c00c2927400c99c7a
+00d2a98500dcc09a00dcc49f00ddc8a500dfceac00e1d4b300e3d8b600e6dbbb
+00e4e0c300e0ddc300dcdbc300dad7c000d8d4be00d4cbb400d0c1a800c8b39d
+00bdab9500ae9b8200ad987c00ac967700ab916c00ad8a5e00ad7d5000a67144
+008c553100834e2a007a472400774622007445200072421d006f421f00663f25
+0059402d004942380048443a0047463d004c4c410058544800645c4f006d675a
+007e7b6a00817e6c0085826f008d837000957f6d009c7568009d6c67009d6767
+009d64660093656700906465008e636300885d5d007e565900724f5700684952
+0052444d004d444b00494549004542410045403b00473c36004e3c3200563e2c
+0061402a0068452800714824007c4d21008a5222009b5c2500ab682700bd722c
+00d3813500d37f3400d37e3300cb783200c2733000b56e2d00ad682d00a56631
+009f653300985d2f0092542c00924b28008d4525008c4523008f4d2500985d2e
+00a16d3400ac7d3c00ba8b4100c4954800cc9c4d00d3a35000d8ac5600d6b05a
+00cdb35c00bfb25700b0ae5400a1a4500092994d0086964800808e4b007b884b
+0077824c00747f4d00737c4c0074744e0077774b00817b4e008d815100998357
+00a4885a00ab8a5c00ae855d00ac7c5900a57553009b714c0093654a008e5e46
+008756410084513e00854939008743320085442b0086482d008b4d3300935837
+009d653f00ad724b00bd805500cb8c5a00d2996300d1a17200caa87a00bcae7f
+00b0b18600a7b39300a4b69a00a5baa400abc1b300afc3bf00adc5c500a8c7c3
+"/>
+<palette number="668" name="Tumbleweed" data="00554b4100544c3d00584e3e005d5140006f5d4700816a4e00866f52008c7456
+00927a5a009377540094754e008a6f4d0081694c00735e470065534300615040
+005d4d3e005b5145005f574c00645e5300696358006e695d006f6a5e00716b5f
+00746f62006f6a5d006a665900615a4f00594f4500554a3f00524539004c3f2f
+00463c2900403823003f351f003f331b003d341e003b3521003b3524003b3627
+003b362f00393532003734350036343600363438003734380038353800393736
+003d3a3500493f33004e42330054463300574a34005a4e35005a4d35005b4d36
+00584a3b0051473b004b443b00403c36003635320032302f002e2c2d00272426
+00201d1f001513140014121300131112001411110015121100191612001c1913
+00221e1500231f130025201100241f0f00231e0e00221c0d00211a0d0020170c
+001e150b001c1511001f17140022191800241a1900261c1b002b211e002f2620
+0034281a00312516002f2212002b201100281f1100241d0e001f180a001b1606
+00151103000e0b08000f0c0c00100d1000110e11001210120014121200161313
+00191519001b1719001d1a1a001d1b1a001e1c1b001f1e1c0020201f00232221
+00252422002924200029231f0029231e0028201c00261f1c00241e1d00251e1d
+00251d1f00231d2100221e2300222025002323280027282d002b2c30002e2d32
+00302d32003334360035363700383839003d3c3e004440410047424600484649
+0049484c0049464a00494449004743470046424500433d40003d393a00383333
+00332e2f00302929002f2928002f2928002f2a28002f2b2a00302d2d00343033
+003c3a40003e3c4100403f430045454600494846004f4b4400574c42005c4b3c
+005f4a380055412800523e26004f3b24004b361e0047311e00432e1e003b2b1f
+002f2928002f2b2b002f2d2f00353335003c383c00433e43004a454a00544d4c
+005e554e0065594b006959460067544200624e39005d483100543f28004a351c
+0036250e0035230c0034210b00342511003b2c1a00483a2c0058503f00726752
+00857d6400968e7000a2987b00a29d8000a9a18100a6a082009f9a7c00959075
+0086826a007d7b5f007a7659007b765c007e7a650085806e008b877800918d7a
+0094917e009593800094938300939085008e8c830088847e00807d730077756a
+00706e62006b695b0067625700635f51005e5b4b005857460052513f004c4a37
+00464233003f3c300037362c00302f29002a28220026201c00221a18001d1614
+0018111000140f0b00130c0800120c0500130e070015100b00181510001d1b15
+0021221900282920002e2f280034342f003b393600413e3a0046423d004a4642
+004e4a4600534d48005a524a005d544b00584f4600544a42004d4540004e453e
+"/>
+<palette number="669" name="Type_AB_Positive" data="007413120073131200691613005f1a14005219130046181200401711003a1711
+00281b1200251b1300231c1400271c14002b1c1400341c15003e1c1600431a16
+0049191700691b1a00741c1b007f1d1c0083212200882628008b2628008f2628
+009b222200992222009722230094232300922424009422220097212000a01b19
+00a61a1700a91d1b00ab1e1c00ae201d00b4201c00bb211c00bd231c00bf251d
+00c3251d00c3251d00c3251d00bc251e00b6252000af252100a8262200992522
+008925220069231f0059211f004a202000411e1d00381d1b00361c1a00351c19
+00311e1900301d19002f1c19002e1918002d1717002c1917002c1b1800281d19
+00251d17001f1814001e1813001e1813001e1913001f1a1400221b1400271d14
+00351c1200401911004c171100581712006418130066161200691411006b140d
+006b140d00661510005c131000521210004c110f0046110f003d120e00381510
+00371a17003b1a19003f1b1c003f1b1c00401b1c00411b1900421d180043211a
+0044261d00472c2200493426004c3d2b004d3f2c004e422d004f4230004c2f2f
+00493633004537300042392d003e2f29003a252500351f1f002d1b1b00291a19
+00291c1900311e1900321d1900341d1900381f19003c2119003f211a00401f1a
+003c2017003a1f1500391f13003a1f12003b2012003c1e1000421d10004b1b12
+00591911007b1e1300831e13008b1e13009b201500ab1f1600ba231900c5251a
+00cc251a00cb251a00ca261a00c9261a00c8261b00c3231a00b9221a00ae1c17
+009e1b1500801d1700771e18006f1f19005f1a18004f18150041171500351614
+002a201a002a201b002b201d00332523003f292b00533a3c0066393d0077363b
+00863736009e3d3a00a23c3800a73b3700a92f2f00a02a26008e1e1400801c12
+00631b12005b1911005317100047180f0041190e003f1b0e00431c0f004b1911
+0057191300661b1200731a12007a1a11007d1811007d1712007a181200761a13
+005f19100057191100501a120041191200361b11002d1f1200261d1200222014
+001b1f1300161d1400191d16001f1f1700231e190029241c002f231e00352421
+003b25210040262000462a1f004b2b1e004d2a1e004d281d0048221900421f16
+003e1c14003b1b12003919110039191100381710003b140f0040120e0045110d
+004d140c0052150b0055190b00591c0b00561b0b00521b0c004b180c00431b0d
+003d1e0f00361f10002f1f1200281c1200221913001f1913001b1e1400171d15
+00181c15001b1b15001b151b001b151b0018151c0018151c001c151c001c1416
+001d1418001c1416001c1414001b1414001c1914001c1914001c1614001e1613
+0021131300291613003415130043161200511513005e141400661915006e1715
+"/>
+<palette number="670" name="Underwater_Day" data="001d968a0041a48a0051ad960062b7a30073baa80085bead0085baaf0085b6b2
+007ba99d00689f9a0056959700458e9a0035889d003a87a9004086b5004282ba
+00457fc0003c90ba002e8ab6002084b3001278ae00056daa000c67a6001362a2
+003a489600524794006b469200724a9300794f9400735493006e5993005e6291
+00496c930022788a00217e8c0021858f0025838c00298189002d7f8500317e81
+0027657600285d6c002a5662002a5562002b5462002a586200295d6200276161
+00246868002b71730039697100486270005f606f00775f6f0080606c008a6269
+0090618400896d94008279a5007479a8006679ac005c79a800537aa500427494
+00396d7300305447003042300031301a00302a16002f24120021230b00192907
+000c2f29000a3c3a0008494c00164c6700244f83002e538500385888004d558b
+005a518a00573a7600492d66003c205600311a4c0027144300201231001d0c21
+00271010003c1b2a0051264400612e4f0072365a008c5675009f619700b55fa5
+00b16da300a0689800836e8f0066748700607988005b7f8a004f8f9c004a9f9b
+005ca5b000699eb0007697b1007590b100748ab1007681a800747696006a648c
+005d53700039354b00342f46002f294200272c43001f37530023365a002b3666
+0033568f003d56920047579600475f960047679700527794005b7b8e00577783
+00537884006e678d0070659100736496008c779e00a07aa4009a77a5009989a8
+007e9094006f8b9300618793005a868f0053868c004b878e003e8c9500358698
+00387c98005680a800647eab00737daf008b83b900a590bf00b096c200aca2c6
+009599b8008b96b6008293b4007593b0007789ac00767dae007775a90086709a
+008f6f9300896a8700886e830087737f007b757f006f727f006e787c00737a70
+006d796e006d7a6b006d7c6900617e71004a7f760037747300286675001c576c
+000c3d53000a2743000c183300050b1f0003091500040b0d00070b0800090d09
+000c0804000f08040013090500120902001408040017090800150e0900151416
+001d1a280027203500322d4800403b6200553f7e00614e97006565a5006e6db4
+007278cf007ca2da008fb7d2009fafd900b2bfe900c1c4e500c8bed400cab1ca
+00bd9bb700ada392009fa470008d865a007d895100619651004e8d54003e8c64
+00218b6f00148969000b7b5d0005654e000c5647001d4b4300324d420043534a
+0059564d00716053006e655a00645e49005e58300044513400314a3200274420
+001c402c00243e410034373d00412e3a00572640006f213900731b26007c1527
+00852238007e3548007d416900865d92009377b1009089cd00819be700869fe5
+00829dd5006198cd004694b8003b96a5002b8d9b001a8592000e888e00108f8b
+"/>
+<palette number="671" name="Venice" data="004f0e070051261e005e352d006b453d00815b480098725400a17a5c00aa8364
+00c79c8100bfa18900b8a69100a0ad980089b5a00077b4a50065b3ab005fadaa
+005aa8a900499ea7004ba1aa004ea4ad00539da7005996a1005c919c005f8c97
+0064828b005e788100586e770054606a0051525d00524b56005444500050424b
+004e3f450045464f0050444b005b434800604a4f0066515600605c62005a676f
+0078776c008c786200a1795800a67d5b00ac825e00af845a00b2865700b58a59
+00b18f5b009c8d6a009e8d6800a18e6700a4916b00a7946f00a7977400a79a7a
+00beaa7e00c7aa7300d0ab6900cfa86300cea55d00cb9e5a00c9975800bf814d
+00b36b40008d492300753519005e221000551b0d004c150b003e080a00320b0e
+001512150013151500121816001c211a00272b1f002b2b21002f2b23003a291e
+0047201a005e2219005f2328006024370062243c0065254200712b48007c383f
+0079464f0075475f007148700073496f00764b6f007b506000794a54006d3c50
+00642c4a0065193e00671431006a0f2400680d1e00660b18005f080f00550e12
+0048212300402b300039363d00343a4400303e4c002845590025526600266074
+00286b7b0031697d00326577003461720037556600344b5b0031454c002d3c42
+0031272600322427003421280032252d00302933002c343b002e3d42002e464f
+002f515b001d616d001a616c0018626c0019646e001e606e00265d74002d597b
+0039588a00445e95005064a0005668a5005c6daa006171b0006375b2006682b6
+006684b7005b8eab005391a8004b94a6003e9ea90034a8b4002bb0bb0025b1bb
+0015aeb50012aeb50010aeb6000eadb60013a9b40014a4ad001997a1001f8c97
+0024828d00297c8700297c8600297c8600297c8600247d85001f8087001a848a
+00148d9500128d9500108e9600108d9400108d9300118e9300158f9600168f96
+001a8991001d838a001d7d81001b797b0018757700136f7200116c6e000c676c
+0007696c0008686c0009686c000e6a6e00146b7300187078001e767e00247b84
+00297f88002e828b0030838c0031838d0032828c0032818900377a84003c7081
+0042657f00475e79004a5c6e004e5861004f565e0050525e00505064004b5563
+0047595f004062600039686400346d6f002e7377002c757b002b797f002a7b82
+002b7d84002c7e86002c7f88002d7f88002d7f89002d7f89002d7f8a002e7f8b
+002f818b0032818c0035808c003b7d9000417a9600477a9f004f79a6005278a7
+005675a8005873a7005d72a8006b76ab007a7ca6008881a300968c9a009d9491
+00aa9a8b00b7a07e00c19f7400c89f6900c58f5900c37e4e00bb6b4000b25532
+00a84b2800993519008e210e007e110a006f0205006202050058020500510303
+"/>
+<palette number="672" name="Victoria" data="00675f810072556f007b506700844b60008c49590094475300974850009a4a4d
+00ae4f4000b44b3b00bb483600bd473500bf463500bb493700b74c3900b24d39
+00ae4e3a0098423d008c3c3c0081373c0075343c006a323c0064313c005e303c
+00482b3c00422a3b003c2a3a003f2a3700432a3500472a35004c2b3500572936
+00642935007129350072293500742a3500772938007a283b007b283e007c2841
+00762c4b006c315000633756005b3b5c005440630052406500514168004e4268
+004b426800494363004843630048436300464262004542610044416000444160
+00443f5c00453c5d0046395f0043386100403764003e3765003d3766003b3a68
+003c3968003f3a6900423e6c0046426f004a4672004e4b75005a587c00646482
+00747287007574880076768a007a7a8c007f7f8f0082808c0086828900858289
+00807d86006f6b80006b67800067648000666480006664800066647f00656280
+00585a7d00525479004d4e75004b4b7400494873004843700048406e00473c69
+004639620040305800412f5800422f590044305b0046325e004b386000514262
+00615968006b66710076737a007b797f00807f850086888c0087899200888c91
+00868c8f007d808c00797c8b0076788a006b6a8900636184005b5a7e00525179
+0049487300474672004645710047456f0048456e004b466b0051496600584961
+005e475d006c4254006c3f51006d3d4e006c3a46006935400064313b00623039
+00602d39005d2d39005b2d3900582c3900552c3900512c3900522c3800572e38
+005e333600693a3600693c38006a3e3a006c4040006c41460070424a0070414b
+00663f5000613e52005d3d5400503b580049395b0048355a00493254004e2e4f
+00582a4c006a3046006f32450075354400803d41008d413d009c473b00aa493a
+00bf503900c0533900c2573a00c2593b00c25c3a00ba5b3900b2563400a55131
+00974d3000874831007c43330070413600653c35005937350050323600462f3a
+0043354a0044384e00463c53004a435b004e496300524b6800544f6d00565274
+005855770058587900585978005655750053516e004d4c67004949610045465d
+0044445b0045435b0047425b0047415a004a455b00524a58005d5255006b5c53
+007b665300896e5200937351009a744b009c6f45009a6b410097673f0090613f
+00885e42007f594500764f4700694348005d384b004f2e4f00452855003f265b
+003f26600041256300452663004a2764004c2b67004f2f680052356c00533a70
+00543b6e00553a6a00533a6600513961004e3b5e004d405e004f455b00584859
+00644c54006d514f0071555100735b57007060610072666b0077697300807075
+008574790085767c007f768300747488006b708e00686c8f0065678c00646487
+"/>
+<palette number="673" name="Violet" data="00321b6400301c6000321c6000351c6100381e64003b2168003b2268003c2469
+003b2269003b226a003b226c003a216a003a2169003a2065003a1f62003a1f61
+003a2061003d2760003f295e00412c5d0045305f00493461004c366200503964
+00593e6b005d42720062467a0069508600715a9200756098007a679f008672ab
+008c7cb500928ac400948fc6009794c9009894c9009994ca009894ca009894cb
+009695ce009796d0009998d3009c9ad600a09dd900a09fd800a0a1d8009ea0d6
+009a9bcd009288be008d83bd00887fbc00847dba00817cb900817bb800817ab8
+00827cc6008885ce008f8fd7009797da009fa0dd00a2a3de00a5a6e000adace2
+00b5b2e600bbb6e400b3add900aca5cf00a89eca00a598c5009f8abd009a7db7
+008266a8007a5fa30073599e00785da3007e62a9008168ad00846eb100897abb
+009089c500a5a1d400aba8da00b2b0e100b2b1e200b2b2e400b0afe400aca9e1
+00a093d1009684c5008c75ba00866eb3008168ac00765aa1006c4e960065458b
+00603f84005d407c006048800063508400675688006b5c8d00726998007975a3
+008687b5008687b7008687b9008484b7008282b6007c79af00756da500695e96
+005d4e88004f3670004e336c004e3169004d2f62004c305e004d335d004e3661
+0055416d00574570005a4974005a4875005b4876005e4679005e457d00614581
+00634584006744860068458700694789006e4f8f00765a98007e68a3008575ac
+008f8cbf00999aca00a4a8d600a9addc00afb3e300b7bceb00bbc2f000c0c5f1
+00c5c8f200d0cdf800d1cef800d3cff900d6d2fa00d9d8f800dadcf900dcdffb
+00dadffb00d9defb00d9defb00d5dcfb00d2dbfc00ced7fc00cbd2f900c9cff7
+00c9ccf500c7c8f400c8c7f300c9c6f300cac5f100cbc3ef00c7bfe900bcb4e1
+00af9dce00ab98c900a894c5009f8cbb009384b1007d6a9a00746093006c5589
+00694f8300674d80005e3f74005837700053316d00502d6d004a2b6c0045266b
+003d236b003d246d003e2670003e2a7500402a77004329790045277700492a78
+004d307a0051347b0056357e005b397f00603d8200654788006b538e00725e98
+007a6ca5008379b2008e86c0009995cc00a6a3d600b2b0e100bbbbea00c1c2f0
+00c5c6f400c8c8f500c9c7f500c7c5f200c2beea00bbb3e100b2aad700aaa0d0
+00a29aca009e99c7009c97c5009c99c4009e9bc8009f9ac800a29eca00a4a0cd
+00a5a2d000a5a3d200a19dcf009b94c900948bc1008f85bd008d82bb008c80ba
+008d80bb008d7eba009082be009687c3009c8ec600a394c900a995cb00ab97cd
+00aa96cf00a395cf009a90ca009287c400897dbc007e71b6007267b000615ca8
+00534f9f00474393003e368900372e8000312879002e2372002f1f6b00311c66
+"/>
+<palette number="674" name="Violet_Fog" data="0087678c0075547900714972006d3f6c00673c6700613a63005c385f0058375b
+004c2f4f00422c4700392940002e2738002326310020252e001d242b001c242a
+001c242a00182528001725270016252600152425001523250015222400152224
+00191f25001d1f280021202b002c23330037273b003c294000422b45004a2e4d
+005031540066416c006e48760076508000745282007354840073538400745384
+00765481006f507900684c72005e446700543c5d00513959004f3655004c304e
+0044304800373141003c35470041394e00484259004f4c640053536b00575a73
+0070758c007d7c99008a83a7008f87ae00948cb600948eb6009590b700978cb3
+009583ab007e6690006f5c8100605372005b4d6a0057486300493e54003c3444
+00262d3300252a32002528310027283400292938002d2b3b00322d3f003b3148
+0045334e00523458005434590056355a0057365b0058385c005f396000653e69
+006e4679006e4b7b006e517d0070558000725a8300795e8b00815f9100805d91
+007a578700634c6e005a456500523f5d004f3c5a004c3a570048395600453c57
+004342590041455800404857003f4957003e4a5700404b5700414d590042505b
+0044545b0047585e0047585f00485961004b5a69004d5b6a004c5c69004c5865
+00434559003a3b4e00323143002e2d3d002a29370024212c00221b2900211928
+00201628001f1526001e1526001e1526001e1625001d1527001b1526001b1425
+001a1522001a1622001a1722001a1722001a1822001b1923001b1922001b1923
+001b1a23001b1d24001b1d24001b1d24001b1e24001a1d2400191d24001a1e25
+001b2228001b2228001b2328001b2429001b2529001c252a001d252b001e252c
+001e252c001f232c001f222c0020222c0023202c00251f2d00291e2f00322136
+0044294500482b48004d2d4c004a2c49004a2e4b004a304c004a324e00513956
+00513d59004f435b004e485c004e4d5e0052546500595b700060647b00686b86
+0075739400757496007675990073769a006f7598006e7196006c6d930068688d
+005d638300525c750048546900414e5f003c47580036404f00313a45002b333c
+00272e3600252b3400252932002627310026252f0026242e0024232d0022242c
+0021242d0020242d0021252d0022252e0021252e0021252e0021252e0021242e
+0022222d0022212c0022202b00231e2900231d2800231d2800241d290026212b
+002f2431003a273900432b42004c2e4b005034520058385b00613b6300633c66
+00623a64005c39610054385e0050385d004b395900483957004a3c58004c415c
+00534864005b4f6a0067567500765c8400876595009b72aa00ac7db700b681bd
+00ba83c200b882bf00b687c100b88dc300af87b900a780b0009b71a0008b6a91
+"/>
+<palette number="675" name="Watermelon" data="005c2a1e006c422a006a483600694f42006f534b0075585500775e53007a6552
+006a7754005f765500557557004b6c4a0041643d0034583000284c2300244622
+002140210027301f002e2e1e00352d1d0033301d0031331d0031341d0032351e
+0036351c0032391d002e3d1e002c471f002a5221002c5420002f571f00335c20
+00365d20003b6522003c6521003e6521003d6020003d5b20003f571f0041531f
+004f401e0058361f00612d21006d251f00791e1d00801c1d00871a1d0091191d
+00921a1e008c1f1e00862a1d0081361d007a461c0073571c00715b1d006f5f1f
+00596c21004f6a1f0046681e00405e1d003a541d00354e1c0030481c00263d1a
+001d301900161d1800151a170015171700141716001417160015171700191717
+002a16180035141800401319004d1119005a0f1900600f1900660f1a00700d1b
+00730e1b00680f1a005f10190056111900511118004c11180046121800421417
+00511517006013170070121700781418008117190092181c00a21b1f00af1920
+00b4142000a8181f009d192000921b21008d182100881621007b141c0071121a
+006a161900731919007d1c1900821c1900871d1900911b19009d1b1a00af1d1f
+00bd211f00d0241d00d0221c00d1211c00d11c1f00c9182000c3162000b8151e
+009f121900910e1800830a18007b0917007409170063091600530d1600450e14
+003b0f14002d1315002915160026171700241c1a0028221d0034282200443223
+005449280058532b005d5e2f005f5f2d0062612c005e622d0054602a004a6125
+003d5f2500274d1f0021471e001b421d0013371a0010311900102b1700112716
+0010201400101e1400101d1400111a1400121a1300131c1400131e1400142116
+001624180027271a002e271900352719004426190054271a0066211d00751e1d
+008d101a0090101a0094101a00970d1b00970d1b00920c1d008b091c00820a1b
+00790c1b00700e1b0066111b005d131b0054131a004b14180041151700371516
+002716160024161600211616001c181500181a1500171d1700182018001e201a
+00271f1a00301d1b00381d1c003a201d0039201d0038201d00371b1b00371719
+00351518002e151700261716001e1816001c19150020181500261715002e1715
+00341817003a1f18003f291a0044351c004c411e00534a2200585429005a5f31
+0057683600526d3a004e6d390049663800455f3d003f553a0037483a002e3c31
+00262f27001e2523001a1e1d0017191a0016181800191716001d181500201a17
+0026221b003032280041423500545443006461500072706100848b7e00949e93
+00a3ad9d00aea49400b5958900bc8d8400c0828400b87c7d00ae626600a1474c
+009a3034009722290090242800852f25007d3524006d312100612e1c005f251f
+"/>
+<palette number="676" name="Whisp" data="00b3a09b00c7ada800d2b8b300dec3be00d6b9b400cfafab00cbaba700c8a7a3
+00b49c9800aa918c00a0868100967d78008d756f0081676100755a530072514d
+007049470067383700623736005d3636005f383800613b3a0061403e00614542
+00645a55006a645d00716f65007a756d00847b7600877f79008a847d008e8982
+008c878000857e78007f79730079746e0077716900756e6400756e6400756e65
+007f756c00847870008a7b74008c7d76008f7f79008f8079008f8179008e807b
+008d7d7b008978770088767500887573008d7473009373740095737400987474
+009672700095747100957672008d727000866f6f00816d6c007d6b6a00746a68
+006f68680069626400665e6100635b5e0061595b005f5859005b515100554a49
+0043353400382a28002e1f1d002b1d1c00281c1c00291e1f002b212200332a2b
+0043373a00736765008d7f7c00a8989400b3a29d00bfaca600d1bdb800deccc6
+00ead5ce00e8d0cb00e7cbc800e3c7c400e0c3c000d9bbb700d2b5b300d6b6b3
+00d9bab500dfc0bd00e2c7c300e5cfc900e6cfca00e7d0cb00e6cdca00dfc5c1
+00bfafa800afa09a009f918d009889860091827f0081746f00756b64006d605b
+006e5854006e524d006e524e006f535000775451007d585300845e5700886560
+0096736e00987975009b807c009e817e00a1838100a1858300a1858300998282
+00937d7b00836e6a007e696600796562006d5a57005f504e0051454200463b3a
+00362b2a00322725002f242100322623003629260040312d004e3d38005d4844
+0071585500987a76009d7f7c00a3848200aa8a8800ac898900a6848400997d7c
+0075625f006a5a560060524e004b4340003c373400312d2b002b272400292324
+00302528003f3132004333330047353500523c3b005d454200614b4800614b45
+005a433b0056403900533e38004d3b3500473932004638320045373200443633
+00413634004137360043363700413335003a2d300033292c002e2326002d2123
+002d2323002f2625003229280039302f003e363400403a3800433d3b00453f3d
+0046413e0045413d0046423c0047403d00494240004f454400594d490060524f
+0064565400685a57006a5b56006b59540066524e005e4c470052423c00463835
+003b2b2c00342326002e1f1f002c201f002e21220037292900413330004e413b
+005c49430069524b00755450007e575400835a5800835f5b0081605d0081605e
+0081636100806b68007f737000827b770088818100938b8b00a1969600b1a2a0
+00bcabac00c6b4b600cfbcbd00d8c1c000d8c1bf00d2baba00cab1b000bfa6a5
+00b59b9900a58e8c00978481008b7b780082767300786f6c00716d69006d6967
+006b686600696563006a6461006d625f0073666400776765008a7a78009d8b85
+"/>
+<palette number="677" name="Whisper" data="0020464200101d1f000d1c1e000a1b1e000a2123000a2729000c2a2c000e2e30
+000d3234000d3032000e2f30000c2629000a1e220009191c0009151600091415
+00091314000d12100010130f0013140f0019160e0020190e00211b1000221d12
+002a2317002a2519002a271c0027261b0025261b0022241900202218001c1f16
+00191b120012140d000f120d000d110d000c110f000b1211000b1313000b1516
+000e212100123130001741400020514e002a615c002a6963002a726a00257876
+002677710018565500134744000e3834000e2c29000e211e000d1f1b000d1e19
+000c16160012181500181a1500201e1600282217002c2317003025180034281a
+00362c1c002c271b00282519002423170023211500221f1300271f10002f2412
+0042361a004c3e220056472a00615031006d593800725f3d007865430090734b
+0097805800978b5800838656006f825400647447005a663b003e5431002b422a
+0015231800111d17000e1817000d1717000c1618000c16180010181a00121b1d
+00101e200016272a0017292b00182b2d001b2e30001f3233002c363300313d2e
+00415d43003e6349003c694f00396750003766510032605200284e4800203c37
+0020322d001e241c001e231b001f221b0020231a001f2118001c1f17001b1e17
+00181c1500151a140013181300111612000f1511000a130f0008100d00060e0d
+00050d0d00060e0e00060f0f0007101000081213000614160006151700071517
+0005121500040f1100030c0e00020a0c0002090a000007080000070800020706
+0003070600040b0b00050b0b00060b0b00060d0e00050f1000060f1000061010
+0008111300091313000a1514000f19160012201d00162a26001c332c00253731
+002c3d3500323b35003238320032362f002e332b002b2d2700242b26001f2c28
+001e332c0021372c00243b2c00243a2800223a2c00263c2a0027382200213023
+002333260027382b002a3c2e003247340037533f00345c4500335f440033634a
+00295d4900285b4800285948002555500025554f00275851002f6157003f6858
+004566520047614e004e5e4e0047574500344d40002a4c4900255a56001e6b69
+002075720030817700368b830031837b003771680034635b0028504b00293e3c
+002d3734002d362c003c392a004f4231005d513500736742009791710095ae95
+007fa68c0096b0980095b8a300759b83006b7b670069644e0064573b00574d36
+00453d2d0034312400272a1f001e231a00181d17001419140012181300151915
+00191b15001c1e15001c2017001c2019001b221800191f1800161e1900161f1a
+00171e1b0016201f00132224001324270015272800172929001c2b2800262b25
+002f2d210034342100383c28003a402d00374f4000355e4e002b4a400024423f
+"/>
+<palette number="678" name="Wintergrass" data="00a193630096894d0099905c009c976c00a79e7900b3a68600b6a88900b9ab8d
+00beac8d00afa17e00a0967000938e5e0087864d007f7c3900787326007b7222
+007e721e00867314008a7315008f7417008e7219008e701c008b6f1c00886e1d
+0077692f00736a3500706c3c00777349007e7b570086805e008e8566009b8f71
+00a4937500968e7600898368007c785b006f6e4900626538006564320069642c
+0077651900806b17008a7115008e761800927b1b00907c1f008f7e23008d802b
+00887d3300857c3000867b2a00887a24008c7a1a00907a11008f780e008e770b
+008170070079690700726208006c600900675f0a00655e0b00635d0d00655c0c
+00685c10005f5915005c581a0059571f005758210056592300555c28005a5f28
+00686f25006a6f21006c6f1e00696b2100676824006366240060642500595d2a
+00565a2f005356320050532e004e512a004d5128004d5126004e5225004c5327
+00575e310065684100747351007e7a5900898161009d8f7000ae9c7c00baa780
+00baaa7900bea24f00b8983900b28e2300b1891b00b0851300a97f1000a07a10
+008b6d15007d6c1a00706b20006e6921006d682200646524005c6226005d6123
+005f5e1f005c5a22005b5920005a591f0058571e0056551f0054541d0057541c
+00645a1600716014007f661200836a1000876e0e0098770c00a77f0f00a88518
+00ac8d2d00b7995700b79b6200b89e6d00b8a18200baa48800b39e8200a39474
+007e7b5d006d6d4c005c603c00565c370051583200444e28003c4921003b4517
+00354213002c401c002d411d002f421e00324b2600364e2a003a522f003f5833
+004660390046603c0047613f004d63420053694100566b4100606e3a006a7130
+006b6f2a006d681f006c6520006c6322006d6324006e652a0070693100787031
+00857d3300897d2f008d7e2b00937e280099832700a2832300a4832c00a68a3f
+00ab924f00a3945800958f6500898b6c007c8360006974540056684f004b6044
+00495b3c00495b3c00495b3c004d5e3a0058623600646631006d6b2e00746d2b
+007e6f25008573200087771c008d791a0090781800927a1700967b180098791a
+00997a1e00987b2200947a2800917b2f008e7d36008e814500938855009c8e62
+00a3946f00a5967300ad986700b3995500aa9448009d8e3700988725008f8422
+007f802900717a2d0069742f00637032005d6a33005865320056623100545d2e
+004e592c0047512a003d462700313f23002c391e0032392500333b2500384020
+00464b2500525629005d5f260068642300706b24007a742800847c2d008c823b
+00958b5100a2956000ac9a7200b7a38400c5ac8f00cdb29300d2b89a00d4ba9f
+00d4bb9d00d3bc9d00d1bb9f00ceb59b00c5ad9100c1aa8d00bba27900a9945f
+"/>
+<palette number="679" name="Wooden" data="005c4a3f004b39390046363600423333003e3130003b302d0039302b0038312a
+0036302a0033373000313f3600374a43003e565100455e51004d6651005a684f
+00686b4e008165480084614000885e38008457320081502d007d4f2a007a4e27
+00684b27005b4528004e3f2a00473b2900403828003d3928003a3a2900373729
+00352f2a0027332f002c302a00322e260031302300303221003031200030301f
+002e2619002a24180027231700231d1700201717001e1616001c151500181218
+00111616000c1414000c1312000d1310000f161200111a1500131b1900161d1d
+001b1e25001d2227001f262a001f2228001f1f27001e2026001d2126001b1e25
+001b1f23001f231b0024231c0029231e002a231e002c241f00302a1f00332f20
+00372b1e00362c1d00352d1c00312a19002d2817002b2716002a261600262415
+00211d130014180f0014150d0015130c00140f0a00130c0900110b08000f0a07
+00100906000f0a07000f0b0800100d090012100a0015170e001d171100221d13
+002722150032261b0036271b003a281b003b291a003c2a1a003d281b003d2a1c
+00402d1d0041301f0042342200433522004436230045382700483b2b004b4131
+004e473400504b3800524b3800554c39005c503b0061523c0068583d00715d41
+00836e4f008e7350009a7951009c7c52009e805400957f5600917552008c6b4b
+008764430068543600614d34005a47330050403100483d310043402f00413e2f
+00383c2d0039382d003a352d003a342c003b332b0039302700392b220039271e
+003a281b003f28150041291300442b12004a2c12004d3014005033180055391b
+00613d1f00613e2100624023006342290063462b0064472e0061492f005e4832
+0056453500394c3f00364d4100344f4300314e4200304c44002e4741002d453d
+00333d2d0035392a0038352800362d2400322f22002b33240024362700233727
+001e3628001e3627001e3428001e3122001f2b1b0026241600241d1200221812
+001f150d001e130d001d120d001a0f0f00180e1000160f0f0018120f001c1011
+0020141600261a1f0030252b004232320056484300676250006c715900766a58
+007b7358007e77580077745600685e4900594f3b004c4a330041463100344131
+00333e2f00343e2e003e412e004b3f2a00593e25005f391e005c371b00573216
+0057321200522a0d0046250b0035220b002d220d002a1f0e002c1d0b002c1f0a
+002f200d00362310003d24110041281200452a1700472f1d00492f2000483220
+004a2e20004932200049302000462e2000442a1e0040281e003e271d003a241e
+0036211c0031201b002c231a002a221a0028231b0024281e001f2c2200233226
+0028392800353f2c003e443100504d38005a523b005a523a0053483900564a3c
+"/>
+<palette number="680" name="Wooden_2" data="003b2c1b0046321d004b351e0050392000533b2100573e2200573f2200584023
+005842230057402200563f2200533d2100503b20004c381e0049361d0046341c
+0044331c003a2d1900342917002f25160029211400241d1300211b12001f1a12
+001815100015130f0013120f0012110f0012110f0011100f0011100f0011100f
+0011100f00111010001110100012111000141110001612110017131100181411
+001f181300241a1400291d16002f20170036241900392519003c27190040291a
+00432a1b00482f1c004b311c004f341d0056381f005d3d2100613f2100654222
+00754e26007c552700845c29008c693100957639009a7c3e009f834400ab904a
+00b5974f00c3a45500c7a55300cca75200cda85200cea95300ceaa5900cfb05d
+00cdaf5f00c9aa5c00c5a65a00c09d5100bb954800b8904400b68b4100b4893f
+00b5893d00b4873b00b0843800ac823600a97f3400a67d33009e753000946e2c
+0086642700805f25007a5b240076582300735622006b50200062491f0056401d
+004a381b003a2d1800372b1800342918003429180035291800372a1900392b1a
+003b2d1b00392c1b00382b1b00362a1a00352a1a0033281a0032271a00312719
+003127190035291a00362a1a00372b1b003a2c1b003c2e1c0040311d0045341e
+00503c2000553f21005b4323005d4423006046240063482400654a2500674c25
+00694d26006b4f26006a4f26006a4f27006a4f2800694f2700674e2600664d26
+00695025006d512600715228007252290074532a0075532b0074522b0071502a
+006e4f2900664b250064492400634824005f4523005b402200533b21004b341f
+0038291a00332618002f2417002921160026201500261f1500272016002b2317
+00302618003b2d1a003e301b0042331c004a391e00533f20005e452200684a24
+006549230063472200624622005e43210059402000523d1e004d3a1d00523c1d
+004c371c0045331a003d2d1800352716002b2014002019120015131000151310
+00141310001312100013121000131210001211100012110f0012111000121110
+00131210001413100016141000181611001b1712001d1912001f1b1300201c14
+00211d1400231e1400241f1500262115002a2316002e26170032291900382d1a
+003d311b0042341c0048381d004c3b1e00503e1f0054401f00574320005b4522
+005f482400644c25006a5026006f54290074572a0076582b0076592b0073582c
+006f552c0069502b00634c28005e49270059452600544225004f3e24004a3b22
+00453721003f321f00382d1d0033291a002e2518002a22160026201400231d13
+00211c1300201b13001e1a13001e1a13001e1a13001f1b1300211c1300231c13
+00261d1300281f14002a2015002c2116002e221600302417003326180036291a
+"/>
+<palette number="681" name="Wooden_3" data="005f452600442f160035210b0026140100211100001c0f0000190e0000170d01
+000f0901000d0700000c0500000c0500000c0500000e06000011070000130700
+00150800001d0c00001f0d0000220f0000220f000023100000230f0000230f00
+00200e01001f0e02001e0e03002112070024170c00281c12002c211800392f26
+004a41390067605600757066008480770092908800a1a09a00a5a49e00a9a9a3
+00a8a6a000a29e95009c968a0090877a0084786b007b6e610073655800635444
+00574634003f291500351f0c002b150300291402002713010027130000281300
+002b1500002e180300321b06003d240c00482d12004e33150055391800604019
+0069461b00734f2000724e1e00714e1d006f4a1a006d471700674112005f3b0f
+00513311005336160055391c005e422400684b2c006c502f00715633007a5e3c
+00826743008b6c47008a6a450089694300876842008567410081643f007f633f
+007c603f00755b3c006e5639006a523500664f32005c492e0055422b004e3b27
+00433120002f1d0d002b180a0027130700261206002612060026110400261203
+00271203002611030026100300240f0200230f0200220e0100200d00001f0c00
+001f0b0000200d0100210e0200220f030027160a00302115003d2d1f004d3b29
+006b5333007d664500907957009a846400a48f7100b7a48800bfae9100c8b897
+00cdbb9b00d3c2a500d0bfa300cdbda200c1b29900b2a08800a28b6c00917856
+00725530006346250054381a004d311400462b0f003d230800371d0300341a03
+00371b040042260d00462a11004b2e150053361b005d3e2200644629006b4e32
+00785d41007b5e42007e6043007d60400076593a006e51340064492c005c3f27
+00573b200045280f0041240b003e210700371a030034190300311703002e1502
+002a120000281100002711000024110100231001002310010024110200281303
+002d1a080037250f0044301700503b20005e432600664b300072573a007d6649
+009583690098876f009b8b7500a28f7800a8947900ab997a00ae9a7800ae9977
+00ae957300ae916b00ad8d6200a9865900a17e4f0098744a008e6a4500825e3c
+0075553500684b2d005e422500563b22004b311900422812003b220d0039220c
+003f281200452e17004a311a0050331b00563b1f00624525006f512e00785b37
+0080613e00846949008d76560098836500a2907300ab997e00b09f8700b3a691
+00b8ab9800baad9c00baad9800b8a78f00b4a18600b19b7e00ad947700a68f6f
+009d8665008f7a5c00826c4f00745d430068533900604a30005a462e0057422c
+0059422c005e472d00664d2f00715737007c624100886c480096774d009e7e4f
+00a1804f00a18053009e7f53009b7c51008f7043008161350072532c00654723
+"/>
+<palette number="682" name="Woodland" data="00432a13004e260d0056260a005e270700692b0600742f0500773004007a3103
+00752c03006c270200642201005a1f0300511d06004c1a070048180800481809
+0048190a00461b0800481c09004a1e0a0048200a0047220a0046220a0046220b
+003e240b003c260e003b2912004031180045391e00463d2300484229004b482d
+0049482e003e42280039371f00352d16003628100038240b003b230b003e220b
+00441e0b00481f0b004c200b004f220c0052240d0054240c0056250c0053260c
+0052280e004b2c1200482b1200452b1200412d12003e3012003f301100403110
+003e3a1300444215004a4a18004e4c1900534e1b00574d1b005c4c1c005b501c
+00574c1d004e4b2400464d2a003e4f30003b4d2f00394b2f00354d2f00304729
+0029371b00253618002236150022391600223d170023411c00254522002d502f
+00365d360045715f00437f6900418e7300489182004f9591004a999200489671
+004f897100457850003c673000345e2d002d562a002147210021381700253013
+00282a0f00341f0b00331f0c0033200e0032200e0032210f002e2410002b2710
+00252f13002533140025381500293a17002d3c1a003c421f004a4c22005d4d20
+0072491c008546150084411100843d0e007d38090072320900632f0a00552d09
+00412d11003e331b003c3a25003f3d2a0043413000494d350050563a005c5d43
+0065693f006a7031006c712e006e732c006b74240063682100585a1c0047521a
+00313f19002b3a160026361400293613002c3613003237120039350d0045310b
+0051330900603109006231080065320800653107006433090060350d005c340f
+005f38100061380f0064380f006b380e0071390c00743a0c00753c0e00713c10
+006b3c1400644b1d00644e1e006451200060571e00645d1e00655c1c005f5518
+005b45100057410f00543e0e00523a0b0050370b004c310d004a2c0a00472308
+004518090044110800450f0a0048150d004d1a0e0058240f0063381b006c4b29
+00867c2c008b86330091903b00918b3b0091873300918c30008a762e00845c27
+007d55210078501d007c4d170081461200833f0b0085400700823f08007b4106
+0070400a005f3d11004e401200403f160035371900313415002e2d13002d2510
+00321e0b0037170a003a1209003d0f08003f0d0700420e090042120a0041170b
+00421a0c003f200e003a250c0037290d0036311200383d17003c441c00444c1f
+0051572400575e2b0058652e0057692a00536124004d57240049512000454415
+0045351400482e14004a3116004a3317004d351500503b1700513b1600533a12
+0052380f0053340e0055320d0054310b005432090055360c00573e0f00564611
+00564a0f00544b0d004e4c100048461000433c0c00483b120048391900392c14
+"/>
+<palette number="683" name="Yellow_Silk" data="00debb2a00dfc94200d7c94300d0ca4500bcc04700a8b64a00a6b04500a4aa41
+00a79d3400a49d3300a29e3300a49e2d00a69f2700a49c2400a39a2100a3961e
+00a3931c00a88a1c00a6892000a5882500a3882600a28827009e8b26009b8e26
+00a1911c009f8c18009e881500a7791100b16a0e00af621200ae5a1700b74419
+00bd2f1900b8251300b52a1400b32f1500a12812009021100088231000812611
+005a0c1d00480b2400360b2b003f143800491d45004f274f0056315a0071405e
+00804159009d564f00ab5e3f00ba662f00c6752c00d3852900db942900e3a429
+00ecc22d00eec82e00f0ce3000d3ba3300b6a73600a99435009d823500967745
+00686552004b4a54003c4152002d3950002c3e46002c443d0035392b0041432d
+0075702d007f7a30008a8534008f893300958d32009a8a31009f873000a7862b
+00af832600bd7a1f00bf7e1d00c1821b00c1821f00c2832300be8c2c00b69833
+00aca252009e934d009085480086784d007d6b52005e4f4c0051352e004e2125
+004c1e1d00752d1b0090431f00ab5a2300b2653000ba703d00c5734c00c78b5a
+00cfac8d00c8ae8800c1b08400c1a97e00c1a37800b58e5600927c340078691e
+00746b17006d6407006f6c0c007275110085851a00988c1a00a4931f00ad9427
+00d2953700dd893f00e97d4800ec7d4e00f07e5500e97e5f00d6765d00c17a5c
+00ad7e55008e8544008b83400089823c0088802e008c872b0093892a00998525
+00be893b00cc924c00da9b5d00dba16200dda76700d9b66b00bcbc6800aaad64
+00b1995700908065009478650098716600a17368009b957e009eb27b00a8c775
+00d8e77700deec7800e5f17900f3ef7800faeb7300fbeb7500fbe86f00fae866
+00fce96800fde77300fce77c00fce88600f1e69700e5e6a300d2e5b400b2d4b9
+008bb3bc007eb0b40071adac00739ea00086a7a300a0b49b00b8b48a00cfc37a
+00e9ca7100efc46600e0be5700ceb64a00bab44100acb14200abb24d00b9b94a
+00d7cb4800e2d04600eed64500fcdc3c00fcdd3a00f4d33700e8c33000d8b428
+00be9c1f00a180160087690c006f4c040052300000483300004d350000542605
+0067390d00774c12008e4a1a00a2562500a9682c00b6783d00c58d4b00d2a547
+00dcbc4a00ebcb5200f7d54a00f9db4200f9de4400fce14700fddf4e00fbdd59
+00f0d25a00e3c35200e3ae4900d7953b00bf842800b6721500b0610b00a85f06
+009d66080093670f00936b140094721e00906e230089681f0087561900873a14
+00892e0d008c200400810f0000811800008f2d0400933c08008f4b1100975c21
+00a2712a00a37e38009a7e450098884100a1913e009f943b00a3962e00b59325
+00bf8f2300be902400be902800c1902800be8f2600bc942900c59c2d00d2ab2b
+"/>
+<palette number="684" name="Zinfandel" data="008359420072563e006b584000655b42005b59400051573f004d553d0049533c
+0037422e0038432f003a453100474b35005552390062583d00705e4100735f42
+0077614400816447008164470082654700866447008a6348008b6247008c6147
+008a5841007d513c00714b370068473600604435006045370060463a00654c40
+007155480088695400906e570098735b00a17a6100aa816700af846900b4886c
+00cb9b7700d39f7900dba47c00e1a67e00e7a98100e8ab8300e9ae8600eab38e
+00eab99600ecc6a900edcbb100efd1ba00f0d6c200f1dccb00f1decf00f1e1d4
+00f0ece400f0ede800f1efed00f1efed00f1efed00f1efec00f1efec00f1f0ec
+00f1f0ec00f1efeb00f0ece400efeadd00eee7d800eee4d400ecdec900ead6bd
+00e2c0aa00dab39d00d3a69100cb998500c38d7900c1897300c0856d00bf7f61
+00bf7a5d00b7725900b16d5700ab695500aa675300a9665200ab675300b36b55
+00be785d00bf7e6000c1846400c0866400c0886400bf8b6700c48d6900cb8e6c
+00cf926f00d19c7900cb9d7800c59e7700c29c7600bf9a7500b9937200b38a6e
+00ac7e6800a87d6600a47c6500a47c6500a47c6500a47d6700a57e6700a77e68
+00ab7f6b00b3846f00b5856f00b8866f00b8877100b5866f00ae856c00a48469
+008f7d5d0084735500796a4d00726448006c5e44005f523b005248350046442f
+0040432c00454a2e004a4d31004f5034005d563b006b5a420078614a00856850
+00a17a6000ae876d00bc947b00c39c8300caa48c00d5b39c00e0bfaa00e9cbb6
+00efd1bf00f4dfd000f4e3d400f5e7d900f5eee200f6f3e900f5f9ef00effaed
+00e7f0dc00e4ecd700e1e8d200d9dec700d2d4bb00ccc7b200c1bba500b5ac96
+00ad9f86009f8a6f009c876a0099846500997f6100997d61009a7c62009d7f64
+00ab8e7900ae937e00b1998300b9a79000c2b49e00c9c0aa00d0c8b200d9d3be
+00e1dbca00e8e1d000ece4d300efe6d400eee9d800eee9d800eee9d800edecde
+00ededde00edecdb00eeebd900ebecd600e9ecd400e6e8cd00e3e5cb00e0e2c8
+00dfdfc600e0d8bf00dfd1b500deccae00dcc1a200d9b79500d6ab8800d49d7c
+00d2927200cf886800cc816100c4775b00b76f5400a9684c009e5f4600975c45
+00925e470093644b00966d5400977a610098866e00978f78009a9a84009ca58e
+00a5ab9300b2b39700c1bd9e00d0c5a500d9caaa00e2cdaf00e4d0b500e5cbb2
+00e1c4aa00dbbd9f00d6b69500d0ae8a00cda88200c8a58000c4a37f00bea181
+00b7a07f00b19f7e00ab9d7d00a89d7c00a99f7b00aa9f7b00ad9f7d00ad9f7c
+00ac9e7b00a99b7a00a5967500a3947000a28c6900a3836300a37c5c00a37456
+00a46e5200a2674e009e664b009d6c4d009b6b4e00996a4d0090644800895e44
+"/>
+<palette number="685" name="040412" data="00006edb00006ede00086bdf001069e1001367e1001766e2001864e1001a63e1
+002a59e000275adc00255bd9002456d4002452d0002753c3002b55b7002e58b3
+00325baf00446aa20049759c004e8097005888900062918a00689586006e9a83
+0077a9750076a8780075a87c0078a878007ba975007fa7710083a66d008a9e66
+008c95590082973c00849a2e00879e210093a313009fa80500a4a80400aaa904
+00b4a50500afa00800aa9c0b00a68f1000a38215009d791500987115008e6315
+0085561600714810006f4708006d4600006b4200006a3f0000663e0000633d00
+00544000004f3d00004b3a00004139050038380b00313512002a331a001c3628
+000e3a360002465200034e5e0005566b0005597100055d780005668500056e91
+00017eaa000084b700008ac4000092d200009be00000a0e70000a5ee0000b3f3
+0000c2f60000daec0000e0e30000e7db0000e8d60000e9d20000e8c60007e4b8
+000fd49c0012c8910015bd860015b7820015b17e0019a97c001e9e750021946d
+00218a6400217f5200227f4300247f3500267f2e00287f270027801900287910
+0020670c001a621000155d1500125b1500105915000952150002471600003a1d
+0000351d00003a1d00004019000047160000511300005c0c0000640700006d07
+0000830000008d00000098000000990000009b00000298000005980000079800
+00089b00000894000008900000088d000007850000057c000005740000047200
+00057400000472000004700000036e0000026d00000174000000740000007700
+00007800000077090000750e000074130000701a000067230000602a00005831
+000044470000424c00004151000040580000416000004164000046690008466b
+0015486e002f546a00355666003c59630048625b004f6754005b695100606b52
+006d6a4f0072694f0078694f00836754008e6355009c665400aa6a5800ba7056
+00c8755500d6825100e08d4e00e89a4600eba83d00e8b63600e1c22c00d7d328
+00bee23900b7e43d00b1e74100a5eb520098eb60008ce86e007fe7790075e487
+0071e095006adaa10063d4ac0064cdb00060c8ad0059c4aa0051b7a90048a9a6
+00469fa6004194a2003f8c9f003a859b00367e9a00397b97003d7794003d758e
+0047718700526d85005d698300676280006b598200744f82007c468200873c82
+0090328000952a7f0094277b00942777008d2c740087336d007f3d6e007b4a75
+0075527c006a5989005f5f95005460a2004b60ac00445db600405bc1003556cb
+002a55d6001e56e2001559e800085ceb000064ee00006df0000075f500007efc
+000087ff000090ff000095ff00009aff00009cff00009cff00009bff000095ff
+000090fc00008af2000083e900007ee1000079db000078da000078da000072da
+"/>
+<palette number="686" name="040412-000" data="00ab668500964f780089416f007d336700802f6700842c6800842b6800852b69
+0084336a00873b6d008a4370008e4b730093547700975e7b009c6980009f6e82
+00a3738500b47f8f00ba819200c1849500c5869700ca889900cc889a00ce899b
+00d48c9e00d88ca000dc8da300df8da500e38ea700e48ea700e58ea700e68da8
+00e88da900eb8dab00eb8eab00ec8fab00ec90ab00ed92ab00ee92ab00ef93ac
+00f196ad00f196ad00f197ad00ef96ac00ed96ab00ea95aa00e894a900e191a5
+00d88ea100c1849500b27e8d00a378860093717e00836a76007c67720075646f
+005c59630053555e004a515a00454f5700414d5500404c54003f4b54003e4a53
+003e4a5300404a5400424a5500454b5600464b5600474b5700484c58004a4e59
+004e505b0050505c0052515d0054515e0056525f0057525f0058525f005a5160
+005d4f610064496200674663006a4464006b4364006c4264006e4164006f4064
+006e4164006b426300694463006745620065466200624761005e4960005c4d60
+005c50610062586500695b6800705f6c0074616e0079647100826975008b6d7a
+0098738000997381009a748200987381009773800092707e008a6d7a00836a76
+007c67720073646e0072636e0072636e0074646f00786670007e687400866c78
+0099738100a0768400a77a8800a97a8900ac7b8a00ad7c8b00ad7c8b00ac7b8a
+00a87a89009e7584009973810095727f008c6e7b00836a76007b67720074646f
+00645e67005c5a630055575f0053565e0051555d004e535b004d515b004c505a
+004b4f5a004e4e5a004f4d5a00514d5b00544d5d00574d5e005a4c5f005d4b60
+006348620065476200674663006c426400703e6500743b6600783766007d3367
+0080306800842c6800842c6800842c6800852b6800852b6800842c6800822e68
+007e3167007d3267007c34670079376600773d670079446a007f4c6d00875473
+008f5b780098657e00a3708400b0798c00be819400cb869a00d68aa000de8da4
+00e88da900e88ca900e98caa00ea8baa00e989aa00e888a900e787a900e787a9
+00e787a900e888a900e98aaa00eb8caa00ec8eab00ed90ac00ef92ac00f094ad
+00f195ad00f196ad00f296ad00f196ad00f195ad00f195ad00f195ad00f195ad
+00f094ad00f094ac00ee94ac00ec94ab00ea93a900e592a700e090a400d88da1
+00cf8a9c00c4859600b8809000aa7a89009b7482008c6e7b007d68730070626d
+00635d6600575860004d545b00445057003e4e54003a4c5200364a500034494f
+0032494e0032484d0031484d0031484d0031484d0032484e0033484e0035494f
+00374a50003a4b52003e4d5400444f56004a525a0054565e005e5b64006c616b
+007c6772008c6e7b009f768400ae7c8b00ab798a00a8748700a36d8400a16681
+"/>
+<palette number="687" name="040412-001" data="00645867007f5e70008a5c7400965b78009c5a7900a2597b00a2567800a35376
+009a3e6b0091346500882b5f007f265a00762255006f2152006820500065204f
+0063214e0057264c0051284a004b2b4900462c4700422d4600402d45003e2e44
+003b2d42003b2d42003b2d42003b2d42003c2d42003c2d42003c2d42003a2e41
+00382f410033313f0031333f002f3640002e3841002e3b43002f3b4400303b45
+00373b4800393a48003b3a49003b3848003b3647003b3547003b3547003a3345
+0039324300382f4100392f42003b3044003e3046004231480042304700432f47
+00432f4700413047003f3247003a324400353342003233400030343f002c343d
+002a373e002c3d40002d3e41002e3f42002f3f4300314044003540470039404a
+00423e4d00463e4f004a3e52004e3e5400533f5600543c5500553a5500583755
+005b355600603558005f3156005f2e54005f2d54005f2d54005f2e5400603056
+006930580074365e007f3c6400854168008c476d0096517400a1567a00ae5b80
+00bc628600d1749400d4799700d77f9b00d6809a00d5829a00d1829900ce819b
+00cb83a300c983a400c783a600c681a500c57fa400c47ca200c275a000bf6e9c
+00ba669700ad538300a84d7d00a4487800993d6c008b3564007e2d5c00732856
+0061244d005a244b0054244900532449005225490053274b005b294e00642e53
+00703459008d456b0094496f009b4e7400a9597c00b2618100b7688900b86c8e
+00ad708e00a16c8700966881008f627d00885d79007d547300704b6b00644261
+005c3d5a0053304f00532d4e00532b4d0053264b0055244b0058224b005c204c
+00651d4f00671c4f00691b50006c1a51006f1952006f1952006d1a51006b1b50
+00661d4f005b214c0058234c0056264c00502a4b004a2e4b0046324b0044324a
+0045344c0046344c0048344d004c334f0051305000562c50005b2951005e2751
+00602651005f2651005d285100592c5000563050005536510055395200563954
+005f37540061365500643656006b3559006f305a0075295b00782358007b1d56
+007f1b56007e1a56007d1a56007d1c5500801f560086255a008d2d5f00933865
+0097426b00974b6e0095517000935570008e5a7100875b6f007e596b00735566
+006a4c600065455b00603b56005d3353005c2c51005b264f005c244e005e224e
+0060204d00631d4e00651d4e00691e50006e225300772a590084346200933f6d
+00a34b7700b2578000be628c00c96e9900d278a600d981b000de88b400dd8bb8
+00d98ab900d387ba00c983b900c67eb100c277a900b772a100aa6c97009a6a91
+0093698c009465890097658a00946488008a638400816482007b627f0078627d
+0074607b006c5d750064596e005d556900535061004e4c5c004e4c5d00554f5e
+"/>
+<palette number="688" name="040412-002" data="002a554d001231320011313200103232000f3131000e3131000d3030000c2f30
+000b2e2e000a2d2d000a2c2d000a2c2d000a2c2d000b2c2d000d2c2e000e2c2e
+000f2c2e0011272a0011232600111f2200101d1f000f1b1d000f1b1d000f1c1e
+00152829001d323100253d39002b4a430032574d00365d51003b635600406e61
+00447870004f918f00559da2005baab50061b6c10067c2ce0068c6d2006acad6
+0067c3cf0065c0cc0064bdc90064beca0065bfcb0065beca0065bdc90063b9c5
+0060b3bf00559ba7004d919a0046878d00418084003d7a7c003a767600377271
+0037645e0038625a00396056003b655b003d6b61003d6e66003d726b0040786e
+0040776d003a6a6100335c54002d4e47002947420026413d001e363400172d2d
+0013242600132426001425270015272a00172a2d00182c2f00192e31001c3535
+00223c3a002a4842002f4d4500355348003554490036554a0035534900325047
+00284844002444420021414100204041001f4042001e4244001e464800214c4d
+0022515200255a5a00255a5a00265a5a002559590024585800225354001e4e4f
+00194445001843440018434400194546001b4848001f4d4e0025545400295c5c
+002d62620032686900306869002f686900316b6c00326e6e0033707000367576
+0045888e004b9098005199a200539ba500569ea900569da90051939e004b8791
+004277800030565b002c505400284a4d00223f42001e393a001a353600173335
+0016333400163534001737350017373600183837001a393a001e3e3d00214443
+00254a49002d5a5700305e590033625c003566610036696300376a610036675f
+0032605e00305f5d002f5e5c002f5d5e002e5f62002e6364002e6566002c6565
+002c6565002c5f5e002b5c5b002a5a59002957570029535200274e4e00254b4b
+0021434400204143001f4042001e3c3f001d3a3e001c3b3e00203d4100234046
+002345480025494a00294a4b002749480023454600224140001f3d3d001b3a3d
+001a3f41001a4143001a4445001c4a4b0021535400265c5c002c646400306b6c
+0034727200397577003a75780037737400346a6d002f60630029555500214749
+001a3b3f001a363a00193639001c393f0024444c002e565c0039687000467e87
+0051939e005baab50065beca0069c7d40069c6d30066c0cc005fb2bd00559ca7
+0049848f003f717a0037636a0030595e002d5457002b545600295757002a5b5a
+002e6161003066670031696a00356d6b0038706b003a6f6a003d7067003f7368
+004075690043796b00447d6f00427f74004080790042837c0040837f003e8182
+003e8182003d8181003c7e7e003a7b7b003b78750039746f00366f6d00346a67
+0033656000305f5d00315c5900345c570035615a003b685d0034595100284c48
+"/>
+<palette number="689" name="040412-005" data="00308277004d847e00588f7f00639a80006fb06c007bc6580080cc510086d34b
+0092cf420094c7420096c0430092b842008fb04200809f4600718f4b00698a4d
+0062864f004d696200465d720040518200314491002237a0001f34a5001c31aa
+002c2aa100382c9100442e81003d2b8300372985003727890038258d003d209c
+0048159b006a1471006713650065125a00541170004411860045118e00471197
+00461fa1004726a200492da3003931b4002a36c6002237d0001a39db000c3ce8
+00073eeb000543ed000442ed000342ed000343ed000344ed000445ed000546ed
+00054cec00054fee000653f000155bee002563ec002e68e900376de6004776de
+00527ed4005d7fc6005e7dbf00607cb800607bb400617bb0005d7ca600547aa0
+003b6aa3002d5da9001f51af001c47b300193db800213db700293eb6003c44b4
+004f4ab3006a59b5007856b9008754be008d55be009456be009754bb009252b7
+007651ac006844ad005b37ae005230ae004a29ae00371cb0002517ad001517a9
+000517a300001c9700001b9500001b9300001a93000019930000199400021a95
+001a1e9a002a1d9d003b1ca000441ba1004d1ba3005a1aa300631ca900731fad
+008625b100a641ae00aa4ba700af55a100ae6a8f00ab7a7e00aa837000aa8161
+00ac736100a9716000a7706000a07262009974640088696200795468006c3d73
+005c2a8000581a8c00581b8900581d8700551d7a00531c6a0053175c0052165e
+00741d5d00872a5a009b385800a23e5400aa445100a9555100a8675100a67354
+00a7875400abab4e00aab44800a9be4300a5d033009dd8240094e017008de509
+007cde0f0075d818006fd3220062c735005ec149005dc059005dbf600062c569
+0063c672005fc0770061c2780064c479006fc773007ccf750089d478008cd578
+007fb77c0078b27b0072ae7a0064a48700549a96004894a5004d94ae004c8cb6
+004e8eac004e92a1004c9a90003f9f800040ae77003cae7e003eb082003fb089
+003cab8e0039aa8f0036aa9100279fa3001a91b9000e84d1000477e9000067f2
+00005ff3000059f1000151ed000249e9000744e4001441df002144d4002e50bc
+003d5ca4004a698d004f7677005d816600688c5f006f9e4a0078af35007cbf24
+0070c1200065bb210060ae3500629e4900678f590073905a007a876500778860
+00758a6100798b6200818865008f985d009d9b6600a2a363009ba7640089aa63
+007bb05c006dbd4b005ec0480055c6440055c247004ab84e0047b2510045b346
+003db7360035c1290032c129002eba32002cb245002bab5a002aa5680027a675
+001e9e8b0013949e000a8cb2000383c400007acc000077c9000073c400006ebe
+000068b8000061b200005cad000053a700004f9f000658940013648300227276
+"/>
+<palette number="690" name="040412-006" data="002a705200476140004d543b00534837005c413200653a2e006a362c0070332b
+0081422c008845270090482300864227007d3d2b00723830006834350061333a
+005b323f004d2e49004c3145004c3441004a343f0048343e0048323e0049303e
+004a234a00511a500059125600680d53007809510080064f0088044e00980148
+00a6004300bf004100c0004600c2004c00bc034f00b7075200b10b5200ab0f53
+00911f530085285500793158006d365f00623c66005a3f6a0052426f00434a77
+0032537e001965790014707100107b6900177f60001f8458002285530026874f
+002f8a43002f8a3c00308b3600308b3600308c3600308c3700308d3800308e3b
+00319040002d905200268d5c001f8a67001b896c001788710010867900098281
+000b828100158279001f827100287b68003274600033705c00356c5800306257
+002e5d4f002e5f3b0037652e00406b2200466c1d004d6d1800576f0f005b6d0f
+0056671300506c13004a72130048781200477e110045851500458d1a0045921e
+004595220040932a004194260043952300439522004395210042942100409521
+0037922a0030892d0029813000297d2e00297a2c002b72250033681e00406415
+004e610d0060630a0062620a0065610a006a5e0b00675a0c006a4f0e00744312
+008930200094302600a0312c009f342e009f38310094423800864b3d007d4e42
+007c4e47007d3d5500843757008b3259008d2a58008c285800872f54007c394d
+0079543b007f573600855a31008b572d0091552900934e25009248200088451e
+007c451c006c5e120068641200646a130068740e0061780e005578150048751f
+00296d3700286b3b00286a40002a634800385f4d00485e490054594b0060544d
+0069495500713b5d0075355d007a2f5e0085245e00951c5600a3144e00b10d44
+00bf073700bf0a3300c00d3000bf132800be1c1f00bf261700be300f00bd3707
+00b9410300b44b0100af550000a75e0000a069000099740000927f00008d8700
+008596000083980000829a00007e9d00007a9e0000769f000073a0000071a000
+0070a1000071a00000749b00007590040078840b007d791400826c1e00866026
+0089552e00894d330087483400803d360077353a006e2f4000662a49005e2753
+005726610051276d004831750040377b00343f7e0027477f001a4e80000f5580
+000f59850014598a001a5a9000245795002f539800384e9b00384d9a00304d95
+002f4c90002f448a00313b82003a327a0049286d00601e65006d1a5b006e1c54
+0065234f00592a4e0049324c00393a5000303e4e00323e4e00343c49003e3e47
+003e4145003b454700324c4c0024555600165c610009626d000066750000697a
+00006b7b0003617600035b720003576e00075b66000e60600017655a00226754
+"/>
+<palette number="691" name="040412-007" data="006c81570062886200718a6500808c6900867b72008c6a7b007a69820069698a
+0069698c007a6785008b657e008d5f7500905a6c009251630094495b00944457
+0094405400942e46009428400094223a00941f3a00941c3a00941b3a00951b3a
+00931b3b008f1b3b008b1b3b00841b3b007e1c3b007b1b3b00781b3c00731a3e
+0070193f006c1643006b1445006b1247006b1247006b1247006b1346006b1546
+006d204c006d2752006e2f58006e3961006f446a006c486f00694d75005a567b
+005672800057918a00579b8d0057a5900054af930052b9970050bd99004fc19b
+004cca9a004cca95004ccb90004dc589004fc083004fbb7f004fb77b004db071
+004ba8680049975800488f4e0047874400498441004c813f0052783a00546f35
+00515e2c004e562b004b4f2a004749290043432800404229003e412a0040392b
+00402c2c00402937004028380041273a0041273a0041273a0041273a0041273a
+0043283400462735004a2736004c2636004e25370053243800582438005c2938
+00612d3600684134006e4a350074543600775737007a5a3900815e3b00875e40
+008f664b00906d4e009274520093785200947d530093805100908850008c8c4d
+00868a48007783440074814400717f4500687c4100647a410066784000687640
+006c753a006e73380071713600716f3600726d3600716b38007368390076633b
+007b5a3c0084503f00854d3f00864b3f00894541008a404400883f4800863c4b
+007d314e00782c4d0074284c0071264a006e25490068244400622241005c213e
+0058203d004f1f3e004e1f3e004e1f3f004d1f3e004e1f3f004f1e3f00511f3e
+0059203d005b223d005d243d0061283c00682c3c00702f3c0078313b00813238
+00893336009b3533009e373200a23a3200a5423300aa4a3400ad553700ae613b
+00ae7c4500ad814700ad874900ad8d4c00af8f4d00b08d4b00b18b4a00b28949
+00b1834a00b07e4a00ad794b00a7784d009f774e0097764e0090764d00897349
+00886b40008a693f008c673e008f643c0090643e008f6842008b6e4800867b4d
+007885520067875300608953006489530071885500818757008c7c590093705a
+00996b5b009c645d00995e600095596400915165008e4863008b3f5c00883654
+00842e4d008329440082243e0082253b0082273d00802c40007e3245007c364b
+007b394d007a3c50007b3c4f007d3b4b00813a4800883945008f3a4500963e45
+009d444400a14a4700a54f4a00aa544c00ad554b00b0554600b5504000b9473b
+00be463400c4462f00c4422d00c0432d00ba472d00b34c2d00ab522c00a3562a
+009a55290092532700905524008f4e22008e4820008d4320008d3c22008c3823
+0085322600813129007b332f00773f3400724c3b00705b4200706d480068784f
+"/>
+<palette number="692" name="040412-008" data="003a4c9b0038509d0036529f003555a1003259a4002f5ea7002c61a9002a64ab
+00236eb4002171b6001f75b9001e76ba001e78bb001d7abc001d7dbe001d7ebe
+001d7fbe001d7dbe001e7bbc001f79bb002275b9002672b700276fb500296cb3
+002e60a7003258a000365099003b469300413d8d00453b8b0049398900503585
+0056328300612e7f00642c7c00682b7900682a7600692a74006a2973006c2972
+006d2270006d206d006e1e6a006f1c6b00711b6c00721a6b00741a6a00741a6a
+0075196a00741964007619600078195d00791959007b1956007b1955007c1954
+007f1952007f1951007f1950007c195000791950007819500077195000721952
+006e19540068195400681c5a00681f60006722640066266900662d6e00643375
+005c3d810056418500504589004a498c00444d8f00424f9000405291003a5a95
+0035629c002b74a900287db0002687b800268bbc002690c0002998c80029a3cf
+0029a9d4002aa6d2002ba4d0002ca0cf002e9dce002e98c8003190c4002f88c0
+003181be003875b8003a70b5003d6cb3003f68b1004265b000465ead004a59ab
+005452a800584fa6005c4ca4005d4aa2005e49a00062449d00684099006a3a97
+006d39930068338c0066338b0065338b005d358900563689004d398b00443c8b
+0038418b0034438b0031468b002f4589002e4488002d4488002e4588002e4989
+002b4d8c002b5490002a548f0029548f0026528c0023518b001f508b001d4e88
+001946850019468500194685001947860019488700194d890019508c0019508c
+001a4e8c001f4c8800204884002144810023387b00262b720029236a002d1e64
+00311a6100331a6000351a6000391a6000411b5e00491b5d00521a5c005c1959
+00611955006e194c0071194a0074194900781946007b1946007d1944007d1946
+007f1948007f1948008019480080194900831949008419490087194900881949
+0089194a0089194a0089194c0088195000871952008419580081195d007d1965
+00721978006d1b7b00681d7f0060228700552a8c00493293003c3a99003645a0
+002f54a5002a5dac002366b1001f70b7001a78bc001980c2001987c4001989c7
+001989c7001988c7001987c4001981c2001a7dbe001b78b8001e74b3001f6dad
+001f68a8001e60a4001e5a9f001e5498001e4a93001d448c001e3a8700212f81
+0025297b00292378002b2375002d2377002a277800262e7b0022357f001f3c81
+001b3e84001a408700194088001a3c88001d3a88002139880026368b0029368c
+002b3a8f002e4193002e4698002e4e9d002d56a4002a5ea9002962ad002765af
+002765af002962ad002a5eab002e5aa7003155a30035509f003354a0003255a1
+003258a1003158a1003258a1003258a1003255a1003355a1003555a1003655a0
+"/>
+<palette number="693" name="040412-010" data="00698167006d8367006e84670070856700728667007487670074876700758867
+0078896600798965007b8a65007c8a64007e8a64007f8a6300808a6200808a61
+00818a6100838a5f00838a5e00848a5d00858a5c00868a5c00868a5b00868a5b
+0087895a0087895900888958008787560086855400848452008383510080804d
+007e7e4a00787944007576410073743f0070723c006d7039006c6e38006b6d37
+00666933006367310061652f005e632d005c612b005a602a00595f2a00575d28
+00545b27004f5724004d5523004b542200485221004651210045502000444f20
+003f4c1f003d4a1f003b491f0039481f0037471f0036461f0035461f0034451f
+00324420002f4221002d4121002c4122002b4022002a40230029402400284024
+00263f2600253f2700243f2800233e2900223e2a00213e2a00213e2b00203e2c
+001f3e2d001e3e2e001d3e2f001d3e30001c3e30001c3f30001c3f31001b3f32
+001a3f33001a3f33001a40340019403400194035001941350019413600194236
+0019423700194438001a4539001c473b001e483c00204a3e00234d4100265044
+002d554a0030574c00335a4f00345b5000365d51003a5f53003d625600406458
+0043675900496b5d004a6c5d004c6d5e004f7060005272610054746200577664
+005c7966005e7a6600617c6700627d6700637e6800667f6900688169006a8269
+00698167006d8367006e8367006f846700708567007286670074876700758867
+0078896600798965007b8a65007b8a64007c8a64007e8a64007f8a6300808a62
+00818a6100838a5f00838a5e00838a5e00848a5d00858a5c00868a5c00868a5b
+0087895a0087895900888959008889580089885800868554008383510080804d
+007e7e4a0078794400767842007577410073743f0070723c006d7039006b6d37
+0066693300646832006367310061652f005e632d005c612b00595f2a00575d28
+00545b2700525925004f5724004d5623004b5422004852210046512100444f20
+003f4c1f003e4b1f003d4b1f003b491f0039481f0037471f0035461f0034451f
+0032442000304320002f4221002d4221002c4122002a40230029402400284024
+00273f2500263f2600253f2700243f2800233e2900223e2a00213e2b00203e2c
+001f3e2d001f3e2e001e3e2e001d3e2f001d3e30001c3f30001c3f31001b3f32
+001b3f32001a3f33001a4034001a403400194035001941350019413600194236
+00194237001943370019443800194438001c473b00204a3e00234d4100265044
+002a5247002d554a0030584c00335a4f00365d51003a5f53003d625600406458
+004367590046695b00496b5d004c6d5e004f7060005272610054746200577664
+005a7765005c7966005f7b6600617c6700637e6800667f6900688169006a8269
+"/>
+<palette number="694" name="040412-011" data="007e303700762c4500722b49006e2a4e006a2950006728530065275400632656
+005c265c0057245900532257004d2155004821530046205000451f4e00441e4d
+00431e4c003f1e47003f1e45003f1e43003f1e3f003f1e3b003e1e39003e1e37
+00421d3600431c3800451c3a00471b3b00491b3c004a1a3c004b1a3d004d1a3e
+004f1940005318430055174400581746005a1647005d1549005e15490060154a
+0065134e00681250006b1252006e11530071105500720f5500740f5500770e57
+007a0e5900810c5800840b5800880a58008b0958008f08580091075600930755
+009a0553009d045100a1034f00a5024b00a9014700aa004600ac004500b00242
+00b4043d00bb063400be082e00c20a2900c30b2700c50c2600c90f1d00cc1116
+00d3211000d6280e00da300c00dc380a00df410900e0450800e24a0800e45106
+00e7570400ea640200ec6b0100ee730000ee760000ef7a0000f07e0000f18300
+00f2900000f2930000f3960000f3990000f39c0000f3a00000f3a10000f3a201
+00f2a50200f1a80500f0a90600efaa0800eea90900eea80a00eda60c00eba50f
+00e5a31300e1a11300dd9f1300db9e1300d99d1400d49c1500d0981500cc9518
+00c7931800be8b1a00bb891b00b9871d00b4811f00b07d1f00ab762100a67123
+009c622700975c280092562900905329008e502a0089482c00853f2d00803a2e
+007e303700762c4500742b4700722b49006e2a4e006a29510067285300632656
+005c265c005724590053225700502256004e2255004821530045205000451f4e
+00431e4c003f1e47003e1d46003d1d45003f1e4300411e41003f1e3b003e1e37
+00421d3600421d3800431d3b00451c3a00471b3a00491b3c004b1a3d004d1a3e
+004f194000531843005418440055184500581746005a1647005d15490060154a
+0065134e0066124f00681250006b1252006e11530071105500740f5500770e57
+007a0e59007e0d5700810c5800840b5800880a58008b0958008f085800930755
+009a0553009c0452009e045200a1034f00a5024b00a9014700ac004500b00242
+00b4043d00b7053a00bb063400be083100c20a2900c50c2600c90f1d00cc1116
+00d0171100d3211000d72a0e00da300c00dd390a00df410900e24a0800e45106
+00e7570400e95f0300ea640200ec6c0100ee730000ef7a0000f07e0000f18300
+00f2890000f2900000f3930000f3960000f39c0000f3a00000f3a10000f3a201
+00f2a50200f2a50300f1a80500f0a80700efaa0800eea80a00eda60c00eba50f
+00e9a41100e5a31300e1a11300dd9f1300d99d1400d49c1500d0981500cc9518
+00c7931800c38f1a00be8b1a00b9871d00b4811f00b07d1f00ab762100a67123
+00a16a24009c622700975e2800925629008e502a0089482c00853f2d00803a2e
+"/>
+<palette number="695" name="040412-012" data="00b9869a00b17f8f00ac7b8900a8788400a4747e00a07179009e6f76009c6e73
+00936668008f6262008b5f5d00865b5700825851007b534a00744e4300704c40
+006d4a3d005f413100593d2c00533a27004e36230049331f0046311d0043301b
+00392a1500342712002f2510002b230f0028220e0027210e0027210f0026210f
+0025201000231f1100221e1200211e1300201e13001f1e14001e1d14001e1d15
+001c1c16001b1b17001a1b1800191a1800181a1900171a1900171a1a00171a1b
+00161a1c00151b1e00151b1f00151c2100151d2200151f240015202500152126
+0016252a0016272c0017292f00182c31001a2f34001a3035001b3237001c3539
+001d393c001f3f410020424300214546002246470023484900244b4c00254e4e
+002754540028575600295b59002a5e5b002c615e002c625f002d6461002e6764
+00306a6600346f6c0037716f003a7472003b7573003d77740041797700457b7a
+004d7f80005281830057838600598487005c85890061878d00678890006c8a93
+00728b96007d8f9c0082909f008892a2008b93a4008e94a6009495a9009997ac
+00a49ab200aa9bb500b09db800b29eb900b59fbb00bba1bf00c0a2c100c5a3c4
+00c9a4c600cfa5c800d0a5c800d2a5c800d3a4c700d4a3c600d4a2c500d4a1c3
+00d29dbd00cf9ab900cd98b500cb96b200ca95b000c691ab00c28ea500bd8aa0
+00b9869a00b17f8f00ae7d8c00ac7c8900a8788400a4757e00a07179009c6e73
+00936668008f6262008b5f5d00885d5a00865c5700825851007b534a00744e43
+006d4a3d005f4131005c3f2e00593d2c00533a27004f37230049331f0043301b
+00392a150036291300342812002f2510002a230e0028220e0027210f0026210f
+0025201000231f1100221f1100221f1200211e1300201e14001f1e14001e1d15
+001c1c16001b1c16001b1c17001a1b1800191b1800181a1900171a1a00171a1b
+00161a1c00151a1d00151b1e00151b1f00151c2100151e2300151f2400152126
+0016252a0016262b0017272c0017292f00182c31001a2f34001b3237001c3539
+001d393c001e3c3e001f3f4100204244002145460023484900244b4c00254e4e
+00265151002754540028575600295b59002a5e5c002c615e002d6461002e6764
+00306a6600326c6900346f6c0037726f003a7472003d77740041797700457b7a
+00497d7d004d7f800052818300578386005c85890061878d00678890006c8a93
+00728b9600788d99007d8f9c0083909f008892a2008e94a6009495a9009997ac
+009f98af00a49ab200aa9cb500b09db800b59fbb00bba1bf00c0a2c100c5a3c4
+00c9a4c600cda5c700cfa5c800d2a5c800d3a4c700d4a3c600d4a2c500d4a1c3
+00d49fc000d29dbd00d09ab900cd98b500ca95b000c691ab00c28ea500bd8aa0
+"/>
+<palette number="696" name="040412-013" data="00400b5c003a0a56003709520034094f0031084c002e0849002d0848002c0947
+002709410025093e00230a3c00210a3a001f0b38001c0c36001a0d3400190d33
+00190e32001d0e38001e0e3b00200e3e00220d4100250d4500260d4600270e48
+002a0e4e002c0e51002e0e54002f0e5700310f5a00320e5b00340e5d00360e61
+00370f64003b0e6a003c0e6d003e0f7000400f7300430f7600440f7700450f79
+0048117e004a1180004c1283004d1385004e1487004f14880050148a0052168c
+0054168e0057189200581a93005a1c95005c1d96005e1f98005e2099005e219a
+0062249d0063269e0065289f00662aa000672ca100672da100682ea2006a30a3
+006b33a4006e37a5006f3aa600703da700713ea700723fa7007342a7007345a8
+00764aa900774ca900794faa007a51aa007b54ab007b55ab007c57ab007c5aac
+007e5dac008062ad008065ad008068ae008069ae00816aaf00826caf00846faf
+008473b0008475b0008477b0008477b0008578b000817ab000837bb000837baf
+00857caf00837eae00887dad008d7dac008e7dab008f7dab008e7daa00927ca9
+009c7aa7009e79a600a078a500a177a400a377a300a275a200a2729a00a1719a
+00a06e96009d6891009c678f009c668e009b638c00995f8b00985b8600965885
+0092518000904c7d008f487b008e467a008d457a008c4176008a3d7400883a73
+0087356f00832e6c00822c6a00822a6900802667007e2364007d1e62007b1b60
+0077135c00750f5900740c5700730a5600730955007206540071045200700250
+006f004f006d004d006d004c006d004c006c004d006c004c006c004b006c004b
+006c004a006c004a006c004a006c004a006c004a006d004a006d004a006e004a
+006f004a0070004a0070014a0071024a0073034c0074064d0075094d00770b4f
+007a1353007b1453007c1654007e1a5600801d57008222580084265a0085295c
+00872d5d0089315e008b3460008d3960008f3c62009140630093436400944765
+00984f6600995166009a5366009c5766009e5a66009f5e6700a1616600a36466
+00a4676700a56d6800a7716900a8736b00a9796c00aa7b6e00ab7e6e00ab806f
+00ac807000ad847100ad837200ad847300ae827400ae847500ae827600ae8077
+00ae7f7800ae7b7800ad787b00ad778100ac768400ac748700ab738c00aa728f
+00a96f9300a86d9500a76a9800a6679a00a5659c00a3629f00a25ea0009f5ba1
+009d58a1009a54a1009952a000974ea000944ba0009348a0009044a0008f41a0
+008c3ea0008b3aa0008a379f0087339f0086309f00842d9f0083299f0080269f
+007b239a0076219500731f90006e1d8b00691b87006519820061177e005c1679
+00581475005413710050126d004e1069004a0f6500450e6200430e5e00400d5b
+"/>
+<palette number="697" name="040412-014" data="0032835300348457003485570034865700348657003586580036865800378658
+003884590038835900398359003981580039805800397f5600397e5400397c54
+00397b54003877500038754e0039734c0039714b00396f4b00396e4900396e48
+00396a460038684400376643003764410038623f0037613e0037613d00385e3a
+00375d3900365936003657350037553500385233003a4f3200394e3100394e31
+0037492f0036472d0036452c0036432a0037412800363f2800353e2800333c26
+00313a25002e3523002c3221002b302000292e1e00272c1c00262a1b0026291b
+002424180022201700201d16001e1b14001c1913001a16130019141400191414
+0019141400191414001914140019141400191414001914140019141400191414
+001914140019141400191414001914140019141400191414001914140013131b
+0013131f001411290016122f0018133500191438001b153c001f194200241c4a
+002a255a002e296200332d6a00342e6e003630720039367a003e398200413c8b
+00444193004c49a3004f4daa005351b2005552b6005854ba005b59c2005d5dca
+006161cf006060c9005f5fc4005e5fc0005e60bc005d5eb4005d5fac005c5da4
+00595f9b00595f8d00595f8a00596088005963820058617c0056697200606c53
+0060663f005c623500595f2c00575d2700555b220055591b00545a1600585d16
+00595f1a0060661e006267200065682200676b25006b6e28006e722b0072742f
+00797b33007c7d36008080390082823b0084843d00878740008b8842008d8b46
+00918f470097924d0098944e0099964f009b9852009d9a55009f9c5600a09e58
+00a3a05d00a3a15e00a4a25f00a5a16100a5a36300a7a16300a7a36400a7a366
+00a7a36700a5a36a00a5a36b00a5a36c00a4a26c00a3a36d00a1a16d009fa16e
+009da071009b9f7100999f7100969f7200979d7200919c7300919c73008d9b76
+00889b76007e9977007799770077987f007697870074978b0074959500738f95
+006f9094006e8c94006d8994006b8993006a8a91006884900065878d0064838c
+0061838b00608588005d8186005b8383005a808000577f7c00547c7a00507b72
+004f786d004b7669004974630047725e00446f5b00416c59003d6b53003b684f
+00396649003665460033624200305f3e002e5e39002a5b380028593400255630
+0021552c00205329001e5127001d4f24001a4f2300194e2000174d1f00164d1d
+00154d1d00154d1c00144d1c00144d1c00144d1c00144e1c00144f1c00144f1d
+0014511f00155320001555230017562300185927001a5b28001b5e2b001c5f2f
+001e622f001e6532002066340022683700236b3800246c3c00276f3f00277240
+00287343002a7644002b7847002c7b4a002d7c4d002f7f4e0030805000318252
+"/>
+<palette number="698" name="040412-015" data="00823177008332750083337500843575008535770086357a0086357900863578
+0086377a0085387900843979008339780082397700803975007f3973007e3974
+007e3976007a3a7200783971007638710074386f0072386e0070386c006f396b
+006c386b0069386900663968006438660063386500603863005e3862005c3761
+0056385e0051385a004e3658004b3556004834540046345200423350003f324f
+003a2f4b00362d4900332c4700312b4400302b42002d2941002b2841002b283e
+0029263c002323380021223500202132001e1f2f001d1e2d001c1d2c001c1c2c
+00191c2600171d2400161e23001419200013151d0013161c0013181c00141917
+0014191700141917001419170014191700141917001419170014191700141917
+0014191700141917001419170014191700141917001419170014191700141917
+001b181300241f1200292511002e2c1000312e1100353113003c371500423d19
+00524a21005a51250062582900665c2b006a602d00726630007a6b3600827339
+008b7b3c009b884400a28d4900aa934e00ae964f00b29a5100baa25400c2a859
+00cfb26000cdb06000cbaf6000c7ac5f00c4a95f00bca15e00b49b5d00ac945d
+00a4905c00937d5800907b58008d79590088745900826d59007c695800725756
+004c4a6a0041436600363c6200313760002c335f00222b5b001b27590016225a
+0016245d001d2c62001d2b64001e2b66002231680025346b0028376e002b3a72
+003043770033467a00374a7e00384b7f00394c80003d5084004053870042588b
+00465b8d004b6194004c6395004d6697004f65990052689b00556b9d00566c9f
+005b70a1005c71a2005d73a3005f74a4006178a5006377a500637ba700647aa7
+00667ca700687da700697ca6006a7ca5006c7da5006c7da4006d7ba3006d7ba1
+006f7aa000707aa000717aa00071779f0072759f0072789d0073739c0073739c
+007a769b007f769b0089779900907799009877980097768f0097748a0095747d
+0095707200946f7300946f7500946e6d00936b6c00916a6d00906968008d656a
+008c6465008b61640088606800865d6300835b6600805a64007f5764007c5461
+007b506500784f6500764b630074496600724766006f4463006c4160006b3d61
+00683b60006639620065366200623360005f305d005c2e5e005b2a5a00582859
+0053255600522155004f2053004d1e5100481d4f00491a4f0047194e0046174d
+0045164d0046154d0045154d0045144d0045144d0045144d0046144e0047144f
+0048144f004c1451004e155300521555005117560057185900581a5b005c1b5e
+005f1c5e00611e6200651e640066206500682266006b2369006c2467006f276a
+0072276d0073286b00762a7000782b70007b2c72007c2d71007f2f7600803075
+"/>
+<palette number="699" name="040412-016" data="0051737c00557e830056848600578a8a00568d8a0055908b0054918b0054938c
+0051988c004f998c004e9b8c004c9b8a004b9c8900499c8800489d8800479c87
+00469c8700429a830040987f003e977c003c947a003a92780039917700389076
+0033896f0030856b002e8168002b7c630029775e0027745b0026715900236c55
+00216651001c5b48001a56440019514100184c3e0018483b0017463a00174439
+00173c3500173833001835320018303000182b2e0017282c0017262b00162028
+00151a2500161423001a1326001f13290025132c002b1430002d143200301434
+003c163a003f153c0043143e0046133f00491341004a1341004b1341004e1243
+0050124300531245005412450055134500551344005513430056134400561443
+0056154100551640005517400053183e00521a3d00511a3b00501b3a004f1d3a
+004c1e3600482132004722300046232e0045232d0045242c0046242c0046272a
+004b322c004f382e00543e310056403200584333005c483600614f390065533b
+0069583e007261430075624400786345007a6546007d67480081694a00856b4c
+008e6e50009270520097735500997356009b7457009f775a00a3795d00a77d61
+00a97b6100ac786400ac776400ad776500ae766600af756800af756900b0746b
+00b1776f00b1777100b1777300b0777400b0777500b1797800b17b7a00b17d7d
+00b17f7f00b0858600af868700ae888900ad8b8d00ab8e8f00a9929300a79597
+00a19c9c009e9f9e009ba2a00099a3a10098a5a30094a6a30091a8a5008ea9a5
+008aa9a40083a8a30081a7a1007fa7a0007ca6a00078a49e0074a29a00709f96
+006899900066978e0064958c00609188005c8c820058877e0054817700507b72
+004b746a0042665c00406258003e5f55003a584e0037524800334d410030483c
+002b4032002a3e3000293d2f00273a2b00253827002437250023362300233722
+002237210022382000233a2000243c2000253e21002541210026442200284823
+002a5027002b5228002c5529002d5a2b002f5f2d0030632f0032673100336a33
+00346d3500357035003672370037733900377439003775390037753900377539
+0037753a0037753a0036743a003572380034703700336e3700326b3600306732
+002f6331002c5f2f002a5a2d0028542a00254f280023492500214423001f3f21
+001d3b20001c371e001b341e001a301c001a2e1d00192b1b001a2a1e001a281e
+001a271e001b2620001c2521001d2523001e2425001e2326001e2227001e2128
+001f222a0020222c0022232e002425310026273500282938002b2c3c002d2f40
+00303344003235470034384b00373c4f00393f52003b4356003d4659003f4a5d
+00424f60004453640046576700485c6b004a5f6e004c6572004e6a7500506f79
+"/>
+<palette number="700" name="040412-017" data="000044260000391b00003517000032140000301300002e1200002d1200002d12
+00012c1500012c1700012d1900022e1c0003301f000331220004332500043327
+000434290006372f0006383100073a3400083a3500093b3700093b37000a3b38
+000b3a37000b3935000b3934000b3732000c3630000c352e000c342d000c332a
+000c3127000c2e20000c2d1c000d2c19000e2b1700102b1500112b1400122b13
+00182d10001c300f0021330f00273710002d3b1100303e1200344113003c4716
+00444e1900575d2100616525006b6e2a0075762f00807f3400858336008a8839
+009c994200a3a04600aba74a00b0ac4d00b6b25000b7b35100b9b55200bab754
+00bab85500b3b65500acb35300a6b05200a2ad50009eab4f0094a64c008aa049
+00779543006c8e410061883f0056813d004b7b3b0045783a0040753a00367039
+002c6b38001c65390017643b0012643e00106440000e6442000b66470009684c
+00056e570003715d000175630000776600007a6a000080710000867900008e81
+000095890002a2990003a8a00004afa80004b2ab0005b5ae0006bab40007bfb9
+0009c7c2000ac9c4000bccc6000bccc6000cccc7000cccc6000dcac4000dc7c0
+000ec3bb000db8ad000cb4a8000cb1a4000ba99b000ba191000a988600098f7c
+00067c660005735b00046a510003654c000361470002593d0002513500014a2d
+000044260000391b00003719000035170000321400002f1300002e1200002d12
+00012c1500012c1700012d1900012d1a00022e1c0003301f0003312200043325
+000434290006372f000638300007393200073a3400083a3600093b37000a3b38
+000b3a37000b3a36000b3a36000b3934000c3732000c3630000c342d000c332a
+000c3127000c2e20000c2d1e000c2d1d000d2c19000e2b1700102b1500122b13
+00182d10001a2e0f001c300f0021330f00263710002d3b1100344113003c4716
+00444e19004e551d00575d2100616526006b6e2a0076762f00807f34008a8839
+009c994200a09c4400a4a04600aba74a00b1ad4d00b6b25000b9b55200bab754
+00bab85500b7b75500b3b65500aeb35400a6b052009eab4f0094a64c008aa049
+00809b4600779543006c8e410061883f0056813d004b7b3b0040753a00367039
+002c6b3800236738001c65390017643b0012643e000e6442000b66470009684c
+00076a5200056e570003715d0001756300007a6a000080710000867900008e81
+0000958900019c910002a2990003a9a10004afa80005b5ae0006bab40007bfb9
+0008c4be0009c7c2000acac5000bccc6000cccc7000cccc6000dcac4000dc7c0
+000ec3bb000dbdb4000db8ad000cb1a4000ba99b000ba191000a988600098f7c
+0007867100067c660005735b00046a51000361470002593d0002513500014a2d
+"/>
+</palettes>
diff --git a/src/flam3-render.c b/src/flam3-render.c
new file mode 100644
index 0000000..11b69cf
--- /dev/null
+++ b/src/flam3-render.c
@@ -0,0 +1,421 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#ifdef WIN32
+#define WINVER 0x0500
+#include <windows.h>
+#endif
+
+#ifdef __APPLE__
+#include <sys/sysctl.h>
+#endif
+
+#include <limits.h>
+
+
+#include "private.h"
+#include "img.h"
+#include "isaacs.h"
+
+
+int calc_nstrips(flam3_frame *spec) {
+ double mem_required;
+ double mem_available;
+ int nstrips,ninc;
+ char *testmalloc;
+#ifdef WIN32
+ MEMORYSTATUS stat;
+ stat.dwLength = sizeof(stat);
+ GlobalMemoryStatus(&stat); // may want to go to GlobalMemoryStatusEx eventually
+ mem_available = (double)stat.dwTotalPhys;
+// fprintf(stderr,"%lu bytes free memory...\n",(size_t)stat.dwAvailPhys);
+// if (mem_available > 1e9) mem_available = 1e9;
+#elif defined(_SC_PHYS_PAGES) && defined(_SC_PAGESIZE)
+ mem_available =
+ (double)sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE);
+#elif defined __APPLE__
+ unsigned int physmem;
+ size_t len = sizeof(physmem);
+ static int mib[2] = { CTL_HW, HW_PHYSMEM };
+ if (sysctl(mib, 2, &physmem, &len, NULL, 0) == 0 && len == sizeof(physmem)) {
+ mem_available = (double )physmem;
+ } else {
+ fprintf(stderr, "warning: unable to determine physical memory.\n");
+ mem_available = 2e9;
+ }
+#else
+ fprintf(stderr, "warning: unable to determine physical memory.\n");
+ mem_available = 2e9;
+#endif
+#if 0
+ fprintf(stderr,"available phyical memory is %lu\n",
+ (unsigned long)mem_available);
+#endif
+ mem_available *= 0.8;
+ if (getenv("use_mem")) {
+ mem_available = atof(getenv("use_mem"));
+ }
+ mem_required = flam3_render_memory_required(spec);
+ if (mem_available >= mem_required) return 1;
+ nstrips = (int) ceil(mem_required / mem_available);
+
+if (0) {
+ /* Attempt to malloc a strip, and if it fails, try adding additional strips */
+ ninc=-1;
+ testmalloc = NULL;
+ while(NULL==testmalloc && ninc<3) {
+ ninc++;
+ testmalloc = (char *)malloc((int)ceil(mem_required / (nstrips+ninc)));
+ }
+ if (NULL==testmalloc) {
+ fprintf(stderr,"Unable to allocate memory for render. Please close some running programs and try to render again.\n");
+ exit(1);
+ } else {
+ free(testmalloc);
+ nstrips = nstrips + ninc;
+ }
+}
+
+ return nstrips;
+}
+
+int print_progress(void *foo, double fraction, int stage, double eta) {
+ fprintf(stderr, "stage=%s progress=%g eta=%g\n", stage?"filtering":"chaos", fraction, eta);
+ return 0;
+}
+
+int main(int argc, char **argv) {
+ flam3_frame f;
+ char *ai;
+ flam3_genome *cps;
+ int ncps;
+ int i;
+ void *image=NULL;
+ FILE *fp;
+ char fname[256];
+ size_t this_size, last_size = -1;
+ double imgmem;
+ unsigned int strip;
+ double center_y, center_base;
+ unsigned int nstrips;
+ randctx savectx;
+ char *prefix = args("prefix", "");
+ char *out = args("out", NULL);
+ char *format = getenv("format");
+ int verbose = argi("verbose", 1);
+ int bits = argi("bits", 33);
+ int bpc = argi("bpc",8);
+ int seed = argi("seed", 0);
+ int transparency = argi("transparency", 0);
+ char *inf = getenv("in");
+ double qs = argf("qs", 1.0);
+ double ss = argf("ss", 1.0);
+ double pixel_aspect = argf("pixel_aspect", 1.0);
+ int sub_batch_size = argi("sub_batch_size",10000);
+ int name_enable = argi("name_enable",0);
+ int num_threads = argi("nthreads",0);
+ int earlyclip = argi("earlyclip",0);
+ FILE *in;
+ double zoom_scale;
+ unsigned int channels;
+ long start_time = (long)time(0);
+ flam3_img_comments fpc;
+ stat_struct stats;
+ char numiter_string[64];
+ char badval_string[64];
+ char rtime_string[64];
+
+#ifdef WIN32
+
+ char *slashloc;
+ char exepath[256];
+ char palpath[256];
+ memset(exepath,0,256);
+ memset(palpath,0,256);
+
+ slashloc = strrchr(argv[0],'\\');
+ if (NULL==slashloc) {
+ sprintf(palpath,"flam3_palettes=flam3-palettes.xml");
+ } else {
+ strncpy(exepath,argv[0],slashloc-argv[0]+1);
+ sprintf(palpath,"flam3_palettes=%sflam3-palettes.xml",exepath);
+ }
+ putenv(palpath);
+
+#endif
+
+
+ if (1 != argc) {
+ docstring();
+ exit(0);
+ }
+
+ /* Init random number generators */
+ flam3_init_frame(&f);
+ flam3_srandom();
+
+ /* Set the number of threads */
+ if (num_threads==0) {
+ num_threads = flam3_count_nthreads();
+ if (verbose > 1)
+ fprintf(stderr,"Automatically detected %d core(s)...\n",num_threads);
+ } else{
+ if (verbose)
+ fprintf(stderr,"Manually specified %d thread(s)...\n",num_threads);
+ }
+
+
+ if (NULL == format) format = "png";
+ if (strcmp(format, "jpg") &&
+ strcmp(format, "ppm") &&
+ strcmp(format, "png")) {
+ fprintf(stderr,
+ "format must be either jpg, ppm, or png, not %s.\n",
+ format);
+ exit(1);
+ }
+
+ channels = strcmp(format, "png") ? 3 : 4;
+
+ /* Check for 16-bit-per-channel processing */
+ if ( (16 == bpc) && (strcmp(format,"png") != 0)) {
+ fprintf(stderr,"Support for 16 bpc images is only present for the png format.\n");
+ exit(1);
+ } else if (bpc != 8 && bpc != 16) {
+ fprintf(stderr,"Unexpected bpc specified (%d)\n",bpc);
+ exit(1);
+ }
+
+ if (pixel_aspect <= 0.0) {
+ fprintf(stderr, "pixel aspect ratio must be positive, not %g.\n",
+ pixel_aspect);
+ exit(1);
+ }
+
+ if (inf)
+ in = fopen(inf, "rb");
+ else
+ in = stdin;
+ if (NULL == in) {
+ perror(inf);
+ exit(1);
+ }
+
+ cps = flam3_parse_from_file(in, inf, flam3_defaults_on, &ncps);
+ if (NULL == cps) {
+ fprintf(stderr,"error reading genomes from file\n");
+ exit(1);
+ }
+
+ if (inf)
+ fclose(in);
+
+ for (i = 0; i < ncps; i++) {
+ /* Force ntemporal_samples to 1 for -render */
+ cps[i].ntemporal_samples = 1;
+ cps[i].sample_density *= qs;
+ cps[i].height = (int)(cps[i].height * ss);
+ cps[i].width = (int)(cps[i].width * ss);
+ cps[i].pixels_per_unit *= ss;
+ if (cps[i].height<=0 || cps[i].width<=0) {
+ fprintf(stderr,"output image has dimension <=0, aborting.\n");
+ exit(1);
+ }
+ }
+
+ if (out && (ncps > 1)) {
+ fprintf(stderr, "hqi-flame: warning: writing multiple images "
+ "to one file. all but last will be lost.\n");
+ }
+
+
+ for (i = 0; i < ncps; i++) {
+ int real_height;
+
+ if (verbose && ncps > 1) {
+ fprintf(stderr, "flame = %d/%d ", i+1, ncps);
+ }
+
+// f.temporal_filter_radius = 0.0;
+ f.genomes = &cps[i];
+ f.ngenomes = 1;
+ f.verbose = verbose;
+ f.bits = bits;
+ f.time = 0.0;
+ f.pixel_aspect_ratio = pixel_aspect;
+ f.progress = 0;//print_progress;
+ f.nthreads = num_threads;
+ f.earlyclip = earlyclip;
+ f.sub_batch_size = sub_batch_size;
+
+ if (16==bpc)
+ f.bytes_per_channel = 2;
+ else
+ f.bytes_per_channel = 1;
+
+
+ if (getenv("nstrips")) {
+ nstrips = atoi(getenv("nstrips"));
+ } else {
+ nstrips = calc_nstrips(&f);
+ }
+
+ if (nstrips > cps[i].height) {
+ fprintf(stderr, "cannot have more strips than rows but %d>%d.\n",
+ nstrips, cps[i].height);
+ exit(1);
+ }
+
+ imgmem = (double)channels * (double)cps[i].width
+ * (double)cps[i].height * f.bytes_per_channel;
+
+ if (imgmem > ULONG_MAX) {
+ fprintf(stderr,"Image size > ULONG_MAX. Aborting.\n");
+ exit(1);
+ }
+
+ this_size = (size_t)channels * (size_t)cps[i].width
+ * (size_t)cps[i].height * f.bytes_per_channel;
+ if (this_size != last_size) {
+ if (last_size != -1)
+ free(image);
+ last_size = this_size;
+ image = (void *) malloc(this_size);
+ if (NULL==image) {
+ fprintf(stderr,"Error allocating memory for image. Aborting\n");
+ exit(1);
+ }
+ } else {
+ memset(image, 0, this_size);
+ }
+
+ cps[i].sample_density *= nstrips;
+ real_height = cps[i].height;
+ cps[i].height = (int) ceil(cps[i].height / (double) nstrips);
+ center_y = cps[i].center[1];
+ zoom_scale = pow(2.0, cps[i].zoom);
+ center_base = center_y - ((nstrips - 1) * cps[i].height) /
+ (2 * cps[i].pixels_per_unit * zoom_scale);
+
+ /* Copy off random context to use for each strip */
+ memcpy(&savectx, &f.rc, sizeof(randctx));
+
+ for (strip = 0; strip < nstrips; strip++) {
+ size_t ssoff = (size_t)cps[i].height * strip * cps[i].width * channels * f.bytes_per_channel;
+ void *strip_start = image + ssoff;
+ cps[i].center[1] = center_base + cps[i].height * (double) strip / (cps[i].pixels_per_unit * zoom_scale);
+
+ if ((cps[i].height * (strip + 1)) > real_height) {
+ int oh = cps[i].height;
+ cps[i].height = real_height - oh * strip;
+ cps[i].center[1] -=
+ (oh - cps[i].height) * 0.5 /
+ (cps[i].pixels_per_unit * zoom_scale);
+ }
+
+ /* Use the same random context for each strip */
+ memcpy(&f.rc, &savectx, sizeof(randctx));
+
+ if (verbose && nstrips > 1) {
+ fprintf(stderr, "strip = %d/%d\n", strip+1, nstrips);
+ }
+ if (verbose && (1 == nstrips) && (ncps > 1)) {
+ fprintf(stderr, "\n");
+ }
+ cps[i].ntemporal_samples = 1;
+ if (flam3_render(&f, strip_start, flam3_field_both, channels, transparency, &stats)) {
+ fprintf(stderr,"error rendering image: aborting.\n");
+ exit(1);
+ }
+
+ if (NULL != out) {
+ strcpy(fname,out);
+ } else if (name_enable && cps[i].flame_name[0]>0) {
+ sprintf(fname, "%s.%s",cps[i].flame_name,format);
+ } else {
+ sprintf(fname, "%s%05d.%s", prefix, i, format);
+ }
+ if (verbose) {
+ fprintf(stderr, "writing %s...", fname);
+ }
+ fp = fopen(fname, "wb");
+ if (NULL == fp) {
+ perror(fname);
+ exit(1);
+ }
+
+ /* Generate temp file with genome */
+ fpc.genome = flam3_print_to_string(f.genomes);
+
+ sprintf(badval_string,"%g",stats.badvals/(double)stats.num_iters);
+ fpc.badvals = badval_string;
+ sprintf(numiter_string,"%g",(double)stats.num_iters);
+ fpc.numiters = numiter_string;
+ sprintf(rtime_string,"%d",stats.render_seconds);
+ fpc.rtime = rtime_string;
+
+ if (!strcmp(format, "png")) {
+
+ write_png(fp, image, cps[i].width, real_height, &fpc, f.bytes_per_channel);
+
+ } else if (!strcmp(format, "jpg")) {
+
+ write_jpeg(fp, (unsigned char *)image, cps[i].width, real_height, &fpc);
+
+ } else {
+ fprintf(fp, "P6\n");
+ fprintf(fp, "%d %d\n255\n", cps[i].width, real_height);
+ if (this_size != fwrite((unsigned char *)image, 1, this_size, fp)) {
+ perror(fname);
+ }
+ }
+ /* Free string */
+ free(fpc.genome);
+
+ fclose(fp);
+ }
+
+ /* restore the cps values to their original values */
+ cps[i].sample_density /= nstrips;
+ cps[i].height = real_height;
+ cps[i].center[1] = center_y;
+
+ if (verbose) {
+ fprintf(stderr, "done.\n");
+ }
+ }
+ if (verbose && ((ncps > 1) || (nstrips > 1))) {
+ long total_time = (long)time(0) - start_time;
+
+ if (total_time > 100)
+ fprintf(stderr, "total time = %.1f minutes\n", total_time / 60.0);
+ else
+ fprintf(stderr, "total time = %ld seconds\n", total_time);
+ }
+
+ for (i=0;i<ncps;i++) {
+
+ xmlFreeDoc(cps[i].edits);
+ clear_cp(&cps[i],0);
+
+ }
+ free(cps);
+
+ free(image);
+ return 0;
+}
diff --git a/src/flam3-render.man b/src/flam3-render.man
new file mode 100644
index 0000000..b754356
--- /dev/null
+++ b/src/flam3-render.man
@@ -0,0 +1,36 @@
+.TH flam3-animate 1 "" ""
+.SH NAME
+flam3-animate
+flam3-render
+flam3-genome
+flam3-convert - render and animate FLAM3s and manipulate their genomes
+.SH SYNOPSIS
+.B flam3-render < input
+
+.SH DESCRIPTION
+
+FLAM3 implements a visual language based on a recursive set equation.
+
+Flam3-genome creates and manipulates genomes (xml parameter sets) in
+this language. Flam3-render turns genomes into still images, and
+Flam3-animate renders motion-blurred frames of animation.
+
+Flam3-convert reads from stdin files in the old format used by the
+flame GIMP plugin, and writes the new format to stdout.
+
+.SH OPTIONS
+
+Any command line option will cause the program to write its
+documentation to standard out.
+
+.SH ENVIRONMENT
+
+The environment variables are in the documention written to standard
+out given any command line option.
+
+.SH SEE ALSO
+.BR WWW.FLAM3.COM,
+.BR electricsheep (1),
+
+.SH AUTHOR
+spot aka Scott Draves, Erik Reckase
diff --git a/src/flam3.c b/src/flam3.c
new file mode 100644
index 0000000..b7a4ea2
--- /dev/null
+++ b/src/flam3.c
@@ -0,0 +1,3994 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef _MSC_VER /* VC++ */
+#define _GNU_SOURCE
+#endif
+
+#include "private.h"
+#include "img.h"
+#include "config.h"
+#include "variations.h"
+#include "interpolation.h"
+#include "parser.h"
+#include "filters.h"
+#include "palettes.h"
+#include <limits.h>
+#include <locale.h>
+#include <math.h>
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+#include <errno.h>
+
+#ifdef HAVE_LIBPTHREAD
+#include <pthread.h>
+#endif
+
+#ifdef __APPLE__
+#include <mach/mach.h>
+#include <mach/mach_error.h>
+#define flam3_os "OSX"
+#else
+#ifdef _WIN32
+#define WINVER 0x0500
+#include <windows.h>
+#define flam3_os "WIN"
+#else
+#define flam3_os "LNX"
+#endif
+#endif
+
+
+
+char *flam3_version() {
+
+ if (strcmp(SVN_REV, "exported"))
+ return flam3_os "-" VERSION "." SVN_REV;
+ return VERSION;
+}
+
+
+#define CHOOSE_XFORM_GRAIN 10000
+
+#define random_distrib(v) ((v)[random()%vlen(v)])
+
+
+unsigned short *flam3_create_xform_distrib(flam3_genome *cp) {
+
+ /* Xform distrib is created in this function */
+ int numrows;
+ int dist_row,i;
+ unsigned short *xform_distrib;
+
+ numrows = cp->num_xforms - (cp->final_xform_index>=0) + 1;
+ xform_distrib = calloc(numrows*CHOOSE_XFORM_GRAIN,sizeof(unsigned short));
+
+ /* First, set up the first row of the xform_distrib (raw weights) */
+ flam3_create_chaos_distrib(cp, -1, xform_distrib);
+
+ /* Check for non-unity chaos */
+ cp->chaos_enable = 1 - flam3_check_unity_chaos(cp);
+
+ if (cp->chaos_enable) {
+
+ /* Now set up a row for each of the xforms */
+ dist_row = 0;
+ for (i=0;i<cp->num_xforms;i++) {
+
+ if (cp->final_xform_index == i)
+ continue;
+ else
+ dist_row++;
+
+ if (flam3_create_chaos_distrib(cp, i, &(xform_distrib[CHOOSE_XFORM_GRAIN*(dist_row)]))) {
+ free(xform_distrib);
+ return(NULL);
+ }
+ }
+ }
+
+ return(xform_distrib);
+}
+
+/* Run this on a copy of a genome to get a strip of the output */
+int flam3_make_strip(flam3_genome *cp, int nstrips, int stripnum) {
+
+ double old_center[2];
+ int j;
+
+ /* Strip out motion elements */
+ for (j=0;j<cp->num_xforms;j++)
+ flam3_delete_motion_elements(&cp->xform[j]);
+
+ old_center[0] = cp->center[0];
+ old_center[1] = cp->center[1];
+ cp->height /= nstrips;
+ cp->center[1] = cp->center[1] - ((nstrips - 1) * cp->height) / (2 * cp->pixels_per_unit * pow(2.0, cp->zoom));
+ cp->center[1] += cp->height * stripnum / ( cp->pixels_per_unit * pow(2.0,cp->zoom) );
+ rotate_by(cp->center, old_center, cp->rotate);
+
+ return(0);
+}
+
+
+void rotate_by(double *p, double *center, double by) {
+ double r[2];
+ double th = by * 2 * M_PI / 360.0;
+ double c = cos(th);
+ double s = -sin(th);
+ p[0] -= center[0];
+ p[1] -= center[1];
+ r[0] = c * p[0] - s * p[1];
+ r[1] = s * p[0] + c * p[1];
+ p[0] = r[0] + center[0];
+ p[1] = r[1] + center[1];
+}
+
+
+int flam3_check_unity_chaos(flam3_genome *cp) {
+
+ int i,j;
+ int num_std;
+ int unity=1;
+ num_std = cp->num_xforms - (cp->final_xform_index >= 0);
+
+ for (i=0;i<num_std;i++) {
+ for (j=0;j<num_std;j++) {
+ if ( fabs(cp->chaos[i][j]-1.0) > EPS)
+ unity=0;
+ }
+ }
+
+ return(unity);
+}
+
+int flam3_create_chaos_distrib(flam3_genome *cp, int xi, unsigned short *xform_distrib) {
+
+ /* Xform distrib is a preallocated array of CHOOSE_XFORM_GRAIN chars */
+ /* address of array is passed in, contents are modified */
+ double t,r,dr;
+ int i,j;
+ int num_std;
+
+ //fprintf(stdout,"storing at %ld\n",xform_distrib);
+
+ num_std = cp->num_xforms - (cp->final_xform_index >= 0);
+
+ dr = 0.0;
+ for (i = 0; i < num_std; i++) {
+ double d = cp->xform[i].density;
+
+ if (xi>=0)
+ d *= cp->chaos[xi][i];
+
+ //fprintf(stdout,"%f ",d);
+ if (d < 0.0) {
+ fprintf(stderr, "xform weight must be non-negative, not %g.\n", d);
+ return(1);
+ }
+
+ dr += d;
+ }
+
+ //fprintf(stdout,"dr=%f\n",dr);
+
+ if (dr == 0.0) {
+ fprintf(stderr, "cannot iterate empty flame.\n");
+ return(1);
+ }
+
+ dr = dr / CHOOSE_XFORM_GRAIN;
+
+ j = 0;
+ t = cp->xform[0].density;
+ if (xi>=0)
+ t *= cp->chaos[xi][0];
+ r = 0.0;
+ for (i = 0; i < CHOOSE_XFORM_GRAIN; i++) {
+ while (r >= t) {
+ j++;
+
+ if (xi>=0)
+ t += cp->xform[j].density*cp->chaos[xi][j];
+ else
+ t += cp->xform[j].density;
+
+ }
+ //fprintf(stdout,"%d ",j);
+ xform_distrib[i] = j;
+ r += dr;
+ }
+ //fprintf(stdout,"\n---\n");
+
+ return(0);
+}
+/*
+ * run the function system described by CP forward N generations. store
+ * the N resulting 4-vectors in SAMPLES. the initial point is passed in
+ * SAMPLES[0..3]. ignore the first FUSE iterations.
+ */
+
+
+int flam3_iterate(flam3_genome *cp, int n, int fuse, double *samples, unsigned short *xform_distrib, randctx *rc) {
+ int i;
+ double p[4], q[4];
+ int consec = 0;
+ int badvals = 0;
+ int lastxf=0;
+ int fn;
+
+ p[0] = samples[0];
+ p[1] = samples[1];
+ p[2] = samples[2];
+ p[3] = samples[3];
+
+ /* Perform precalculations */
+ for (i=0;i<cp->num_xforms;i++)
+ xform_precalc(cp,i);
+
+ for (i = -4*fuse; i < 4*n; i+=4) {
+
+ if (cp->chaos_enable)
+ fn = xform_distrib[ lastxf*CHOOSE_XFORM_GRAIN + (((unsigned)irand(rc)) % CHOOSE_XFORM_GRAIN)];
+ else
+ fn = xform_distrib[ ((unsigned)irand(rc)) % CHOOSE_XFORM_GRAIN ];
+
+ if (apply_xform(cp, fn, p, q, rc)>0) {
+ consec ++;
+ badvals ++;
+ if (consec<5) {
+ p[0] = q[0];
+ p[1] = q[1];
+ p[2] = q[2];
+ p[3] = q[3];
+ i -= 4;
+ continue;
+ } else
+ consec = 0;
+ } else
+ consec = 0;
+
+ /* Store the last used transform */
+ lastxf = fn+1;
+
+ p[0] = q[0];
+ p[1] = q[1];
+ p[2] = q[2];
+ p[3] = q[3];
+
+ if (cp->final_xform_enable == 1) {
+ if (cp->xform[cp->final_xform_index].opacity==1 ||
+ flam3_random_isaac_01(rc)<cp->xform[cp->final_xform_index].opacity) {
+ apply_xform(cp, cp->final_xform_index, p, q, rc);
+ /* Keep the opacity from the original xform */
+ q[3] = p[3];
+ }
+ }
+
+ /* if fuse over, store it */
+ if (i >= 0) {
+ samples[i] = q[0];
+ samples[i+1] = q[1];
+ samples[i+2] = q[2];
+ samples[i+3] = q[3];
+ }
+ }
+
+ return(badvals);
+}
+
+int flam3_xform_preview(flam3_genome *cp, int xi, double range, int numvals, int depth, double *result, randctx *rc) {
+
+ /* We will evaluate the 'xi'th xform 'depth' times, over the following values: */
+ /* x in [-range : range], y in [-range : range], with 2* (2*numvals+1)^2 values returned */
+ double p[4];
+ double incr;
+ int outi;
+ int xx,yy,dd;
+ double oldweight;
+
+ outi=0;
+
+ oldweight = cp->xform[xi].density;
+ cp->xform[xi].density = 1.0;
+
+ /* Prepare the function pointers */
+ if (prepare_xform_fn_ptrs(cp,rc)) {
+ cp->xform[xi].density = oldweight;
+ return(1);
+ }
+
+ /* Calculate increment */
+ incr = range / (double)numvals;
+
+ /* Perform precalculations */
+ xform_precalc(cp,xi);
+
+ /* Loop over the grid */
+ for (xx=-numvals;xx<=numvals;xx++) {
+ for (yy=-numvals;yy<=numvals;yy++) {
+
+ /* Calculate the input coordinates */
+ p[0] = (double)xx * incr;
+ p[1] = (double)yy * incr;
+
+ /* Loop over the depth */
+ for (dd=0;dd<depth;dd++)
+ apply_xform(cp, xi, p, p, rc);
+
+ result[outi] = p[0];
+ result[outi+1] = p[1];
+
+ outi += 2;
+ }
+ }
+ cp->xform[xi].density = oldweight;
+
+ return(0);
+}
+
+int flam3_colorhist(flam3_genome *cp, int num_batches, double *hist) {
+
+ int lp,plp;
+ int mycolor;
+ long int default_isaac_seed = (long int)time(0);
+ randctx rc;
+ unsigned short *xform_distrib;
+ int sbs = 10000;
+ double sub_batch[4*10000];
+
+ /* Set up the isaac rng */
+ for (lp = 0; lp < RANDSIZ; lp++)
+ rc.randrsl[lp] = default_isaac_seed;
+
+ irandinit(&rc,1);
+
+ memset(hist,0,256*sizeof(double));
+
+ for (lp=0;lp<num_batches;lp++) {
+
+ sub_batch[0] = flam3_random_isaac_11(&rc);
+ sub_batch[1] = flam3_random_isaac_11(&rc);
+ sub_batch[2] = 0;
+ sub_batch[3] = 0;
+
+ // get into the attractor
+ if (prepare_xform_fn_ptrs(cp,&rc))
+ return(1);
+
+ xform_distrib = flam3_create_xform_distrib(cp);
+
+ if (xform_distrib==NULL)
+ return(1);
+ flam3_iterate(cp, sbs, 20, sub_batch, xform_distrib, &rc);
+ free(xform_distrib);
+
+ // histogram the colors in the sub_batch array
+ for (plp=0;plp<4*sbs;plp+=4) {
+ mycolor = (int)(sub_batch[plp+2]*CMAP_SIZE);
+ if (mycolor<0) mycolor=0;
+ if (mycolor>CMAP_SIZE_M1) mycolor=CMAP_SIZE_M1;
+
+ hist[mycolor] += 1;
+ }
+ }
+
+ for (plp=0;plp<256;plp++)
+ hist[plp] /= (float)(num_batches*sbs);
+
+ return(0);
+}
+
+flam3_genome *sheep_loop(flam3_genome *cp, double blend) {
+
+ flam3_genome *result;
+ int i;
+
+ /* Allocate the genome - this must be freed by calling function */
+ result = calloc(1,sizeof(flam3_genome));
+
+ /* Clear it */
+ clear_cp(result,flam3_defaults_on);
+
+ /* Copy the original */
+ flam3_copy(result,cp);
+
+ /*
+ * Insert motion magic here :
+ * if there are motion elements, we will modify the contents of
+ * the result genome before flam3_rotate is called.
+ */
+ for (i=0;i<cp->num_xforms;i++) {
+ if (cp->xform[i].num_motion>0) {
+ /* Apply motion parameters to result.xform[i] using blend parameter */
+ apply_motion_parameters(&cp->xform[i], &result->xform[i], blend);
+ }
+
+ /* Delete the motion parameters from the result */
+ flam3_delete_motion_elements(&result->xform[i]);
+ }
+
+ /* Rotate the affines */
+ flam3_rotate(result, blend*360.0,result->interpolation_type);
+
+ return(result);
+}
+
+
+
+
+flam3_genome *sheep_edge(flam3_genome *cp, double blend, int seqflag, double stagger) {
+
+ flam3_genome spun[2];
+ flam3_genome prealign[2];
+ flam3_genome *result;
+ int i,si;
+ char *ai;
+
+ memset(spun, 0, 2*sizeof(flam3_genome));
+ memset(prealign, 0, 2*sizeof(flam3_genome));
+
+ /* Allocate the memory for the result */
+ result = calloc(1,sizeof(flam3_genome));
+
+ /*
+ * Insert motion magic here :
+ * if there are motion elements, we will modify the contents of
+ * the prealign genomes before we rotate and interpolate.
+ */
+
+ for (si=0;si<2;si++) {
+ flam3_copy(&prealign[si], &cp[si]);
+ for (i=0;i<cp[si].num_xforms;i++) {
+ if (cp[si].xform[i].num_motion>0) {
+ /* Apply motion parameters to result.xform[i] using blend parameter */
+ apply_motion_parameters(&cp[si].xform[i], &prealign[si].xform[i], blend);
+ }
+ }
+ }
+
+ /* Use the un-padded original for blend=0 when creating a sequence */
+ /* This keeps the original interpolation type intact */
+ if (seqflag && 0.0 == blend) {
+ flam3_copy(result, &prealign[0]);
+ } else {
+
+ /* Align what we're going to interpolate */
+ flam3_align(spun, prealign, 2);
+
+ spun[0].time = 0.0;
+ spun[1].time = 1.0;
+
+ /* Call this first to establish the asymmetric reference angles */
+ establish_asymmetric_refangles(spun,2);
+
+ /* Rotate the aligned xforms */
+ flam3_rotate(&spun[0], blend*360.0, spun[0].interpolation_type);
+ flam3_rotate(&spun[1], blend*360.0, spun[0].interpolation_type);
+
+ /* Now call the interpolation */
+ if (argi("unsmoother",0) == 0)
+ flam3_interpolate(spun, 2, smoother(blend), stagger, result);
+ else
+ flam3_interpolate(spun, 2, blend, stagger, result);
+
+
+ /* Interpolation type no longer needs to be forced to linear mode */
+// if (!seqflag)
+// result.interpolation_type = flam3_inttype_linear;
+ }
+
+ /* Clear the genomes we used */
+ clear_cp(&spun[0],flam3_defaults_on);
+ clear_cp(&spun[1],flam3_defaults_on);
+ clear_cp(&prealign[0],flam3_defaults_on);
+ clear_cp(&prealign[1],flam3_defaults_on);
+
+ /* Make sure there are no motion elements in the result */
+ for (i=0;i<result->num_xforms;i++)
+ flam3_delete_motion_elements(&result->xform[i]);
+
+ return(result);
+}
+
+
+/* BY is angle in degrees */
+void flam3_rotate(flam3_genome *cp, double by, int interpolation_type) {
+ int i;
+ for (i = 0; i < cp->num_xforms; i++) {
+ double r[2][2];
+ double T[2][2];
+ double U[2][2];
+ double dtheta = by * 2.0 * M_PI / 360.0;
+
+ /* Don't rotate xforms with > 0 animate values */
+ if (cp->xform[i].animate == 0.0)
+ continue;
+
+ if (cp->xform[i].padding == 1) {
+ if (interpolation_type == flam3_inttype_compat) {
+ /* gen 202 era flam3 did not rotate padded xforms */
+ continue;
+ } else if (interpolation_type == flam3_inttype_older) {
+ /* not sure if 198 era flam3 rotated padded xforms */
+ continue;
+ } else if (interpolation_type == flam3_inttype_linear) {
+ /* don't rotate for prettier symsings */
+ continue;
+ } else if (interpolation_type == flam3_inttype_log) {
+ /* Current flam3: what do we prefer? */
+ //continue;
+ }
+ }
+
+ /* Do NOT rotate final xforms */
+ if (cp->final_xform_enable==1 && cp->final_xform_index==i)
+ continue;
+
+ r[1][1] = r[0][0] = cos(dtheta);
+ r[0][1] = sin(dtheta);
+ r[1][0] = -r[0][1];
+ T[0][0] = cp->xform[i].c[0][0];
+ T[1][0] = cp->xform[i].c[1][0];
+ T[0][1] = cp->xform[i].c[0][1];
+ T[1][1] = cp->xform[i].c[1][1];
+ mult_matrix(r, T, U);
+ cp->xform[i].c[0][0] = U[0][0];
+ cp->xform[i].c[1][0] = U[1][0];
+ cp->xform[i].c[0][1] = U[0][1];
+ cp->xform[i].c[1][1] = U[1][1];
+ }
+}
+
+#define APPMOT(x) do { addto->x += mot[i].x * motion_funcs(func,freq*blend); } while (0);
+
+void apply_motion_parameters(flam3_xform *xf, flam3_xform *addto, double blend) {
+
+ int i,j,k;
+ int freq;
+ int func;
+ flam3_xform* mot;
+
+ mot = xf->motion;
+
+ /* Loop over the motion elements and add their contribution to the original vals */
+ for (i=0; i<xf->num_motion; i++) {
+
+ freq = mot->motion_freq;
+ func = mot->motion_func;
+
+ APPMOT(density); /* Must ensure > 0 after all is applied */
+ APPMOT(color); /* Must ensure [0,1] after all is applied */
+
+ APPMOT(opacity);
+ APPMOT(color_speed);
+ APPMOT(animate);
+ APPMOT(blob_low);
+ APPMOT(blob_high);
+ APPMOT(blob_waves);
+ APPMOT(pdj_a);
+ APPMOT(pdj_b);
+ APPMOT(pdj_c);
+ APPMOT(pdj_d);
+ APPMOT(fan2_x);
+ APPMOT(fan2_y);
+ APPMOT(rings2_val);
+ APPMOT(perspective_angle);
+ APPMOT(perspective_dist);
+ APPMOT(julian_power);
+ APPMOT(julian_dist);
+ APPMOT(juliascope_power);
+ APPMOT(juliascope_dist);
+ APPMOT(radial_blur_angle);
+ APPMOT(pie_slices);
+ APPMOT(pie_rotation);
+ APPMOT(pie_thickness);
+ APPMOT(ngon_sides);
+ APPMOT(ngon_power);
+ APPMOT(ngon_circle);
+ APPMOT(ngon_corners);
+ APPMOT(curl_c1);
+ APPMOT(curl_c2);
+ APPMOT(rectangles_x);
+ APPMOT(rectangles_y);
+ APPMOT(amw_amp);
+ APPMOT(disc2_rot);
+ APPMOT(disc2_twist);
+ APPMOT(super_shape_rnd);
+ APPMOT(super_shape_m);
+ APPMOT(super_shape_n1);
+ APPMOT(super_shape_n2);
+ APPMOT(super_shape_n3);
+ APPMOT(super_shape_holes);
+ APPMOT(flower_petals);
+ APPMOT(flower_holes);
+ APPMOT(conic_eccentricity);
+ APPMOT(conic_holes);
+ APPMOT(parabola_height);
+ APPMOT(parabola_width);
+ APPMOT(bent2_x);
+ APPMOT(bent2_y);
+ APPMOT(bipolar_shift);
+ APPMOT(cell_size);
+ APPMOT(cpow_r);
+ APPMOT(cpow_i);
+ APPMOT(cpow_power);
+ APPMOT(curve_xamp);
+ APPMOT(curve_yamp);
+ APPMOT(curve_xlength);
+ APPMOT(curve_ylength);
+ APPMOT(escher_beta);
+ APPMOT(lazysusan_x);
+ APPMOT(lazysusan_y);
+ APPMOT(lazysusan_twist);
+ APPMOT(lazysusan_space);
+ APPMOT(lazysusan_spin);
+ APPMOT(modulus_x);
+ APPMOT(modulus_y);
+ APPMOT(oscope_separation);
+ APPMOT(oscope_frequency);
+ APPMOT(oscope_amplitude);
+ APPMOT(oscope_damping);
+ APPMOT(popcorn2_x);
+ APPMOT(popcorn2_y);
+ APPMOT(popcorn2_c);
+ APPMOT(separation_x);
+ APPMOT(separation_xinside);
+ APPMOT(separation_y);
+ APPMOT(separation_yinside);
+ APPMOT(split_xsize);
+ APPMOT(split_ysize);
+ APPMOT(splits_x);
+ APPMOT(splits_y);
+ APPMOT(stripes_space);
+ APPMOT(stripes_warp);
+ APPMOT(wedge_angle);
+ APPMOT(wedge_hole);
+ APPMOT(wedge_count);
+ APPMOT(wedge_swirl);
+ APPMOT(wedge_julia_angle);
+ APPMOT(wedge_julia_count);
+ APPMOT(wedge_julia_power);
+ APPMOT(wedge_julia_dist);
+ APPMOT(wedge_sph_angle);
+ APPMOT(wedge_sph_hole);
+ APPMOT(wedge_sph_count);
+ APPMOT(wedge_sph_swirl);
+ APPMOT(whorl_inside);
+ APPMOT(whorl_outside);
+ APPMOT(waves2_scalex);
+ APPMOT(waves2_scaley);
+ APPMOT(waves2_freqx);
+ APPMOT(waves2_freqy);
+ APPMOT(auger_sym);
+ APPMOT(auger_weight);
+ APPMOT(auger_freq);
+ APPMOT(auger_scale);
+
+ for (j = 0; j < flam3_nvariations; j++)
+ APPMOT(var[j]);
+
+ for (j=0; j<3; j++) {
+ for (k=0; k<2; k++) {
+ APPMOT(c[j][k]);
+ APPMOT(post[j][k]);
+ }
+ }
+
+ }
+
+ /* Make sure certain params are within reasonable bounds */
+ if (addto->color<0) addto->color=0;
+ if (addto->color>1) addto->color=1;
+ if (addto->density<0) addto->density=0;
+
+}
+
+
+/*
+ * create a control point that interpolates between the control points
+ * passed in CPS. CPS must be sorted by time.
+ */
+void flam3_interpolate(flam3_genome cps[], int ncps,
+ double time, double stagger, flam3_genome *result) {
+ int i1, i2;
+ double c[2];
+ flam3_genome cpi[4];
+
+ if (1 == ncps) {
+ flam3_copy(result, &(cps[0]));
+ return;
+ }
+
+ if (cps[0].time >= time) {
+ i1 = 0;
+ i2 = 1;
+ } else if (cps[ncps - 1].time <= time) {
+ i1 = ncps - 2;
+ i2 = ncps - 1;
+ } else {
+ i1 = 0;
+ while (cps[i1].time < time)
+ i1++;
+
+ i1--;
+ i2 = i1 + 1;
+
+ }
+
+ c[0] = (cps[i2].time - time) / (cps[i2].time - cps[i1].time);
+ c[1] = 1.0 - c[0];
+
+ memset(cpi, 0, 4*sizeof(flam3_genome));
+
+ /* To interpolate the xforms, we will make copies of the source cps */
+ /* and ensure that they both have the same number before progressing */
+ if (flam3_interpolation_linear == cps[i1].interpolation) {
+ flam3_align(&cpi[0], &cps[i1], 2);
+
+ } else {
+ if (0 == i1) {
+ fprintf(stderr, "error: cannot use smooth interpolation on first segment.\n");
+ exit(1);
+ }
+ if (ncps-1 == i2) {
+ fprintf(stderr, "error: cannot use smooth interpolation on last segment.\n");
+ exit(1);
+ }
+ flam3_align(&cpi[0], &cps[i1-1], 4);
+ }
+
+ /* Clear the destination cp */
+ clear_cp(result, 1);
+
+ if (cpi[0].final_xform_index >= 0) {
+ flam3_add_xforms(result, cpi[0].num_xforms-1, 0, 0);
+ flam3_add_xforms(result, 1, 0, 1);
+ } else
+ flam3_add_xforms(result, cpi[0].num_xforms, 0, 0);
+
+
+ result->time = time;
+ result->interpolation = flam3_interpolation_linear;
+ result->interpolation_type = cpi[0].interpolation_type;
+ result->palette_interpolation = flam3_palette_interpolation_hsv;
+
+ if (flam3_interpolation_linear == cps[i1].interpolation) {
+ flam3_interpolate_n(result, 2, cpi, c, stagger);
+ } else {
+ interpolate_catmull_rom(cpi, c[1], result);
+ clear_cp(&(cpi[2]),0);
+ clear_cp(&(cpi[3]),0);
+ }
+
+ clear_cp(&(cpi[0]),0);
+ clear_cp(&(cpi[1]),0);
+
+}
+
+void flam3_copy_params(flam3_xform *dest, flam3_xform *src, int varn) {
+
+ /* We only want to copy param var coefs for this one */
+ if (varn==VAR_BLOB) {
+ /* Blob */
+ dest->blob_low = src->blob_low;
+ dest->blob_high = src->blob_high;
+ dest->blob_waves = src->blob_waves;
+ } else if (varn==VAR_PDJ) {
+ /* PDJ */
+ dest->pdj_a = src->pdj_a;
+ dest->pdj_b = src->pdj_b;
+ dest->pdj_c = src->pdj_c;
+ dest->pdj_d = src->pdj_d;
+ } else if (varn==VAR_FAN2) {
+ /* Fan2 */
+ dest->fan2_x = src->fan2_x;
+ dest->fan2_y = src->fan2_y;
+ } else if (varn==VAR_RINGS2) {
+ /* Rings2 */
+ dest->rings2_val = src->rings2_val;
+ } else if (varn==VAR_PERSPECTIVE) {
+ /* Perspective */
+ dest->perspective_angle = src->perspective_angle;
+ dest->perspective_dist = src->perspective_dist;
+ dest->persp_vsin = src->persp_vsin;
+ dest->persp_vfcos = src->persp_vfcos;
+ } else if (varn==VAR_JULIAN) {
+ /* Julia_N */
+ dest->julian_power = src->julian_power;
+ dest->julian_dist = src->julian_dist;
+ dest->julian_rN = src->julian_rN;
+ dest->julian_cn = src->julian_cn;
+ } else if (varn==VAR_JULIASCOPE) {
+ /* Julia_Scope */
+ dest->juliascope_power = src->juliascope_power;
+ dest->juliascope_dist = src->juliascope_dist;
+ dest->juliascope_rN = src->juliascope_rN;
+ dest->juliascope_cn = src->juliascope_cn;
+ } else if (varn==VAR_RADIAL_BLUR) {
+ /* Radial Blur */
+ dest->radial_blur_angle = src->radial_blur_angle;
+ } else if (varn==VAR_PIE) {
+ /* Pie */
+ dest->pie_slices = src->pie_slices;
+ dest->pie_rotation = src->pie_rotation;
+ dest->pie_thickness = src->pie_thickness;
+ } else if (varn==VAR_NGON) {
+ /* Ngon */
+ dest->ngon_sides = src->ngon_sides;
+ dest->ngon_power = src->ngon_power;
+ dest->ngon_corners = src->ngon_corners;
+ dest->ngon_circle = src->ngon_circle;
+ } else if (varn==VAR_CURL) {
+ /* Curl */
+ dest->curl_c1 = src->curl_c1;
+ dest->curl_c2 = src->curl_c2;
+ } else if (varn==VAR_RECTANGLES) {
+ /* Rect */
+ dest->rectangles_x = src->rectangles_x;
+ dest->rectangles_y = src->rectangles_y;
+ } else if (varn==VAR_DISC2) {
+ /* Disc2 */
+ dest->disc2_rot = src->disc2_rot;
+ dest->disc2_twist = src->disc2_twist;
+ } else if (varn==VAR_SUPER_SHAPE) {
+ /* Supershape */
+ dest->super_shape_rnd = src->super_shape_rnd;
+ dest->super_shape_m = src->super_shape_m;
+ dest->super_shape_n1 = src->super_shape_n1;
+ dest->super_shape_n2 = src->super_shape_n2;
+ dest->super_shape_n3 = src->super_shape_n3;
+ dest->super_shape_holes = src->super_shape_holes;
+ } else if (varn==VAR_FLOWER) {
+ /* Flower */
+ dest->flower_petals = src->flower_petals;
+ dest->flower_petals = src->flower_petals;
+ } else if (varn==VAR_CONIC) {
+ /* Conic */
+ dest->conic_eccentricity = src->conic_eccentricity;
+ dest->conic_holes = src->conic_holes;
+ } else if (varn==VAR_PARABOLA) {
+ /* Parabola */
+ dest->parabola_height = src->parabola_height;
+ dest->parabola_width = src->parabola_width;
+ } else if (varn==VAR_BENT2) {
+ /* Bent2 */
+ dest->bent2_x = src->bent2_x;
+ dest->bent2_y = src->bent2_y;
+ } else if (varn==VAR_BIPOLAR) {
+ /* Bipolar */
+ dest->bipolar_shift = src->bipolar_shift;
+ } else if (varn==VAR_CELL) {
+ /* Cell */
+ dest->cell_size = src->cell_size;
+ } else if (varn==VAR_CPOW) {
+ /* Cpow */
+ dest->cpow_i = src->cpow_i;
+ dest->cpow_r = src->cpow_r;
+ dest->cpow_power = src->cpow_power;
+ } else if (varn==VAR_CURVE) {
+ /* Curve */
+ dest->curve_xamp = src->curve_xamp;
+ dest->curve_yamp = src->curve_yamp;
+ dest->curve_xlength = src->curve_xlength;
+ dest->curve_ylength = src->curve_ylength;
+ } else if (varn==VAR_ESCHER) {
+ /* Escher */
+ dest->escher_beta = src->escher_beta;
+ } else if (varn==VAR_LAZYSUSAN) {
+ /* Lazysusan */
+ dest->lazysusan_x = src->lazysusan_x;
+ dest->lazysusan_y = src->lazysusan_y;
+ dest->lazysusan_spin = src->lazysusan_spin;
+ dest->lazysusan_space = src->lazysusan_space;
+ dest->lazysusan_twist = src->lazysusan_twist;
+ } else if (varn==VAR_MODULUS) {
+ /* Modulus */
+ dest->modulus_x = src->modulus_x;
+ dest->modulus_y = src->modulus_y;
+ } else if (varn==VAR_OSCILLOSCOPE) {
+ /* Oscope */
+ dest->oscope_separation = src->oscope_separation;
+ dest->oscope_frequency = src->oscope_frequency;
+ dest->oscope_amplitude = src->oscope_amplitude;
+ dest->oscope_damping = src->oscope_damping;
+ } else if (varn==VAR_POPCORN2) {
+ /* Popcorn2 */
+ dest->popcorn2_x = src->popcorn2_x;
+ dest->popcorn2_y = src->popcorn2_y;
+ dest->popcorn2_c = src->popcorn2_c;
+ } else if (varn==VAR_SEPARATION) {
+ /* Separation */
+ dest->separation_x = src->separation_x;
+ dest->separation_y = src->separation_y;
+ dest->separation_xinside = src->separation_xinside;
+ dest->separation_yinside = src->separation_yinside;
+ } else if (varn==VAR_SPLIT) {
+ /* Split */
+ dest->split_xsize = src->split_xsize;
+ dest->split_ysize = src->split_ysize;
+ } else if (varn==VAR_SPLITS) {
+ /* Splits */
+ dest->splits_x = src->splits_x;
+ dest->splits_y = src->splits_y;
+ } else if (varn==VAR_STRIPES) {
+ /* Stripes */
+ dest->stripes_space = src->stripes_space;
+ dest->stripes_warp = src->stripes_warp;
+ } else if (varn==VAR_WEDGE) {
+ /* Wedge */
+ dest->wedge_angle = src->wedge_angle;
+ dest->wedge_hole = src->wedge_hole;
+ dest->wedge_count = src->wedge_count;
+ dest->wedge_swirl = src->wedge_swirl;
+ } else if (varn==VAR_WEDGE_JULIA) {
+ /* Wedge_Julia */
+ dest->wedge_julia_angle = src->wedge_julia_angle;
+ dest->wedge_julia_count = src->wedge_julia_count;
+ dest->wedge_julia_power = src->wedge_julia_power;
+ dest->wedge_julia_dist = src->wedge_julia_dist;
+ dest->wedgeJulia_cf = src->wedgeJulia_cf;
+ dest->wedgeJulia_cn = src->wedgeJulia_cn;
+ dest->wedgeJulia_rN = src->wedgeJulia_rN;
+ } else if (varn==VAR_WEDGE_SPH) {
+ /* Wedge_sph */
+ dest->wedge_sph_angle = src->wedge_sph_angle;
+ dest->wedge_sph_hole = src->wedge_sph_hole;
+ dest->wedge_sph_count = src->wedge_sph_count;
+ dest->wedge_sph_swirl = src->wedge_sph_swirl;
+ } else if (varn==VAR_WHORL) {
+ /* whorl */
+ dest->whorl_inside = src->whorl_inside;
+ dest->whorl_outside = src->whorl_outside;
+ } else if (varn==VAR_WAVES2) {
+ /* waves2 */
+ dest->waves2_scalex = src->waves2_scalex;
+ dest->waves2_scaley = src->waves2_scaley;
+ dest->waves2_freqx = src->waves2_freqx;
+ dest->waves2_freqy = src->waves2_freqy;
+ } else if (varn==VAR_AUGER) {
+ /* auger */
+ dest->auger_sym = src->auger_sym;
+ dest->auger_weight = src->auger_weight;
+ dest->auger_freq = src->auger_freq;
+ dest->auger_scale = src->auger_scale;
+ }
+}
+
+/* Motion support functions */
+void flam3_add_motion_element(flam3_xform *xf) {
+
+ /* Add one to the xform's count of motion elements */
+ xf->num_motion++;
+
+ /* Reallocate the motion storage to include the empty space */
+ xf->motion = (struct xform *)realloc(xf->motion, xf->num_motion * sizeof(struct xform));
+
+ /* Initialize the motion element */
+ /* In this case, all elements should be set to 0 */
+ memset( &(xf->motion[xf->num_motion-1]), 0, sizeof(struct xform));
+
+}
+
+/* Motion support functions */
+void flam3_delete_motion_elements(flam3_xform *xf) {
+
+ /* Free the motion elements */
+ if (xf->num_motion>0) {
+ free(xf->motion);
+ xf->num_motion = 0;
+ }
+
+}
+
+/* Xform support functions */
+void flam3_add_xforms(flam3_genome *thiscp, int num_to_add, int interp_padding, int final_flag) {
+
+ int i,j;
+ int old_num = thiscp->num_xforms;
+ int oldstd,numstd;
+ flam3_xform tmp;
+
+ oldstd = thiscp->num_xforms - (thiscp->final_xform_index >= 0);
+
+ /* !!! must make sure that if final_flag is specified, we don't already have a final xform! !!! */
+
+// if (thiscp->num_xforms > 0)
+ thiscp->xform = (flam3_xform *)realloc(thiscp->xform, (thiscp->num_xforms + num_to_add) * sizeof(flam3_xform));
+// else
+// thiscp->xform = (flam3_xform *)malloc(num_to_add * sizeof(flam3_xform));
+
+ thiscp->num_xforms += num_to_add;
+
+ /* Initialize all the new xforms */
+ initialize_xforms(thiscp, old_num);
+
+ /* Set the padding flag for the new xforms */
+ if (interp_padding) {
+ for (i = old_num ; i < thiscp->num_xforms ; i++)
+ thiscp->xform[i].padding=1;
+ }
+
+ /* If the final xform is not the last xform in the list, make it so */
+ if (thiscp->final_xform_index >= 0 && thiscp->final_xform_index != thiscp->num_xforms-1) {
+ tmp = thiscp->xform[thiscp->final_xform_index];
+ for (i=thiscp->final_xform_index; i < thiscp->num_xforms-1; i++)
+ thiscp->xform[i] = thiscp->xform[i+1];
+
+ thiscp->final_xform_index = thiscp->num_xforms-1;
+ thiscp->xform[thiscp->final_xform_index] = tmp;
+ }
+
+ if (final_flag) {
+ /* Set the final xform index */
+ thiscp->final_xform_enable = 1;
+ thiscp->final_xform_index = thiscp->num_xforms-1;
+ } else {
+ /* Handle the chaos array */
+ numstd = thiscp->num_xforms - (thiscp->final_xform_index>=0);
+
+ /* Pad existing rows */
+ for (i=0;i<oldstd;i++) {
+ thiscp->chaos[i] = realloc(thiscp->chaos[i], numstd * sizeof(double));
+ for (j=oldstd; j<numstd; j++)
+ thiscp->chaos[i][j] = 1.0;
+ }
+
+ /* Add new rows */
+ thiscp->chaos = realloc(thiscp->chaos,numstd * sizeof(double *));
+ for (i=oldstd; i<numstd; i++) {
+ thiscp->chaos[i] = malloc(numstd * sizeof(double));
+ for (j=0;j<numstd;j++)
+ thiscp->chaos[i][j] = 1.0;
+ }
+ }
+}
+
+void flam3_delete_xform(flam3_genome *thiscp, int idx_to_delete) {
+
+ int i,j;
+ int num_std = thiscp->num_xforms - (thiscp->final_xform_index >= 0);
+
+ if (thiscp->final_xform_index != idx_to_delete) {
+ /* We're going to delete the nth std xform. */
+
+ /* Delete the nth_std row of the chaos array */
+ free(thiscp->chaos[idx_to_delete]);
+
+ /* Shift the pointers down one */
+ for (i=idx_to_delete+1;i<num_std;i++)
+ thiscp->chaos[i-1] = thiscp->chaos[i];
+
+ /* Realloc the pointer array */
+ thiscp->chaos = realloc(thiscp->chaos,(num_std-1)*sizeof(double *));
+ num_std--;
+
+ /* Loop over all of the rows and remove the nth_std element from them */
+ for (i=0;i<num_std;i++) {
+ for (j=idx_to_delete+1;j<num_std+1;j++) {
+ thiscp->chaos[i][j-1] = thiscp->chaos[i][j];
+ }
+ /* Realloc the vector to have one less element */
+ thiscp->chaos[i] = realloc(thiscp->chaos[i],num_std*sizeof(double));
+
+ }
+ }
+
+ /* Handle the final xform index */
+ if (thiscp->final_xform_index == idx_to_delete) {
+ thiscp->final_xform_index = -1;
+ thiscp->final_xform_enable = 0;
+ } else if (thiscp->final_xform_index > idx_to_delete) {
+ thiscp->final_xform_index--;
+ }
+
+ /* Delete the motion elements of the banished xform */
+ flam3_delete_motion_elements(&(thiscp->xform[idx_to_delete]));
+
+ /* Move all of the xforms down one - this does not require manual motion xform adjustment */
+ for (i=idx_to_delete; i<thiscp->num_xforms-1; i++)
+ thiscp->xform[i] = thiscp->xform[i+1];
+
+ thiscp->num_xforms--;
+
+ /* Reduce the memory storage by one xform */
+ thiscp->xform = (flam3_xform *)realloc(thiscp->xform, sizeof(flam3_xform) * thiscp->num_xforms);
+
+}
+
+void flam3_copy_xform(flam3_xform *dest, flam3_xform *src) {
+
+ int j;
+
+ /* Make sure the dest doesn't have motion already */
+ if (dest->num_motion>0)
+ flam3_delete_motion_elements(dest);
+
+ /* Copy everything */
+ *dest = *src;
+
+ /* Reset motion in dest and copy it */
+ dest->num_motion=0;
+ dest->motion=NULL;
+
+ if (src->num_motion>0) {
+ for (j=0;j<src->num_motion;j++)
+ flam3_add_motion_element(dest);
+
+ memcpy(dest->motion,src->motion,src->num_motion*sizeof(flam3_xform));
+ }
+}
+
+/* Copy one control point to another */
+void flam3_copy(flam3_genome *dest, flam3_genome *src) {
+
+ int i,ii;
+ int numstd;
+
+ /* If there are any xforms in dest before the copy, clean them up */
+ clear_cp(dest, 1);
+
+ /* Copy main contents of genome */
+ memcpy(dest, src, sizeof(flam3_genome));
+
+ /* Only the pointer to the xform was copied, not the actual xforms. */
+ /* We need to create new xform memory storage for this new cp */
+ /* This goes for chaos, too. */
+ dest->num_xforms = 0;
+ dest->final_xform_index = -1;
+ dest->xform = NULL;
+ dest->chaos = NULL;
+
+ /* Add the standard xforms first */
+ numstd = src->num_xforms-(src->final_xform_index>=0);
+ flam3_add_xforms(dest, numstd, 0, 0);
+ for (i=0;i<numstd;i++)
+ flam3_copy_xform(&dest->xform[i], &src->xform[i]);
+
+ /* Add the final x if it's present */
+ if (src->final_xform_index>=0) {
+ i = src->final_xform_index;
+ flam3_add_xforms(dest, 1, 0, 1);
+ ii = dest->final_xform_index;
+ flam3_copy_xform(&dest->xform[ii],&src->xform[i]);
+ }
+
+ /* Also, only the pointer to the chaos array was copied.
+ * We have to take care of that as well. */
+ for (i=0;i<numstd;i++)
+ memcpy(dest->chaos[i],src->chaos[i], numstd * sizeof(double));
+
+}
+
+void flam3_copyx(flam3_genome *dest, flam3_genome *src, int dest_std_xforms, int dest_final_xform) {
+
+ int i,numsrcstd;
+
+ /* If there are any xforms in dest before the copy, clean them up */
+ clear_cp(dest, 1);
+
+ /* Copy main contents of genome */
+ memcpy(dest, src, sizeof(flam3_genome));
+
+ /* Only the pointer to the xform was copied, not the actual xforms. */
+ /* We need to create new xform memory storage for this new cp */
+ /* This goes for chaos, too. */
+ dest->num_xforms = 0;
+ dest->xform = NULL;
+ dest->chaos = NULL;
+ dest->final_xform_index = -1;
+
+ /* Add the padded standard xform list */
+ /* Set the pad to 1 for these */
+ flam3_add_xforms(dest, dest_std_xforms, 1, 0);
+
+ numsrcstd = src->num_xforms - (src->final_xform_index >= 0);
+
+ for(i=0;i<numsrcstd;i++) {
+
+ /* When we copy the old xform, the pad is set to 0 */
+ flam3_copy_xform(&dest->xform[i],&src->xform[i]);
+
+ /* Copy the initial chaos from the src - the rest are already 1 */
+ memcpy(dest->chaos[i], src->chaos[i], numsrcstd*sizeof(double));
+
+ }
+
+ /* Add the final xform if necessary */
+ if (dest_final_xform > 0) {
+ flam3_add_xforms(dest, dest_final_xform, 1, 1);
+
+ if (src->final_xform_enable > 0) {
+
+ i = src->final_xform_index;
+
+ flam3_copy_xform(&dest->xform[dest->num_xforms-1],&src->xform[i]);
+
+ } else {
+ /* Interpolated-against final xforms need animate & color_speed set to 0.0 */
+ dest->xform[dest->num_xforms-1].num_motion = 0;
+ dest->xform[dest->num_xforms-1].motion=NULL;
+ dest->xform[dest->num_xforms-1].animate=0.0;
+ dest->xform[dest->num_xforms-1].color_speed=0.0;
+ }
+
+ } else {
+ dest->final_xform_index = -1;
+ dest->final_xform_enable = 0;
+ }
+
+}
+
+void clear_cp(flam3_genome *cp, int default_flag) {
+ cp->palette_index = flam3_palette_random;
+ cp->center[0] = 0.0;
+ cp->center[1] = 0.0;
+ cp->rot_center[0] = 0.0;
+ cp->rot_center[1] = 0.0;
+ cp->gamma = 4.0;
+ cp->vibrancy = 1.0;
+ cp->contrast = 1.0;
+ cp->brightness = 4.0;
+ cp->symmetry = 0;
+ cp->hue_rotation = 0.0;
+ cp->rotate = 0.0;
+ cp->pixels_per_unit = 50;
+ cp->interpolation = flam3_interpolation_linear;
+ cp->palette_interpolation = flam3_palette_interpolation_hsv;
+
+ cp->genome_index = 0;
+ memset(cp->parent_fname,0,flam3_parent_fn_len);
+
+ if (default_flag==flam3_defaults_on) {
+ /* If defaults are on, set to reasonable values */
+ cp->highlight_power = -1.0;
+ cp->background[0] = 0.0;
+ cp->background[1] = 0.0;
+ cp->background[2] = 0.0;
+ cp->width = 100;
+ cp->height = 100;
+ cp->spatial_oversample = 1;
+ cp->spatial_filter_radius = 0.5;
+ cp->zoom = 0.0;
+ cp->sample_density = 1;
+ /* Density estimation stuff defaulting to ON */
+ cp->estimator = 9.0;
+ cp->estimator_minimum = 0.0;
+ cp->estimator_curve = 0.4;
+ cp->gam_lin_thresh = 0.01;
+// cp->motion_exp = 0.0;
+ cp->nbatches = 1;
+ cp->ntemporal_samples = 1000;
+ cp->spatial_filter_select = flam3_gaussian_kernel;
+ cp->interpolation_type = flam3_inttype_log;
+ cp->temporal_filter_type = flam3_temporal_box;
+ cp->temporal_filter_width = 1.0;
+ cp->temporal_filter_exp = 0.0;
+ cp->palette_mode = flam3_palette_mode_step;
+
+ } else {
+ /* Defaults are off, so set to UN-reasonable values. */
+ cp->highlight_power = -1.0;
+ cp->background[0] = -1.0;
+ cp->background[1] = -1.0;
+ cp->background[2] = -1.0;
+ cp->zoom = 999999999;
+ cp->spatial_oversample = -1;
+ cp->spatial_filter_radius = -1;
+ cp->nbatches = -1;
+ cp->ntemporal_samples = -1;
+ cp->width = -1;
+ cp->height = -1;
+ cp->sample_density = -1;
+ cp->estimator = -1;
+ cp->estimator_minimum = -1;
+ cp->estimator_curve = -1;
+ cp->gam_lin_thresh = -1;
+// cp->motion_exp = -999;
+ cp->nbatches = 0;
+ cp->ntemporal_samples = 0;
+ cp->spatial_filter_select = -1;
+ cp->interpolation_type = -1;
+ cp->temporal_filter_type = -1;
+ cp->temporal_filter_width = -1;
+ cp->temporal_filter_exp = -999;
+ cp->palette_mode = -1;
+ }
+
+ if (cp->xform != NULL && cp->num_xforms > 0) {
+ int i;
+ int ns = cp->num_xforms - (cp->final_xform_index>=0);
+
+ for (i=0;i<ns;i++) {
+ free(cp->chaos[i]);
+ }
+ free(cp->chaos);
+ cp->chaos=NULL;
+
+ for (i=0;i<cp->num_xforms;i++)
+ flam3_delete_motion_elements(&cp->xform[i]);
+
+ free(cp->xform);
+ cp->xform=NULL;
+
+ cp->num_xforms = 0;
+ }
+
+ cp->final_xform_enable = 0;
+ cp->final_xform_index = -1;
+
+}
+
+
+int flam3_count_nthreads(void) {
+ int nthreads;
+#ifndef HAVE_LIBPTHREAD
+ return(1);
+#endif
+
+#ifdef _WIN32
+ SYSTEM_INFO sysInfo;
+ GetSystemInfo(&sysInfo);
+ nthreads = sysInfo.dwNumberOfProcessors;
+#else
+#ifdef __APPLE__
+ kern_return_t kr;
+ host_name_port_t host;
+ unsigned int size;
+ struct host_basic_info hi;
+
+ host = mach_host_self();
+ size = sizeof(hi)/sizeof(int);
+ kr = host_info(host, HOST_BASIC_INFO, (host_info_t)&hi, &size);
+ if (kr != KERN_SUCCESS) {
+ mach_error("host_info():", kr);
+ exit(EXIT_FAILURE);
+ }
+ nthreads = hi.avail_cpus;
+#else
+#ifndef _SC_NPROCESSORS_ONLN
+ char line[MAXBUF];
+ FILE *f = fopen("/proc/cpuinfo", "r");
+ if (NULL == f) goto def;
+ nthreads = 0;
+ while (fgets(line, MAXBUF, f)) {
+ if (!strncmp("processor\t:", line, 11))
+ nthreads++;
+ }
+ fclose(f);
+ if (nthreads < 1) goto def;
+ return (nthreads);
+def:
+ fprintf(stderr, "could not read /proc/cpuinfo, using one render thread.\n");
+ nthreads = 1;
+#else
+ nthreads = sysconf(_SC_NPROCESSORS_ONLN);
+ if (nthreads < 1) nthreads = 1;
+#endif
+#endif
+#endif
+ return (nthreads);
+}
+
+flam3_genome *flam3_parse_xml2(char *xmldata, char *xmlfilename, int default_flag, int *ncps) {
+
+ xmlDocPtr doc; /* Parsed XML document tree */
+ xmlNode *rootnode;
+ char *bn;
+ int i;
+ int loc_all_ncps=0;
+ flam3_genome *loc_all_cp=NULL;
+ char* locale = NULL;
+ char* lorig = setlocale(LC_NUMERIC, NULL);
+
+ /* Parse XML string into internal document */
+ /* Forbid network access during read */
+ doc = xmlReadMemory(xmldata, (int)strlen(xmldata), xmlfilename, NULL, XML_PARSE_NONET);
+
+ /* Check for errors */
+ if (doc==NULL) {
+ fprintf(stderr, "Failed to parse %s\n", xmlfilename);
+ return NULL;
+ }
+
+ /* What is the root node of the document? */
+ rootnode = xmlDocGetRootElement(doc);
+
+ // force use of "C" locale when writing reals.
+ // first save away the current settings.
+ if (lorig == NULL)
+ fprintf(stderr, "error: couldn't get current locale\n");
+ else {
+ int slen = strlen(lorig) + 1;
+ locale = (char*)malloc(slen);
+ if (locale != NULL)
+ memcpy(locale, lorig, slen);
+ }
+ if (setlocale(LC_NUMERIC, "C") == NULL)
+ fprintf(stderr, "error: couldn't set C locale\n");
+
+ /* Scan for <flame> nodes, starting with this node */
+ bn = basename(xmlfilename);
+
+ /* Have to use &loc_all_cp since the memory gets allocated in scan_for_flame_nodes */
+ scan_for_flame_nodes(rootnode, bn, default_flag,&loc_all_cp,&loc_all_ncps);
+
+ // restore locale
+ if (locale != NULL) {
+ if (setlocale(LC_NUMERIC, locale) == NULL)
+ fprintf(stderr, "error: couldn't replace locale settings\n");
+ free(locale);
+ }
+
+ xmlFreeDoc(doc);
+
+ *ncps = loc_all_ncps;
+
+ /* Check to see if the first control point or the second-to-last */
+ /* control point has interpolation="smooth". This is invalid */
+ /* and should be reset to linear (with a warning). */
+ if (loc_all_ncps>=1) {
+ if (loc_all_cp[0].interpolation == flam3_interpolation_smooth) {
+ fprintf(stderr,"Warning: smooth interpolation cannot be used for first segment.\n"
+ " switching to linear.\n");
+ loc_all_cp[0].interpolation = flam3_interpolation_linear;
+ }
+ }
+
+ if (loc_all_ncps>=2) {
+ if (loc_all_cp[(loc_all_ncps)-2].interpolation == flam3_interpolation_smooth) {
+ fprintf(stderr,"Warning: smooth interpolation cannot be used for last segment.\n"
+ " switching to linear.\n");
+ loc_all_cp[loc_all_ncps-2].interpolation = flam3_interpolation_linear;
+ }
+ }
+
+ /* Finally, ensure that consecutive 'rotate' parameters never exceed */
+ /* a difference of more than 180 degrees (+/-) for interpolation. */
+ /* An adjustment of +/- 360 degrees is made until this is true. */
+ if (*ncps>1) {
+
+ for (i=1;i<*ncps;i++) {
+
+ /* Only do this adjustment if we're not in compat mode */
+ if (flam3_inttype_compat != loc_all_cp[i-1].interpolation_type
+ && flam3_inttype_older != loc_all_cp[i-1].interpolation_type) {
+
+ while (loc_all_cp[i].rotate < loc_all_cp[i-1].rotate-180)
+ loc_all_cp[i].rotate += 360;
+
+ while (loc_all_cp[i].rotate > loc_all_cp[i-1].rotate+180)
+ loc_all_cp[i].rotate -= 360;
+ }
+ }
+ }
+
+ //Note that concurrent calls to flam3, if in parallel, potentially segfault
+ //if this function is called. technically it's required but it doesn't
+ //leak memory continuously.
+ //xmlCleanupParser();
+
+ return loc_all_cp;
+}
+
+flam3_genome * flam3_parse_from_file(FILE *f, char *fname, int default_flag, int *ncps) {
+ int i, c, slen = 5000;
+ char *s, *snew;
+ flam3_genome *ret;
+
+ /* Incrementally read XML file into a string */
+ s = malloc(slen);
+ i = 0;
+ do {
+ c = getc(f);
+ if (EOF == c)
+ break;
+ s[i++] = c;
+ if (i == slen-1) {
+ slen *= 2;
+ snew = realloc(s, slen);
+ if (snew==NULL) {
+ fprintf(stderr,"XML file too large to be read - aborting.\n");
+ free(s);
+ exit(1);
+ } else
+ s = snew;
+ }
+ } while (1);
+
+ /* Null-terminate the read XML data */
+ s[i] = 0;
+
+ /* Parse the XML string */
+ if (fname)
+ ret = flam3_parse_xml2(s, fname, default_flag, ncps);
+ else
+ ret = flam3_parse_xml2(s, "stdin", default_flag, ncps);
+
+ free(s);
+
+ return(ret);
+
+}
+
+
+void flam3_apply_template(flam3_genome *cp, flam3_genome *templ) {
+
+ /* Check for invalid values - only replace those with valid ones */
+ if (templ->background[0] >= 0)
+ cp->background[0] = templ->background[0];
+ if (templ->background[1] >= 0)
+ cp->background[1] = templ->background[1];
+ if (templ->background[1] >= 0)
+ cp->background[2] = templ->background[2];
+ if (templ->zoom < 999999998)
+ cp->zoom = templ->zoom;
+ if (templ->spatial_oversample > 0)
+ cp->spatial_oversample = templ->spatial_oversample;
+ if (templ->spatial_filter_radius >= 0)
+ cp->spatial_filter_radius = templ->spatial_filter_radius;
+ if (templ->sample_density > 0)
+ cp->sample_density = templ->sample_density;
+ if (templ->nbatches > 0)
+ cp->nbatches = templ->nbatches;
+ if (templ->ntemporal_samples > 0)
+ cp->ntemporal_samples = templ->ntemporal_samples;
+ if (templ->width > 0) {
+ /* preserving scale should be an option */
+ cp->pixels_per_unit = cp->pixels_per_unit * templ->width / cp->width;
+ cp->width = templ->width;
+ }
+ if (templ->height > 0)
+ cp->height = templ->height;
+ if (templ->estimator >= 0)
+ cp->estimator = templ->estimator;
+ if (templ->estimator_minimum >= 0)
+ cp->estimator_minimum = templ->estimator_minimum;
+ if (templ->estimator_curve >= 0)
+ cp->estimator_curve = templ->estimator_curve;
+ if (templ->gam_lin_thresh >= 0)
+ cp->gam_lin_thresh = templ->gam_lin_thresh;
+ if (templ->nbatches>0)
+ cp->nbatches = templ->nbatches;
+ if (templ->ntemporal_samples>0)
+ cp->ntemporal_samples = templ->ntemporal_samples;
+ if (templ->spatial_filter_select>0)
+ cp->spatial_filter_select = templ->spatial_filter_select;
+ if (templ->interpolation >= 0)
+ cp->interpolation = templ->interpolation;
+ if (templ->interpolation_type >= 0)
+ cp->interpolation_type = templ->interpolation_type;
+ if (templ->temporal_filter_type >= 0)
+ cp->temporal_filter_type = templ->temporal_filter_type;
+ if (templ->temporal_filter_width > 0)
+ cp->temporal_filter_width = templ->temporal_filter_width;
+ if (templ->temporal_filter_exp > -900)
+ cp->temporal_filter_exp = templ->temporal_filter_exp;
+ if (templ->highlight_power >=0)
+ cp->highlight_power = templ->highlight_power;
+ if (templ->palette_mode >= 0)
+ cp->palette_mode = templ->palette_mode;
+
+}
+
+char *flam3_print_to_string(flam3_genome *cp) {
+
+ FILE *tmpflame;
+ long stringbytes;
+ char *genome_string;
+
+ tmpflame = tmpfile();
+ flam3_print(tmpflame,cp,NULL,flam3_dont_print_edits);
+ stringbytes = ftell(tmpflame);
+ fseek(tmpflame,0L, SEEK_SET);
+ genome_string = (char *)calloc(stringbytes+1,1);
+ if (stringbytes != fread(genome_string, 1, stringbytes, tmpflame)) {
+ perror("FLAM3: reading string from temp file");
+ }
+ fclose(tmpflame);
+
+ return(genome_string);
+}
+
+
+void flam3_print(FILE *f, flam3_genome *cp, char *extra_attributes, int print_edits) {
+ int i,numstd;
+ int flam27_flag;
+ char *ai;
+
+ // force use of "C" locale when writing reals.
+ // first save away the current settings.
+ char* locale = NULL;
+ char* lorig = setlocale(LC_NUMERIC, NULL);
+ if (lorig == NULL)
+ fprintf(stderr, "error: couldn't get current locale\n");
+ else {
+ int slen = strlen(lorig) + 1;
+ locale = (char*)malloc(slen);
+ if (locale != NULL)
+ memcpy(locale, lorig, slen);
+ }
+ if (setlocale(LC_NUMERIC, "C") == NULL)
+ fprintf(stderr, "error: couldn't set C locale\n");
+
+
+ flam27_flag = argi("flam27",0);
+
+ fprintf(f, "<flame version=\"FLAM3-%s\" time=\"%g\"", flam3_version(),cp->time);
+
+ if (cp->flame_name[0]!=0)
+ fprintf(f, " name=\"%s\"",cp->flame_name);
+
+ fprintf(f, " size=\"%d %d\"", cp->width, cp->height);
+ fprintf(f, " center=\"%g %g\"", cp->center[0], cp->center[1]);
+ fprintf(f, " scale=\"%g\"", cp->pixels_per_unit);
+
+ if (cp->zoom != 0.0)
+ fprintf(f, " zoom=\"%g\"", cp->zoom);
+
+ fprintf(f, " rotate=\"%g\"", cp->rotate);
+ fprintf(f, " supersample=\"%d\"", cp->spatial_oversample);
+ fprintf(f, " filter=\"%g\"", cp->spatial_filter_radius);
+
+ /* Need to print the correct kernel to use */
+ if (cp->spatial_filter_select == flam3_gaussian_kernel)
+ fprintf(f, " filter_shape=\"gaussian\"");
+ else if (cp->spatial_filter_select == flam3_hermite_kernel)
+ fprintf(f, " filter_shape=\"hermite\"");
+ else if (cp->spatial_filter_select == flam3_box_kernel)
+ fprintf(f, " filter_shape=\"box\"");
+ else if (cp->spatial_filter_select == flam3_triangle_kernel)
+ fprintf(f, " filter_shape=\"triangle\"");
+ else if (cp->spatial_filter_select == flam3_bell_kernel)
+ fprintf(f, " filter_shape=\"bell\"");
+ else if (cp->spatial_filter_select == flam3_b_spline_kernel)
+ fprintf(f, " filter_shape=\"bspline\"");
+ else if (cp->spatial_filter_select == flam3_mitchell_kernel)
+ fprintf(f, " filter_shape=\"mitchell\"");
+ else if (cp->spatial_filter_select == flam3_blackman_kernel)
+ fprintf(f, " filter_shape=\"blackman\"");
+ else if (cp->spatial_filter_select == flam3_catrom_kernel)
+ fprintf(f, " filter_shape=\"catrom\"");
+ else if (cp->spatial_filter_select == flam3_hanning_kernel)
+ fprintf(f, " filter_shape=\"hanning\"");
+ else if (cp->spatial_filter_select == flam3_hamming_kernel)
+ fprintf(f, " filter_shape=\"hamming\"");
+ else if (cp->spatial_filter_select == flam3_lanczos3_kernel)
+ fprintf(f, " filter_shape=\"lanczos3\"");
+ else if (cp->spatial_filter_select == flam3_lanczos2_kernel)
+ fprintf(f, " filter_shape=\"lanczos2\"");
+ else if (cp->spatial_filter_select == flam3_quadratic_kernel)
+ fprintf(f, " filter_shape=\"quadratic\"");
+
+ if (cp->temporal_filter_type == flam3_temporal_box)
+ fprintf(f, " temporal_filter_type=\"box\"");
+ else if (cp->temporal_filter_type == flam3_temporal_gaussian)
+ fprintf(f, " temporal_filter_type=\"gaussian\"");
+ else if (cp->temporal_filter_type == flam3_temporal_exp)
+ fprintf(f, " temporal_filter_type=\"exp\" temporal_filter_exp=\"%g\"",cp->temporal_filter_exp);
+
+ fprintf(f, " temporal_filter_width=\"%g\"",cp->temporal_filter_width);
+
+
+
+ fprintf(f, " quality=\"%g\"", cp->sample_density);
+ fprintf(f, " passes=\"%d\"", cp->nbatches);
+ fprintf(f, " temporal_samples=\"%d\"", cp->ntemporal_samples);
+ fprintf(f, " background=\"%g %g %g\"",
+ cp->background[0], cp->background[1], cp->background[2]);
+ fprintf(f, " brightness=\"%g\"", cp->brightness);
+ fprintf(f, " gamma=\"%g\"", cp->gamma);
+
+ if (!flam27_flag)
+ fprintf(f, " highlight_power=\"%g\"", cp->highlight_power);
+
+ fprintf(f, " vibrancy=\"%g\"", cp->vibrancy);
+ fprintf(f, " estimator_radius=\"%g\" estimator_minimum=\"%g\" estimator_curve=\"%g\"",
+ cp->estimator, cp->estimator_minimum, cp->estimator_curve);
+ fprintf(f, " gamma_threshold=\"%g\"", cp->gam_lin_thresh);
+
+ if (flam3_palette_mode_step == cp->palette_mode)
+ fprintf(f, " palette_mode=\"step\"");
+ else if (flam3_palette_mode_linear == cp->palette_mode)
+ fprintf(f, " palette_mode=\"linear\"");
+
+ if (flam3_interpolation_linear != cp->interpolation)
+ fprintf(f, " interpolation=\"smooth\"");
+
+ if (flam3_inttype_linear == cp->interpolation_type)
+ fprintf(f, " interpolation_type=\"linear\"");
+ else if (flam3_inttype_log == cp->interpolation_type)
+ fprintf(f, " interpolation_type=\"log\"");
+ else if (flam3_inttype_compat == cp->interpolation_type)
+ fprintf(f, " interpolation_type=\"old\"");
+ else if (flam3_inttype_older == cp->interpolation_type)
+ fprintf(f, " interpolation_type=\"older\"");
+
+
+ if (flam3_palette_interpolation_hsv != cp->palette_interpolation)
+ fprintf(f, " palette_interpolation=\"sweep\"");
+
+ if (extra_attributes)
+ fprintf(f, " %s", extra_attributes);
+
+ fprintf(f, ">\n");
+
+ if (cp->symmetry)
+ fprintf(f, " <symmetry kind=\"%d\"/>\n", cp->symmetry);
+
+ numstd = cp->num_xforms - (cp->final_xform_index>=0);
+
+ for (i = 0; i < cp->num_xforms; i++) {
+
+ if (i==cp->final_xform_index)
+ flam3_print_xform(f, &cp->xform[i], 1, numstd, NULL, 0);
+ else
+ flam3_print_xform(f, &cp->xform[i], 0, numstd, cp->chaos[i], 0);
+
+ }
+
+ for (i = 0; i < 256; i++) {
+ double r, g, b, a;
+ r = (cp->palette[i].color[0] * 255.0);
+ g = (cp->palette[i].color[1] * 255.0);
+ b = (cp->palette[i].color[2] * 255.0);
+ a = (cp->palette[i].color[3] * 255.0);
+
+// if (i%4 == 0)
+ fprintf(f, " ");
+
+ if (flam27_flag || a==255.0) {
+
+ if (flam27_flag && a!=255.0)
+ fprintf(stderr,"alpha channel in palette cannot be stored in 2.7 compatibility mode; truncating\n");
+
+ if (getenv("intpalette"))
+ fprintf(f, "<color index=\"%d\" rgb=\"%d %d %d\"/>", i, (int)rint(r), (int)rint(g), (int)rint(b));
+ else {
+#ifdef USE_FLOAT_INDICES
+ fprintf(f, "<color index=\"%.10g\" rgb=\"%.6g %.6g %.6g\"/>", cp->palette[i].index, r, g, b);
+#else
+ fprintf(f, "<color index=\"%d\" rgb=\"%.6g %.6g %.6g\"/>", i, r, g, b);
+#endif
+ }
+ } else {
+ if (getenv("intpalette"))
+ fprintf(f, " <color index=\"%d\" rgba=\"%d %d %d %d\"/>", i, (int)rint(r), (int)rint(g), (int)rint(b), (int)rint(a));
+ else
+ fprintf(f, " <color index=\"%d\" rgba=\"%.6g %.6g %.6g %.6g\"/>", i, r, g, b, a);
+ }
+// if (i%4 == 3)
+ fprintf(f, "\n");
+
+ }
+
+ if (cp->edits != NULL && print_edits==flam3_print_edits) {
+
+ /* We need a custom script for printing these */
+ /* and it needs to be recursive */
+ xmlNodePtr elem_node = xmlDocGetRootElement(cp->edits);
+ flam3_edit_print(f,elem_node, 1, 1);
+ }
+ fprintf(f, "</flame>\n");
+
+ if (locale != NULL) {
+ if (setlocale(LC_NUMERIC, locale) == NULL)
+ fprintf(stderr, "error: couldn't restore locale settings\n");
+ free(locale);
+ }
+}
+
+#define PRINTNON(p) do { if (x->p != 0.0) fprintf(f, #p "=\"%f\" ",x->p); } while(0)
+
+
+void flam3_print_xform(FILE *f, flam3_xform *x, int final_flag, int numstd, double *chaos_row, int motion_flag) {
+
+ int blob_var=0,pdj_var=0,fan2_var=0,rings2_var=0,perspective_var=0;
+ int juliaN_var=0,juliaScope_var=0,radialBlur_var=0,pie_var=0,disc2_var=0;
+ int ngon_var=0,curl_var=0,rectangles_var=0,supershape_var=0;
+ int flower_var=0,conic_var=0,parabola_var=0,bent2_var=0,bipolar_var=0;
+ int cell_var=0,cpow_var=0,curve_var=0,escher_var=0,lazys_var=0;
+ int modulus_var=0,oscope_var=0,popcorn2_var=0,separation_var=0;
+ int split_var=0,splits_var=0,stripes_var=0,wedge_var=0,wedgeJ_var=0;
+ int wedgeS_var=0,whorl_var=0,waves2_var=0,auger_var=0;
+
+ int j;
+ int lnv;
+
+ int flam27_flag;
+ char *ai;
+
+ flam27_flag = argi("flam27",0);
+
+ /* Motion flag will not be set if flam27_flag is set */
+ if (motion_flag) {
+ fprintf(f, " <motion motion_frequency=\"%d\" ",x->motion_freq);
+ if (x->motion_func == MOTION_SIN)
+ fprintf(f, "motion_function=\"sin\" ");
+ else if (x->motion_func == MOTION_TRIANGLE)
+ fprintf(f, "motion_function=\"triangle\" ");
+ else if (x->motion_func == MOTION_HILL)
+ fprintf(f, "motion_function=\"hill\" ");
+ } else {
+ if (final_flag)
+ fprintf(f, " <finalxform ");
+ else
+ fprintf(f, " <xform weight=\"%g\" ", x->density);
+ }
+
+ if (!motion_flag || x->color != 0.0)
+ fprintf(f, "color=\"%g\" ", x->color);
+
+ if (flam27_flag)
+ fprintf(f, "symmetry=\"%g\" ", 1.0-2.0*x->color_speed);
+ else if (!motion_flag)
+ fprintf(f, "color_speed=\"%g\" ", x->color_speed);
+
+ if (!final_flag && !motion_flag && !flam27_flag)
+ fprintf(f, "animate=\"%g\" ", x->animate);
+
+ lnv = flam27_flag ? 54:flam3_nvariations;
+
+ for (j = 0; j < lnv; j++) {
+ double v = x->var[j];
+ if (0.0 != v) {
+ fprintf(f, "%s=\"%g\" ", flam3_variation_names[j], v);
+ if (j==VAR_BLOB)
+ blob_var=1;
+ else if (j==VAR_PDJ)
+ pdj_var=1;
+ else if (j==VAR_FAN2)
+ fan2_var=1;
+ else if (j==VAR_RINGS2)
+ rings2_var=1;
+ else if (j==VAR_PERSPECTIVE)
+ perspective_var=1;
+ else if (j==VAR_JULIAN)
+ juliaN_var=1;
+ else if (j==VAR_JULIASCOPE)
+ juliaScope_var=1;
+ else if (j==VAR_RADIAL_BLUR)
+ radialBlur_var=1;
+ else if (j==VAR_PIE)
+ pie_var=1;
+ else if (j==VAR_NGON)
+ ngon_var=1;
+ else if (j==VAR_CURL)
+ curl_var=1;
+ else if (j==VAR_RECTANGLES)
+ rectangles_var=1;
+ else if (j==VAR_DISC2)
+ disc2_var=1;
+ else if (j==VAR_SUPER_SHAPE)
+ supershape_var=1;
+ else if (j==VAR_FLOWER)
+ flower_var=1;
+ else if (j==VAR_CONIC)
+ conic_var=1;
+ else if (j==VAR_PARABOLA)
+ parabola_var=1;
+ else if (j==VAR_BENT2)
+ bent2_var=1;
+ else if (j==VAR_BIPOLAR)
+ bipolar_var=1;
+ else if (j==VAR_CELL)
+ cell_var=1;
+ else if (j==VAR_CPOW)
+ cpow_var=1;
+ else if (j==VAR_CURVE)
+ curve_var=1;
+ else if (j==VAR_ESCHER)
+ escher_var=1;
+ else if (j==VAR_LAZYSUSAN)
+ lazys_var=1;
+ else if (j==VAR_MODULUS)
+ modulus_var=1;
+ else if (j==VAR_OSCILLOSCOPE)
+ oscope_var=1;
+ else if (j==VAR_POPCORN2)
+ popcorn2_var=1;
+ else if (j==VAR_SPLIT)
+ split_var=1;
+ else if (j==VAR_SPLITS)
+ splits_var=1;
+ else if (j==VAR_STRIPES)
+ stripes_var=1;
+ else if (j==VAR_WEDGE)
+ wedge_var=1;
+ else if (j==VAR_WEDGE_JULIA)
+ wedgeJ_var=1;
+ else if (j==VAR_WEDGE_SPH)
+ wedgeS_var=1;
+ else if (j==VAR_WHORL)
+ whorl_var=1;
+ else if (j==VAR_WAVES2)
+ waves2_var=1;
+ else if (j==VAR_AUGER)
+ auger_var=1;
+ }
+ }
+
+ if (!motion_flag) {
+ if (blob_var==1) {
+ fprintf(f, "blob_low=\"%g\" ", x->blob_low);
+ fprintf(f, "blob_high=\"%g\" ", x->blob_high);
+ fprintf(f, "blob_waves=\"%g\" ", x->blob_waves);
+ }
+
+ if (pdj_var==1) {
+ fprintf(f, "pdj_a=\"%g\" ", x->pdj_a);
+ fprintf(f, "pdj_b=\"%g\" ", x->pdj_b);
+ fprintf(f, "pdj_c=\"%g\" ", x->pdj_c);
+ fprintf(f, "pdj_d=\"%g\" ", x->pdj_d);
+ }
+
+ if (fan2_var==1) {
+ fprintf(f, "fan2_x=\"%g\" ", x->fan2_x);
+ fprintf(f, "fan2_y=\"%g\" ", x->fan2_y);
+ }
+
+ if (rings2_var==1) {
+ fprintf(f, "rings2_val=\"%g\" ", x->rings2_val);
+ }
+
+ if (perspective_var==1) {
+ fprintf(f, "perspective_angle=\"%g\" ", x->perspective_angle);
+ fprintf(f, "perspective_dist=\"%g\" ", x->perspective_dist);
+ }
+
+ if (juliaN_var==1) {
+ fprintf(f, "julian_power=\"%g\" ", x->julian_power);
+ fprintf(f, "julian_dist=\"%g\" ", x->julian_dist);
+ }
+
+ if (juliaScope_var==1) {
+ fprintf(f, "juliascope_power=\"%g\" ", x->juliascope_power);
+ fprintf(f, "juliascope_dist=\"%g\" ", x->juliascope_dist);
+ }
+
+ if (radialBlur_var==1) {
+ fprintf(f, "radial_blur_angle=\"%g\" ", x->radial_blur_angle);
+ }
+
+ if (pie_var==1) {
+ fprintf(f, "pie_slices=\"%g\" ", x->pie_slices);
+ fprintf(f, "pie_rotation=\"%g\" ", x->pie_rotation);
+ fprintf(f, "pie_thickness=\"%g\" ", x->pie_thickness);
+ }
+
+ if (ngon_var==1) {
+ fprintf(f, "ngon_sides=\"%g\" ", x->ngon_sides);
+ fprintf(f, "ngon_power=\"%g\" ", x->ngon_power);
+ fprintf(f, "ngon_corners=\"%g\" ", x->ngon_corners);
+ fprintf(f, "ngon_circle=\"%g\" ", x->ngon_circle);
+ }
+
+ if (curl_var==1) {
+ fprintf(f, "curl_c1=\"%g\" ", x->curl_c1);
+ fprintf(f, "curl_c2=\"%g\" ", x->curl_c2);
+ }
+
+ if (rectangles_var==1) {
+ fprintf(f, "rectangles_x=\"%g\" ", x->rectangles_x);
+ fprintf(f, "rectangles_y=\"%g\" ", x->rectangles_y);
+ }
+
+ if (disc2_var==1) {
+ fprintf(f, "disc2_rot=\"%g\" ", x->disc2_rot);
+ fprintf(f, "disc2_twist=\"%g\" ", x->disc2_twist);
+ }
+
+ if (supershape_var==1) {
+ fprintf(f, "super_shape_rnd=\"%g\" ", x->super_shape_rnd);
+ fprintf(f, "super_shape_m=\"%g\" ", x->super_shape_m);
+ fprintf(f, "super_shape_n1=\"%g\" ", x->super_shape_n1);
+ fprintf(f, "super_shape_n2=\"%g\" ", x->super_shape_n2);
+ fprintf(f, "super_shape_n3=\"%g\" ", x->super_shape_n3);
+ fprintf(f, "super_shape_holes=\"%g\" ", x->super_shape_holes);
+ }
+
+ if (flower_var==1) {
+ fprintf(f, "flower_petals=\"%g\" ", x->flower_petals);
+ fprintf(f, "flower_holes=\"%g\" ", x->flower_holes);
+ }
+
+ if (conic_var==1) {
+ fprintf(f, "conic_eccentricity=\"%g\" ", x->conic_eccentricity);
+ fprintf(f, "conic_holes=\"%g\" ", x->conic_holes);
+ }
+
+ if (parabola_var==1) {
+ fprintf(f, "parabola_height=\"%g\" ", x->parabola_height);
+ fprintf(f, "parabola_width=\"%g\" ", x->parabola_width);
+ }
+
+ if (bent2_var==1) {
+ fprintf(f, "bent2_x=\"%g\" ", x->bent2_x);
+ fprintf(f, "bent2_y=\"%g\" ", x->bent2_y);
+ }
+
+ if (bipolar_var==1) {
+ fprintf(f, "bipolar_shift=\"%g\" ", x->bipolar_shift);
+ }
+
+ if (cell_var==1) {
+ fprintf(f, "cell_size=\"%g\" ", x->cell_size);
+ }
+
+ if (cpow_var==1) {
+ fprintf(f, "cpow_i=\"%g\" ", x->cpow_i);
+ fprintf(f, "cpow_r=\"%g\" ", x->cpow_r);
+ fprintf(f, "cpow_power=\"%g\" ", x->cpow_power);
+ }
+
+ if (curve_var==1) {
+ fprintf(f, "curve_xamp=\"%g\" ", x->curve_xamp);
+ fprintf(f, "curve_yamp=\"%g\" ", x->curve_yamp);
+ fprintf(f, "curve_xlength=\"%g\" ", x->curve_xlength);
+ fprintf(f, "curve_ylength=\"%g\" ", x->curve_ylength);
+ }
+
+ if (escher_var==1) {
+ fprintf(f, "escher_beta=\"%g\" ", x->escher_beta);
+ }
+
+ if (lazys_var==1) {
+ fprintf(f, "lazysusan_x=\"%g\" ", x->lazysusan_x);
+ fprintf(f, "lazysusan_y=\"%g\" ", x->lazysusan_y);
+ fprintf(f, "lazysusan_spin=\"%g\" ", x->lazysusan_spin);
+ fprintf(f, "lazysusan_space=\"%g\" ", x->lazysusan_space);
+ fprintf(f, "lazysusan_twist=\"%g\" ", x->lazysusan_twist);
+ }
+
+ if (modulus_var==1) {
+ fprintf(f, "modulus_x=\"%g\" ", x->modulus_x);
+ fprintf(f, "modulus_y=\"%g\" ", x->modulus_y);
+ }
+
+ if (oscope_var==1) {
+ fprintf(f, "oscilloscope_separation=\"%g\" ", x->oscope_separation);
+ fprintf(f, "oscilloscope_frequency=\"%g\" ", x->oscope_frequency);
+ fprintf(f, "oscilloscope_amplitude=\"%g\" ", x->oscope_amplitude);
+ fprintf(f, "oscilloscope_damping=\"%g\" ", x->oscope_damping);
+ }
+
+ if (popcorn2_var==1) {
+ fprintf(f, "popcorn2_x=\"%g\" ", x->popcorn2_x);
+ fprintf(f, "popcorn2_y=\"%g\" ", x->popcorn2_y);
+ fprintf(f, "popcorn2_c=\"%g\" ", x->popcorn2_c);
+ }
+
+ if (separation_var==1) {
+ fprintf(f, "separation_x=\"%g\" ", x->separation_x);
+ fprintf(f, "separation_y=\"%g\" ", x->separation_y);
+ fprintf(f, "separation_xinside=\"%g\" ", x->separation_xinside);
+ fprintf(f, "separation_yinside=\"%g\" ", x->separation_yinside);
+ }
+
+ if (split_var==1) {
+ fprintf(f, "split_xsize=\"%g\" ", x->split_xsize);
+ fprintf(f, "split_ysize=\"%g\" ", x->split_ysize);
+ }
+
+ if (splits_var==1) {
+ fprintf(f, "splits_x=\"%g\" ", x->splits_x);
+ fprintf(f, "splits_y=\"%g\" ", x->splits_y);
+ }
+
+ if (stripes_var==1) {
+ fprintf(f, "stripes_space=\"%g\" ", x->stripes_space);
+ fprintf(f, "stripes_warp=\"%g\" ", x->stripes_warp);
+ }
+
+ if (wedge_var==1) {
+ fprintf(f, "wedge_angle=\"%g\" ", x->wedge_angle);
+ fprintf(f, "wedge_hole=\"%g\" ", x->wedge_hole);
+ fprintf(f, "wedge_count=\"%g\" ", x->wedge_count);
+ fprintf(f, "wedge_swirl=\"%g\" ", x->wedge_swirl);
+ }
+
+ if (wedgeJ_var==1) {
+ fprintf(f, "wedge_julia_angle=\"%g\" ", x->wedge_julia_angle);
+ fprintf(f, "wedge_julia_count=\"%g\" ", x->wedge_julia_count);
+ fprintf(f, "wedge_julia_power=\"%g\" ", x->wedge_julia_power);
+ fprintf(f, "wedge_julia_dist=\"%g\" ", x->wedge_julia_dist);
+ }
+
+ if (wedgeS_var==1) {
+ fprintf(f, "wedge_sph_angle=\"%g\" ", x->wedge_sph_angle);
+ fprintf(f, "wedge_sph_hole=\"%g\" ", x->wedge_sph_hole);
+ fprintf(f, "wedge_sph_count=\"%g\" ", x->wedge_sph_count);
+ fprintf(f, "wedge_sph_swirl=\"%g\" ", x->wedge_sph_swirl);
+ }
+
+ if (whorl_var==1) {
+ fprintf(f, "whorl_inside=\"%g\" ", x->whorl_inside);
+ fprintf(f, "whorl_outside=\"%g\" ", x->whorl_outside);
+ }
+
+ if (waves2_var==1) {
+ fprintf(f, "waves2_scalex=\"%g\" ", x->waves2_scalex);
+ fprintf(f, "waves2_scaley=\"%g\" ", x->waves2_scaley);
+ fprintf(f, "waves2_freqx=\"%g\" ", x->waves2_freqx);
+ fprintf(f, "waves2_freqy=\"%g\" ", x->waves2_freqy);
+ }
+
+ if (auger_var==1) {
+ fprintf(f, "auger_sym=\"%g\" ", x->auger_sym);
+ fprintf(f, "auger_weight=\"%g\" ", x->auger_weight);
+ fprintf(f, "auger_freq=\"%g\" ", x->auger_freq);
+ fprintf(f, "auger_scale=\"%g\" ", x->auger_scale);
+ }
+
+ fprintf(f, "coefs=\"");
+ for (j = 0; j < 3; j++) {
+ if (j) fprintf(f, " ");
+ fprintf(f, "%g %g", x->c[j][0], x->c[j][1]);
+ }
+ fprintf(f, "\"");
+
+ if (!id_matrix(x->post)) {
+ fprintf(f, " post=\"");
+ for (j = 0; j < 3; j++) {
+ if (j) fprintf(f, " ");
+ fprintf(f, "%g %g", x->post[j][0], x->post[j][1]);
+ }
+ fprintf(f, "\"");
+ }
+
+
+ } else {
+ /* For motion, print any parameter if it's nonzero */
+ PRINTNON(blob_low);
+ PRINTNON(blob_high);
+ PRINTNON(blob_waves);
+
+ PRINTNON(pdj_a);
+ PRINTNON(pdj_b);
+ PRINTNON(pdj_c);
+ PRINTNON(pdj_d);
+
+ PRINTNON(fan2_x);
+ PRINTNON(fan2_y);
+
+ PRINTNON(rings2_val);
+
+ PRINTNON(perspective_angle);
+ PRINTNON(perspective_dist);
+
+ PRINTNON(julian_power);
+ PRINTNON(julian_dist);
+
+ PRINTNON(juliascope_power);
+ PRINTNON(juliascope_dist);
+
+ PRINTNON(radial_blur_angle);
+
+ PRINTNON(pie_slices);
+ PRINTNON(pie_rotation);
+ PRINTNON(pie_thickness);
+
+ PRINTNON(ngon_sides);
+ PRINTNON(ngon_power);
+ PRINTNON(ngon_corners);
+ PRINTNON(ngon_circle);
+
+ PRINTNON(curl_c1);
+ PRINTNON(curl_c2);
+
+ PRINTNON(rectangles_x);
+ PRINTNON(rectangles_y);
+
+ PRINTNON(disc2_rot);
+ PRINTNON(disc2_twist);
+
+ PRINTNON(super_shape_rnd);
+ PRINTNON(super_shape_m);
+ PRINTNON(super_shape_n1);
+ PRINTNON(super_shape_n2);
+ PRINTNON(super_shape_n3);
+ PRINTNON(super_shape_holes);
+
+ PRINTNON(flower_petals);
+ PRINTNON(flower_holes);
+
+ PRINTNON(conic_eccentricity);
+ PRINTNON(conic_holes);
+
+ PRINTNON(parabola_height);
+ PRINTNON(parabola_width);
+
+ PRINTNON(bent2_x);
+ PRINTNON(bent2_y);
+
+ PRINTNON(bipolar_shift);
+
+ PRINTNON(cell_size);
+
+ PRINTNON(cpow_i);
+ PRINTNON(cpow_r);
+ PRINTNON(cpow_power);
+
+ PRINTNON(curve_xamp);
+ PRINTNON(curve_yamp);
+ PRINTNON(curve_xlength);
+ PRINTNON(curve_ylength);
+
+ PRINTNON(escher_beta);
+
+ PRINTNON(lazysusan_x);
+ PRINTNON(lazysusan_y);
+ PRINTNON(lazysusan_spin);
+ PRINTNON(lazysusan_space);
+ PRINTNON(lazysusan_twist);
+
+ PRINTNON(modulus_x);
+ PRINTNON(modulus_y);
+
+ PRINTNON(oscope_separation);
+ PRINTNON(oscope_frequency);
+ PRINTNON(oscope_amplitude);
+ PRINTNON(oscope_damping);
+
+ PRINTNON(popcorn2_x);
+ PRINTNON(popcorn2_y);
+ PRINTNON(popcorn2_c);
+
+ PRINTNON(separation_x);
+ PRINTNON(separation_y);
+ PRINTNON(separation_xinside);
+ PRINTNON(separation_yinside);
+
+ PRINTNON(split_xsize);
+ PRINTNON(split_ysize);
+
+ PRINTNON(splits_x);
+ PRINTNON(splits_y);
+
+ PRINTNON(stripes_space);
+ PRINTNON(stripes_warp);
+
+ PRINTNON(wedge_angle);
+ PRINTNON(wedge_hole);
+ PRINTNON(wedge_count);
+ PRINTNON(wedge_swirl);
+
+ PRINTNON(wedge_julia_angle);
+ PRINTNON(wedge_julia_count);
+ PRINTNON(wedge_julia_power);
+ PRINTNON(wedge_julia_dist);
+
+ PRINTNON(wedge_sph_angle);
+ PRINTNON(wedge_sph_hole);
+ PRINTNON(wedge_sph_count);
+ PRINTNON(wedge_sph_swirl);
+
+ PRINTNON(whorl_inside);
+ PRINTNON(whorl_outside);
+
+ PRINTNON(waves2_scalex);
+ PRINTNON(waves2_scaley);
+ PRINTNON(waves2_freqx);
+ PRINTNON(waves2_freqy);
+
+ PRINTNON(auger_sym);
+ PRINTNON(auger_weight);
+ PRINTNON(auger_freq);
+ PRINTNON(auger_scale);
+
+ if (!zero_matrix(x->c)) {
+ fprintf(f, "coefs=\"");
+ for (j = 0; j < 3; j++) {
+ if (j) fprintf(f, " ");
+ fprintf(f, "%g %g", x->c[j][0], x->c[j][1]);
+ }
+ fprintf(f, "\"");
+ }
+
+ if (!zero_matrix(x->post)) {
+ fprintf(f, " post=\"");
+ for (j = 0; j < 3; j++) {
+ if (j) fprintf(f, " ");
+ fprintf(f, "%g %g", x->post[j][0], x->post[j][1]);
+ }
+ fprintf(f, "\"");
+ }
+ }
+
+ if (!final_flag && !motion_flag && !flam27_flag) {
+
+ /* Print out the chaos row for this xform */
+ int numcols = numstd;
+
+ while (numcols > 0 && chaos_row[numcols-1]==1.0)
+ numcols--;
+
+ if (numcols>0) {
+ fprintf(f, " chaos=\"");
+ for (j=0;j<numcols;j++)
+ fprintf(f, "%g ",chaos_row[j]);
+ fprintf(f, "\"");
+ }
+
+
+ }
+
+ if (!flam27_flag && !motion_flag) {
+ fprintf(f, " opacity=\"%g\"",x->opacity);
+ }
+
+ if (!motion_flag && x->num_motion>0 && !flam27_flag) {
+ int nm;
+
+ fprintf(f,">\n");
+
+ for (nm=0; nm<x->num_motion; nm++)
+ flam3_print_xform(f, &(x->motion[nm]), 0, 0, NULL, 1);
+
+ fprintf(f," </xform>\n");
+ } else
+ fprintf(f, "/>\n");
+}
+
+
+/* returns a uniform variable from 0 to 1 */
+double flam3_random01() {
+ return (random() & 0xfffffff) / (double) 0xfffffff;
+}
+
+double flam3_random11() {
+ return ((random() & 0xfffffff) - 0x7ffffff) / (double) 0x7ffffff;
+}
+
+/* This function must be called prior to rendering a frame */
+void flam3_init_frame(flam3_frame *f) {
+
+ char *ai;
+ char *isaac_seed = args("isaac_seed",NULL);
+ long int default_isaac_seed = (long int)time(0);
+
+ /* Clear out the isaac state */
+ memset(f->rc.randrsl, 0, RANDSIZ*sizeof(ub4));
+
+ /* Set the isaac seed */
+ if (NULL == isaac_seed) {
+ int lp;
+ /* No isaac seed specified. Use the system time to initialize. */
+ for (lp = 0; lp < RANDSIZ; lp++)
+ f->rc.randrsl[lp] = default_isaac_seed;
+ } else {
+ /* Use the specified string */
+ strncpy((char *)&f->rc.randrsl,(const char *)isaac_seed, RANDSIZ*sizeof(ub4));
+ }
+
+ /* Initialize the random number generator */
+ irandinit(&f->rc,1);
+}
+
+/* returns uniform variable from ISAAC rng */
+double flam3_random_isaac_01(randctx *ct) {
+ return ((int)irand(ct) & 0xfffffff) / (double) 0xfffffff;
+}
+
+double flam3_random_isaac_11(randctx *ct) {
+ return (((int)irand(ct) & 0xfffffff) - 0x7ffffff) / (double) 0x7ffffff;
+}
+
+int flam3_random_bit() {
+ /* might not be threadsafe */
+ static int n = 0;
+ static int l;
+ if (0 == n) {
+ l = random();
+ n = 20;
+ } else {
+ l = l >> 1;
+ n--;
+ }
+ return l & 1;
+}
+
+int flam3_random_isaac_bit(randctx *ct) {
+ int tmp = irand(ct);
+ return tmp & 1;
+}
+
+static double round6(double x) {
+ x *= 1e6;
+ if (x < 0) x -= 1.0;
+ return 1e-6*(int)(x+0.5);
+}
+
+/* sym=2 or more means rotational
+ sym=1 means identity, ie no symmetry
+ sym=0 means pick a random symmetry (maybe none)
+ sym=-1 means bilateral (reflection)
+ sym=-2 or less means rotational and reflective
+*/
+void flam3_add_symmetry(flam3_genome *cp, int sym) {
+ int i, j, k;
+ double a;
+ int result = 0;
+
+ if (0 == sym) {
+ static int sym_distrib[] = {
+ -4, -3,
+ -2, -2, -2,
+ -1, -1, -1,
+ 2, 2, 2,
+ 3, 3,
+ 4, 4,
+ };
+ if (random()&1) {
+ sym = random_distrib(sym_distrib);
+ } else if (random()&31) {
+ sym = (random()%13)-6;
+ } else {
+ sym = (random()%51)-25;
+ }
+ }
+
+ if (1 == sym || 0 == sym) return;
+
+ cp->symmetry = sym;
+
+ if (sym < 0) {
+
+ i = cp->num_xforms;
+ flam3_add_xforms(cp,1,0,0);
+
+ cp->xform[i].density = 1.0;
+ cp->xform[i].color_speed = 0.0;
+ cp->xform[i].animate = 0.0;
+ cp->xform[i].var[0] = 1.0;
+ for (j = 1; j < flam3_nvariations; j++)
+ cp->xform[i].var[j] = 0;
+ cp->xform[i].color = 1.0;
+ cp->xform[i].c[0][0] = -1.0;
+ cp->xform[i].c[0][1] = 0.0;
+ cp->xform[i].c[1][0] = 0.0;
+ cp->xform[i].c[1][1] = 1.0;
+ cp->xform[i].c[2][0] = 0.0;
+ cp->xform[i].c[2][1] = 0.0;
+
+ result++;
+ sym = -sym;
+ }
+
+ a = 2*M_PI/sym;
+
+ for (k = 1; k < sym; k++) {
+
+ i = cp->num_xforms;
+ flam3_add_xforms(cp, 1, 0,0);
+
+ cp->xform[i].density = 1.0;
+ cp->xform[i].color_speed = 0.0;
+ cp->xform[i].animate = 0.0;
+ cp->xform[i].var[0] = 1.0;
+ for (j = 1; j < flam3_nvariations; j++)
+ cp->xform[i].var[j] = 0;
+ cp->xform[i].color = (sym<3) ? 0.0 : ((k-1.0)/(sym-2.0));
+ cp->xform[i].c[0][0] = round6(cos(k*a));
+ cp->xform[i].c[0][1] = round6(sin(k*a));
+ cp->xform[i].c[1][0] = round6(-cp->xform[i].c[0][1]);
+ cp->xform[i].c[1][1] = cp->xform[i].c[0][0];
+ cp->xform[i].c[2][0] = 0.0;
+ cp->xform[i].c[2][1] = 0.0;
+
+ result++;
+ }
+
+ qsort((char *) &cp->xform[cp->num_xforms-result], result,
+ sizeof(flam3_xform), compare_xforms);
+
+}
+
+void add_to_action(char *action, char *addtoaction) {
+
+ /* action is a flam3_max_action_length array */
+ if (action != NULL) {
+
+ int alen = strlen(action);
+ int addlen = strlen(addtoaction);
+
+ if (alen+addlen < flam3_max_action_length)
+ strcat(action,addtoaction);
+ else
+ fprintf(stderr,"action string too long, truncating...\n");
+ }
+}
+
+
+void flam3_cross(flam3_genome *cp0, flam3_genome *cp1, flam3_genome *out, int cross_mode, randctx *rc, char *action) {
+
+ int i0,i1, i,j, rb;
+ char ministr[10];
+
+ if (cross_mode == CROSS_NOT_SPECIFIED) {
+
+ double s = flam3_random_isaac_01(rc);
+
+ if (s < 0.1)
+ cross_mode = CROSS_UNION;
+ else if (s < 0.2)
+ cross_mode = CROSS_INTERPOLATE;
+ else
+ cross_mode = CROSS_ALTERNATE;
+
+ }
+
+ if (cross_mode == CROSS_UNION) {
+
+ flam3_xform mycopy;
+
+ /* Make a copy of cp0 */
+ flam3_copy(out, cp0);
+
+ for (j=0;j<cp1->num_xforms;j++) {
+ /* Skip over the final xform, if it's present. */
+ /* Default behavior keeps the final from parent0. */
+ if (cp1->final_xform_index == j)
+ continue;
+ flam3_add_xforms(out, 1, 0, 0);
+ flam3_copy_xform(&out->xform[out->num_xforms-1],&cp1->xform[j]);
+ }
+
+ /* Put the final xform last (if there is one) */
+ /* We do not need to do complicated xform copies here since we're just moving them around */
+ if (out->final_xform_index >= 0) {
+ mycopy = out->xform[out->final_xform_index];
+ out->xform[out->final_xform_index] = out->xform[out->num_xforms-1];
+ out->xform[out->num_xforms-1] = mycopy;
+ out->final_xform_index = out->num_xforms-1;
+ }
+
+ add_to_action(action,"cross union");
+
+ } else if (cross_mode == CROSS_INTERPOLATE) {
+
+ /* linearly interpolate somewhere between the two */
+ flam3_genome parents[2];
+ double t = flam3_random_isaac_01(rc);
+
+ memset(parents, 0, 2*sizeof(flam3_genome));
+
+ flam3_copy(&(parents[0]), cp0);
+ flam3_copy(&(parents[1]), cp1);
+
+ parents[0].time = 0.0;
+ parents[1].time = 1.0;
+ flam3_interpolate(parents, 2, t, 0, out);
+
+ for (i=0;i<out->num_xforms;i++)
+ flam3_delete_motion_elements(&out->xform[i]);
+
+ clear_cp(&parents[0],flam3_defaults_on);
+ clear_cp(&parents[1],flam3_defaults_on);
+
+ sprintf(ministr,"%7.5g",t);
+
+ add_to_action(action,"cross interpolate ");
+ add_to_action(action,ministr);
+
+ } else {
+
+ /* alternate mode */
+ int got0, got1, used_parent;
+ char *trystr;
+
+ trystr = calloc(4 * (cp0->num_xforms + cp1->num_xforms), sizeof(char));
+
+ /* each xform comes from a random parent, possible for an entire parent to be excluded */
+ do {
+
+ trystr[0] = 0;
+ got0 = got1 = 0;
+ rb = flam3_random_isaac_bit(rc);
+ sprintf(ministr,"%d:",rb);
+ strcat(trystr,ministr);
+
+ /* Copy the parent, sorting the final xform to the end if it's present. */
+ if (rb)
+ flam3_copyx(out, cp1, cp1->num_xforms - (cp1->final_xform_index > 0), cp1->final_xform_enable);
+ else
+ flam3_copyx(out, cp0, cp0->num_xforms - (cp0->final_xform_index > 0), cp0->final_xform_enable);
+
+ used_parent = rb;
+
+ /* Only replace non-final xforms */
+
+ for (i = 0; i < out->num_xforms - out->final_xform_enable; i++) {
+ rb = flam3_random_isaac_bit(rc);
+
+ /* Replace xform if bit is 1 */
+ if (rb==1) {
+ if (used_parent==0) {
+ if (i < cp1->num_xforms && cp1->xform[i].density > 0) {
+ flam3_copy_xform(&out->xform[i],&cp1->xform[i]);
+ sprintf(ministr," 1");
+ got1 = 1;
+ } else {
+ sprintf(ministr," 0");
+ got0 = 1;
+ }
+ } else {
+ if (i < cp0->num_xforms && cp0->xform[i].density > 0) {
+ flam3_copy_xform(&out->xform[i],&cp0->xform[i]);
+ sprintf(ministr," 0");
+ got0 = 1;
+ } else {
+ sprintf(ministr," 1");
+ got1 = 1;
+ }
+ }
+ } else {
+ sprintf(ministr," %d",used_parent);
+ if (used_parent)
+ got1 = 1;
+ else
+ got0 = 1;
+ }
+
+ strcat(trystr,ministr);
+ }
+
+ if (used_parent==0 && cp0->final_xform_enable)
+ got0 = 1;
+ else if (used_parent==1 && cp1->final_xform_enable)
+ got1 = 1;
+
+ } while ((i > 1) && !(got0 && got1));
+
+ add_to_action(action,"cross alternate ");
+ add_to_action(action,trystr);
+
+ free(trystr);
+ }
+
+ /* reset color coords */
+ for (i = 0; i < out->num_xforms; i++) {
+ out->xform[i].color = i&1;
+ }
+
+ /* Potentially genetically cross the two colormaps together */
+ if (flam3_random_isaac_01(rc) < 0.4) {
+
+ /* Select the starting parent */
+ int startParent=flam3_random_isaac_bit(rc);
+ int ci;
+
+ add_to_action(action," cmap_cross");
+ sprintf(ministr," %d:",startParent);
+ add_to_action(action,ministr);
+
+ /* Loop over the entries, switching to the other parent 1% of the time */
+ for (ci=0;ci<256;ci++) {
+ if (flam3_random_isaac_01(rc)<.01) {
+ startParent = 1-startParent;
+ sprintf(ministr," %d",ci);
+ add_to_action(action,ministr);
+ }
+
+ out->palette[ci] = startParent ? cp1->palette[ci]: cp0->palette[ci];
+ }
+ }
+
+}
+
+void flam3_mutate(flam3_genome *cp, int mutate_mode, int *ivars, int ivars_n, int sym, double speed, randctx *rc, char *action) {
+
+ double randselect;
+ flam3_genome mutation;
+ int i,j,done;
+ char ministr[30];
+
+ /* If mutate_mode = -1, choose a random mutation mode */
+ if (mutate_mode == MUTATE_NOT_SPECIFIED) {
+
+ randselect = flam3_random_isaac_01(rc);
+
+ if (randselect < 0.1)
+ mutate_mode = MUTATE_ALL_VARIATIONS;
+ else if (randselect < 0.3)
+ mutate_mode = MUTATE_ONE_XFORM_COEFS;
+ else if (randselect < 0.5)
+ mutate_mode = MUTATE_ADD_SYMMETRY;
+ else if (randselect < 0.6)
+ mutate_mode = MUTATE_POST_XFORMS;
+ else if (randselect < 0.7)
+ mutate_mode = MUTATE_COLOR_PALETTE;
+ else if (randselect < 0.8)
+ mutate_mode = MUTATE_DELETE_XFORM;
+ else
+ mutate_mode = MUTATE_ALL_COEFS;
+
+ }
+
+ memset(&mutation, 0, sizeof(flam3_genome));
+
+ if (mutate_mode == MUTATE_ALL_VARIATIONS) {
+
+ add_to_action(action,"mutate all variations");
+
+ do {
+ /* Create a random flame, and use the variations */
+ /* to replace those in the original */
+ flam3_random(&mutation, ivars, ivars_n, sym, cp->num_xforms);
+ for (i = 0; i < cp->num_xforms; i++) {
+ for (j = 0; j < flam3_nvariations; j++) {
+ if (cp->xform[i].var[j] != mutation.xform[i].var[j]) {
+
+ /* Copy the new var weights */
+ cp->xform[i].var[j] = mutation.xform[i].var[j];
+
+ /* Copy parameters for this variation only */
+ flam3_copy_params(&(cp->xform[i]),&(mutation.xform[i]),j);
+
+ done = 1;
+ }
+ }
+ }
+ } while (!done);
+
+ } else if (mutate_mode == MUTATE_ONE_XFORM_COEFS) {
+
+ int modxf;
+
+ /* Generate a 2-xform random */
+ flam3_random(&mutation, ivars, ivars_n, sym, 2);
+
+ /* Which xform do we mutate? */
+ modxf = ((unsigned)irand(rc)) % cp->num_xforms;
+
+ add_to_action(action,"mutate xform ");
+ sprintf(ministr,"%d coefs",modxf);
+ add_to_action(action,ministr);
+
+ /* if less than 3 xforms, then change only the translation part */
+ if (2 >= cp->num_xforms) {
+ for (j = 0; j < 2; j++)
+ cp->xform[modxf].c[2][j] = mutation.xform[0].c[2][j];
+ } else {
+ for (i = 0; i < 3; i++)
+ for (j = 0; j < 2; j++)
+ cp->xform[modxf].c[i][j] = mutation.xform[0].c[i][j];
+ }
+
+ } else if (mutate_mode == MUTATE_ADD_SYMMETRY) {
+
+ add_to_action(action,"mutate symmetry");
+ flam3_add_symmetry(cp, 0);
+
+ } else if (mutate_mode == MUTATE_POST_XFORMS) {
+
+ int b = 1 + ((unsigned)irand(rc))%6;
+ int same = ((unsigned)irand(rc))&3; /* 25% chance of using the same post for all of them */
+
+ sprintf(ministr,"(%d%s)",b,(same>0) ? " same" : "");
+ add_to_action(action,"mutate post xforms ");
+ add_to_action(action,ministr);
+ for (i = 0; i < cp->num_xforms; i++) {
+ int copy = (i > 0) && same;
+
+ if (copy) { /* Copy the post from the first xform to the rest of them */
+ for (j = 0; j < 3; j++) {
+ cp->xform[i].post[j][0] = cp->xform[0].post[j][0];
+ cp->xform[i].post[j][1] = cp->xform[0].post[j][1];
+ }
+
+ } else {
+
+ if (b&1) { /* 50% chance */
+
+ double f = M_PI * flam3_random_isaac_11(rc);
+ double t[2][2];
+
+ t[0][0] = (cp->xform[i].c[0][0] * cos(f) + cp->xform[i].c[0][1] * -sin(f));
+ t[0][1] = (cp->xform[i].c[0][0] * sin(f) + cp->xform[i].c[0][1] * cos(f));
+ t[1][0] = (cp->xform[i].c[1][0] * cos(f) + cp->xform[i].c[1][1] * -sin(f));
+ t[1][1] = (cp->xform[i].c[1][0] * sin(f) + cp->xform[i].c[1][1] * cos(f));
+
+ cp->xform[i].c[0][0] = t[0][0];
+ cp->xform[i].c[0][1] = t[0][1];
+ cp->xform[i].c[1][0] = t[1][0];
+ cp->xform[i].c[1][1] = t[1][1];
+
+ f *= -1.0;
+
+ t[0][0] = (cp->xform[i].post[0][0] * cos(f) + cp->xform[i].post[0][1] * -sin(f));
+ t[0][1] = (cp->xform[i].post[0][0] * sin(f) + cp->xform[i].post[0][1] * cos(f));
+ t[1][0] = (cp->xform[i].post[1][0] * cos(f) + cp->xform[i].post[1][1] * -sin(f));
+ t[1][1] = (cp->xform[i].post[1][0] * sin(f) + cp->xform[i].post[1][1] * cos(f));
+
+ cp->xform[i].post[0][0] = t[0][0];
+ cp->xform[i].post[0][1] = t[0][1];
+ cp->xform[i].post[1][0] = t[1][0];
+ cp->xform[i].post[1][1] = t[1][1];
+
+ }
+
+ if (b&2) { /* 33% chance */
+
+ double f = 0.2 + flam3_random_isaac_01(rc);
+ double g = 0.2 + flam3_random_isaac_01(rc);
+
+ if (flam3_random_isaac_bit(rc))
+ f = 1.0 / f;
+
+ if (flam3_random_isaac_bit(rc))
+ g = f;
+ else {
+ if (flam3_random_isaac_bit(rc))
+ g = 1.0 / g;
+ }
+
+ cp->xform[i].c[0][0] /= f;
+ cp->xform[i].c[0][1] /= f;
+ cp->xform[i].c[1][1] /= g;
+ cp->xform[i].c[1][0] /= g;
+ cp->xform[i].post[0][0] *= f;
+ cp->xform[i].post[1][0] *= f;
+ cp->xform[i].post[0][1] *= g;
+ cp->xform[i].post[1][1] *= g;
+ }
+
+ if (b&4) { /* 16% chance */
+
+ double f = flam3_random_isaac_11(rc);
+ double g = flam3_random_isaac_11(rc);
+
+ cp->xform[i].c[2][0] -= f;
+ cp->xform[i].c[2][1] -= g;
+ cp->xform[i].post[2][0] += f;
+ cp->xform[i].post[2][1] += g;
+ }
+ }
+ }
+ } else if (mutate_mode == MUTATE_COLOR_PALETTE) {
+
+ double s = flam3_random_isaac_01(rc);
+
+ if (s < 0.4) { /* randomize xform color coords */
+
+ flam3_improve_colors(cp, 100, 0, 10);
+ add_to_action(action,"mutate color coords");
+
+ } else if (s < 0.8) { /* randomize xform color coords and palette */
+
+ flam3_improve_colors(cp, 25, 1, 10);
+ add_to_action(action,"mutate color all");
+
+ } else { /* randomize palette only */
+
+ cp->palette_index = flam3_get_palette(flam3_palette_random, cp->palette, cp->hue_rotation);
+ add_to_action(action,"mutate color palette");
+
+ }
+ } else if (mutate_mode == MUTATE_DELETE_XFORM) {
+
+ int nx = ((unsigned)irand(rc))%cp->num_xforms;
+ sprintf(ministr,"%d",nx);
+ add_to_action(action,"mutate delete xform ");
+ add_to_action(action,ministr);
+
+ if (cp->num_xforms > 1)
+ flam3_delete_xform(cp,nx);
+
+ } else { /* MUTATE_ALL_COEFS */
+
+ int x;
+ add_to_action(action,"mutate all coefs");
+ flam3_random(&mutation, ivars, ivars_n, sym, cp->num_xforms);
+
+ /* change all the coefs by a fraction of the random */
+ for (x = 0; x < cp->num_xforms; x++) {
+ for (i = 0; i < 3; i++) {
+ for (j = 0; j < 2; j++) {
+ cp->xform[x].c[i][j] += speed * mutation.xform[x].c[i][j];
+
+ }
+ }
+ /* Eventually, we can mutate the parametric variation coefs here. */
+ }
+ }
+
+ clear_cp(&mutation,flam3_defaults_on);
+
+}
+
+static int random_var() {
+ return random() % flam3_nvariations;
+}
+
+static int random_varn(int n) {
+ return random() % n;
+}
+
+void flam3_random(flam3_genome *cp, int *ivars, int ivars_n, int sym, int spec_xforms) {
+
+ int i, j, nxforms, var, samed, multid, samepost, postid, addfinal=0;
+ int finum = -1;
+ int n;
+ char *ai;
+ int f27 = argi("flam27",0);
+ int mvar = f27 ? 54 : flam3_nvariations;
+ double sum;
+
+ static int xform_distrib[] = {
+ 2, 2, 2, 2,
+ 3, 3, 3, 3,
+ 4, 4, 4,
+ 5, 5,
+ 6
+ };
+
+ clear_cp(cp,flam3_defaults_on);
+
+ cp->hue_rotation = (random()&7) ? 0.0 : flam3_random01();
+ cp->palette_index = flam3_get_palette(flam3_palette_random, cp->palette, cp->hue_rotation);
+ cp->time = 0.0;
+ cp->interpolation = flam3_interpolation_linear;
+ cp->palette_interpolation = flam3_palette_interpolation_hsv;
+
+ /* Choose the number of xforms */
+ if (spec_xforms>0) {
+ nxforms = spec_xforms;
+ flam3_add_xforms(cp,nxforms,0,0);
+ } else {
+ nxforms = random_distrib(xform_distrib);
+ flam3_add_xforms(cp,nxforms,0,0);
+ /* Add a final xform 15% of the time */
+ addfinal = flam3_random01() < 0.15;
+ if (addfinal) {
+ flam3_add_xforms(cp,1,0,1);
+ nxforms = nxforms + addfinal;
+ finum = nxforms-1;
+ }
+ }
+
+ /* If first input variation is 'flam3_variation_random' */
+ /* choose one to use or decide to use multiple */
+ if (flam3_variation_random == ivars[0]) {
+ if (flam3_random_bit()) {
+ var = random_varn(mvar);
+ } else {
+ var = flam3_variation_random;
+ }
+ } else {
+ var = flam3_variation_random_fromspecified;
+ }
+
+ samed = flam3_random_bit();
+ multid = flam3_random_bit();
+ postid = flam3_random01() < 0.6;
+ samepost = flam3_random_bit();
+
+ /* Loop over xforms */
+ for (i = 0; i < nxforms; i++) {
+ int j, k;
+ cp->xform[i].density = 1.0 / nxforms;
+ cp->xform[i].color = i&1;
+ cp->xform[i].color_speed = 0.5;
+ cp->xform[i].animate = 1.0;
+ for (j = 0; j < 3; j++) {
+ for (k = 0; k < 2; k++) {
+ cp->xform[i].c[j][k] = flam3_random11();
+ cp->xform[i].post[j][k] = (double)(k==j);
+ }
+ }
+
+ if ( i != finum ) {
+
+ if (!postid) {
+
+ for (j = 0; j < 3; j++)
+ for (k = 0; k < 2; k++) {
+ if (samepost || (i==0))
+ cp->xform[i].post[j][k] = flam3_random11();
+ else
+ cp->xform[i].post[j][k] = cp->xform[0].post[j][k];
+ }
+ }
+
+ /* Clear all variation coefs */
+ for (j = 0; j < flam3_nvariations; j++)
+ cp->xform[i].var[j] = 0.0;
+
+ if (flam3_variation_random != var &&
+ flam3_variation_random_fromspecified != var) {
+
+ /* Use only one variation specified for all xforms */
+ cp->xform[i].var[var] = 1.0;
+
+ } else if (multid && flam3_variation_random == var) {
+
+ /* Choose a random var for this xform */
+ cp->xform[i].var[random_varn(mvar)] = 1.0;
+
+ } else {
+
+ if (samed && i > 0) {
+
+ /* Copy the same variations from the previous xform */
+ for (j = 0; j < flam3_nvariations; j++) {
+ cp->xform[i].var[j] = cp->xform[i-1].var[j];
+ flam3_copy_params(&(cp->xform[i]),&(cp->xform[i-1]),j);
+ }
+
+ } else {
+
+ /* Choose a random number of vars to use, at least 2 */
+ /* but less than flam3_nvariations.Probability leans */
+ /* towards fewer variations. */
+ n = 2;
+ while ((flam3_random_bit()) && (n<mvar))
+ n++;
+
+ /* Randomly choose n variations, and change their weights. */
+ /* A var can be selected more than once, further reducing */
+ /* the probability that multiple vars are used. */
+ for (j = 0; j < n; j++) {
+ if (flam3_variation_random_fromspecified != var)
+ cp->xform[i].var[random_varn(mvar)] = flam3_random01();
+ else
+ cp->xform[i].var[ivars[random_varn(ivars_n)]] = flam3_random01();
+ }
+
+ /* Normalize weights to 1.0 total. */
+ sum = 0.0;
+ for (j = 0; j < flam3_nvariations; j++)
+ sum += cp->xform[i].var[j];
+ if (sum == 0.0)
+ cp->xform[i].var[random_var()] = 1.0;
+ else {
+ for (j = 0; j < flam3_nvariations; j++)
+ cp->xform[i].var[j] /= sum;
+ }
+ }
+ }
+ } else {
+ /* Handle final xform randomness. */
+ n = 1;
+ if (flam3_random_bit()) n++;
+
+ /* Randomly choose n variations, and change their weights. */
+ /* A var can be selected more than once, further reducing */
+ /* the probability that multiple vars are used. */
+ for (j = 0; j < n; j++) {
+ if (flam3_variation_random_fromspecified != var)
+ cp->xform[i].var[random_varn(mvar)] = flam3_random01();
+ else
+ cp->xform[i].var[ivars[random_varn(ivars_n)]] = flam3_random01();
+ }
+
+ /* Normalize weights to 1.0 total. */
+ sum = 0.0;
+ for (j = 0; j < flam3_nvariations; j++)
+ sum += cp->xform[i].var[j];
+ if (sum == 0.0)
+ cp->xform[i].var[random_var()] = 1.0;
+ else {
+ for (j = 0; j < flam3_nvariations; j++)
+ cp->xform[i].var[j] /= sum;
+ }
+ }
+
+ /* Generate random params for parametric variations, if selected. */
+ if (cp->xform[i].var[VAR_BLOB] > 0) {
+ /* Create random params for blob */
+ cp->xform[i].blob_low = 0.2 + 0.5 * flam3_random01();
+ cp->xform[i].blob_high = 0.8 + 0.4 * flam3_random01();
+ cp->xform[i].blob_waves = (int)(2 + 5 * flam3_random01());
+ }
+
+ if (cp->xform[i].var[VAR_PDJ] > 0) {
+ /* Create random params for PDJ */
+ cp->xform[i].pdj_a = 3.0 * flam3_random11();
+ cp->xform[i].pdj_b = 3.0 * flam3_random11();
+ cp->xform[i].pdj_c = 3.0 * flam3_random11();
+ cp->xform[i].pdj_d = 3.0 * flam3_random11();
+ }
+
+ if (cp->xform[i].var[VAR_FAN2] > 0) {
+ /* Create random params for fan2 */
+ cp->xform[i].fan2_x = flam3_random11();
+ cp->xform[i].fan2_y = flam3_random11();
+ }
+
+ if (cp->xform[i].var[VAR_RINGS2] > 0) {
+ /* Create random params for rings2 */
+ cp->xform[i].rings2_val = 2*flam3_random01();
+ }
+
+ if (cp->xform[i].var[VAR_PERSPECTIVE] > 0) {
+
+ /* Create random params for perspective */
+ cp->xform[i].perspective_angle = flam3_random01();
+ cp->xform[i].perspective_dist = 2*flam3_random01() + 1.0;
+
+ }
+
+ if (cp->xform[i].var[VAR_JULIAN] > 0) {
+
+ /* Create random params for julian */
+ cp->xform[i].julian_power = (int)(5*flam3_random01() + 2);
+ cp->xform[i].julian_dist = 1.0;
+
+ }
+
+ if (cp->xform[i].var[VAR_JULIASCOPE] > 0) {
+
+ /* Create random params for juliaScope */
+ cp->xform[i].juliascope_power = (int)(5*flam3_random01() + 2);
+ cp->xform[i].juliascope_dist = 1.0;
+
+ }
+
+ if (cp->xform[i].var[VAR_RADIAL_BLUR] > 0) {
+
+ /* Create random params for radialBlur */
+ cp->xform[i].radial_blur_angle = (2 * flam3_random01() - 1);
+
+ }
+
+ if (cp->xform[i].var[VAR_PIE] > 0) {
+ /* Create random params for pie */
+ cp->xform[i].pie_slices = (int) 10.0*flam3_random01();
+ cp->xform[i].pie_thickness = flam3_random01();
+ cp->xform[i].pie_rotation = 2.0 * M_PI * flam3_random11();
+ }
+
+ if (cp->xform[i].var[VAR_NGON] > 0) {
+ /* Create random params for ngon */
+ cp->xform[i].ngon_sides = (int) flam3_random01()* 10 + 3;
+ cp->xform[i].ngon_power = 3*flam3_random01() + 1;
+ cp->xform[i].ngon_circle = 3*flam3_random01();
+ cp->xform[i].ngon_corners = 2*flam3_random01()*cp->xform[i].ngon_circle;
+ }
+
+ if (cp->xform[i].var[VAR_CURL] > 0) {
+ /* Create random params for curl */
+ cp->xform[i].curl_c1 = flam3_random01();
+ cp->xform[i].curl_c2 = flam3_random01();
+ }
+
+ if (cp->xform[i].var[VAR_RECTANGLES] > 0) {
+ /* Create random params for rectangles */
+ cp->xform[i].rectangles_x = flam3_random01();
+ cp->xform[i].rectangles_y = flam3_random01();
+ }
+
+ if (cp->xform[i].var[VAR_DISC2] > 0) {
+ /* Create random params for disc2 */
+ cp->xform[i].disc2_rot = 0.5 * flam3_random01();
+ cp->xform[i].disc2_twist = 0.5 * flam3_random01();
+
+ }
+
+ if (cp->xform[i].var[VAR_SUPER_SHAPE] > 0) {
+ /* Create random params for supershape */
+ cp->xform[i].super_shape_rnd = flam3_random01();
+ cp->xform[i].super_shape_m = (int) flam3_random01()*6;
+ cp->xform[i].super_shape_n1 = flam3_random01()*40;
+ cp->xform[i].super_shape_n2 = flam3_random01()*20;
+ cp->xform[i].super_shape_n3 = cp->xform[i].super_shape_n2;
+ cp->xform[i].super_shape_holes = 0.0;
+ }
+
+ if (cp->xform[i].var[VAR_FLOWER] > 0) {
+ /* Create random params for flower */
+ cp->xform[i].flower_petals = 4 * flam3_random01();
+ cp->xform[i].flower_holes = flam3_random01();
+ }
+
+ if (cp->xform[i].var[VAR_CONIC] > 0) {
+ /* Create random params for conic */
+ cp->xform[i].conic_eccentricity = flam3_random01();
+ cp->xform[i].conic_holes = flam3_random01();
+ }
+
+ if (cp->xform[i].var[VAR_PARABOLA] > 0) {
+ /* Create random params for parabola */
+ cp->xform[i].parabola_height = 0.5 + flam3_random01();
+ cp->xform[i].parabola_width = 0.5 + flam3_random01();
+ }
+
+ if (cp->xform[i].var[VAR_BENT2] > 0) {
+ /* Create random params for bent2 */
+ cp->xform[i].bent2_x = 3*(-0.5 + flam3_random01());
+ cp->xform[i].bent2_y = 3*(-0.5 + flam3_random01());
+ }
+
+ if (cp->xform[i].var[VAR_BIPOLAR] > 0) {
+ /* Create random params for bipolar */
+ cp->xform[i].bipolar_shift = 2.0 * flam3_random01() - 1;
+ }
+
+ if (cp->xform[i].var[VAR_CELL] > 0) {
+ /* Create random params for cell */
+ cp->xform[i].cell_size = 2.0 * flam3_random01() + 0.5;
+ }
+
+ if (cp->xform[i].var[VAR_CPOW] > 0) {
+ /* Create random params for cpow */
+ cp->xform[i].cpow_r = 3.0 * flam3_random01();
+ cp->xform[i].cpow_i = flam3_random01() - 0.5;
+ cp->xform[i].cpow_power = (int)(5.0 * flam3_random01());
+ }
+
+ if (cp->xform[i].var[VAR_CURVE] > 0) {
+ /* Create random params for curve */
+ cp->xform[i].curve_xamp = 5 * (flam3_random01()-.5);
+ cp->xform[i].curve_yamp = 4 * (flam3_random01()-.5);
+ cp->xform[i].curve_xlength = 2 * (flam3_random01()+.5);
+ cp->xform[i].curve_ylength = 2 * (flam3_random01()+.5);
+ }
+
+ if (cp->xform[i].var[VAR_ESCHER] > 0) {
+ /* Create random params for escher */
+ cp->xform[i].escher_beta = M_PI * flam3_random11();
+ }
+
+ if (cp->xform[i].var[VAR_LAZYSUSAN] > 0) {
+ /* Create random params for lazysusan */
+ cp->xform[i].lazysusan_x = 2.0*flam3_random11();
+ cp->xform[i].lazysusan_y = 2.0*flam3_random11();
+ cp->xform[i].lazysusan_spin = M_PI*flam3_random11();
+ cp->xform[i].lazysusan_space = 2.0*flam3_random11();
+ cp->xform[i].lazysusan_twist = 2.0*flam3_random11();
+ }
+
+ if (cp->xform[i].var[VAR_MODULUS] > 0) {
+ /* Create random params for modulus */
+ cp->xform[i].modulus_x = flam3_random11();
+ cp->xform[i].modulus_y = flam3_random11();
+ }
+
+ if (cp->xform[i].var[VAR_OSCILLOSCOPE] > 0) {
+ /* Create random params for oscope */
+ cp->xform[i].oscope_separation = 1.0 + flam3_random11();
+ cp->xform[i].oscope_frequency = M_PI * flam3_random11();
+ cp->xform[i].oscope_amplitude = 1.0 + 2 * flam3_random01();
+ cp->xform[i].oscope_damping = flam3_random01();
+ }
+
+ if (cp->xform[i].var[VAR_POPCORN2] > 0) {
+ /* Create random params for popcorn2 */
+ cp->xform[i].popcorn2_x = 0.2 * flam3_random01();
+ cp->xform[i].popcorn2_y = 0.2 * flam3_random01();
+ cp->xform[i].popcorn2_c = 5 * flam3_random01();
+ }
+
+ if (cp->xform[i].var[VAR_SEPARATION] > 0) {
+ /* Create random params for separation */
+ cp->xform[i].separation_x = 1 + flam3_random11();
+ cp->xform[i].separation_y = 1 + flam3_random11();
+ cp->xform[i].separation_xinside = flam3_random11();
+ cp->xform[i].separation_yinside = flam3_random11();
+ }
+
+ if (cp->xform[i].var[VAR_SPLIT] > 0) {
+ /* Create random params for split */
+ cp->xform[i].split_xsize = flam3_random11();
+ cp->xform[i].split_ysize = flam3_random11();
+ }
+
+ if (cp->xform[i].var[VAR_SPLITS] > 0) {
+ /* Create random params for splits */
+ cp->xform[i].splits_x = flam3_random11();
+ cp->xform[i].splits_y = flam3_random11();
+ }
+
+ if (cp->xform[i].var[VAR_STRIPES] > 0) {
+ /* Create random params for stripes */
+ cp->xform[i].stripes_space = flam3_random01();
+ cp->xform[i].stripes_warp = 5*flam3_random01();
+ }
+
+ if (cp->xform[i].var[VAR_WEDGE] > 0) {
+ /* Create random params for wedge */
+ cp->xform[i].wedge_angle = M_PI*flam3_random01();
+ cp->xform[i].wedge_hole = 0.5*flam3_random11();
+ cp->xform[i].wedge_count = floor(5*flam3_random01())+1;
+ cp->xform[i].wedge_swirl = flam3_random01();
+ }
+
+ if (cp->xform[i].var[VAR_WEDGE_JULIA] > 0) {
+
+ /* Create random params for wedge_julia */
+ cp->xform[i].wedge_julia_power = (int)(5*flam3_random01() + 2);
+ cp->xform[i].wedge_julia_dist = 1.0;
+ cp->xform[i].wedge_julia_count = (int)(3*flam3_random01() + 1);
+ cp->xform[i].wedge_julia_angle = M_PI * flam3_random01();
+
+ }
+
+ if (cp->xform[i].var[VAR_WEDGE_SPH] > 0) {
+ /* Create random params for wedge_sph */
+ cp->xform[i].wedge_sph_angle = M_PI*flam3_random01();
+ cp->xform[i].wedge_sph_hole = 0.5*flam3_random11();
+ cp->xform[i].wedge_sph_count = floor(5*flam3_random01())+1;
+ cp->xform[i].wedge_sph_swirl = flam3_random01();
+ }
+
+ if (cp->xform[i].var[VAR_WHORL] > 0) {
+ /* Create random params for whorl */
+ cp->xform[i].whorl_inside = flam3_random01();
+ cp->xform[i].whorl_outside = flam3_random01();
+ }
+
+ if (cp->xform[i].var[VAR_WAVES2] > 0) {
+ /* Create random params for waves2 */
+ cp->xform[i].waves2_scalex = 0.5 + flam3_random01();
+ cp->xform[i].waves2_scaley = 0.5 + flam3_random01();
+ cp->xform[i].waves2_freqx = 4 * flam3_random01();
+ cp->xform[i].waves2_freqy = 4 * flam3_random01();
+ }
+
+ if (cp->xform[i].var[VAR_AUGER] > 0) {
+ /* Create random params for auger */
+ cp->xform[i].auger_sym = 0;
+ cp->xform[i].auger_weight = 0.5 + flam3_random01()/2.0;
+ cp->xform[i].auger_freq = floor(5*flam3_random01())+1;
+ cp->xform[i].auger_scale = flam3_random01();
+ }
+
+ }
+
+ /* Randomly add symmetry (but not if we've already added a final xform) */
+ if (sym || (!(random()%4) && !addfinal))
+ flam3_add_symmetry(cp, sym);
+ else
+ cp->symmetry = 0;
+
+ //qsort((char *) cp->xform, (cp->num_xforms-addfinal), sizeof(flam3_xform), compare_xforms);
+
+
+}
+
+
+static int sort_by_x(const void *av, const void *bv) {
+ double *a = (double *) av;
+ double *b = (double *) bv;
+ if (a[0] < b[0]) return -1;
+ if (a[0] > b[0]) return 1;
+ return 0;
+}
+
+static int sort_by_y(const void *av, const void *bv) {
+ double *a = (double *) av;
+ double *b = (double *) bv;
+ if (a[1] < b[1]) return -1;
+ if (a[1] > b[1]) return 1;
+ return 0;
+}
+
+
+/* Memory helper functions because
+
+ Python on Windows uses the MSVCR71.dll version of the C Runtime and
+ mingw uses the MSVCRT.dll version. */
+
+void *flam3_malloc(size_t size) {
+
+ return (malloc(size));
+
+}
+
+void flam3_free(void *ptr) {
+
+ free(ptr);
+
+}
+
+/*
+ * find a 2d bounding box that does not enclose eps of the fractal density
+ * in each compass direction.
+ */
+int flam3_estimate_bounding_box(flam3_genome *cp, double eps, int nsamples,
+ double *bmin, double *bmax, randctx *rc) {
+ int i;
+ int low_target, high_target;
+ double min[2], max[2];
+ double *points;
+ int bv;
+ unsigned short *xform_distrib;
+
+ if (nsamples <= 0) nsamples = 10000;
+
+ points = (double *) malloc(sizeof(double) * 4 * nsamples);
+ points[0] = flam3_random_isaac_11(rc);
+ points[1] = flam3_random_isaac_11(rc);
+ points[2] = 0.0;
+ points[3] = 0.0;
+
+ if (prepare_xform_fn_ptrs(cp,rc))
+ return(-1);
+ xform_distrib = flam3_create_xform_distrib(cp);
+ if (xform_distrib==NULL)
+ return(-1);
+ bv=flam3_iterate(cp, nsamples, 20, points, xform_distrib, rc);
+ free(xform_distrib);
+
+ if ( bv/(double)nsamples > eps )
+ eps = 3*bv/(double)nsamples;
+
+ if ( eps > 0.3 )
+ eps = 0.3;
+
+ low_target = (int)(nsamples * eps);
+ high_target = nsamples - low_target;
+
+
+ min[0] = min[1] = 1e10;
+ max[0] = max[1] = -1e10;
+
+ for (i = 0; i < nsamples; i++) {
+ double *p = &points[4*i];
+ if (p[0] < min[0]) min[0] = p[0];
+ if (p[1] < min[1]) min[1] = p[1];
+ if (p[0] > max[0]) max[0] = p[0];
+ if (p[1] > max[1]) max[1] = p[1];
+ }
+
+ if (low_target == 0) {
+ bmin[0] = min[0];
+ bmin[1] = min[1];
+ bmax[0] = max[0];
+ bmax[1] = max[1];
+ free(points);
+ return(bv);
+ }
+
+ qsort(points, nsamples, sizeof(double) * 4, sort_by_x);
+ bmin[0] = points[4 * low_target];
+ bmax[0] = points[4 * high_target];
+
+ qsort(points, nsamples, sizeof(double) * 4, sort_by_y);
+ bmin[1] = points[4 * low_target + 1];
+ bmax[1] = points[4 * high_target + 1];
+ free(points);
+
+ return(bv);
+}
+
+
+typedef double bucket_double[5];
+typedef double abucket_double[4];
+typedef unsigned int bucket_int[5];
+typedef unsigned int abucket_int[4];
+typedef float bucket_float[5];
+typedef float abucket_float[4];
+
+#ifdef HAVE_GCC_64BIT_ATOMIC_OPS
+static inline void
+double_atomic_add(double *dest, double delta)
+{
+ uint64_t *int_ptr = (uint64_t *)dest;
+ union {
+ double dblval;
+ uint64_t intval;
+ } old_val, new_val;
+ int success;
+
+ do {
+ old_val.dblval = *dest;
+ new_val.dblval = old_val.dblval + delta;
+ success = __sync_bool_compare_and_swap(
+ int_ptr, old_val.intval, new_val.intval);
+ } while (!success);
+}
+#endif /* HAVE_GCC_64BIT_ATOMIC_OPS */
+
+#ifdef HAVE_GCC_ATOMIC_OPS
+static inline void
+float_atomic_add(float *dest, float delta)
+{
+ uint32_t *int_ptr = (uint32_t *)dest;
+ union {
+ float fltval;
+ uint32_t intval;
+ } old_val, new_val;
+ int success;
+
+ do {
+ old_val.fltval = *dest;
+ new_val.fltval = old_val.fltval + delta;
+ success = __sync_bool_compare_and_swap(
+ int_ptr, old_val.intval, new_val.intval);
+ } while (!success);
+}
+
+static inline void
+uint_atomic_add(unsigned int *dest, unsigned int delta)
+{
+ unsigned int old_val, new_val;
+ int success;
+
+ do {
+ old_val = *dest;
+ if (UINT_MAX - old_val > delta)
+ new_val = old_val + delta;
+ else
+ new_val = UINT_MAX;
+ success = __sync_bool_compare_and_swap(
+ dest, old_val, new_val);
+ } while (!success);
+}
+
+static inline void
+ushort_atomic_add(unsigned short *dest, unsigned short delta)
+{
+ unsigned short old_val, new_val;
+ int success;
+
+ do {
+ old_val = *dest;
+ if (USHRT_MAX - old_val > delta)
+ new_val = old_val + delta;
+ else
+ new_val = USHRT_MAX;
+ success = __sync_bool_compare_and_swap(
+ dest, old_val, new_val);
+ } while (!success);
+}
+#endif /* HAVE_GCC_ATOMIC_OPS */
+
+/* 64-bit datatypes */
+#define bucket bucket_double
+#define abucket abucket_double
+#define abump_no_overflow(dest, delta) do {dest += delta;} while (0)
+#define add_c_to_accum(acc,i,ii,j,jj,wid,hgt,c) do { \
+ if ( (j) + (jj) >=0 && (j) + (jj) < (hgt) && (i) + (ii) >=0 && (i) + (ii) < (wid)) { \
+ abucket *a = (acc) + ( (i) + (ii) ) + ( (j) + (jj) ) * (wid); \
+ abump_no_overflow(a[0][0],(c)[0]); \
+ abump_no_overflow(a[0][1],(c)[1]); \
+ abump_no_overflow(a[0][2],(c)[2]); \
+ abump_no_overflow(a[0][3],(c)[3]); \
+ } \
+} while (0)
+/* single-threaded */
+#define USE_LOCKS
+#define bump_no_overflow(dest, delta) do {dest += delta;} while (0)
+#define render_rectangle render_rectangle_double
+#define iter_thread iter_thread_double
+#define de_thread_helper de_thread_helper_64
+#define de_thread de_thread_64
+#include "rect.c"
+#ifdef HAVE_GCC_64BIT_ATOMIC_OPS
+ /* multi-threaded */
+ #undef USE_LOCKS
+ #undef bump_no_overflow
+ #undef render_rectangle
+ #undef iter_thread
+ #undef de_thread_helper
+ #undef de_thread
+ #define bump_no_overflow(dest, delta) double_atomic_add(&dest, delta)
+ #define render_rectangle render_rectangle_double_mt
+ #define iter_thread iter_thread_double_mt
+ #define de_thread_helper de_thread_helper_64_mt
+ #define de_thread de_thread_64_mt
+ #include "rect.c"
+#else /* !HAVE_GCC_64BIT_ATOMIC_OPS */
+ #define render_rectangle_double_mt render_rectangle_double
+#endif /* HAVE_GCC_64BIT_ATOMIC_OPS */
+#undef render_rectangle
+#undef iter_thread
+#undef add_c_to_accum
+#undef bucket
+#undef abucket
+#undef bump_no_overflow
+#undef abump_no_overflow
+#undef de_thread_helper
+#undef de_thread
+
+/* 32-bit datatypes */
+#define bucket bucket_int
+#define abucket abucket_int
+#define abump_no_overflow(dest, delta) do { \
+ if (UINT_MAX - dest > delta) dest += delta; else dest = UINT_MAX; \
+} while (0)
+#define add_c_to_accum(acc,i,ii,j,jj,wid,hgt,c) do { \
+ if ( (j) + (jj) >=0 && (j) + (jj) < (hgt) && (i) + (ii) >=0 && (i) + (ii) < (wid)) { \
+ abucket *a = (acc) + ( (i) + (ii) ) + ( (j) + (jj) ) * (wid); \
+ abump_no_overflow(a[0][0],(c)[0]); \
+ abump_no_overflow(a[0][1],(c)[1]); \
+ abump_no_overflow(a[0][2],(c)[2]); \
+ abump_no_overflow(a[0][3],(c)[3]); \
+ } \
+} while (0)
+/* single-threaded */
+#define USE_LOCKS
+#define bump_no_overflow(dest, delta) do { \
+ if (UINT_MAX - dest > delta) dest += delta; else dest = UINT_MAX; \
+} while (0)
+#define render_rectangle render_rectangle_int
+#define iter_thread iter_thread_int
+#define de_thread_helper de_thread_helper_32
+#define de_thread de_thread_32
+#include "rect.c"
+#ifdef HAVE_GCC_ATOMIC_OPS
+ /* multi-threaded */
+ #undef USE_LOCKS
+ #undef bump_no_overflow
+ #undef render_rectangle
+ #undef iter_thread
+ #undef de_thread_helper
+ #undef de_thread
+ #define bump_no_overflow(dest, delta) uint_atomic_add(&dest, delta)
+ #define render_rectangle render_rectangle_int_mt
+ #define iter_thread iter_thread_int_mt
+ #define de_thread_helper de_thread_helper_32_mt
+ #define de_thread de_thread_32_mt
+ #include "rect.c"
+#else /* !HAVE_GCC_ATOMIC_OPS */
+ #define render_rectangle_int_mt render_rectangle_int
+#endif /* HAVE_GCC_ATOMIC_OPS */
+#undef iter_thread
+#undef render_rectangle
+#undef add_c_to_accum
+#undef bucket
+#undef abucket
+#undef bump_no_overflow
+#undef abump_no_overflow
+#undef de_thread_helper
+#undef de_thread
+
+/* experimental 32-bit datatypes (called 33) */
+#define bucket bucket_int
+#define abucket abucket_float
+#define abump_no_overflow(dest, delta) do {dest += delta;} while (0)
+#define add_c_to_accum(acc,i,ii,j,jj,wid,hgt,c) do { \
+ if ( (j) + (jj) >=0 && (j) + (jj) < (hgt) && (i) + (ii) >=0 && (i) + (ii) < (wid)) { \
+ abucket *a = (acc) + ( (i) + (ii) ) + ( (j) + (jj) ) * (wid); \
+ abump_no_overflow(a[0][0],(c)[0]); \
+ abump_no_overflow(a[0][1],(c)[1]); \
+ abump_no_overflow(a[0][2],(c)[2]); \
+ abump_no_overflow(a[0][3],(c)[3]); \
+ } \
+} while (0)
+/* single-threaded */
+#define USE_LOCKS
+#define bump_no_overflow(dest, delta) do { \
+ if (UINT_MAX - dest > delta) dest += delta; else dest = UINT_MAX; \
+} while (0)
+#define render_rectangle render_rectangle_float
+#define iter_thread iter_thread_float
+#define de_thread_helper de_thread_helper_33
+#define de_thread de_thread_33
+#include "rect.c"
+#ifdef HAVE_GCC_ATOMIC_OPS
+ /* multi-threaded */
+ #undef USE_LOCKS
+ #undef bump_no_overflow
+ #undef render_rectangle
+ #undef iter_thread
+ #undef de_thread_helper
+ #undef de_thread
+ #define bump_no_overflow(dest, delta) uint_atomic_add(&dest, delta)
+ #define render_rectangle render_rectangle_float_mt
+ #define iter_thread iter_thread_float_mt
+ #define de_thread_helper de_thread_helper_33_mt
+ #define de_thread de_thread_33_mt
+ #include "rect.c"
+#else /* !HAVE_GCC_ATOMIC_OPS */
+ #define render_rectangle_float_mt render_rectangle_float
+#endif /* HAVE_GCC_ATOMIC_OPS */
+#undef iter_thread
+#undef render_rectangle
+#undef add_c_to_accum
+#undef bucket
+#undef abucket
+#undef bump_no_overflow
+#undef abump_no_overflow
+#undef de_thread_helper
+#undef de_thread
+
+
+double flam3_render_memory_required(flam3_frame *spec)
+{
+ flam3_genome *cps = spec->genomes;
+ int real_bits = spec->bits;
+
+ if (33 == real_bits) real_bits = 32;
+
+ /* note 4 channels * 2 buffers cancels out 8 bits per byte */
+ /* does not yet include memory for density estimation filter */
+
+ return
+ (double) cps[0].spatial_oversample * cps[0].spatial_oversample *
+ (double) cps[0].width * cps[0].height * real_bits;
+}
+
+void bits_error(flam3_frame *spec) {
+ fprintf(stderr, "flam3: bits must be 32, 33, or 64 not %d.\n",
+ spec->bits);
+}
+
+int flam3_render(flam3_frame *spec, void *out,
+ int field, int nchan, int trans, stat_struct *stats) {
+
+ int retval;
+
+ if (spec->nthreads <= 2) {
+ /* single-threaded or 2 threads without atomic operations */
+ switch (spec->bits) {
+ case 32:
+ retval = render_rectangle_int(spec, out, field, nchan, trans, stats);
+ return(retval);
+ case 33:
+ retval = render_rectangle_float(spec, out, field, nchan, trans, stats);
+ return(retval);
+ case 64:
+ retval = render_rectangle_double(spec, out, field, nchan, trans, stats);
+ return(retval);
+ default:
+ bits_error(spec);
+ return(1);
+ }
+ } else {
+ /* 3+ threads using atomic ops if available */
+ switch (spec->bits) {
+ case 32:
+ retval = render_rectangle_int_mt(spec, out, field, nchan, trans, stats);
+ return(retval);
+ case 33:
+ retval = render_rectangle_float_mt(spec, out, field, nchan, trans, stats);
+ return(retval);
+ case 64:
+ retval = render_rectangle_double_mt(spec, out, field, nchan, trans, stats);
+ return(retval);
+ default:
+ bits_error(spec);
+ return(1);
+ }
+ }
+}
+
+
+void flam3_srandom() {
+ unsigned int seed;
+ char *s = getenv("seed");
+
+ if (s)
+ seed = atoi(s);
+ else
+ seed = time(0) + getpid();
+
+ srandom(seed);
+}
+
+
+/* correlation dimension, after clint sprott.
+ computes slope of the correlation sum at a size scale
+ the order of 2% the size of the attractor or the camera. */
+double flam3_dimension(flam3_genome *cp, int ntries, int clip_to_camera) {
+ double fd;
+ double *hist;
+ double bmin[2];
+ double bmax[2];
+ double d2max;
+ int lp;
+ long int default_isaac_seed = (long int)time(0);
+ randctx rc;
+ int SBS = 10000;
+ int i, n1=0, n2=0, got, nclipped;
+
+ /* Set up the isaac rng */
+ for (lp = 0; lp < RANDSIZ; lp++)
+ rc.randrsl[lp] = default_isaac_seed;
+
+ irandinit(&rc,1);
+
+ if (ntries < 2) ntries = 3000*1000;
+
+ if (clip_to_camera) {
+ double scale, ppux, corner0, corner1;
+ scale = pow(2.0, cp->zoom);
+ ppux = cp->pixels_per_unit * scale;
+ corner0 = cp->center[0] - cp->width / ppux / 2.0;
+ corner1 = cp->center[1] - cp->height / ppux / 2.0;
+ bmin[0] = corner0;
+ bmin[1] = corner1;
+ bmax[0] = corner0 + cp->width / ppux;
+ bmax[1] = corner1 + cp->height / ppux;
+ } else {
+ if (flam3_estimate_bounding_box(cp, 0.0, 0, bmin, bmax, &rc)<0)
+ return(-1.0);
+
+ }
+
+ d2max =
+ (bmax[0] - bmin[0]) * (bmax[0] - bmin[0]) +
+ (bmax[1] - bmin[1]) * (bmax[1] - bmin[1]);
+
+ // fprintf(stderr, "d2max=%g %g %g %g %g\n", d2max,
+ // bmin[0], bmin[1], bmax[0], bmax[1]);
+
+ hist = malloc(2 * ntries * sizeof(double));
+
+ got = 0;
+ nclipped = 0;
+ while (got < 2*ntries) {
+ double subb[40000];
+ int i4, clipped;
+ unsigned short *xform_distrib;
+ subb[0] = flam3_random_isaac_11(&rc);
+ subb[1] = flam3_random_isaac_11(&rc);
+ subb[2] = 0.0;
+ subb[3] = 0.0;
+ if (prepare_xform_fn_ptrs(cp,&rc))
+ return(-1.0);
+ xform_distrib = flam3_create_xform_distrib(cp);
+ if (xform_distrib==NULL)
+ return(-1.0);
+ flam3_iterate(cp, SBS, 20, subb, xform_distrib, &rc);
+ free(xform_distrib);
+ i4 = 0;
+ for (i = 0; i < SBS; i++) {
+ if (got == 2*ntries) break;
+ clipped = clip_to_camera &&
+ ((subb[i4] < bmin[0]) ||
+ (subb[i4+1] < bmin[1]) ||
+ (subb[i4] > bmax[0]) ||
+ (subb[i4+1] > bmax[1]));
+ if (!clipped) {
+ hist[got] = subb[i4];
+ hist[got+1] = subb[i4+1];
+ got += 2;
+ } else {
+ nclipped++;
+ if (nclipped > 10 * ntries) {
+ fprintf(stderr, "warning: too much clipping, "
+ "flam3_dimension giving up.\n");
+ return sqrt(-1.0);
+ }
+ }
+ i4 += 4;
+ }
+ }
+ if (0)
+ fprintf(stderr, "cliprate=%g\n", nclipped/(ntries+(double)nclipped));
+
+ for (i = 0; i < ntries; i++) {
+ int ri;
+ double dx, dy, d2;
+ double tx, ty;
+
+ tx = hist[2*i];
+ ty = hist[2*i+1];
+
+ do {
+ ri = 2 * (random() % ntries);
+ } while (ri == i);
+
+ dx = hist[ri] - tx;
+ dy = hist[ri+1] - ty;
+ d2 = dx*dx + dy*dy;
+ if (d2 < 0.004 * d2max) n2++;
+ if (d2 < 0.00004 * d2max) n1++;
+ }
+
+ fd = 0.434294 * log(n2 / (n1 - 0.5));
+
+ if (0)
+ fprintf(stderr, "n1=%d n2=%d\n", n1, n2);
+
+ free(hist);
+ return fd;
+}
+
+double flam3_lyapunov(flam3_genome *cp, int ntries) {
+ double p[4];
+ double x, y;
+ double xn, yn;
+ double xn2, yn2;
+ double dx, dy, r;
+ double eps = 1e-5;
+ int i;
+ double sum = 0.0;
+ unsigned short *xform_distrib;
+
+ int lp;
+ long int default_isaac_seed = (long int)time(0);
+ randctx rc;
+
+ /* Set up the isaac rng */
+ for (lp = 0; lp < RANDSIZ; lp++)
+ rc.randrsl[lp] = default_isaac_seed;
+
+ irandinit(&rc,1);
+
+
+ if (ntries < 1) ntries = 10000;
+
+ for (i = 0; i < ntries; i++) {
+ x = flam3_random_isaac_11(&rc);
+ y = flam3_random_isaac_11(&rc);
+
+ p[0] = x;
+ p[1] = y;
+ p[2] = 0.0;
+ p[3] = 0.0;
+
+ // get into the attractor
+ if (prepare_xform_fn_ptrs(cp,&rc))
+ return(-1.0);
+ xform_distrib = flam3_create_xform_distrib(cp);
+ if (xform_distrib==NULL)
+ return(-1.0);
+
+ flam3_iterate(cp, 1, 20+(random()%10), p, xform_distrib, &rc);
+ free(xform_distrib);
+
+ x = p[0];
+ y = p[1];
+
+ // take one deterministic step
+ srandom(i);
+
+ if (prepare_xform_fn_ptrs(cp,&rc))
+ return(-1.0);
+ xform_distrib = flam3_create_xform_distrib(cp);
+ if (xform_distrib==NULL)
+ return(-1.0);
+
+ flam3_iterate(cp, 1, 0, p, xform_distrib, &rc);
+ free(xform_distrib);
+
+ xn = p[0];
+ yn = p[1];
+
+ do {
+ dx = flam3_random_isaac_11(&rc);
+ dy = flam3_random_isaac_11(&rc);
+ r = sqrt(dx * dx + dy * dy);
+ } while (r == 0.0);
+ dx /= r;
+ dy /= r;
+
+ dx *= eps;
+ dy *= eps;
+
+ p[0] = x + dx;
+ p[1] = y + dy;
+ p[2] = 0.0;
+
+ // take the same step but with eps
+ srandom(i);
+ if (prepare_xform_fn_ptrs(cp,&rc))
+ return(-1.0);
+ xform_distrib = flam3_create_xform_distrib(cp);
+ if (xform_distrib==NULL)
+ return(-1.0);
+
+ flam3_iterate(cp, 1, 0, p, xform_distrib, &rc);
+ free(xform_distrib);
+
+ xn2 = p[0];
+ yn2 = p[1];
+
+ r = sqrt((xn-xn2)*(xn-xn2) + (yn-yn2)*(yn-yn2));
+
+ sum += log(r/eps);
+ }
+ return sum/(log(2.0)*ntries);
+}
+
diff --git a/src/flam3.dsw b/src/flam3.dsw
new file mode 100644
index 0000000..ac76a19
--- /dev/null
+++ b/src/flam3.dsw
@@ -0,0 +1,65 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "anim"=.\anim.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "convert"=.\convert.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "hqi"=.\hqi.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "pick"=.\pick.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/src/flam3.h b/src/flam3.h
new file mode 100644
index 0000000..7ccb135
--- /dev/null
+++ b/src/flam3.h
@@ -0,0 +1,657 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+
+#ifndef flam3_included
+#define flam3_included
+
+#include <stdio.h>
+#include <libxml/parser.h>
+#include "isaac.h"
+
+#if defined(_MSC_VER) /* VC++ */
+#include <windows.h>
+#define EXPORT __declspec (dllexport)
+#else
+#define EXPORT
+#endif
+
+EXPORT char *flam3_version();
+
+#define flam3_palette_random (-1)
+#define flam3_palette_interpolated (-2)
+
+#define flam3_defaults_on (1)
+#define flam3_defaults_off (0)
+
+#define flam3_name_len 64
+
+#define flam3_print_edits (1)
+#define flam3_dont_print_edits (0)
+
+//typedef double flam3_palette[256][3];
+typedef struct {
+ double index;
+ double color[4];
+} flam3_palette_entry;
+
+typedef flam3_palette_entry flam3_palette[256];
+
+int flam3_get_palette(int palette_index, flam3_palette p, double hue_rotation);
+
+#define flam3_variation_random (-1)
+#define flam3_variation_random_fromspecified (-2)
+
+extern char *flam3_variation_names[];
+
+#define flam3_nvariations 97
+#define flam3_nxforms 12
+
+#define flam3_parent_fn_len 30
+
+#define flam3_interpolation_linear 0
+#define flam3_interpolation_smooth 1
+
+#define flam3_inttype_linear 0
+#define flam3_inttype_log 1
+#define flam3_inttype_compat 2 /* Linear and old behaviour */
+#define flam3_inttype_older 3 /* rotate padded xforms */
+
+#define flam3_palette_interpolation_hsv 0
+#define flam3_palette_interpolation_sweep 1
+
+#define flam3_max_action_length 10000
+
+#define flam3_palette_mode_step 0
+#define flam3_palette_mode_linear 1
+
+#define VAR_LINEAR 0
+#define VAR_SINUSOIDAL 1
+#define VAR_SPHERICAL 2
+#define VAR_SWIRL 3
+#define VAR_HORSESHOE 4
+#define VAR_POLAR 5
+#define VAR_HANDKERCHIEF 6
+#define VAR_HEART 7
+#define VAR_DISC 8
+#define VAR_SPIRAL 9
+#define VAR_HYPERBOLIC 10
+#define VAR_DIAMOND 11
+#define VAR_EX 12
+#define VAR_JULIA 13
+#define VAR_BENT 14
+#define VAR_WAVES 15
+#define VAR_FISHEYE 16
+#define VAR_POPCORN 17
+#define VAR_EXPONENTIAL 18
+#define VAR_POWER 19
+#define VAR_COSINE 20
+#define VAR_RINGS 21
+#define VAR_FAN 22
+#define VAR_BLOB 23
+#define VAR_PDJ 24
+#define VAR_FAN2 25
+#define VAR_RINGS2 26
+#define VAR_EYEFISH 27
+#define VAR_BUBBLE 28
+#define VAR_CYLINDER 29
+#define VAR_PERSPECTIVE 30
+#define VAR_NOISE 31
+#define VAR_JULIAN 32
+#define VAR_JULIASCOPE 33
+#define VAR_BLUR 34
+#define VAR_GAUSSIAN_BLUR 35
+#define VAR_RADIAL_BLUR 36
+#define VAR_PIE 37
+#define VAR_NGON 38
+#define VAR_CURL 39
+#define VAR_RECTANGLES 40
+#define VAR_ARCH 41
+#define VAR_TANGENT 42
+#define VAR_SQUARE 43
+#define VAR_RAYS 44
+#define VAR_BLADE 45
+#define VAR_SECANT2 46
+#define VAR_TWINTRIAN 47
+#define VAR_CROSS 48
+#define VAR_DISC2 49
+#define VAR_SUPER_SHAPE 50
+#define VAR_FLOWER 51
+#define VAR_CONIC 52
+#define VAR_PARABOLA 53
+#define VAR_BENT2 54
+#define VAR_BIPOLAR 55
+#define VAR_BOARDERS 56
+#define VAR_BUTTERFLY 57
+#define VAR_CELL 58
+#define VAR_CPOW 59
+#define VAR_CURVE 60
+#define VAR_EDISC 61
+#define VAR_ELLIPTIC 62
+#define VAR_ESCHER 63
+#define VAR_FOCI 64
+#define VAR_LAZYSUSAN 65
+#define VAR_LOONIE 66
+#define VAR_PRE_BLUR 67
+#define VAR_MODULUS 68
+#define VAR_OSCILLOSCOPE 69
+#define VAR_POLAR2 70
+#define VAR_POPCORN2 71
+#define VAR_SCRY 72
+#define VAR_SEPARATION 73
+#define VAR_SPLIT 74
+#define VAR_SPLITS 75
+#define VAR_STRIPES 76
+#define VAR_WEDGE 77
+#define VAR_WEDGE_JULIA 78
+#define VAR_WEDGE_SPH 79
+#define VAR_WHORL 80
+#define VAR_WAVES2 81
+#define VAR_EXP 82
+#define VAR_LOG 83
+#define VAR_SIN 84
+#define VAR_COS 85
+#define VAR_TAN 86
+#define VAR_SEC 87
+#define VAR_CSC 88
+#define VAR_COT 89
+#define VAR_SINH 90
+#define VAR_COSH 91
+#define VAR_TANH 92
+#define VAR_SECH 93
+#define VAR_CSCH 94
+#define VAR_COTH 95
+#define VAR_AUGER 96
+
+typedef struct {
+
+ double badvals;
+ long int num_iters;
+ int render_seconds;
+
+} stat_struct;
+
+typedef struct {
+
+ unsigned int width, height;
+ int version;
+ int id;
+
+ /* There are 256 levels of gray to work with */
+ double intensity_weight[256];
+ unsigned int bin_size[256];
+ unsigned int bin_offset[256];
+
+ /* Pointer to newly allocated memory; we will be allocating */
+ /* 2*w*h ushorts for this storage. The bin offset will */
+ /* provide the starting point for a random selection from */
+ /* (bin size) ordered pairs */
+ unsigned short *rowcols;
+
+} flam3_image_store;
+
+
+typedef struct xform {
+ double var[flam3_nvariations]; /* interp coefs between variations */
+ double c[3][2]; /* the coefs to the affine part of the function */
+ double post[3][2]; /* the post transform */
+ double density; /* probability that this function is chosen. 0 - 1 */
+ double color; /* color coords for this function. 0 - 1 */
+ double color_speed; /* scaling factor on color added to current iteration */
+ double animate; /* whether or not this xform rotates (in sheep) >0 means stationary */
+ double opacity; /* 0=invisible, 1=totally visible */
+ double vis_adjusted; /* adjusted visibility for better transitions */
+
+ int padding;/* Set to 1 for padding xforms */
+ double wind[2]; /* winding numbers */
+
+ int precalc_angles_flag;
+ int precalc_atan_xy_flag;
+ int precalc_atan_yx_flag;
+ double has_preblur;
+ int has_post;
+
+ /* Params for new parameterized variations */
+ /* Blob */
+ double blob_low;
+ double blob_high;
+ double blob_waves;
+
+ /* PDJ */
+ double pdj_a;
+ double pdj_b;
+ double pdj_c;
+ double pdj_d;
+
+ /* Fan2 */
+ double fan2_x;
+ double fan2_y;
+
+ /* Rings2 */
+ double rings2_val;
+
+ /* Perspective */
+ double perspective_angle;
+ double perspective_dist;
+
+ /* Julia_N */
+ double julian_power;
+ double julian_dist;
+
+ /* Julia_Scope */
+ double juliascope_power;
+ double juliascope_dist;
+
+ /* Radial_Blur */
+ double radial_blur_angle;
+
+ /* Pie */
+ double pie_slices;
+ double pie_rotation;
+ double pie_thickness;
+
+ /* Ngon */
+ double ngon_sides;
+ double ngon_power;
+ double ngon_circle;
+ double ngon_corners;
+
+ /* Curl */
+ double curl_c1;
+ double curl_c2;
+
+ /* Rectangles */
+ double rectangles_x;
+ double rectangles_y;
+
+ /* AMW */
+ double amw_amp;
+
+ /* Disc 2 */
+ double disc2_rot;
+ double disc2_twist;
+
+ /* Supershape */
+ double super_shape_rnd;
+ double super_shape_m;
+ double super_shape_n1;
+ double super_shape_n2;
+ double super_shape_n3;
+ double super_shape_holes;
+
+ /* Flower */
+ double flower_petals;
+ double flower_holes;
+
+ /* Conic */
+ double conic_eccentricity;
+ double conic_holes;
+
+ /* Parabola */
+ double parabola_height;
+ double parabola_width;
+
+ /* Bent2 */
+ double bent2_x;
+ double bent2_y;
+
+ /* Bipolar */
+ double bipolar_shift;
+
+ /* Cell */
+ double cell_size;
+
+ /* Cpow */
+ double cpow_r;
+ double cpow_i;
+ double cpow_power; /* int in apo */
+
+ /* Curve */
+ double curve_xamp,curve_yamp;
+ double curve_xlength,curve_ylength;
+
+ /* Escher */
+ double escher_beta;
+
+ /* Lazysusan */
+ double lazysusan_spin;
+ double lazysusan_space;
+ double lazysusan_twist;
+ double lazysusan_x, lazysusan_y;
+
+ /* Modulus */
+ double modulus_x, modulus_y;
+
+ /* Oscope */
+ double oscope_separation;
+ double oscope_frequency;
+ double oscope_amplitude;
+ double oscope_damping;
+
+ /* Popcorn2 */
+ double popcorn2_x, popcorn2_y, popcorn2_c;
+
+ /* Separation */
+ double separation_x, separation_xinside;
+ double separation_y, separation_yinside;
+
+ /* Split */
+ double split_xsize;
+ double split_ysize;
+
+ /* Splits */
+ double splits_x,splits_y;
+
+ /* Stripes */
+ double stripes_space;
+ double stripes_warp;
+
+ /* Wedge */
+ double wedge_angle, wedge_hole;
+ double wedge_count, wedge_swirl;
+
+ /* Wedge_Julia */
+ double wedge_julia_angle;
+ double wedge_julia_count;
+ double wedge_julia_power;
+ double wedge_julia_dist;
+
+ /* Wedge_Sph */
+ double wedge_sph_angle, wedge_sph_count;
+ double wedge_sph_hole, wedge_sph_swirl;
+
+ /* Whorl */
+ double whorl_inside, whorl_outside;
+
+ /* Waves2 */
+ double waves2_freqx, waves2_scalex;
+ double waves2_freqy, waves2_scaley;
+
+ /* Auger */
+ double auger_sym, auger_weight;
+ double auger_freq, auger_scale;
+
+ /* If perspective is used, precalculate these values */
+ /* from the _angle and _dist */
+ double persp_vsin;
+ double persp_vfcos;
+
+ /* If Julia_N is used, precalculate these values */
+ double julian_rN;
+ double julian_cn;
+
+ /* If Julia_Scope is used, precalculate these values */
+ double juliascope_rN;
+ double juliascope_cn;
+
+ /* if Wedge_Julia, precalculate */
+ double wedgeJulia_rN;
+ double wedgeJulia_cn;
+ double wedgeJulia_cf;
+
+ /* If Radial_Blur is used, precalculate these values */
+ double radialBlur_spinvar;
+ double radialBlur_zoomvar;
+
+ /* Precalculate these values for waves */
+ double waves_dx2;
+ double waves_dy2;
+
+ /* If disc2 is used, precalculate these values */
+ double disc2_sinadd;
+ double disc2_cosadd;
+ double disc2_timespi;
+
+ /* If supershape is used, precalculate these values */
+ double super_shape_pm_4;
+ double super_shape_pneg1_n1;
+
+ int num_active_vars;
+ double active_var_weights[flam3_nvariations];
+ int varFunc[flam3_nvariations];
+
+ int motion_freq;
+ int motion_func;
+
+ struct xform *motion;
+ int num_motion;
+
+
+} flam3_xform;
+
+typedef struct {
+ char flame_name[flam3_name_len+1]; /* 64 chars plus a null */
+ double time;
+ int interpolation;
+ int interpolation_type;
+ int palette_interpolation;
+ int num_xforms;
+ int final_xform_index;
+ int final_xform_enable;
+ flam3_xform *xform;
+
+ /* Xaos implementation */
+ double **chaos;
+ int chaos_enable;
+
+ int genome_index; /* index into source file */
+ char parent_fname[flam3_parent_fn_len]; /* base filename where parent was located */
+ int symmetry; /* 0 means none */
+ flam3_palette palette;
+ char *input_image; /* preview/temporary! */
+ int palette_index;
+ double brightness; /* 1.0 = normal */
+ double contrast; /* 1.0 = normal */
+ double gamma;
+ double highlight_power;
+ int width, height; /* of the final image */
+ int spatial_oversample;
+ double center[2]; /* of camera */
+ double rot_center[2]; /* really the center */
+ double rotate; /* camera */
+ double vibrancy; /* blend between color algs (0=old,1=new) */
+ double hue_rotation; /* applies to cmap, 0-1 */
+ double background[3];
+ double zoom; /* effects ppu, sample density, scale */
+ double pixels_per_unit; /* vertically */
+ double spatial_filter_radius; /* radius of spatial filter */
+ int spatial_filter_select; /* selected spatial filter */
+// double (*spatial_filter_func)(double); /* spatial filter kernel function */
+// double spatial_filter_support; /* size of standard kernel for specific function */
+ double sample_density; /* samples per pixel (not bucket) */
+ /* in order to motion blur more accurately we compute the logs of the
+ sample density many times and average the results. */
+ /* nbatches is the number of times the buckets are filtered into
+ the abucket log accumulator */
+ /* ntemporal_samples is the number of time steps per batch. this many
+ interpolated control points are used per batch and accumulated */
+ int nbatches;
+ int ntemporal_samples;
+
+ /* Density estimation parameters for blurring low density hits */
+ double estimator; /* Filter width for bin with one hit */
+ double estimator_curve; /* Exponent on decay function ( MAX / a^(k-1) ) */
+ double estimator_minimum; /* Minimum filter width used -
+ forces filter to be used of at least this width on all pts */
+
+ /* XML Edit structure */
+ xmlDocPtr edits;
+
+ /* Small-gamma linearization threshold */
+ double gam_lin_thresh;
+
+ /* for cmap_interpolated hack */
+ int palette_index0;
+ double hue_rotation0;
+ int palette_index1;
+ double hue_rotation1;
+ double palette_blend;
+
+ int temporal_filter_type; /* Temporal filters */
+ double temporal_filter_width, temporal_filter_exp;
+
+ int palette_mode;
+
+
+} flam3_genome;
+
+typedef struct {
+ int from;
+ int to;
+ double scalar;
+} flam3_chaos_entry;
+
+/* xform manipulation */
+
+void flam3_add_motion_element(flam3_xform *xf);
+void flam3_add_xforms(flam3_genome *cp, int num_to_add, int interp_padding, int final_flag);
+void flam3_delete_xform(flam3_genome *thiscp, int idx_to_delete);
+void flam3_copy_xform(flam3_xform *dest, flam3_xform *src);
+void flam3_copy(flam3_genome *dest, flam3_genome *src);
+void flam3_copyx(flam3_genome *dest, flam3_genome *src, int num_std, int num_final);
+void flam3_copy_params(flam3_xform *dest, flam3_xform *src, int varn);
+void flam3_delete_motion_elements(flam3_xform *xf);
+
+EXPORT int flam3_xform_preview(flam3_genome *cp, int xi, double range, int numvals, int depth, double *result, randctx *rc);
+EXPORT unsigned short* flam3_create_xform_distrib(flam3_genome *cp);
+int flam3_create_chaos_distrib(flam3_genome *cp, int xi, unsigned short *xform_distrib);
+int flam3_check_unity_chaos(flam3_genome *cp);
+void clear_cp(flam3_genome *cp, int def_flag);
+
+/* samples is array nsamples*4 long of x,y,color triples.
+ using (samples[0], samples[1]) as starting XY point and
+ (samples[2], samples[3]) as starting color coordinate,
+ perform fuse iterations and throw them away, then perform
+ nsamples iterations and save them in the samples array */
+EXPORT int flam3_iterate(flam3_genome *g, int nsamples, int fuse, double *samples,
+ unsigned short *xform_distrib, randctx *rc);
+
+void apply_motion_parameters(flam3_xform *xf, flam3_xform *addto, double blend);
+
+/* genomes is array ngenomes long, with times set and in ascending order.
+ interpolate to the requested time and return in result */
+EXPORT void flam3_interpolate(flam3_genome *genomes, int ngenomes, double time, double stagger, flam3_genome *result);
+
+/* print genome to given file with extra_attributes if not NULL */
+void flam3_print(FILE *f, flam3_genome *g, char *extra_attributes, int print_edits);
+void flam3_print_xform(FILE *f, flam3_xform *x, int final_flag, int numstd, double *chaos_row, int motion_flag);
+char *flam3_print_to_string(flam3_genome *cp);
+
+/* ivars is a list of variations to use, or flam3_variation_random */
+/* ivars_n is the number of values in ivars to select from. */
+/* sym is either a symmetry group or 0 meaning random or no symmetry */
+/* spec_xforms specifies the number of xforms to use, setting to 0 makes the number random. */
+EXPORT void flam3_random(flam3_genome *g, int *ivars, int ivars_n, int sym, int spec_xforms);
+
+void add_to_action(char *action, char *addtoaction);
+
+EXPORT void flam3_mutate(flam3_genome *cp, int mutate_mode, int *ivars, int ivars_n, int sym, double speed, randctx *rc, char *action);
+EXPORT void flam3_cross(flam3_genome *cp0, flam3_genome *cp1, flam3_genome *out, int cross_mode, randctx *rc, char *action);
+
+/* return NULL in case of error */
+EXPORT flam3_genome *flam3_parse_xml2(char *s, char *fn, int default_flag, int *ncps);
+flam3_genome *flam3_parse_from_file(FILE *f, char *fn, int default_flag, int *ncps);
+
+void flam3_add_symmetry(flam3_genome *g, int sym);
+
+void flam3_improve_colors(flam3_genome *g, int ntries, int change_palette, int color_resolution);
+EXPORT int flam3_colorhist(flam3_genome *cp, int num_batches, double *hist);
+EXPORT int flam3_estimate_bounding_box(flam3_genome *g, double eps, int nsamples,
+ double *bmin, double *bmax, randctx *rc);
+void flam3_rotate(flam3_genome *g, double angle, int interp_type); /* angle in degrees */
+
+double flam3_dimension(flam3_genome *g, int ntries, int clip_to_camera);
+double flam3_lyapunov(flam3_genome *g, int ntries);
+
+void flam3_apply_template(flam3_genome *cp, flam3_genome *templ);
+
+EXPORT int flam3_count_nthreads(void);
+
+typedef struct {
+// double temporal_filter_radius;
+ double pixel_aspect_ratio; /* width over height of each pixel */
+ flam3_genome *genomes;
+ int ngenomes;
+ int verbose;
+ int bits;
+ int bytes_per_channel;
+ int earlyclip;
+ double time;
+ int (*progress)(void *, double, int, double);
+ void *progress_parameter;
+ randctx rc;
+ int nthreads;
+ int sub_batch_size;
+} flam3_frame;
+
+
+#define flam3_field_both 0
+#define flam3_field_even 1
+#define flam3_field_odd 2
+
+/* out is pixel array.
+ pixels are rgb or rgba if nchan is 3 or 4. */
+EXPORT int flam3_render(flam3_frame *f, void *out, int field, int nchan, int transp, stat_struct *stats);
+
+EXPORT double flam3_render_memory_required(flam3_frame *f);
+EXPORT int flam3_make_strip(flam3_genome *cp, int nstrips, int stripnum);
+void rotate_by(double *p, double *center, double by);
+
+
+double flam3_random01();
+double flam3_random11();
+int flam3_random_bit();
+
+/* ISAAC random numbers */
+double flam3_random_isaac_01(randctx *);
+double flam3_random_isaac_11(randctx *);
+int flam3_random_isaac_bit(randctx *);
+
+EXPORT void flam3_init_frame(flam3_frame *f);
+
+/* External memory helpers */
+EXPORT void *flam3_malloc(size_t size);
+EXPORT void flam3_free(void *ptr);
+
+void flam3_srandom();
+
+flam3_genome *sheep_loop(flam3_genome *cp, double blend);
+flam3_genome *sheep_edge(flam3_genome *cp, double blend, int seqflag, double stagger);
+
+/* Motion function indices */
+#define MOTION_SIN 1
+#define MOTION_TRIANGLE 2
+#define MOTION_HILL 3
+
+/* Mutation modes */
+#define MUTATE_NOT_SPECIFIED -1
+#define MUTATE_ALL_VARIATIONS 0
+#define MUTATE_ONE_XFORM_COEFS 1
+#define MUTATE_ADD_SYMMETRY 2
+#define MUTATE_POST_XFORMS 3
+#define MUTATE_COLOR_PALETTE 4
+#define MUTATE_DELETE_XFORM 5
+#define MUTATE_ALL_COEFS 6
+
+/* Cross modes */
+#define CROSS_NOT_SPECIFIED -1
+#define CROSS_UNION 0
+#define CROSS_INTERPOLATE 1
+#define CROSS_ALTERNATE 2
+
+#endif
diff --git a/src/flam3.pc.in b/src/flam3.pc.in
new file mode 100644
index 0000000..e78b2da
--- /dev/null
+++ b/src/flam3.pc.in
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+datarootdir=@datarootdir@
+
+Name: flam3
+Description: Renders and animates fractal flames and manipulates their genetic codes, see www.flam3.com for more info.
+Version: @VERSION@
+Requires: libpng12 >= 1.0 libxml-2.0
+Libs: -L${libdir} -lflam3 -ljpeg -lpthread
+Cflags: -I${includedir}
diff --git a/src/genome.dsp b/src/genome.dsp
new file mode 100644
index 0000000..5ea7f1c
--- /dev/null
+++ b/src/genome.dsp
@@ -0,0 +1,146 @@
+# Microsoft Developer Studio Project File - Name="pick" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=pick - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "genome.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "genome.mak" CFG="pick - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "pick - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "pick - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "pick - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "c:\src\libpng" /I "c:\src\zlib" /I "c:\src\libxml2\include" /I "c:\src\jpeg" /I "c:\src\iconv\include" /I "c:\src\pthreads" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /Zm1000 /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib c:\src\jpeg\libjpeg.lib c:\src\libpng\libpng.lib c:\src\libxml2\lib\libxml2.lib c:\src\zlib\zlib.lib c:\src\pthreads\pthreadVC2.lib /nologo /subsystem:console /machine:I386 /out:"Release/flam3-genome.exe"
+
+!ELSEIF "$(CFG)" == "pick - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "c:\src\libpng" /I "c:\src\libxml2\include" /I "c:\src\jpeg" /I "c:\src\iconv\include" /I "c:\src\zlib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /Zm1000 /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib c:\src\jpeg\libjpeg.lib c:\src\libpng\libpng.lib c:\src\libxml2\lib\libxml2.lib c:\src\zlib\zlib.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "pick - Win32 Release"
+# Name "pick - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\docstring.c
+# End Source File
+# Begin Source File
+
+SOURCE=".\flam3-genome.c"
+# End Source File
+# Begin Source File
+
+SOURCE=".\flam3-palettes.c"
+# End Source File
+# Begin Source File
+
+SOURCE=.\flam3.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\isaac.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\jpeg.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\png.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=cmap.h
+# End Source File
+# Begin Source File
+
+SOURCE=config.h
+# End Source File
+# Begin Source File
+
+SOURCE=jpeg.h
+# End Source File
+# Begin Source File
+
+SOURCE=libifs.h
+# End Source File
+# Begin Source File
+
+SOURCE=rect.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/src/img.h b/src/img.h
new file mode 100644
index 0000000..6bab912
--- /dev/null
+++ b/src/img.h
@@ -0,0 +1,44 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+
+#include <stdio.h>
+#include "flam3.h"
+
+#define FLAM3_PNG_COM 8
+
+#ifdef WIN32
+ #define snprintf _snprintf
+#endif
+
+typedef struct {
+
+ char *genome;
+ char *badvals;
+ char *numiters;
+ char *rtime;
+
+} flam3_img_comments;
+
+
+void write_jpeg(FILE *file, unsigned char *image, int width, int height, flam3_img_comments *fpc);
+void write_png(FILE *file, void *image, int width, int height, flam3_img_comments *fpc, int bpc);
+
+/* returns RGBA pixel array or NULL on failure */
+unsigned char *read_png(FILE *file, int *width, int *height);
+unsigned char *read_jpeg(FILE *file, int *width, int *height);
diff --git a/src/install-sh b/src/install-sh
new file mode 100755
index 0000000..e843669
--- /dev/null
+++ b/src/install-sh
@@ -0,0 +1,250 @@
+#!/bin/sh
+#
+# install - install a program, script, or datafile
+# This comes from X11R5 (mit/util/scripts/install.sh).
+#
+# Copyright 1991 by the Massachusetts Institute of Technology
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of M.I.T. not be used in advertising or
+# publicity pertaining to distribution of the software without specific,
+# written prior permission. M.I.T. makes no representations about the
+# suitability of this software for any purpose. It is provided "as is"
+# without express or implied warranty.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch. It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+ case $1 in
+ -c) instcmd="$cpprog"
+ shift
+ continue;;
+
+ -d) dir_arg=true
+ shift
+ continue;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd="$stripprog"
+ shift
+ continue;;
+
+ -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+ shift
+ continue;;
+
+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+ shift
+ continue;;
+
+ *) if [ x"$src" = x ]
+ then
+ src=$1
+ else
+ # this colon is to work around a 386BSD /bin/sh bug
+ :
+ dst=$1
+ fi
+ shift
+ continue;;
+ esac
+done
+
+if [ x"$src" = x ]
+then
+ echo "install: no input file specified"
+ exit 1
+else
+ true
+fi
+
+if [ x"$dir_arg" != x ]; then
+ dst=$src
+ src=""
+
+ if [ -d $dst ]; then
+ instcmd=:
+ else
+ instcmd=mkdir
+ fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad
+# if $src (and thus $dsttmp) contains '*'.
+
+ if [ -f $src -o -d $src ]
+ then
+ true
+ else
+ echo "install: $src does not exist"
+ exit 1
+ fi
+
+ if [ x"$dst" = x ]
+ then
+ echo "install: no destination specified"
+ exit 1
+ else
+ true
+ fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+ if [ -d $dst ]
+ then
+ dst="$dst"/`basename $src`
+ else
+ true
+ fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+# this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='
+'
+IFS="${IFS-${defaultIFS}}"
+
+oIFS="${IFS}"
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS="${oIFS}"
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+ pathcomp="${pathcomp}${1}"
+ shift
+
+ if [ ! -d "${pathcomp}" ] ;
+ then
+ $mkdirprog "${pathcomp}"
+ else
+ true
+ fi
+
+ pathcomp="${pathcomp}/"
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+ $doit $instcmd $dst &&
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+ if [ x"$transformarg" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ dstfile=`basename $dst $transformbasename |
+ sed $transformarg`$transformbasename
+ fi
+
+# don't allow the sed command to completely eliminate the filename
+
+ if [ x"$dstfile" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ true
+ fi
+
+# Make a temp file name in the proper directory.
+
+ dsttmp=$dstdir/#inst.$$#
+
+# Move or copy the file name to the temp name
+
+ $doit $instcmd $src $dsttmp &&
+
+ trap "rm -f ${dsttmp}" 0 &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing. If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+
+# Now rename the file to the real destination.
+
+ $doit $rmcmd -f $dstdir/$dstfile &&
+ $doit $mvcmd $dsttmp $dstdir/$dstfile
+
+fi &&
+
+
+exit 0
diff --git a/src/interpolation.c b/src/interpolation.c
new file mode 100644
index 0000000..d9219fd
--- /dev/null
+++ b/src/interpolation.c
@@ -0,0 +1,956 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#include "interpolation.h"
+#include "palettes.h"
+
+double adjust_percentage(double in) {
+
+ if (in==0.0)
+ return(0.0);
+ else
+ return(pow(10.0, -log(1.0/in)/log(2)));
+
+}
+
+double motion_funcs(int funcnum, double timeval) {
+
+ /* motion funcs should be cyclic, and equal to 0 at integral time values */
+ /* abs peak values should be not be greater than 1 */
+ if (funcnum==MOTION_SIN) {
+ return (sin(2.0*M_PI*timeval));
+ } else if (funcnum==MOTION_TRIANGLE) {
+ double fr = fmod(timeval,1.0);
+
+ if (fr<0) fr+= 1.0;
+
+ if (fr<=.25)
+ fr = 4.0 * fr;
+ else if (fr<=.75)
+ fr = -4.0 * fr + 2.0;
+ else
+ fr = 4.0 * fr - 4.0;
+
+ return(fr);
+ } else { //if (funcnum==MOTION_HILL) {
+ return( (1.0-cos(2.0*M_PI*timeval)) * 0.5);
+ }
+
+}
+
+double det_matrix(double s[2][2]) {
+ return s[0][0] * s[1][1] - s[0][1] * s[1][0];
+}
+
+int id_matrix(double s[3][2]) {
+ return
+ (s[0][0] == 1.0) &&
+ (s[0][1] == 0.0) &&
+ (s[1][0] == 0.0) &&
+ (s[1][1] == 1.0) &&
+ (s[2][0] == 0.0) &&
+ (s[2][1] == 0.0);
+}
+
+int zero_matrix(double s[3][2]) {
+ return
+ (s[0][0] == 0.0) &&
+ (s[0][1] == 0.0) &&
+ (s[1][0] == 0.0) &&
+ (s[1][1] == 0.0) &&
+ (s[2][0] == 0.0) &&
+ (s[2][1] == 0.0);
+}
+
+void copy_matrix(double to[3][2], double from[3][2]) {
+
+ to[0][0] = from[0][0];
+ to[0][1] = from[0][1];
+ to[1][0] = from[1][0];
+ to[1][1] = from[1][1];
+ to[2][0] = from[2][0];
+ to[2][1] = from[2][1];
+}
+
+
+void clear_matrix(double m[3][2]) {
+ m[0][0] = 0.0;
+ m[0][1] = 0.0;
+ m[1][0] = 0.0;
+ m[1][1] = 0.0;
+ m[2][0] = 0.0;
+ m[2][1] = 0.0;
+}
+
+void sum_matrix(double s, double m1[3][2], double m2[3][2]) {
+
+ m2[0][0] += s * m1[0][0];
+ m2[0][1] += s * m1[0][1];
+ m2[1][0] += s * m1[1][0];
+ m2[1][1] += s * m1[1][1];
+ m2[2][0] += s * m1[2][0];
+ m2[2][1] += s * m1[2][1];
+}
+
+void mult_matrix(double s1[2][2], double s2[2][2], double d[2][2]) {
+ d[0][0] = s1[0][0] * s2[0][0] + s1[1][0] * s2[0][1];
+ d[1][0] = s1[0][0] * s2[1][0] + s1[1][0] * s2[1][1];
+ d[0][1] = s1[0][1] * s2[0][0] + s1[1][1] * s2[0][1];
+ d[1][1] = s1[0][1] * s2[1][0] + s1[1][1] * s2[1][1];
+}
+
+int compare_xforms(const void *av, const void *bv) {
+ flam3_xform *a = (flam3_xform *) av;
+ flam3_xform *b = (flam3_xform *) bv;
+ double aa[2][2];
+ double bb[2][2];
+ double ad, bd;
+
+ aa[0][0] = a->c[0][0];
+ aa[0][1] = a->c[0][1];
+ aa[1][0] = a->c[1][0];
+ aa[1][1] = a->c[1][1];
+ bb[0][0] = b->c[0][0];
+ bb[0][1] = b->c[0][1];
+ bb[1][0] = b->c[1][0];
+ bb[1][1] = b->c[1][1];
+ ad = det_matrix(aa);
+ bd = det_matrix(bb);
+
+ if (a->color_speed > b->color_speed) return 1;
+ if (a->color_speed < b->color_speed) return -1;
+ if (a->color_speed) {
+ if (ad < 0) return -1;
+ if (bd < 0) return 1;
+ ad = atan2(a->c[0][0], a->c[0][1]);
+ bd = atan2(b->c[0][0], b->c[0][1]);
+ }
+
+ if (ad < bd) return -1;
+ if (ad > bd) return 1;
+ return 0;
+}
+
+void interpolate_cmap(flam3_palette cmap, double blend,
+ int index0, double hue0, int index1, double hue1) {
+
+ flam3_palette p0,p1;
+ int i, j;
+
+ flam3_get_palette(index0, p0, hue0);
+ flam3_get_palette(index1, p1, hue1);
+
+ for (i = 0; i < 256; i++) {
+ double t[5], s[5];
+
+ rgb2hsv(p0[i].color, s);
+ rgb2hsv(p1[i].color, t);
+
+ s[3] = p0[i].color[3];
+ t[3] = p1[i].color[3];
+
+ s[4] = p0[i].index;
+ t[4] = p1[i].index;
+
+ for (j = 0; j < 5; j++)
+ t[j] = ((1.0-blend) * s[j]) + (blend * t[j]);
+
+ hsv2rgb(t, cmap[i].color);
+ cmap[i].color[3] = t[3];
+ cmap[i].index = t[4];
+ }
+}
+
+void interp_and_convert_back(double *c, int ncps, int xfi, double cxang[4][2],
+ double cxmag[4][2], double cxtrn[4][2],double store_array[3][2]) {
+
+ int i,col;
+
+ double accang[2],accmag[2];
+ double expmag;
+ int accmode[2];
+
+ accang[0] = 0.0;
+ accang[1] = 0.0;
+ accmag[0] = 0.0;
+ accmag[1] = 0.0;
+
+ accmode[0]=accmode[1]=0;
+
+ /* accumulation mode defaults to logarithmic, but in special */
+ /* cases we want to switch to linear accumulation */
+ for (col=0; col<2; col++) {
+ for (i=0; i<ncps; i++) {
+ if (log(cxmag[i][col])<-10)
+ accmode[col]=1; // Mode set to linear interp
+ }
+ }
+
+ for (i=0; i<ncps; i++) {
+ for (col=0; col<2; col++) {
+
+ accang[col] += c[i] * cxang[i][col];
+
+ if (accmode[col]==0)
+ accmag[col] += c[i] * log(cxmag[i][col]);
+ else
+ accmag[col] += c[i] * (cxmag[i][col]);
+
+ /* translation is ready to go */
+ store_array[2][col] += c[i] * cxtrn[i][col];
+ }
+ }
+
+ /* Convert the angle back to rectangular */
+ for (col=0;col<2;col++) {
+ if (accmode[col]==0)
+ expmag = exp(accmag[col]);
+ else
+ expmag = accmag[col];
+
+ store_array[col][0] = expmag * cos(accang[col]);
+ store_array[col][1] = expmag * sin(accang[col]);
+ }
+
+}
+
+void convert_linear_to_polar(flam3_genome *cp, int ncps, int xfi, int cflag,
+ double cxang[4][2], double cxmag[4][2], double cxtrn[4][2]) {
+
+ double c1[2],d,t,refang;
+ int col,k;
+ int zlm[2];
+
+ for (k=0; k<ncps;k++) {
+
+ /* Establish the angles and magnitudes for each component */
+ /* Keep translation linear */
+ zlm[0]=zlm[1]=0;
+ for (col=0;col<2;col++) {
+
+ if (cflag==0) {
+ c1[0] = cp[k].xform[xfi].c[col][0];
+ c1[1] = cp[k].xform[xfi].c[col][1];
+ t = cp[k].xform[xfi].c[2][col];
+ } else {
+ c1[0] = cp[k].xform[xfi].post[col][0];
+ c1[1] = cp[k].xform[xfi].post[col][1];
+ t = cp[k].xform[xfi].post[2][col];
+ }
+
+ cxang[k][col] = atan2(c1[1],c1[0]);
+ cxmag[k][col] = sqrt(c1[0]*c1[0] + c1[1]*c1[1]);
+
+ if (cxmag[k][col]== 0.0)
+ zlm[col]=1;
+
+ cxtrn[k][col] = t;
+ }
+
+ if (zlm[0]==1 && zlm[1]==0)
+ cxang[k][0] = cxang[k][1];
+ else if (zlm[0]==0 && zlm[1]==1)
+ cxang[k][1] = cxang[k][0];
+
+ }
+
+ /* Make sure the rotation is the shorter direction around the circle */
+ /* by adjusting each angle in succession, and rotate clockwise if 180 degrees */
+ for (col=0; col<2; col++) {
+ for (k=1;k<ncps;k++) {
+
+ /* Adjust angles differently if we have an asymmetric case */
+ if (cp[k].xform[xfi].wind[col]>0 && cflag==0) {
+
+ /* Adjust the angles to make sure that it's within wind:wind+2pi */
+ refang = cp[k].xform[xfi].wind[col] - 2*M_PI;
+
+ /* Make sure both angles are within [refang refang+2*pi] */
+ while(cxang[k-1][col] < refang)
+ cxang[k-1][col] += 2*M_PI;
+
+ while(cxang[k-1][col] > refang + 2*M_PI)
+ cxang[k-1][col] -= 2*M_PI;
+
+ while(cxang[k][col] < refang)
+ cxang[k][col] += 2*M_PI;
+
+ while(cxang[k][col] > refang + 2*M_PI)
+ cxang[k][col] -= 2*M_PI;
+
+ } else {
+
+ /* Normal way of adjusting angles */
+ d = cxang[k][col]-cxang[k-1][col];
+
+ /* Adjust to avoid the -pi/pi discontinuity */
+ if (d > M_PI+EPS)
+ cxang[k][col] -= 2*M_PI;
+ else if (d < -(M_PI-EPS) ) /* Forces clockwise rotation at 180 */
+ cxang[k][col] += 2*M_PI;
+ }
+ }
+ }
+}
+
+void interpolate_catmull_rom(flam3_genome cps[], double t, flam3_genome *result) {
+ double t2 = t * t;
+ double t3 = t2 * t;
+ double cmc[4];
+
+ cmc[0] = (2*t2 - t - t3) / 2;
+ cmc[1] = (3*t3 - 5*t2 + 2) / 2;
+ cmc[2] = (4*t2 - 3*t3 + t) / 2;
+ cmc[3] = (t3 - t2) / 2;
+
+ flam3_interpolate_n(result, 4, cps, cmc, 0);
+}
+
+double smoother(double t) {
+ return 3*t*t - 2*t*t*t;
+}
+
+double get_stagger_coef(double t, double stagger_prc, int num_xforms, int this_xform) {
+
+ /* max_stag is the spacing between xform start times if stagger_prc = 1.0 */
+ double max_stag = (double)(num_xforms-1)/num_xforms;
+
+ /* scale the spacing by stagger_prc */
+ double stag_scaled = stagger_prc * max_stag;
+
+ /* t ranges from 1 to 0 (the contribution of cp[0] to the blend) */
+ /* the first line below makes the first xform interpolate first */
+ /* the second line makes the last xform interpolate first */
+ double st = stag_scaled * (num_xforms - 1 - this_xform) / (num_xforms-1);
+// double st = stag_scaled * (this_xform) / (num_xforms-1);
+ double et = st + (1-stag_scaled);
+
+// printf("t=%f xf:%d st=%f et=%f : : %f\n",t,this_xform,st,et,smoother((t-st)/(1-stag_scaled)));
+
+ if (t <= st)
+ return (0);
+ else if (t >= et)
+ return (1);
+ else
+ return ( smoother((t-st)/(1-stag_scaled)) );
+
+}
+
+
+
+/* all cpi and result must be aligned (have the same number of xforms,
+ and have final xform in the same slot) */
+void flam3_interpolate_n(flam3_genome *result, int ncp,
+ flam3_genome *cpi, double *c, double stagger) {
+ int i, j, k, numstd;
+
+ if (flam3_palette_interpolation_hsv == cpi[0].palette_interpolation) {
+
+ for (i = 0; i < 256; i++) {
+ double t[3], s[4];
+ s[0] = s[1] = s[2] = s[3] = s[4] = 0.0;
+
+ for (k = 0; k < ncp; k++) {
+ rgb2hsv(cpi[k].palette[i].color, t);
+ for (j = 0; j < 3; j++)
+ s[j] += c[k] * t[j];
+
+ s[3] += c[k] * cpi[k].palette[i].color[3];
+ s[4] += c[k] * cpi[k].palette[i].index;
+
+ }
+
+ hsv2rgb(s, result->palette[i].color);
+ result->palette[i].color[3] = s[3];
+ result->palette[i].index = s[4];
+
+ for (j = 0; j < 4; j++) {
+ if (result->palette[i].color[j] < 0.0)
+ result->palette[i].color[j] = 0.0;
+ if (result->palette[i].color[j] > 1.0)
+ result->palette[i].color[j] = 1.0;
+ }
+
+ if (result->palette[i].index < 0.0)
+ result->palette[i].index = 0.0;
+ if (result->palette[i].index > 255.0)
+ result->palette[i].index = 255.0;
+ }
+ } else {
+ /* Sweep - not the best option for float indices */
+ for (i = 0; i < 256; i++) {
+ j = (i < (256 * c[0])) ? 0 : 1;
+ result->palette[i] = cpi[j].palette[i];
+ }
+ }
+
+ result->palette_index = flam3_palette_random;
+ result->symmetry = 0;
+ result->spatial_filter_select = cpi[0].spatial_filter_select;
+ result->temporal_filter_type = cpi[0].temporal_filter_type;
+ result->palette_mode = cpi[0].palette_mode;
+
+ result->interpolation_type = cpi[0].interpolation_type;
+ INTERP(brightness);
+ INTERP(contrast);
+ INTERP(highlight_power);
+ INTERP(gamma);
+ INTERP(vibrancy);
+ INTERP(hue_rotation);
+ INTERI(width);
+ INTERI(height);
+ INTERI(spatial_oversample);
+ INTERP(center[0]);
+ INTERP(center[1]);
+ INTERP(rot_center[0]);
+ INTERP(rot_center[1]);
+ INTERP(background[0]);
+ INTERP(background[1]);
+ INTERP(background[2]);
+ INTERP(pixels_per_unit);
+ INTERP(spatial_filter_radius);
+ INTERP(temporal_filter_exp);
+ INTERP(temporal_filter_width);
+ INTERP(sample_density);
+ INTERP(zoom);
+ INTERP(rotate);
+ INTERI(nbatches);
+ INTERI(ntemporal_samples);
+ INTERP(estimator);
+ INTERP(estimator_minimum);
+ INTERP(estimator_curve);
+ INTERP(gam_lin_thresh);
+
+ /* Interpolate the chaos array */
+ numstd = cpi[0].num_xforms - (cpi[0].final_xform_index >= 0);
+ for (i=0;i<numstd;i++) {
+ for (j=0;j<numstd;j++) {
+ INTERP(chaos[i][j]);
+ if (result->chaos[i][j]<0) result->chaos[i][j]=0;
+ //chaos can be > 1
+ //if (result->chaos[i][j]>1) result->chaos[i][j]=1.0;
+ }
+ }
+
+ /* Interpolate each xform */
+ for (i = 0; i < cpi[0].num_xforms; i++) {
+
+ double csave[2];
+ double td;
+ int all_id;
+ int nx = cpi[0].num_xforms-(cpi[0].final_xform_index>=0);
+
+ if (ncp==2 && stagger>0 && i!=cpi[0].final_xform_index) {
+ csave[0] = c[0];
+ csave[1] = c[1];
+ c[0] = get_stagger_coef(csave[0],stagger,nx,i);
+ c[1] = 1.0-c[0];
+ }
+
+
+ INTERP(xform[i].density);
+ td = result->xform[i].density;
+ result->xform[i].density = (td < 0.0) ? 0.0 : td;
+ INTERP(xform[i].color);
+ if (result->xform[i].color<0) result->xform[i].color=0;
+ if (result->xform[i].color>1) result->xform[i].color=1;
+
+ INTERP(xform[i].color_speed);
+ if (result->xform[i].color_speed<0) result->xform[i].color_speed=0;
+ if (result->xform[i].color_speed>1) result->xform[i].color_speed=1;
+
+ INTERP(xform[i].opacity);
+ INTERP(xform[i].animate);
+ INTERP(xform[i].blob_low);
+ INTERP(xform[i].blob_high);
+ INTERP(xform[i].blob_waves);
+ INTERP(xform[i].pdj_a);
+ INTERP(xform[i].pdj_b);
+ INTERP(xform[i].pdj_c);
+ INTERP(xform[i].pdj_d);
+ INTERP(xform[i].fan2_x);
+ INTERP(xform[i].fan2_y);
+ INTERP(xform[i].rings2_val);
+ INTERP(xform[i].perspective_angle);
+ INTERP(xform[i].perspective_dist);
+ INTERP(xform[i].julian_power);
+ INTERP(xform[i].julian_dist);
+ INTERP(xform[i].juliascope_power);
+ INTERP(xform[i].juliascope_dist);
+ INTERP(xform[i].radial_blur_angle);
+ INTERP(xform[i].pie_slices);
+ INTERP(xform[i].pie_rotation);
+ INTERP(xform[i].pie_thickness);
+ INTERP(xform[i].ngon_sides);
+ INTERP(xform[i].ngon_power);
+ INTERP(xform[i].ngon_circle);
+ INTERP(xform[i].ngon_corners);
+ INTERP(xform[i].curl_c1);
+ INTERP(xform[i].curl_c2);
+ INTERP(xform[i].rectangles_x);
+ INTERP(xform[i].rectangles_y);
+ INTERP(xform[i].amw_amp);
+ INTERP(xform[i].disc2_rot);
+ INTERP(xform[i].disc2_twist);
+ INTERP(xform[i].super_shape_rnd);
+ INTERP(xform[i].super_shape_m);
+ INTERP(xform[i].super_shape_n1);
+ INTERP(xform[i].super_shape_n2);
+ INTERP(xform[i].super_shape_n3);
+ INTERP(xform[i].super_shape_holes);
+ INTERP(xform[i].flower_petals);
+ INTERP(xform[i].flower_holes);
+ INTERP(xform[i].conic_eccentricity);
+ INTERP(xform[i].conic_holes);
+ INTERP(xform[i].parabola_height);
+ INTERP(xform[i].parabola_width);
+ INTERP(xform[i].bent2_x);
+ INTERP(xform[i].bent2_y);
+ INTERP(xform[i].bipolar_shift);
+ INTERP(xform[i].cell_size);
+ INTERP(xform[i].cpow_r);
+ INTERP(xform[i].cpow_i);
+ INTERP(xform[i].cpow_power);
+ INTERP(xform[i].curve_xamp);
+ INTERP(xform[i].curve_yamp);
+ INTERP(xform[i].curve_xlength);
+ INTERP(xform[i].curve_ylength);
+ INTERP(xform[i].escher_beta);
+ INTERP(xform[i].lazysusan_x);
+ INTERP(xform[i].lazysusan_y);
+ INTERP(xform[i].lazysusan_twist);
+ INTERP(xform[i].lazysusan_space);
+ INTERP(xform[i].lazysusan_spin);
+ INTERP(xform[i].modulus_x);
+ INTERP(xform[i].modulus_y);
+ INTERP(xform[i].oscope_separation);
+ INTERP(xform[i].oscope_frequency);
+ INTERP(xform[i].oscope_amplitude);
+ INTERP(xform[i].oscope_damping);
+ INTERP(xform[i].popcorn2_x);
+ INTERP(xform[i].popcorn2_y);
+ INTERP(xform[i].popcorn2_c);
+ INTERP(xform[i].separation_x);
+ INTERP(xform[i].separation_xinside);
+ INTERP(xform[i].separation_y);
+ INTERP(xform[i].separation_yinside);
+ INTERP(xform[i].split_xsize);
+ INTERP(xform[i].split_ysize);
+ INTERP(xform[i].splits_x);
+ INTERP(xform[i].splits_y);
+ INTERP(xform[i].stripes_space);
+ INTERP(xform[i].stripes_warp);
+ INTERP(xform[i].wedge_angle);
+ INTERP(xform[i].wedge_hole);
+ INTERP(xform[i].wedge_count);
+ INTERP(xform[i].wedge_swirl);
+ INTERP(xform[i].wedge_julia_angle);
+ INTERP(xform[i].wedge_julia_count);
+ INTERP(xform[i].wedge_julia_power);
+ INTERP(xform[i].wedge_julia_dist);
+ INTERP(xform[i].wedge_sph_angle);
+ INTERP(xform[i].wedge_sph_hole);
+ INTERP(xform[i].wedge_sph_count);
+ INTERP(xform[i].wedge_sph_swirl);
+ INTERP(xform[i].whorl_inside);
+ INTERP(xform[i].whorl_outside);
+ INTERP(xform[i].waves2_scalex);
+ INTERP(xform[i].waves2_scaley);
+ INTERP(xform[i].waves2_freqx);
+ INTERP(xform[i].waves2_freqy);
+
+ for (j = 0; j < flam3_nvariations; j++)
+ INTERP(xform[i].var[j]);
+
+ if (flam3_inttype_log == cpi[0].interpolation_type) {
+ double cxmag[4][2]; // XXX why only 4? should be ncp
+ double cxang[4][2];
+ double cxtrn[4][2];
+
+ /* affine part */
+ clear_matrix(result->xform[i].c);
+ convert_linear_to_polar(cpi,ncp,i,0,cxang,cxmag,cxtrn);
+ interp_and_convert_back(c, ncp, i, cxang, cxmag, cxtrn,result->xform[i].c);
+
+ /* post part */
+ all_id = 1;
+ for (k=0; k<ncp; k++)
+ all_id &= id_matrix(cpi[k].xform[i].post);
+
+ clear_matrix(result->xform[i].post);
+ if (all_id) {
+ result->xform[i].post[0][0] = 1.0;
+ result->xform[i].post[1][1] = 1.0;
+ } else {
+ convert_linear_to_polar(cpi,ncp,i,1,cxang,cxmag,cxtrn);
+ interp_and_convert_back(c, ncp, i, cxang, cxmag, cxtrn,result->xform[i].post);
+ }
+
+ } else {
+
+ /* Interpolate c matrix & post */
+ clear_matrix(result->xform[i].c);
+ clear_matrix(result->xform[i].post);
+ all_id = 1;
+ for (k = 0; k < ncp; k++) {
+ sum_matrix(c[k], cpi[k].xform[i].c, result->xform[i].c);
+ sum_matrix(c[k], cpi[k].xform[i].post, result->xform[i].post);
+
+ all_id &= id_matrix(cpi[k].xform[i].post);
+
+ }
+ if (all_id) {
+ clear_matrix(result->xform[i].post);
+ result->xform[i].post[0][0] = 1.0;
+ result->xform[i].post[1][1] = 1.0;
+ }
+ }
+
+ if (ncp==2 && stagger>0 && i!=cpi[0].final_xform_index) {
+ c[0] = csave[0];
+ c[1] = csave[1];
+ }
+
+ }
+
+}
+
+void establish_asymmetric_refangles(flam3_genome *cp, int ncps) {
+
+ int k, xfi, col;
+
+ double cxang[4][2],d,c1[2];
+
+ for (xfi=0; xfi<cp[0].num_xforms; xfi++) {
+
+ /* Final xforms don't rotate regardless of their symmetry */
+ if (cp[0].final_xform_enable==1 && xfi==cp[0].final_xform_index)
+ continue;
+
+ for (k=0; k<ncps;k++) {
+
+ /* Establish the angle for each component */
+ /* Should potentially functionalize */
+ for (col=0;col<2;col++) {
+
+ c1[0] = cp[k].xform[xfi].c[col][0];
+ c1[1] = cp[k].xform[xfi].c[col][1];
+
+ cxang[k][col] = atan2(c1[1],c1[0]);
+ }
+ }
+
+ for (k=1; k<ncps; k++) {
+
+ for (col=0;col<2;col++) {
+
+ int sym0,sym1;
+ int padsymflag;
+
+ d = cxang[k][col]-cxang[k-1][col];
+
+ /* Adjust to avoid the -pi/pi discontinuity */
+ if (d > M_PI+EPS)
+ cxang[k][col] -= 2*M_PI;
+ else if (d < -(M_PI-EPS) )
+ cxang[k][col] += 2*M_PI;
+
+ /* If this is an asymmetric case, store the NON-symmetric angle */
+ /* Check them pairwise and store the reference angle in the second */
+ /* to avoid overwriting if asymmetric on both sides */
+ padsymflag = 0;
+
+ sym0 = (cp[k-1].xform[xfi].animate==0 || (cp[k-1].xform[xfi].padding==1 && padsymflag));
+ sym1 = (cp[k].xform[xfi].animate==0 || (cp[k].xform[xfi].padding==1 && padsymflag));
+
+ if ( sym1 && !sym0 )
+ cp[k].xform[xfi].wind[col] = cxang[k-1][col] + 2*M_PI;
+ else if ( sym0 && !sym1 )
+ cp[k].xform[xfi].wind[col] = cxang[k][col] + 2*M_PI;
+
+ }
+ }
+ }
+}
+
+void flam3_align(flam3_genome *dst, flam3_genome *src, int nsrc) {
+ int i, tfx, tnx, max_nx = 0, max_fx = 0;
+ int already_aligned=1;
+ int xf,j;
+ int ii,fnd;
+ double normed;
+ int usethisone;
+
+ usethisone = (nsrc/2) - 1;
+
+ max_nx = src[0].num_xforms - (src[0].final_xform_index >= 0);
+ max_fx = src[0].final_xform_enable;
+
+ for (i = 1; i < nsrc; i++) {
+ tnx = src[i].num_xforms - (src[i].final_xform_index >= 0);
+ if (max_nx != tnx) {
+ already_aligned = 0;
+ if (tnx > max_nx) max_nx = tnx;
+ }
+
+ tfx = src[i].final_xform_enable;
+ if (max_fx != tfx) {
+ already_aligned = 0;
+ max_fx |= tfx;
+ }
+ }
+
+ /* Pad the cps to equal xforms */
+ for (i = 0; i < nsrc; i++) {
+ flam3_copyx(&dst[i], &src[i], max_nx, max_fx);
+ }
+
+ /* Skip if this genome is compatibility mode */
+ if (dst[usethisone].interpolation_type == flam3_inttype_compat ||
+ dst[usethisone].interpolation_type == flam3_inttype_older)
+ return;
+
+
+ /* Check to see if there's a parametric variation present in one xform */
+ /* but not in an aligned xform. If this is the case, use the parameters */
+ /* from the xform with the variation as the defaults for the blank one. */
+
+ /* All genomes will have the same number of xforms at this point */
+ /* num = max_nx + max_fx */
+ for (i = 0; i<nsrc; i++) {
+
+
+ for (xf = 0; xf<max_nx+max_fx; xf++) {
+
+ /* Loop over the variations to see which of them are set to 0 */
+ /* Note that there are no parametric variations < 23 */
+ for (j = 23; j < flam3_nvariations; j++) {
+
+ if (dst[i].xform[xf].var[j]==0) {
+
+ if (i>0) {
+
+ /* Check to see if the prior genome's xform is populated */
+ if (dst[i-1].xform[xf].var[j] != 0) {
+
+ /* Copy the prior genome's parameters and continue */
+ flam3_copy_params(&(dst[i].xform[xf]), &(dst[i-1].xform[xf]), j);
+ continue;
+ }
+
+ } else if (i<nsrc-1) {
+
+ /* Check to see if the next genome's xform is populated */
+ if (dst[i+1].xform[xf].var[j] != 0) {
+
+ /* Copy the next genome's parameters and continue */
+ flam3_copy_params(&(dst[i].xform[xf]), &(dst[i+1].xform[xf]), j);
+ continue;
+ }
+ }
+ }
+ } /* variations */
+
+ if (dst[i].xform[xf].padding == 1 && !already_aligned) {
+
+ /* This is a new xform. Let's see if we can choose a better 'identity' xform. */
+ /* Check the neighbors to see if any of these variations are used: */
+ /* rings2, fan2, blob, perspective, julian, juliascope, ngon, curl, super_shape, split */
+ /* If so, we can use a better starting point for these */
+
+ /* Remove linear from the list */
+ dst[i].xform[xf].var[0] = 0.0;
+
+ /* Look through all of the 'companion' xforms to see if we get a match on any of these */
+ fnd=0;
+
+ /* Only do the next substitution for log interpolation */
+ if ( (i==0 && dst[i].interpolation_type == flam3_inttype_log)
+ || (i>0 && dst[i-1].interpolation_type==flam3_inttype_log) ) {
+
+ for (ii=-1; ii<=1; ii+=2) {
+
+ /* Skip if out of bounds */
+ if (i+ii<0 || i+ii>=nsrc)
+ continue;
+
+ /* Skip if this is also padding */
+ if (dst[i+ii].xform[xf].padding==1)
+ continue;
+
+ /* Spherical / Ngon (trumps all others due to holes) */
+ /* Interpolate these against a 180 degree rotated identity */
+ /* with weight -1. */
+ /* Added JULIAN/JULIASCOPE to get rid of black wedges */
+ if (dst[i+ii].xform[xf].var[VAR_SPHERICAL]>0 ||
+ dst[i+ii].xform[xf].var[VAR_NGON]>0 ||
+ dst[i+ii].xform[xf].var[VAR_JULIAN]>0 ||
+ dst[i+ii].xform[xf].var[VAR_JULIASCOPE]>0 ||
+ dst[i+ii].xform[xf].var[VAR_POLAR]>0 ||
+ dst[i+ii].xform[xf].var[VAR_WEDGE_SPH]>0 ||
+ dst[i+ii].xform[xf].var[VAR_WEDGE_JULIA]>0) {
+
+ dst[i].xform[xf].var[VAR_LINEAR] = -1.0;
+ /* Set the coefs appropriately */
+ dst[i].xform[xf].c[0][0] = -1.0;
+ dst[i].xform[xf].c[0][1] = 0.0;
+ dst[i].xform[xf].c[1][0] = 0.0;
+ dst[i].xform[xf].c[1][1] = -1.0;
+ dst[i].xform[xf].c[2][0] = 0.0;
+ dst[i].xform[xf].c[2][1] = 0.0;
+ fnd=-1;
+ }
+ }
+
+ }
+
+ if (fnd==0) {
+
+ for (ii=-1; ii<=1; ii+=2) {
+
+ /* Skip if out of bounds */
+ if (i+ii<0 || i+ii>=nsrc)
+ continue;
+
+ /* Skip if also padding */
+ if (dst[i+ii].xform[xf].padding==1)
+ continue;
+
+ /* Rectangles */
+ if (dst[i+ii].xform[xf].var[VAR_RECTANGLES]>0) {
+ dst[i].xform[xf].var[VAR_RECTANGLES] = 1.0;
+ dst[i].xform[xf].rectangles_x = 0.0;
+ dst[i].xform[xf].rectangles_y = 0.0;
+ fnd++;
+ }
+
+ /* Rings 2 */
+ if (dst[i+ii].xform[xf].var[VAR_RINGS2]>0) {
+ dst[i].xform[xf].var[VAR_RINGS2] = 1.0;
+ dst[i].xform[xf].rings2_val = 0.0;
+ fnd++;
+ }
+
+ /* Fan 2 */
+ if (dst[i+ii].xform[xf].var[VAR_FAN2]>0) {
+ dst[i].xform[xf].var[VAR_FAN2] = 1.0;
+ dst[i].xform[xf].fan2_x = 0.0;
+ dst[i].xform[xf].fan2_y = 0.0;
+ fnd++;
+ }
+
+ /* Blob */
+ if (dst[i+ii].xform[xf].var[VAR_BLOB]>0) {
+ dst[i].xform[xf].var[VAR_BLOB] = 1.0;
+ dst[i].xform[xf].blob_low = 1.0;
+ dst[i].xform[xf].blob_high = 1.0;
+ dst[i].xform[xf].blob_waves = 1.0;
+ fnd++;
+ }
+
+ /* Perspective */
+ if (dst[i+ii].xform[xf].var[VAR_PERSPECTIVE]>0) {
+ dst[i].xform[xf].var[VAR_PERSPECTIVE] = 1.0;
+ dst[i].xform[xf].perspective_angle = 0.0;
+ /* Keep the perspective distance as-is */
+ fnd++;
+ }
+
+ /* Curl */
+ if (dst[i+ii].xform[xf].var[VAR_CURL]>0) {
+ dst[i].xform[xf].var[VAR_CURL] = 1.0;
+ dst[i].xform[xf].curl_c1 = 0.0;
+ dst[i].xform[xf].curl_c2 = 0.0;
+ fnd++;
+ }
+
+ /* Super-Shape */
+ if (dst[i+ii].xform[xf].var[VAR_SUPER_SHAPE]>0) {
+ dst[i].xform[xf].var[VAR_SUPER_SHAPE] = 1.0;
+ /* Keep supershape_m the same */
+ dst[i].xform[xf].super_shape_n1 = 2.0;
+ dst[i].xform[xf].super_shape_n2 = 2.0;
+ dst[i].xform[xf].super_shape_n3 = 2.0;
+ dst[i].xform[xf].super_shape_rnd = 0.0;
+ dst[i].xform[xf].super_shape_holes = 0.0;
+ fnd++;
+ }
+ }
+ }
+
+ /* If we didn't have any matches with those, */
+ /* try the affine ones, fan and rings */
+ if (fnd==0) {
+
+ for (ii=-1; ii<=1; ii+=2) {
+
+ /* Skip if out of bounds */
+ if (i+ii<0 || i+ii>=nsrc)
+ continue;
+
+ /* Skip if also a padding xform */
+ if (dst[i+ii].xform[xf].padding==1)
+ continue;
+
+ /* Fan */
+ if (dst[i+ii].xform[xf].var[VAR_FAN]>0) {
+ dst[i].xform[xf].var[VAR_FAN] = 1.0;
+ fnd++;
+ }
+
+ /* Rings */
+ if (dst[i+ii].xform[xf].var[VAR_RINGS]>0) {
+ dst[i].xform[xf].var[VAR_RINGS] = 1.0;
+ fnd++;
+ }
+
+ }
+
+ if (fnd>0) {
+ /* Set the coefs appropriately */
+ dst[i].xform[xf].c[0][0] = 0.0;
+ dst[i].xform[xf].c[0][1] = 1.0;
+ dst[i].xform[xf].c[1][0] = 1.0;
+ dst[i].xform[xf].c[1][1] = 0.0;
+ dst[i].xform[xf].c[2][0] = 0.0;
+ dst[i].xform[xf].c[2][1] = 0.0;
+ }
+ }
+
+ /* If we still have no matches, switch back to linear */
+ if (fnd==0)
+
+ dst[i].xform[xf].var[VAR_LINEAR] = 1.0;
+
+ else if (fnd>0) {
+
+ /* Otherwise, go through and normalize the weights. */
+ normed = 0.0;
+ for (j = 0; j < flam3_nvariations; j++)
+ normed += dst[i].xform[xf].var[j];
+
+ for (j = 0; j < flam3_nvariations; j++)
+ dst[i].xform[xf].var[j] /= normed;
+
+ }
+ }
+ } /* xforms */
+ } /* genomes */
+
+}
+
diff --git a/src/interpolation.h b/src/interpolation.h
new file mode 100644
index 0000000..82d3133
--- /dev/null
+++ b/src/interpolation.h
@@ -0,0 +1,58 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef interpolation_included
+#define interpolation_included
+
+#include "private.h"
+
+#define INTERP(x) do { result->x = 0.0; \
+ for (k = 0; k < ncp; k++) result->x += c[k] * cpi[k].x; } while(0)
+
+#define INTERI(x) do { double tt = 0.0; \
+ for (k = 0; k < ncp; k++) tt += c[k] * cpi[k].x; \
+ result->x = (int)rint(tt); } while(0)
+
+double adjust_percentage(double in);
+double motion_funcs(int funcnum, double timeval);
+
+double smoother(double t);
+double get_stagger_coef(double t, double stagger_prc, int num_xforms, int this_xform);
+
+double det_matrix(double s[2][2]);
+int id_matrix(double s[3][2]);
+int zero_matrix(double s[3][2]);
+void copy_matrix(double to[3][2], double from[3][2]);
+void clear_matrix(double m[3][2]);
+void sum_matrix(double s, double m1[3][2], double m2[3][2]);
+void mult_matrix(double s1[2][2], double s2[2][2], double d[2][2]);
+
+int compare_xforms(const void *av, const void *bv);
+
+void interpolate_cmap(flam3_palette cmap, double blend,
+ int index0, double hue0, int index1, double hue1);
+void interp_and_convert_back(double *c, int ncps, int xfi, double cxang[4][2],
+ double cxmag[4][2], double cxtrn[4][2],double store_array[3][2]);
+void convert_linear_to_polar(flam3_genome *cp, int ncps, int xfi, int cflag,
+ double cxang[4][2], double cxmag[4][2], double cxtrn[4][2]);
+
+void interpolate_catmull_rom(flam3_genome cps[], double t, flam3_genome *result);
+void flam3_interpolate_n(flam3_genome *result, int ncp, flam3_genome *cpi, double *c, double stagger);
+void establish_asymmetric_refangles(flam3_genome *cp, int ncps);
+void flam3_align(flam3_genome *dst, flam3_genome *src, int nsrc);
+#endif
diff --git a/src/isaac.c b/src/isaac.c
new file mode 100644
index 0000000..014c4d9
--- /dev/null
+++ b/src/isaac.c
@@ -0,0 +1,110 @@
+/*
+------------------------------------------------------------------------------
+isaac.c: By Bob Jenkins. My random number generator, ISAAC.
+MODIFIED:
+ 960327: Creation (addition of randinit, really)
+ 970719: use context, not global variables, for internal state
+ 980324: make a portable version
+ 991209: modified for inclusion with GNU Backgammon by Gary Wong
+ 070121: modified for inclusion with flam3 by Erik Reckase
+------------------------------------------------------------------------------
+*/
+
+#include "isaacs.h"
+#include "isaac.h"
+
+#define ind(mm,x) ((mm)[(x>>2)&(RANDSIZ-1)])
+#define rngstep(mix,a,b,mm,m,m2,r,x) \
+{ \
+ x = *m; \
+ a = ((a^(mix)) + *(m2++)) & 0xffffffff; \
+ *(m++) = y = (ind(mm,x) + a + b) & 0xffffffff; \
+ *(r++) = b = (ind(mm,y>>RANDSIZL) + x) & 0xffffffff; \
+}
+
+void isaac(randctx *ctx)
+{
+ register ub4 a,b,x,y,*m,*mm,*m2,*r,*mend;
+ mm=ctx->randmem; r=ctx->randrsl;
+ a = ctx->randa; b = (ctx->randb + (++ctx->randc)) & 0xffffffff;
+ for (m = mm, mend = m2 = m+(RANDSIZ/2); m<mend; )
+ {
+ rngstep( a<<13, a, b, mm, m, m2, r, x);
+ rngstep( a>>6 , a, b, mm, m, m2, r, x);
+ rngstep( a<<2 , a, b, mm, m, m2, r, x);
+ rngstep( a>>16, a, b, mm, m, m2, r, x);
+ }
+ for (m2 = mm; m2<mend; )
+ {
+ rngstep( a<<13, a, b, mm, m, m2, r, x);
+ rngstep( a>>6 , a, b, mm, m, m2, r, x);
+ rngstep( a<<2 , a, b, mm, m, m2, r, x);
+ rngstep( a>>16, a, b, mm, m, m2, r, x);
+ }
+ ctx->randb = b; ctx->randa = a;
+}
+
+
+#define mix(a,b,c,d,e,f,g,h) \
+{ \
+ a^=b<<11; d+=a; b+=c; \
+ b^=c>>2; e+=b; c+=d; \
+ c^=d<<8; f+=c; d+=e; \
+ d^=e>>16; g+=d; e+=f; \
+ e^=f<<10; h+=e; f+=g; \
+ f^=g>>4; a+=f; g+=h; \
+ g^=h<<8; b+=g; h+=a; \
+ h^=a>>9; c+=h; a+=b; \
+}
+
+/* if (flag==TRUE), then use the contents of randrsl[] to initialize mm[]. */
+void irandinit(randctx *ctx, word flag)
+{
+ word i;
+ ub4 a,b,c,d,e,f,g,h;
+ ub4 *m,*r;
+ ctx->randa = ctx->randb = ctx->randc = 0;
+ m=ctx->randmem;
+ r=ctx->randrsl;
+ a=b=c=d=e=f=g=h=0x9e3779b9; /* the golden ratio */
+
+ for (i=0; i<4; ++i) /* scramble it */
+ {
+ mix(a,b,c,d,e,f,g,h);
+ }
+
+ if (flag)
+ {
+ /* initialize using the contents of r[] as the seed */
+ for (i=0; i<RANDSIZ; i+=8)
+ {
+ a+=r[i ]; b+=r[i+1]; c+=r[i+2]; d+=r[i+3];
+ e+=r[i+4]; f+=r[i+5]; g+=r[i+6]; h+=r[i+7];
+ mix(a,b,c,d,e,f,g,h);
+ m[i ]=a; m[i+1]=b; m[i+2]=c; m[i+3]=d;
+ m[i+4]=e; m[i+5]=f; m[i+6]=g; m[i+7]=h;
+ }
+ /* do a second pass to make all of the seed affect all of m */
+ for (i=0; i<RANDSIZ; i+=8)
+ {
+ a+=m[i ]; b+=m[i+1]; c+=m[i+2]; d+=m[i+3];
+ e+=m[i+4]; f+=m[i+5]; g+=m[i+6]; h+=m[i+7];
+ mix(a,b,c,d,e,f,g,h);
+ m[i ]=a; m[i+1]=b; m[i+2]=c; m[i+3]=d;
+ m[i+4]=e; m[i+5]=f; m[i+6]=g; m[i+7]=h;
+ }
+ }
+ else
+ {
+ for (i=0; i<RANDSIZ; i+=8)
+ {
+ /* fill in mm[] with messy stuff */
+ mix(a,b,c,d,e,f,g,h);
+ m[i ]=a; m[i+1]=b; m[i+2]=c; m[i+3]=d;
+ m[i+4]=e; m[i+5]=f; m[i+6]=g; m[i+7]=h;
+ }
+ }
+
+ isaac(ctx); /* fill in the first set of results */
+ ctx->randcnt=RANDSIZ; /* prepare to use the first set of results */
+}
diff --git a/src/isaac.h b/src/isaac.h
new file mode 100644
index 0000000..6554569
--- /dev/null
+++ b/src/isaac.h
@@ -0,0 +1,56 @@
+/*
+------------------------------------------------------------------------------
+isaac.h: definitions for a random number generator
+MODIFIED:
+ 960327: Creation (addition of randinit, really)
+ 970719: use context, not global variables, for internal state
+ 980324: renamed seed to flag
+ 980605: recommend RANDSIZL=4 for noncryptography.
+ 991209: modified for inclusion with GNU Backgammon by Gary Wong
+ 070121: modified for inclusion with flam3 by Erik Reckase
+------------------------------------------------------------------------------
+*/
+
+#include "isaacs.h"
+
+#ifndef _ISAAC_H_
+#define _ISAAC_H_
+
+#define RANDSIZL (4) /* I recommend 8 for crypto, 4 for simulations */
+#define RANDSIZ (1<<RANDSIZL)
+
+/* context of random number generator */
+struct randctx
+{
+ ub4 randcnt;
+ ub4 randrsl[RANDSIZ];
+ ub4 randmem[RANDSIZ];
+ ub4 randa;
+ ub4 randb;
+ ub4 randc;
+};
+typedef struct randctx randctx;
+
+/*
+------------------------------------------------------------------------------
+ If (flag==TRUE), then use the contents of randrsl[0..RANDSIZ-1] as the seed.
+------------------------------------------------------------------------------
+*/
+void irandinit( randctx *r, word flag );
+
+void isaac( randctx *r );
+
+
+/*
+------------------------------------------------------------------------------
+ Call irand(/o_ randctx *r _o/) to retrieve a single 32-bit random value
+------------------------------------------------------------------------------
+*/
+#define irand(r) \
+ (!(r)->randcnt-- ? \
+ (isaac(r), (r)->randcnt=RANDSIZ-1, (r)->randrsl[(r)->randcnt]) : \
+ (r)->randrsl[(r)->randcnt])
+
+#endif
+
+
diff --git a/src/isaacs.h b/src/isaacs.h
new file mode 100644
index 0000000..687d8ae
--- /dev/null
+++ b/src/isaacs.h
@@ -0,0 +1,46 @@
+/*
+
+------------------------------------------------------------------------------
+
+Standard definitions and types, Bob Jenkins
+
+Modified for inclusion with flam3 by Erik Reckase
+
+------------------------------------------------------------------------------
+
+*/
+
+#ifndef _ISAACS_H_
+
+#define _ISAACS_H_
+
+typedef unsigned long int ub4; /* unsigned 4-byte quantities */
+
+#define UB4MAXVAL 0xffffffff
+
+typedef signed long int sb4;
+
+#define SB4MAXVAL 0x7fffffff
+
+typedef unsigned short int ub2;
+
+#define UB2MAXVAL 0xffff
+
+typedef signed short int sb2;
+
+#define SB2MAXVAL 0x7fff
+
+typedef unsigned char ub1;
+
+#define UB1MAXVAL 0xff
+
+typedef signed char sb1; /* signed 1-byte quantities */
+
+#define SB1MAXVAL 0x7f
+
+typedef int word; /* fastest type available */
+
+
+
+#endif
+
diff --git a/src/jpeg.c b/src/jpeg.c
new file mode 100644
index 0000000..218f1be
--- /dev/null
+++ b/src/jpeg.c
@@ -0,0 +1,145 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <jpeglib.h>
+#include <string.h>
+
+#include "config.h"
+#include "img.h"
+#include "flam3.h"
+#include "private.h"
+
+void
+write_jpeg(FILE *file, unsigned char *image, int width, int height, flam3_img_comments *fpc) {
+ struct jpeg_compress_struct info;
+ struct jpeg_error_mgr jerr;
+ size_t i;
+ char *nick = getenv("nick");
+ char *url = getenv("url");
+ char *id = getenv("id");
+ char *ai; /* For argi */
+ int jpegcom_enable = argi("enable_jpeg_comments",1);
+
+ char nick_string[64], url_string[128], id_string[128];
+ char bv_string[64],ni_string[64],rt_string[64];
+ char genome_string[65536], ver_string[64];
+
+ /* Create the mandatory comment strings */
+ snprintf(genome_string,65536,"flam3_genome: %s",fpc->genome);
+ snprintf(bv_string,64,"flam3_error_rate: %s",fpc->badvals);
+ snprintf(ni_string,64,"flam3_samples: %s",fpc->numiters);
+ snprintf(rt_string,64,"flam3_time: %s",fpc->rtime);
+ snprintf(ver_string,64,"flam3_version: %s",flam3_version());
+
+ info.err = jpeg_std_error(&jerr);
+ jpeg_create_compress(&info);
+ jpeg_stdio_dest(&info, file);
+ info.in_color_space = JCS_RGB;
+ info.input_components = 3;
+ info.image_width = width;
+ info.image_height = height;
+ jpeg_set_defaults(&info);
+
+ if (getenv("jpeg")) {
+ int quality = atoi(getenv("jpeg"));
+ jpeg_set_quality(&info, quality, TRUE);
+ }
+
+ jpeg_start_compress(&info, TRUE);
+
+ /* Write comments to jpeg */
+ if (jpegcom_enable==1) {
+ jpeg_write_marker(&info, JPEG_COM, (unsigned char *)ver_string, (int)strlen(ver_string));
+
+ if (0 != nick) {
+ snprintf(nick_string,64,"flam3_nickname: %s",nick);
+ jpeg_write_marker(&info, JPEG_COM, (unsigned char *)nick_string, (int)strlen(nick_string));
+ }
+
+ if (0 != url) {
+ snprintf(url_string,128,"flam3_url: %s",url);
+ jpeg_write_marker(&info, JPEG_COM, (unsigned char *)url_string, (int)strlen(url_string));
+ }
+
+ if (0 != id) {
+ snprintf(id_string,128,"flam3_id: %s",id);
+ jpeg_write_marker(&info, JPEG_COM, (unsigned char *)id_string, (int)strlen(id_string));
+ }
+
+ jpeg_write_marker(&info, JPEG_COM, (unsigned char *)bv_string, (int)strlen(bv_string));
+ jpeg_write_marker(&info, JPEG_COM, (unsigned char *)ni_string, (int)strlen(ni_string));
+ jpeg_write_marker(&info, JPEG_COM, (unsigned char *)rt_string, (int)strlen(rt_string));
+ jpeg_write_marker(&info, JPEG_COM, (unsigned char *)genome_string, (int)strlen(genome_string));
+ }
+
+ for (i = 0; i < height; i++) {
+ JSAMPROW row_pointer[1];
+ row_pointer[0] = (unsigned char *) image + (3 * width * i);
+ jpeg_write_scanlines(&info, row_pointer, 1);
+ }
+ jpeg_finish_compress(&info);
+ jpeg_destroy_compress(&info);
+}
+
+unsigned char *read_jpeg(FILE *ifp, int *width, int *height) {
+ struct jpeg_decompress_struct cinfo;
+ struct jpeg_error_mgr jerr;
+ int num_scanlines;
+ unsigned char *p, *q, *t;
+
+ cinfo.err = jpeg_std_error(&jerr);
+ jpeg_create_decompress(&cinfo);
+ jpeg_stdio_src(&cinfo, ifp);
+ (void) jpeg_read_header(&cinfo, TRUE);
+ (void) jpeg_start_decompress(&cinfo);
+
+ /* or image_width? */
+ *width = cinfo.output_width;
+ *height = cinfo.output_height;
+
+ if (3 != cinfo.output_components) {
+ printf("can only read RGB JPEG files, not %d components.\n",
+ cinfo.output_components);
+ return 0;
+ }
+ p = q = malloc(4 * *width * *height);
+ t = malloc(3 * *width);
+
+ while (cinfo.output_scanline < cinfo.output_height) {
+ unsigned char *s = t;
+ int i;
+ num_scanlines = jpeg_read_scanlines(&cinfo, &t, 1);
+ for (i = 0; i < *width; i++) {
+ p[0] = s[0];
+ p[1] = s[1];
+ p[2] = s[2];
+ p[3] = 255;
+ s += 3;
+ p += 4;
+ }
+ }
+
+ (void) jpeg_finish_decompress(&cinfo);
+ jpeg_destroy_decompress(&cinfo);
+
+ free(t);
+ return q;
+}
diff --git a/src/ltmain.sh b/src/ltmain.sh
new file mode 100755
index 0000000..e420fac
--- /dev/null
+++ b/src/ltmain.sh
@@ -0,0 +1,6964 @@
+# ltmain.sh - Provide generalized library-building support services.
+# NOTE: Changing this file will not affect anything until you rerun configure.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+# 2007, 2008 Free Software Foundation, Inc.
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# 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 2 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, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+basename="s,^.*/,,g"
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+progname=`echo "$progpath" | $SED $basename`
+modename="$progname"
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION="1.5.26 Debian 1.5.26-1ubuntu1"
+TIMESTAMP=" (1.1220.2.493 2008/02/01 16:58:18)"
+
+# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Check that we have a working $echo.
+if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X$1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
+ # Yippee, $echo works!
+ :
+else
+ # Restart under the correct shell, and then maybe $echo will work.
+ exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+$*
+EOF
+ exit $EXIT_SUCCESS
+fi
+
+default_mode=
+help="Try \`$progname --help' for more information."
+magic="%%%MAGIC variable%%%"
+mkdir="mkdir"
+mv="mv -f"
+rm="rm -f"
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ SP2NL='tr \040 \012'
+ NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ SP2NL='tr \100 \n'
+ NL2SP='tr \r\n \100\100'
+ ;;
+esac
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+# We save the old values to restore during execute mode.
+lt_env=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+ eval "if test \"\${$lt_var+set}\" = set; then
+ save_$lt_var=\$$lt_var
+ lt_env=\"$lt_var=\$$lt_var \$lt_env\"
+ $lt_var=C
+ export $lt_var
+ fi"
+done
+
+if test -n "$lt_env"; then
+ lt_env="env $lt_env"
+fi
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" $lt_nl"
+
+if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+ $echo "$modename: not configured to build any kind of library" 1>&2
+ $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
+ exit $EXIT_FAILURE
+fi
+
+# Global variables.
+mode=$default_mode
+nonopt=
+prev=
+prevopt=
+run=
+show="$echo"
+show_help=
+execute_dlfiles=
+duplicate_deps=no
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
+
+#####################################
+# Shell function definitions:
+# This seems to be the best place for them
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible. If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+ my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+ if test "$run" = ":"; then
+ # Return a directory name, but don't create it in dry-run mode
+ my_tmpdir="${my_template}-$$"
+ else
+
+ # If mktemp works, use that first and foremost
+ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+ if test ! -d "$my_tmpdir"; then
+ # Failing that, at least try and use $RANDOM to avoid a race
+ my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+ save_mktempdir_umask=`umask`
+ umask 0077
+ $mkdir "$my_tmpdir"
+ umask $save_mktempdir_umask
+ fi
+
+ # If we're not in dry-run mode, bomb out on failure
+ test -d "$my_tmpdir" || {
+ $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
+ exit $EXIT_FAILURE
+ }
+ fi
+
+ $echo "X$my_tmpdir" | $Xsed
+}
+
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+ win32_libid_type="unknown"
+ win32_fileres=`file -L $1 2>/dev/null`
+ case $win32_fileres in
+ *ar\ archive\ import\ library*) # definitely import
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
+ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+ win32_nmres=`eval $NM -f posix -A $1 | \
+ $SED -n -e '1,100{
+ / I /{
+ s,.*,import,
+ p
+ q
+ }
+ }'`
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
+ fi
+ ;;
+ *DLL*)
+ win32_libid_type="x86 DLL"
+ ;;
+ *executable*) # but shell scripts are "executable" too...
+ case $win32_fileres in
+ *MS\ Windows\ PE\ Intel*)
+ win32_libid_type="x86 DLL"
+ ;;
+ esac
+ ;;
+ esac
+ $echo $win32_libid_type
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+ if test -n "$available_tags" && test -z "$tagname"; then
+ CC_quoted=
+ for arg in $CC; do
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ arg="\"$arg\""
+ ;;
+ esac
+ CC_quoted="$CC_quoted $arg"
+ done
+ case $@ in
+ # Blanks in the command may have been stripped by the calling shell,
+ # but not from the CC environment variable when configure was run.
+ " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
+ # Blanks at the start of $base_compile will cause this to fail
+ # if we don't check for them as well.
+ *)
+ for z in $available_tags; do
+ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+ # Evaluate the configuration.
+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ CC_quoted=
+ for arg in $CC; do
+ # Double-quote args containing other shell metacharacters.
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ arg="\"$arg\""
+ ;;
+ esac
+ CC_quoted="$CC_quoted $arg"
+ done
+ case "$@ " in
+ " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
+ # The compiler in the base compile command matches
+ # the one in the tagged configuration.
+ # Assume this is the tagged configuration we want.
+ tagname=$z
+ break
+ ;;
+ esac
+ fi
+ done
+ # If $tagname still isn't set, then no tagged configuration
+ # was found and let the user know that the "--tag" command
+ # line option must be used.
+ if test -z "$tagname"; then
+ $echo "$modename: unable to infer tagged configuration"
+ $echo "$modename: specify a tag with \`--tag'" 1>&2
+ exit $EXIT_FAILURE
+# else
+# $echo "$modename: using $tagname tagged configuration"
+ fi
+ ;;
+ esac
+ fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+ f_ex_an_ar_dir="$1"; shift
+ f_ex_an_ar_oldlib="$1"
+
+ $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
+ $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
+ exit $EXIT_FAILURE
+ fi
+}
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+ my_gentop="$1"; shift
+ my_oldlibs=${1+"$@"}
+ my_oldobjs=""
+ my_xlib=""
+ my_xabs=""
+ my_xdir=""
+ my_status=""
+
+ $show "${rm}r $my_gentop"
+ $run ${rm}r "$my_gentop"
+ $show "$mkdir $my_gentop"
+ $run $mkdir "$my_gentop"
+ my_status=$?
+ if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
+ exit $my_status
+ fi
+
+ for my_xlib in $my_oldlibs; do
+ # Extract the objects.
+ case $my_xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ extracted_serial=`expr $extracted_serial + 1`
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir="$my_gentop/$my_xlib_u"
+
+ $show "${rm}r $my_xdir"
+ $run ${rm}r "$my_xdir"
+ $show "$mkdir $my_xdir"
+ $run $mkdir "$my_xdir"
+ exit_status=$?
+ if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
+ exit $exit_status
+ fi
+ case $host in
+ *-darwin*)
+ $show "Extracting $my_xabs"
+ # Do not bother doing anything if just a dry run
+ if test -z "$run"; then
+ darwin_orig_dir=`pwd`
+ cd $my_xdir || exit $?
+ darwin_archive=$my_xabs
+ darwin_curdir=`pwd`
+ darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
+ darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
+ if test -n "$darwin_arches"; then
+ darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
+ darwin_arch=
+ $show "$darwin_base_archive has multiple architectures $darwin_arches"
+ for darwin_arch in $darwin_arches ; do
+ mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ cd "$darwin_curdir"
+ $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ done # $darwin_arches
+ ## Okay now we have a bunch of thin objects, gotta fatten them up :)
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+ darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+ lipo -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ ${rm}r unfat-$$
+ cd "$darwin_orig_dir"
+ else
+ cd "$darwin_orig_dir"
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ fi # $darwin_arches
+ fi # $run
+ ;;
+ *)
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+ done
+ func_extract_archives_result="$my_oldobjs"
+}
+# End of Shell function definitions
+#####################################
+
+# Darwin sucks
+eval std_shrext=\"$shrext_cmds\"
+
+disable_libs=no
+
+# Parse our command line options once, thoroughly.
+while test "$#" -gt 0
+do
+ arg="$1"
+ shift
+
+ case $arg in
+ -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case $prev in
+ execute_dlfiles)
+ execute_dlfiles="$execute_dlfiles $arg"
+ ;;
+ tag)
+ tagname="$arg"
+ preserve_args="${preserve_args}=$arg"
+
+ # Check whether tagname contains only valid characters
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ $echo "$progname: invalid tag name: $tagname" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ esac
+
+ case $tagname in
+ CC)
+ # Don't test for the "default" C tag, as we know, it's there, but
+ # not specially marked.
+ ;;
+ *)
+ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
+ taglist="$taglist $tagname"
+ # Evaluate the configuration.
+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
+ else
+ $echo "$progname: ignoring unknown tag $tagname" 1>&2
+ fi
+ ;;
+ esac
+ ;;
+ *)
+ eval "$prev=\$arg"
+ ;;
+ esac
+
+ prev=
+ prevopt=
+ continue
+ fi
+
+ # Have we seen a non-optional argument yet?
+ case $arg in
+ --help)
+ show_help=yes
+ ;;
+
+ --version)
+ echo "\
+$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+ exit $?
+ ;;
+
+ --config)
+ ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
+ # Now print the configurations for the tags.
+ for tagname in $taglist; do
+ ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
+ done
+ exit $?
+ ;;
+
+ --debug)
+ $echo "$progname: enabling shell trace mode"
+ set -x
+ preserve_args="$preserve_args $arg"
+ ;;
+
+ --dry-run | -n)
+ run=:
+ ;;
+
+ --features)
+ $echo "host: $host"
+ if test "$build_libtool_libs" = yes; then
+ $echo "enable shared libraries"
+ else
+ $echo "disable shared libraries"
+ fi
+ if test "$build_old_libs" = yes; then
+ $echo "enable static libraries"
+ else
+ $echo "disable static libraries"
+ fi
+ exit $?
+ ;;
+
+ --finish) mode="finish" ;;
+
+ --mode) prevopt="--mode" prev=mode ;;
+ --mode=*) mode="$optarg" ;;
+
+ --preserve-dup-deps) duplicate_deps="yes" ;;
+
+ --quiet | --silent)
+ show=:
+ preserve_args="$preserve_args $arg"
+ ;;
+
+ --tag)
+ prevopt="--tag"
+ prev=tag
+ preserve_args="$preserve_args --tag"
+ ;;
+ --tag=*)
+ set tag "$optarg" ${1+"$@"}
+ shift
+ prev=tag
+ preserve_args="$preserve_args --tag"
+ ;;
+
+ -dlopen)
+ prevopt="-dlopen"
+ prev=execute_dlfiles
+ ;;
+
+ -*)
+ $echo "$modename: unrecognized option \`$arg'" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+
+ *)
+ nonopt="$arg"
+ break
+ ;;
+ esac
+done
+
+if test -n "$prevopt"; then
+ $echo "$modename: option \`$prevopt' requires an argument" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+fi
+
+case $disable_libs in
+no)
+ ;;
+shared)
+ build_libtool_libs=no
+ build_old_libs=yes
+ ;;
+static)
+ build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+ ;;
+esac
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+if test -z "$show_help"; then
+
+ # Infer the operation mode.
+ if test -z "$mode"; then
+ $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
+ $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
+ case $nonopt in
+ *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
+ mode=link
+ for arg
+ do
+ case $arg in
+ -c)
+ mode=compile
+ break
+ ;;
+ esac
+ done
+ ;;
+ *db | *dbx | *strace | *truss)
+ mode=execute
+ ;;
+ *install*|cp|mv)
+ mode=install
+ ;;
+ *rm)
+ mode=uninstall
+ ;;
+ *)
+ # If we have no mode, but dlfiles were specified, then do execute mode.
+ test -n "$execute_dlfiles" && mode=execute
+
+ # Just use the default operation mode.
+ if test -z "$mode"; then
+ if test -n "$nonopt"; then
+ $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
+ else
+ $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+ fi
+ fi
+ ;;
+ esac
+ fi
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$execute_dlfiles" && test "$mode" != execute; then
+ $echo "$modename: unrecognized option \`-dlopen'" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Change the help message to a mode-specific one.
+ generic_help="$help"
+ help="Try \`$modename --help --mode=$mode' for more information."
+
+ # These modes are in order of execution frequency so that they run quickly.
+ case $mode in
+ # libtool compile mode
+ compile)
+ modename="$modename: compile"
+ # Get the compilation command and the source file.
+ base_compile=
+ srcfile="$nonopt" # always keep a non-empty value in "srcfile"
+ suppress_opt=yes
+ suppress_output=
+ arg_mode=normal
+ libobj=
+ later=
+
+ for arg
+ do
+ case $arg_mode in
+ arg )
+ # do not "continue". Instead, add this to base_compile
+ lastarg="$arg"
+ arg_mode=normal
+ ;;
+
+ target )
+ libobj="$arg"
+ arg_mode=normal
+ continue
+ ;;
+
+ normal )
+ # Accept any command-line options.
+ case $arg in
+ -o)
+ if test -n "$libobj" ; then
+ $echo "$modename: you cannot specify \`-o' more than once" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ arg_mode=target
+ continue
+ ;;
+
+ -static | -prefer-pic | -prefer-non-pic)
+ later="$later $arg"
+ continue
+ ;;
+
+ -no-suppress)
+ suppress_opt=no
+ continue
+ ;;
+
+ -Xcompiler)
+ arg_mode=arg # the next one goes into the "base_compile" arg list
+ continue # The current "srcfile" will either be retained or
+ ;; # replaced later. I would guess that would be a bug.
+
+ -Wc,*)
+ args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
+ lastarg=
+ save_ifs="$IFS"; IFS=','
+ for arg in $args; do
+ IFS="$save_ifs"
+
+ # Double-quote args containing other shell metacharacters.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ arg="\"$arg\""
+ ;;
+ esac
+ lastarg="$lastarg $arg"
+ done
+ IFS="$save_ifs"
+ lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
+
+ # Add the arguments to base_compile.
+ base_compile="$base_compile $lastarg"
+ continue
+ ;;
+
+ * )
+ # Accept the current argument as the source file.
+ # The previous "srcfile" becomes the current argument.
+ #
+ lastarg="$srcfile"
+ srcfile="$arg"
+ ;;
+ esac # case $arg
+ ;;
+ esac # case $arg_mode
+
+ # Aesthetically quote the previous argument.
+ lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
+
+ case $lastarg in
+ # Double-quote args containing other shell metacharacters.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, and some SunOS ksh mistreat backslash-escaping
+ # in scan sets (worked around with variable expansion),
+ # and furthermore cannot handle '|' '&' '(' ')' in scan sets
+ # at all, so we specify them separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ lastarg="\"$lastarg\""
+ ;;
+ esac
+
+ base_compile="$base_compile $lastarg"
+ done # for arg
+
+ case $arg_mode in
+ arg)
+ $echo "$modename: you must specify an argument for -Xcompile"
+ exit $EXIT_FAILURE
+ ;;
+ target)
+ $echo "$modename: you must specify a target with \`-o'" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ *)
+ # Get the name of the library object.
+ [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+ ;;
+ esac
+
+ # Recognize several different file suffixes.
+ # If the user specifies -o file.o, it is replaced with file.lo
+ xform='[cCFSifmso]'
+ case $libobj in
+ *.ada) xform=ada ;;
+ *.adb) xform=adb ;;
+ *.ads) xform=ads ;;
+ *.asm) xform=asm ;;
+ *.c++) xform=c++ ;;
+ *.cc) xform=cc ;;
+ *.ii) xform=ii ;;
+ *.class) xform=class ;;
+ *.cpp) xform=cpp ;;
+ *.cxx) xform=cxx ;;
+ *.[fF][09]?) xform=[fF][09]. ;;
+ *.for) xform=for ;;
+ *.java) xform=java ;;
+ *.obj) xform=obj ;;
+ *.sx) xform=sx ;;
+ esac
+
+ libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+
+ case $libobj in
+ *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
+ *)
+ $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ esac
+
+ func_infer_tag $base_compile
+
+ for arg in $later; do
+ case $arg in
+ -static)
+ build_old_libs=yes
+ continue
+ ;;
+
+ -prefer-pic)
+ pic_mode=yes
+ continue
+ ;;
+
+ -prefer-non-pic)
+ pic_mode=no
+ continue
+ ;;
+ esac
+ done
+
+ qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
+ case $qlibobj in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ qlibobj="\"$qlibobj\"" ;;
+ esac
+ test "X$libobj" != "X$qlibobj" \
+ && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \
+ && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
+ objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+ xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$obj"; then
+ xdir=
+ else
+ xdir=$xdir/
+ fi
+ lobj=${xdir}$objdir/$objname
+
+ if test -z "$base_compile"; then
+ $echo "$modename: you must specify a compilation command" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Delete any leftover library objects.
+ if test "$build_old_libs" = yes; then
+ removelist="$obj $lobj $libobj ${libobj}T"
+ else
+ removelist="$lobj $libobj ${libobj}T"
+ fi
+
+ $run $rm $removelist
+ trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+
+ # On Cygwin there's no "real" PIC flag so we must build both object types
+ case $host_os in
+ cygwin* | mingw* | pw32* | os2*)
+ pic_mode=default
+ ;;
+ esac
+ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+ # non-PIC code in shared libraries is not supported
+ pic_mode=default
+ fi
+
+ # Calculate the filename of the output object if compiler does
+ # not support -o with -c
+ if test "$compiler_c_o" = no; then
+ output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+ lockfile="$output_obj.lock"
+ removelist="$removelist $output_obj $lockfile"
+ trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
+ else
+ output_obj=
+ need_locks=no
+ lockfile=
+ fi
+
+ # Lock this critical section if it is needed
+ # We use this script file to make the link, it avoids creating a new file
+ if test "$need_locks" = yes; then
+ until $run ln "$progpath" "$lockfile" 2>/dev/null; do
+ $show "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ elif test "$need_locks" = warn; then
+ if test -f "$lockfile"; then
+ $echo "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $run $rm $removelist
+ exit $EXIT_FAILURE
+ fi
+ $echo "$srcfile" > "$lockfile"
+ fi
+
+ if test -n "$fix_srcfile_path"; then
+ eval srcfile=\"$fix_srcfile_path\"
+ fi
+ qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
+ case $qsrcfile in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ qsrcfile="\"$qsrcfile\"" ;;
+ esac
+
+ $run $rm "$libobj" "${libobj}T"
+
+ # Create a libtool object file (analogous to a ".la" file),
+ # but don't create it if we're doing a dry run.
+ test -z "$run" && cat > ${libobj}T <<EOF
+# $libobj - a libtool object file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+EOF
+
+ # Only build a PIC object if we are building libtool libraries.
+ if test "$build_libtool_libs" = yes; then
+ # Without this assignment, base_compile gets emptied.
+ fbsd_hideous_sh_bug=$base_compile
+
+ if test "$pic_mode" != no; then
+ command="$base_compile $qsrcfile $pic_flag"
+ else
+ # Don't build PIC code
+ command="$base_compile $qsrcfile"
+ fi
+
+ if test ! -d "${xdir}$objdir"; then
+ $show "$mkdir ${xdir}$objdir"
+ $run $mkdir ${xdir}$objdir
+ exit_status=$?
+ if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
+ exit $exit_status
+ fi
+ fi
+
+ if test -z "$output_obj"; then
+ # Place PIC objects in $objdir
+ command="$command -o $lobj"
+ fi
+
+ $run $rm "$lobj" "$output_obj"
+
+ $show "$command"
+ if $run eval $lt_env "$command"; then :
+ else
+ test -n "$output_obj" && $run $rm $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $run $rm $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed, then go on to compile the next one
+ if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+ $show "$mv $output_obj $lobj"
+ if $run $mv $output_obj $lobj; then :
+ else
+ error=$?
+ $run $rm $removelist
+ exit $error
+ fi
+ fi
+
+ # Append the name of the PIC object to the libtool object file.
+ test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object='$objdir/$objname'
+
+EOF
+
+ # Allow error messages only from the first compilation.
+ if test "$suppress_opt" = yes; then
+ suppress_output=' >/dev/null 2>&1'
+ fi
+ else
+ # No PIC object so indicate it doesn't exist in the libtool
+ # object file.
+ test -z "$run" && cat >> ${libobj}T <<EOF
+pic_object=none
+
+EOF
+ fi
+
+ # Only build a position-dependent object if we build old libraries.
+ if test "$build_old_libs" = yes; then
+ if test "$pic_mode" != yes; then
+ # Don't build PIC code
+ command="$base_compile $qsrcfile"
+ else
+ command="$base_compile $qsrcfile $pic_flag"
+ fi
+ if test "$compiler_c_o" = yes; then
+ command="$command -o $obj"
+ fi
+
+ # Suppress compiler output if we already did a PIC compilation.
+ command="$command$suppress_output"
+ $run $rm "$obj" "$output_obj"
+ $show "$command"
+ if $run eval $lt_env "$command"; then :
+ else
+ $run $rm $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $echo "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $run $rm $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed
+ if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+ $show "$mv $output_obj $obj"
+ if $run $mv $output_obj $obj; then :
+ else
+ error=$?
+ $run $rm $removelist
+ exit $error
+ fi
+ fi
+
+ # Append the name of the non-PIC object the libtool object file.
+ # Only append if the libtool object file exists.
+ test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object='$objname'
+
+EOF
+ else
+ # Append the name of the non-PIC object the libtool object file.
+ # Only append if the libtool object file exists.
+ test -z "$run" && cat >> ${libobj}T <<EOF
+# Name of the non-PIC object.
+non_pic_object=none
+
+EOF
+ fi
+
+ $run $mv "${libobj}T" "${libobj}"
+
+ # Unlock the critical section if it was locked
+ if test "$need_locks" != no; then
+ $run $rm "$lockfile"
+ fi
+
+ exit $EXIT_SUCCESS
+ ;;
+
+ # libtool link mode
+ link | relink)
+ modename="$modename: link"
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ # It is impossible to link a dll without this setting, and
+ # we shouldn't force the makefile maintainer to figure out
+ # which system we are compiling for in order to pass an extra
+ # flag for every libtool invocation.
+ # allow_undefined=no
+
+ # FIXME: Unfortunately, there are problems with the above when trying
+ # to make a dll which has undefined symbols, in which case not
+ # even a static library is built. For now, we need to specify
+ # -no-undefined on the libtool link line when we can be certain
+ # that all symbols are satisfied, otherwise we get a static library.
+ allow_undefined=yes
+ ;;
+ *)
+ allow_undefined=yes
+ ;;
+ esac
+ libtool_args="$nonopt"
+ base_compile="$nonopt $@"
+ compile_command="$nonopt"
+ finalize_command="$nonopt"
+
+ compile_rpath=
+ finalize_rpath=
+ compile_shlibpath=
+ finalize_shlibpath=
+ convenience=
+ old_convenience=
+ deplibs=
+ old_deplibs=
+ compiler_flags=
+ linker_flags=
+ dllsearchpath=
+ lib_search_path=`pwd`
+ inst_prefix_dir=
+
+ avoid_version=no
+ dlfiles=
+ dlprefiles=
+ dlself=no
+ export_dynamic=no
+ export_symbols=
+ export_symbols_regex=
+ generated=
+ libobjs=
+ ltlibs=
+ module=no
+ no_install=no
+ objs=
+ non_pic_objects=
+ notinst_path= # paths that contain not-installed libtool libraries
+ precious_files_regex=
+ prefer_static_libs=no
+ preload=no
+ prev=
+ prevarg=
+ release=
+ rpath=
+ xrpath=
+ perm_rpath=
+ temp_rpath=
+ thread_safe=no
+ vinfo=
+ vinfo_number=no
+ single_module="${wl}-single_module"
+
+ func_infer_tag $base_compile
+
+ # We need to know -static, to get the right output filenames.
+ for arg
+ do
+ case $arg in
+ -all-static | -static | -static-libtool-libs)
+ case $arg in
+ -all-static)
+ if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+ fi
+ if test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ -static)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=built
+ ;;
+ -static-libtool-libs)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ esac
+ build_libtool_libs=no
+ build_old_libs=yes
+ break
+ ;;
+ esac
+ done
+
+ # See if our shared archives depend on static archives.
+ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+ # Go through the arguments, transforming them on the way.
+ while test "$#" -gt 0; do
+ arg="$1"
+ shift
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
+ ;;
+ *) qarg=$arg ;;
+ esac
+ libtool_args="$libtool_args $qarg"
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case $prev in
+ output)
+ compile_command="$compile_command @OUTPUT@"
+ finalize_command="$finalize_command @OUTPUT@"
+ ;;
+ esac
+
+ case $prev in
+ dlfiles|dlprefiles)
+ if test "$preload" = no; then
+ # Add the symbol object into the linking commands.
+ compile_command="$compile_command @SYMFILE@"
+ finalize_command="$finalize_command @SYMFILE@"
+ preload=yes
+ fi
+ case $arg in
+ *.la | *.lo) ;; # We handle these cases below.
+ force)
+ if test "$dlself" = no; then
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ self)
+ if test "$prev" = dlprefiles; then
+ dlself=yes
+ elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+ dlself=yes
+ else
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ *)
+ if test "$prev" = dlfiles; then
+ dlfiles="$dlfiles $arg"
+ else
+ dlprefiles="$dlprefiles $arg"
+ fi
+ prev=
+ continue
+ ;;
+ esac
+ ;;
+ expsyms)
+ export_symbols="$arg"
+ if test ! -f "$arg"; then
+ $echo "$modename: symbol file \`$arg' does not exist"
+ exit $EXIT_FAILURE
+ fi
+ prev=
+ continue
+ ;;
+ expsyms_regex)
+ export_symbols_regex="$arg"
+ prev=
+ continue
+ ;;
+ inst_prefix)
+ inst_prefix_dir="$arg"
+ prev=
+ continue
+ ;;
+ precious_regex)
+ precious_files_regex="$arg"
+ prev=
+ continue
+ ;;
+ release)
+ release="-$arg"
+ prev=
+ continue
+ ;;
+ objectlist)
+ if test -f "$arg"; then
+ save_arg=$arg
+ moreargs=
+ for fil in `cat $save_arg`
+ do
+# moreargs="$moreargs $fil"
+ arg=$fil
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ # If there is no directory component, then add one.
+ case $arg in
+ */* | *\\*) . $arg ;;
+ *) . ./$arg ;;
+ esac
+
+ if test -z "$pic_object" || \
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none && \
+ test "$non_pic_object" = none; then
+ $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Extract subdirectory from the argument.
+ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$arg"; then
+ xdir=
+ else
+ xdir="$xdir/"
+ fi
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ dlfiles="$dlfiles $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ dlprefiles="$dlprefiles $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ libobjs="$libobjs $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ non_pic_objects="$non_pic_objects $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ non_pic_objects="$non_pic_objects $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if test -z "$run"; then
+ $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+ exit $EXIT_FAILURE
+ else
+ # Dry-run case.
+
+ # Extract subdirectory from the argument.
+ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$arg"; then
+ xdir=
+ else
+ xdir="$xdir/"
+ fi
+
+ pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+ non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+ libobjs="$libobjs $pic_object"
+ non_pic_objects="$non_pic_objects $non_pic_object"
+ fi
+ fi
+ done
+ else
+ $echo "$modename: link input file \`$save_arg' does not exist"
+ exit $EXIT_FAILURE
+ fi
+ arg=$save_arg
+ prev=
+ continue
+ ;;
+ rpath | xrpath)
+ # We need an absolute path.
+ case $arg in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ $echo "$modename: only absolute run-paths are allowed" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ esac
+ if test "$prev" = rpath; then
+ case "$rpath " in
+ *" $arg "*) ;;
+ *) rpath="$rpath $arg" ;;
+ esac
+ else
+ case "$xrpath " in
+ *" $arg "*) ;;
+ *) xrpath="$xrpath $arg" ;;
+ esac
+ fi
+ prev=
+ continue
+ ;;
+ xcompiler)
+ compiler_flags="$compiler_flags $qarg"
+ prev=
+ compile_command="$compile_command $qarg"
+ finalize_command="$finalize_command $qarg"
+ continue
+ ;;
+ xlinker)
+ linker_flags="$linker_flags $qarg"
+ compiler_flags="$compiler_flags $wl$qarg"
+ prev=
+ compile_command="$compile_command $wl$qarg"
+ finalize_command="$finalize_command $wl$qarg"
+ continue
+ ;;
+ xcclinker)
+ linker_flags="$linker_flags $qarg"
+ compiler_flags="$compiler_flags $qarg"
+ prev=
+ compile_command="$compile_command $qarg"
+ finalize_command="$finalize_command $qarg"
+ continue
+ ;;
+ shrext)
+ shrext_cmds="$arg"
+ prev=
+ continue
+ ;;
+ darwin_framework|darwin_framework_skip)
+ test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
+ compile_command="$compile_command $arg"
+ finalize_command="$finalize_command $arg"
+ prev=
+ continue
+ ;;
+ *)
+ eval "$prev=\"\$arg\""
+ prev=
+ continue
+ ;;
+ esac
+ fi # test -n "$prev"
+
+ prevarg="$arg"
+
+ case $arg in
+ -all-static)
+ if test -n "$link_static_flag"; then
+ compile_command="$compile_command $link_static_flag"
+ finalize_command="$finalize_command $link_static_flag"
+ fi
+ continue
+ ;;
+
+ -allow-undefined)
+ # FIXME: remove this flag sometime in the future.
+ $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
+ continue
+ ;;
+
+ -avoid-version)
+ avoid_version=yes
+ continue
+ ;;
+
+ -dlopen)
+ prev=dlfiles
+ continue
+ ;;
+
+ -dlpreopen)
+ prev=dlprefiles
+ continue
+ ;;
+
+ -export-dynamic)
+ export_dynamic=yes
+ continue
+ ;;
+
+ -export-symbols | -export-symbols-regex)
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ $echo "$modename: more than one -exported-symbols argument is not allowed"
+ exit $EXIT_FAILURE
+ fi
+ if test "X$arg" = "X-export-symbols"; then
+ prev=expsyms
+ else
+ prev=expsyms_regex
+ fi
+ continue
+ ;;
+
+ -framework|-arch|-isysroot)
+ case " $CC " in
+ *" ${arg} ${1} "* | *" ${arg} ${1} "*)
+ prev=darwin_framework_skip ;;
+ *) compiler_flags="$compiler_flags $arg"
+ prev=darwin_framework ;;
+ esac
+ compile_command="$compile_command $arg"
+ finalize_command="$finalize_command $arg"
+ continue
+ ;;
+
+ -inst-prefix-dir)
+ prev=inst_prefix
+ continue
+ ;;
+
+ # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+ # so, if we see these flags be careful not to treat them like -L
+ -L[A-Z][A-Z]*:*)
+ case $with_gcc/$host in
+ no/*-*-irix* | /*-*-irix*)
+ compile_command="$compile_command $arg"
+ finalize_command="$finalize_command $arg"
+ ;;
+ esac
+ continue
+ ;;
+
+ -L*)
+ dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
+ absdir="$dir"
+ notinst_path="$notinst_path $dir"
+ fi
+ dir="$absdir"
+ ;;
+ esac
+ case "$deplibs " in
+ *" -L$dir "*) ;;
+ *)
+ deplibs="$deplibs -L$dir"
+ lib_search_path="$lib_search_path $dir"
+ ;;
+ esac
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$dir:"*) ;;
+ *) dllsearchpath="$dllsearchpath:$dir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ *) dllsearchpath="$dllsearchpath:$testbindir";;
+ esac
+ ;;
+ esac
+ continue
+ ;;
+
+ -l*)
+ if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
+ # These systems don't actually have a C or math library (as such)
+ continue
+ ;;
+ *-*-os2*)
+ # These systems don't actually have a C library (as such)
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C and math libraries are in the System framework
+ deplibs="$deplibs -framework System"
+ continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ test "X$arg" = "X-lc" && continue
+ ;;
+ esac
+ elif test "X$arg" = "X-lc_r"; then
+ case $host in
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc_r directly, use -pthread flag.
+ continue
+ ;;
+ esac
+ fi
+ deplibs="$deplibs $arg"
+ continue
+ ;;
+
+ # Tru64 UNIX uses -model [arg] to determine the layout of C++
+ # classes, name mangling, and exception handling.
+ -model)
+ compile_command="$compile_command $arg"
+ compiler_flags="$compiler_flags $arg"
+ finalize_command="$finalize_command $arg"
+ prev=xcompiler
+ continue
+ ;;
+
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ compiler_flags="$compiler_flags $arg"
+ compile_command="$compile_command $arg"
+ finalize_command="$finalize_command $arg"
+ continue
+ ;;
+
+ -multi_module)
+ single_module="${wl}-multi_module"
+ continue
+ ;;
+
+ -module)
+ module=yes
+ continue
+ ;;
+
+ # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+ # -r[0-9][0-9]* specifies the processor on the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+ # +DA*, +DD* enable 64-bit mode on the HP compiler
+ # -q* pass through compiler args for the IBM compiler
+ # -m* pass through architecture-specific compiler args for GCC
+ # -m*, -t[45]*, -txscale* pass through architecture-specific
+ # compiler args for GCC
+ # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+ # -F/path gives path to uninstalled frameworks, gcc on darwin
+ # @file GCC response files
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ arg="\"$arg\""
+ ;;
+ esac
+ compile_command="$compile_command $arg"
+ finalize_command="$finalize_command $arg"
+ compiler_flags="$compiler_flags $arg"
+ continue
+ ;;
+
+ -shrext)
+ prev=shrext
+ continue
+ ;;
+
+ -no-fast-install)
+ fast_install=no
+ continue
+ ;;
+
+ -no-install)
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
+ # The PATH hackery in wrapper scripts is required on Windows
+ # and Darwin in order for the loader to find any dlls it needs.
+ $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
+ $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
+ fast_install=no
+ ;;
+ *) no_install=yes ;;
+ esac
+ continue
+ ;;
+
+ -no-undefined)
+ allow_undefined=no
+ continue
+ ;;
+
+ -objectlist)
+ prev=objectlist
+ continue
+ ;;
+
+ -o) prev=output ;;
+
+ -precious-files-regex)
+ prev=precious_regex
+ continue
+ ;;
+
+ -release)
+ prev=release
+ continue
+ ;;
+
+ -rpath)
+ prev=rpath
+ continue
+ ;;
+
+ -R)
+ prev=xrpath
+ continue
+ ;;
+
+ -R*)
+ dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ $echo "$modename: only absolute run-paths are allowed" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ esac
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) xrpath="$xrpath $dir" ;;
+ esac
+ continue
+ ;;
+
+ -static | -static-libtool-libs)
+ # The effects of -static are defined in a previous loop.
+ # We used to do the same as -all-static on platforms that
+ # didn't have a PIC flag, but the assumption that the effects
+ # would be equivalent was wrong. It would break on at least
+ # Digital Unix and AIX.
+ continue
+ ;;
+
+ -thread-safe)
+ thread_safe=yes
+ continue
+ ;;
+
+ -version-info)
+ prev=vinfo
+ continue
+ ;;
+ -version-number)
+ prev=vinfo
+ vinfo_number=yes
+ continue
+ ;;
+
+ -Wc,*)
+ args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ case $flag in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ flag="\"$flag\""
+ ;;
+ esac
+ arg="$arg $wl$flag"
+ compiler_flags="$compiler_flags $flag"
+ done
+ IFS="$save_ifs"
+ arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+ ;;
+
+ -Wl,*)
+ args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ case $flag in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ flag="\"$flag\""
+ ;;
+ esac
+ arg="$arg $wl$flag"
+ compiler_flags="$compiler_flags $wl$flag"
+ linker_flags="$linker_flags $flag"
+ done
+ IFS="$save_ifs"
+ arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+ ;;
+
+ -Xcompiler)
+ prev=xcompiler
+ continue
+ ;;
+
+ -Xlinker)
+ prev=xlinker
+ continue
+ ;;
+
+ -XCClinker)
+ prev=xcclinker
+ continue
+ ;;
+
+ # Some other compiler flag.
+ -* | +*)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ arg="\"$arg\""
+ ;;
+ esac
+ ;;
+
+ *.$objext)
+ # A standard object.
+ objs="$objs $arg"
+ ;;
+
+ *.lo)
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ # If there is no directory component, then add one.
+ case $arg in
+ */* | *\\*) . $arg ;;
+ *) . ./$arg ;;
+ esac
+
+ if test -z "$pic_object" || \
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none && \
+ test "$non_pic_object" = none; then
+ $echo "$modename: cannot find name of object for \`$arg'" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Extract subdirectory from the argument.
+ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$arg"; then
+ xdir=
+ else
+ xdir="$xdir/"
+ fi
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ dlfiles="$dlfiles $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ dlprefiles="$dlprefiles $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ libobjs="$libobjs $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ non_pic_objects="$non_pic_objects $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ non_pic_objects="$non_pic_objects $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if test -z "$run"; then
+ $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
+ exit $EXIT_FAILURE
+ else
+ # Dry-run case.
+
+ # Extract subdirectory from the argument.
+ xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$xdir" = "X$arg"; then
+ xdir=
+ else
+ xdir="$xdir/"
+ fi
+
+ pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
+ non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
+ libobjs="$libobjs $pic_object"
+ non_pic_objects="$non_pic_objects $non_pic_object"
+ fi
+ fi
+ ;;
+
+ *.$libext)
+ # An archive.
+ deplibs="$deplibs $arg"
+ old_deplibs="$old_deplibs $arg"
+ continue
+ ;;
+
+ *.la)
+ # A libtool-controlled library.
+
+ if test "$prev" = dlfiles; then
+ # This library was specified with -dlopen.
+ dlfiles="$dlfiles $arg"
+ prev=
+ elif test "$prev" = dlprefiles; then
+ # The library was specified with -dlpreopen.
+ dlprefiles="$dlprefiles $arg"
+ prev=
+ else
+ deplibs="$deplibs $arg"
+ fi
+ continue
+ ;;
+
+ # Some other compiler argument.
+ *)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ arg="\"$arg\""
+ ;;
+ esac
+ ;;
+ esac # arg
+
+ # Now actually substitute the argument into the commands.
+ if test -n "$arg"; then
+ compile_command="$compile_command $arg"
+ finalize_command="$finalize_command $arg"
+ fi
+ done # argument parsing loop
+
+ if test -n "$prev"; then
+ $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+ eval arg=\"$export_dynamic_flag_spec\"
+ compile_command="$compile_command $arg"
+ finalize_command="$finalize_command $arg"
+ fi
+
+ oldlibs=
+ # calculate the name of the file, without its directory
+ outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+ libobjs_save="$libobjs"
+
+ if test -n "$shlibpath_var"; then
+ # get the directories listed in $shlibpath_var
+ eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+ else
+ shlib_search_path=
+ fi
+ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+ output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$output_objdir" = "X$output"; then
+ output_objdir="$objdir"
+ else
+ output_objdir="$output_objdir/$objdir"
+ fi
+ # Create the object directory.
+ if test ! -d "$output_objdir"; then
+ $show "$mkdir $output_objdir"
+ $run $mkdir $output_objdir
+ exit_status=$?
+ if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
+ exit $exit_status
+ fi
+ fi
+
+ # Determine the type of output
+ case $output in
+ "")
+ $echo "$modename: you must specify an output file" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ *.$libext) linkmode=oldlib ;;
+ *.lo | *.$objext) linkmode=obj ;;
+ *.la) linkmode=lib ;;
+ *) linkmode=prog ;; # Anything else should be a program.
+ esac
+
+ case $host in
+ *cygwin* | *mingw* | *pw32*)
+ # don't eliminate duplications in $postdeps and $predeps
+ duplicate_compiler_generated_deps=yes
+ ;;
+ *)
+ duplicate_compiler_generated_deps=$duplicate_deps
+ ;;
+ esac
+ specialdeplibs=
+
+ libs=
+ # Find all interdependent deplibs by searching for libraries
+ # that are linked more than once (e.g. -la -lb -la)
+ for deplib in $deplibs; do
+ if test "X$duplicate_deps" = "Xyes" ; then
+ case "$libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ libs="$libs $deplib"
+ done
+
+ if test "$linkmode" = lib; then
+ libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+ # Compute libraries that are listed more than once in $predeps
+ # $postdeps and mark them as special (i.e., whose duplicates are
+ # not to be eliminated).
+ pre_post_deps=
+ if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
+ for pre_post_dep in $predeps $postdeps; do
+ case "$pre_post_deps " in
+ *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+ esac
+ pre_post_deps="$pre_post_deps $pre_post_dep"
+ done
+ fi
+ pre_post_deps=
+ fi
+
+ deplibs=
+ newdependency_libs=
+ newlib_search_path=
+ need_relink=no # whether we're linking any uninstalled libtool libraries
+ notinst_deplibs= # not-installed libtool libraries
+ case $linkmode in
+ lib)
+ passes="conv link"
+ for file in $dlfiles $dlprefiles; do
+ case $file in
+ *.la) ;;
+ *)
+ $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ esac
+ done
+ ;;
+ prog)
+ compile_deplibs=
+ finalize_deplibs=
+ alldeplibs=no
+ newdlfiles=
+ newdlprefiles=
+ passes="conv scan dlopen dlpreopen link"
+ ;;
+ *) passes="conv"
+ ;;
+ esac
+ for pass in $passes; do
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan"; then
+ libs="$deplibs"
+ deplibs=
+ fi
+ if test "$linkmode" = prog; then
+ case $pass in
+ dlopen) libs="$dlfiles" ;;
+ dlpreopen) libs="$dlprefiles" ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
+ esac
+ fi
+ if test "$pass" = dlopen; then
+ # Collect dlpreopened libraries
+ save_deplibs="$deplibs"
+ deplibs=
+ fi
+ for deplib in $libs; do
+ lib=
+ found=no
+ case $deplib in
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags $deplib"
+ fi
+ continue
+ ;;
+ -l*)
+ if test "$linkmode" != lib && test "$linkmode" != prog; then
+ $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
+ continue
+ fi
+ name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
+ if test "$linkmode" = lib; then
+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+ else
+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+ fi
+ for searchdir in $searchdirs; do
+ for search_ext in .la $std_shrext .so .a; do
+ # Search the libtool library
+ lib="$searchdir/lib${name}${search_ext}"
+ if test -f "$lib"; then
+ if test "$search_ext" = ".la"; then
+ found=yes
+ else
+ found=no
+ fi
+ break 2
+ fi
+ done
+ done
+ if test "$found" != yes; then
+ # deplib doesn't seem to be a libtool library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ else # deplib is a libtool library
+ # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+ # We need to do some special things here, and not later.
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $deplib "*)
+ if (${SED} -e '2q' $lib |
+ grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ library_names=
+ old_library=
+ case $lib in
+ */* | *\\*) . $lib ;;
+ *) . ./$lib ;;
+ esac
+ for l in $old_library $library_names; do
+ ll="$l"
+ done
+ if test "X$ll" = "X$old_library" ; then # only static version available
+ found=no
+ ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$ladir" = "X$lib" && ladir="."
+ lib=$ladir/$old_library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ fi
+ fi
+ ;;
+ *) ;;
+ esac
+ fi
+ fi
+ ;; # -l
+ -L*)
+ case $linkmode in
+ lib)
+ deplibs="$deplib $deplibs"
+ test "$pass" = conv && continue
+ newdependency_libs="$deplib $newdependency_libs"
+ newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+ ;;
+ prog)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ if test "$pass" = scan; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+ ;;
+ *)
+ $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
+ ;;
+ esac # linkmode
+ continue
+ ;; # -L
+ -R*)
+ if test "$pass" = link; then
+ dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+ # Make sure the xrpath contains only unique directories.
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) xrpath="$xrpath $dir" ;;
+ esac
+ fi
+ deplibs="$deplib $deplibs"
+ continue
+ ;;
+ *.la) lib="$deplib" ;;
+ *.$libext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ case $linkmode in
+ lib)
+ valid_a_lib=no
+ case $deplibs_check_method in
+ match_pattern*)
+ set dummy $deplibs_check_method
+ match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+ if eval $echo \"$deplib\" 2>/dev/null \
+ | $SED 10q \
+ | $EGREP "$match_pattern_regex" > /dev/null; then
+ valid_a_lib=yes
+ fi
+ ;;
+ pass_all)
+ valid_a_lib=yes
+ ;;
+ esac
+ if test "$valid_a_lib" != yes; then
+ $echo
+ $echo "*** Warning: Trying to link with static lib archive $deplib."
+ $echo "*** I have the capability to make that library automatically link in when"
+ $echo "*** you link to this library. But I can only do this if you have a"
+ $echo "*** shared version of the library, which you do not appear to have"
+ $echo "*** because the file extensions .$libext of this argument makes me believe"
+ $echo "*** that it is just a static archive that I should not used here."
+ else
+ $echo
+ $echo "*** Warning: Linking the shared library $output against the"
+ $echo "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ fi
+ continue
+ ;;
+ prog)
+ if test "$pass" != link; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ continue
+ ;;
+ esac # linkmode
+ ;; # *.$libext
+ *.lo | *.$objext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ elif test "$linkmode" = prog; then
+ if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ # If there is no dlopen support or we're linking statically,
+ # we need to preload.
+ newdlprefiles="$newdlprefiles $deplib"
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ newdlfiles="$newdlfiles $deplib"
+ fi
+ fi
+ continue
+ ;;
+ %DEPLIBS%)
+ alldeplibs=yes
+ continue
+ ;;
+ esac # case $deplib
+ if test "$found" = yes || test -f "$lib"; then :
+ else
+ $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Check to see that this really is a libtool archive.
+ if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+ else
+ $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$ladir" = "X$lib" && ladir="."
+
+ dlname=
+ dlopen=
+ dlpreopen=
+ libdir=
+ library_names=
+ old_library=
+ # If the library was installed with an old release of libtool,
+ # it will not redefine variables installed, or shouldnotlink
+ installed=yes
+ shouldnotlink=no
+ avoidtemprpath=
+
+
+ # Read the .la file
+ case $lib in
+ */* | *\\*) . $lib ;;
+ *) . ./$lib ;;
+ esac
+
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan" ||
+ { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+ test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+ test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+ fi
+
+ if test "$pass" = conv; then
+ # Only check for convenience libraries
+ deplibs="$lib $deplibs"
+ if test -z "$libdir"; then
+ if test -z "$old_library"; then
+ $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ # It is a libtool convenience library, so add in its objects.
+ convenience="$convenience $ladir/$objdir/$old_library"
+ old_convenience="$old_convenience $ladir/$objdir/$old_library"
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if test "X$duplicate_deps" = "Xyes" ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done
+ elif test "$linkmode" != prog && test "$linkmode" != lib; then
+ $echo "$modename: \`$lib' is not a convenience library" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ continue
+ fi # $pass = conv
+
+
+ # Get the name of the library we link against.
+ linklib=
+ for l in $old_library $library_names; do
+ linklib="$l"
+ done
+ if test -z "$linklib"; then
+ $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # This library was specified with -dlopen.
+ if test "$pass" = dlopen; then
+ if test -z "$libdir"; then
+ $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ if test -z "$dlname" ||
+ test "$dlopen_support" != yes ||
+ test "$build_libtool_libs" = no; then
+ # If there is no dlname, no dlopen support or we're linking
+ # statically, we need to preload. We also need to preload any
+ # dependent libraries so libltdl's deplib preloader doesn't
+ # bomb out in the load deplibs phase.
+ dlprefiles="$dlprefiles $lib $dependency_libs"
+ else
+ newdlfiles="$newdlfiles $lib"
+ fi
+ continue
+ fi # $pass = dlopen
+
+ # We need an absolute path.
+ case $ladir in
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+ *)
+ abs_ladir=`cd "$ladir" && pwd`
+ if test -z "$abs_ladir"; then
+ $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
+ $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
+ abs_ladir="$ladir"
+ fi
+ ;;
+ esac
+ laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+
+ # Find the relevant object directory and library name.
+ if test "X$installed" = Xyes; then
+ if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ $echo "$modename: warning: library \`$lib' was moved." 1>&2
+ dir="$ladir"
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
+ dir="$libdir"
+ absdir="$libdir"
+ fi
+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ else
+ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ dir="$ladir"
+ absdir="$abs_ladir"
+ # Remove this search path later
+ notinst_path="$notinst_path $abs_ladir"
+ else
+ dir="$ladir/$objdir"
+ absdir="$abs_ladir/$objdir"
+ # Remove this search path later
+ notinst_path="$notinst_path $abs_ladir"
+ fi
+ fi # $installed = yes
+ name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+
+ # This library was specified with -dlpreopen.
+ if test "$pass" = dlpreopen; then
+ if test -z "$libdir"; then
+ $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ newdlprefiles="$newdlprefiles $dir/$old_library"
+ # Otherwise, use the dlname, so that lt_dlopen finds it.
+ elif test -n "$dlname"; then
+ newdlprefiles="$newdlprefiles $dir/$dlname"
+ else
+ newdlprefiles="$newdlprefiles $dir/$linklib"
+ fi
+ fi # $pass = dlpreopen
+
+ if test -z "$libdir"; then
+ # Link the convenience library
+ if test "$linkmode" = lib; then
+ deplibs="$dir/$old_library $deplibs"
+ elif test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$dir/$old_library $compile_deplibs"
+ finalize_deplibs="$dir/$old_library $finalize_deplibs"
+ else
+ deplibs="$lib $deplibs" # used for prog,scan pass
+ fi
+ continue
+ fi
+
+
+ if test "$linkmode" = prog && test "$pass" != link; then
+ newlib_search_path="$newlib_search_path $ladir"
+ deplibs="$lib $deplibs"
+
+ linkalldeplibs=no
+ if test "$link_all_deplibs" != no || test -z "$library_names" ||
+ test "$build_libtool_libs" = no; then
+ linkalldeplibs=yes
+ fi
+
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
+ esac
+ # Need to link against all dependency_libs?
+ if test "$linkalldeplibs" = yes; then
+ deplibs="$deplib $deplibs"
+ else
+ # Need to hardcode shared library paths
+ # or/and link against static libraries
+ newdependency_libs="$deplib $newdependency_libs"
+ fi
+ if test "X$duplicate_deps" = "Xyes" ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done # for deplib
+ continue
+ fi # $linkmode = prog...
+
+ if test "$linkmode,$pass" = "prog,link"; then
+ if test -n "$library_names" &&
+ { { test "$prefer_static_libs" = no ||
+ test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ test -z "$old_library"; }; then
+ # We need to hardcode the library path
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+ # Make sure the rpath contains only unique directories.
+ case "$temp_rpath " in
+ *" $dir "*) ;;
+ *" $absdir "*) ;;
+ *) temp_rpath="$temp_rpath $absdir" ;;
+ esac
+ fi
+
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) compile_rpath="$compile_rpath $absdir"
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir"
+ esac
+ ;;
+ esac
+ fi # $linkmode,$pass = prog,link...
+
+ if test "$alldeplibs" = yes &&
+ { test "$deplibs_check_method" = pass_all ||
+ { test "$build_libtool_libs" = yes &&
+ test -n "$library_names"; }; }; then
+ # We only need to search for static libraries
+ continue
+ fi
+ fi
+
+ link_static=no # Whether the deplib will be linked statically
+ use_static_libs=$prefer_static_libs
+ if test "$use_static_libs" = built && test "$installed" = yes ; then
+ use_static_libs=no
+ fi
+ if test -n "$library_names" &&
+ { test "$use_static_libs" = no || test -z "$old_library"; }; then
+ if test "$installed" = no; then
+ notinst_deplibs="$notinst_deplibs $lib"
+ need_relink=yes
+ fi
+ # This is a shared library
+
+ # Warn about portability, can't link against -module's on
+ # some systems (darwin)
+ if test "$shouldnotlink" = yes && test "$pass" = link ; then
+ $echo
+ if test "$linkmode" = prog; then
+ $echo "*** Warning: Linking the executable $output against the loadable module"
+ else
+ $echo "*** Warning: Linking the shared library $output against the loadable module"
+ fi
+ $echo "*** $linklib is not portable!"
+ fi
+ if test "$linkmode" = lib &&
+ test "$hardcode_into_libs" = yes; then
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) compile_rpath="$compile_rpath $absdir"
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir"
+ esac
+ ;;
+ esac
+ fi
+
+ if test -n "$old_archive_from_expsyms_cmds"; then
+ # figure out the soname
+ set dummy $library_names
+ realname="$2"
+ shift; shift
+ libname=`eval \\$echo \"$libname_spec\"`
+ # use dlname if we got it. it's perfectly good, no?
+ if test -n "$dlname"; then
+ soname="$dlname"
+ elif test -n "$soname_spec"; then
+ # bleh windows
+ case $host in
+ *cygwin* | mingw*)
+ major=`expr $current - $age`
+ versuffix="-$major"
+ ;;
+ esac
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+
+ # Make a new name for the extract_expsyms_cmds to use
+ soroot="$soname"
+ soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
+ newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
+
+ # If the library has no export list, then create one now
+ if test -f "$output_objdir/$soname-def"; then :
+ else
+ $show "extracting exported symbol list from \`$soname'"
+ save_ifs="$IFS"; IFS='~'
+ cmds=$extract_expsyms_cmds
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ fi
+
+ # Create $newlib
+ if test -f "$output_objdir/$newlib"; then :; else
+ $show "generating import library for \`$soname'"
+ save_ifs="$IFS"; IFS='~'
+ cmds=$old_archive_from_expsyms_cmds
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ fi
+ # make sure the library variables are pointing to the new library
+ dir=$output_objdir
+ linklib=$newlib
+ fi # test -n "$old_archive_from_expsyms_cmds"
+
+ if test "$linkmode" = prog || test "$mode" != relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ lib_linked=yes
+ case $hardcode_action in
+ immediate | unsupported)
+ if test "$hardcode_direct" = no; then
+ add="$dir/$linklib"
+ case $host in
+ *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+ *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+ *-*-unixware7*) add_dir="-L$dir" ;;
+ *-*-darwin* )
+ # if the lib is a module then we can not link against
+ # it, someone is ignoring the new warnings I added
+ if /usr/bin/file -L $add 2> /dev/null |
+ $EGREP ": [^:]* bundle" >/dev/null ; then
+ $echo "** Warning, lib $linklib is a module, not a shared library"
+ if test -z "$old_library" ; then
+ $echo
+ $echo "** And there doesn't seem to be a static archive available"
+ $echo "** The link will probably fail, sorry"
+ else
+ add="$dir/$old_library"
+ fi
+ fi
+ esac
+ elif test "$hardcode_minus_L" = no; then
+ case $host in
+ *-*-sunos*) add_shlibpath="$dir" ;;
+ esac
+ add_dir="-L$dir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = no; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ relink)
+ if test "$hardcode_direct" = yes; then
+ add="$dir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$dir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ add_dir="$add_dir -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ *) lib_linked=no ;;
+ esac
+
+ if test "$lib_linked" != yes; then
+ $echo "$modename: configuration error: unsupported hardcode properties"
+ exit $EXIT_FAILURE
+ fi
+
+ if test -n "$add_shlibpath"; then
+ case :$compile_shlibpath: in
+ *":$add_shlibpath:"*) ;;
+ *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+ esac
+ fi
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+ test -n "$add" && compile_deplibs="$add $compile_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ if test "$hardcode_direct" != yes && \
+ test "$hardcode_minus_L" != yes && \
+ test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+ esac
+ fi
+ fi
+ fi
+
+ if test "$linkmode" = prog || test "$mode" = relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ # Finalize command for both is simple: just hardcode it.
+ if test "$hardcode_direct" = yes; then
+ add="$libdir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$libdir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+ esac
+ add="-l$name"
+ elif test "$hardcode_automatic" = yes; then
+ if test -n "$inst_prefix_dir" &&
+ test -f "$inst_prefix_dir$libdir/$linklib" ; then
+ add="$inst_prefix_dir$libdir/$linklib"
+ else
+ add="$libdir/$linklib"
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+ add_dir="-L$libdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ add_dir="$add_dir -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ fi
+
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+ test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ fi
+ fi
+ elif test "$linkmode" = prog; then
+ # Here we assume that one of hardcode_direct or hardcode_minus_L
+ # is not unsupported. This is valid on all known static and
+ # shared platforms.
+ if test "$hardcode_direct" != unsupported; then
+ test -n "$old_library" && linklib="$old_library"
+ compile_deplibs="$dir/$linklib $compile_deplibs"
+ finalize_deplibs="$dir/$linklib $finalize_deplibs"
+ else
+ compile_deplibs="-l$name -L$dir $compile_deplibs"
+ finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+ fi
+ elif test "$build_libtool_libs" = yes; then
+ # Not a shared library
+ if test "$deplibs_check_method" != pass_all; then
+ # We're trying link a shared library against a static one
+ # but the system doesn't support it.
+
+ # Just print a warning and add the library to dependency_libs so
+ # that the program can be linked against the static library.
+ $echo
+ $echo "*** Warning: This system can not link to static lib archive $lib."
+ $echo "*** I have the capability to make that library automatically link in when"
+ $echo "*** you link to this library. But I can only do this if you have a"
+ $echo "*** shared version of the library, which you do not appear to have."
+ if test "$module" = yes; then
+ $echo "*** But as you try to build a module library, libtool will still create "
+ $echo "*** a static module, that should work as long as the dlopening application"
+ $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ if test -z "$global_symbol_pipe"; then
+ $echo
+ $echo "*** However, this would only work if libtool was able to extract symbol"
+ $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ $echo "*** not find such a program. So, this module is probably useless."
+ $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ else
+ deplibs="$dir/$old_library $deplibs"
+ link_static=yes
+ fi
+ fi # link shared/static library?
+
+ if test "$linkmode" = lib; then
+ if test -n "$dependency_libs" &&
+ { test "$hardcode_into_libs" != yes ||
+ test "$build_old_libs" = yes ||
+ test "$link_static" = yes; }; then
+ # Extract -R from dependency_libs
+ temp_deplibs=
+ for libdir in $dependency_libs; do
+ case $libdir in
+ -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
+ case " $xrpath " in
+ *" $temp_xrpath "*) ;;
+ *) xrpath="$xrpath $temp_xrpath";;
+ esac;;
+ *) temp_deplibs="$temp_deplibs $libdir";;
+ esac
+ done
+ dependency_libs="$temp_deplibs"
+ fi
+
+ newlib_search_path="$newlib_search_path $absdir"
+ # Link against this library
+ test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ # ... and its dependency_libs
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ newdependency_libs="$deplib $newdependency_libs"
+ if test "X$duplicate_deps" = "Xyes" ; then
+ case "$tmp_libs " in
+ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+ esac
+ fi
+ tmp_libs="$tmp_libs $deplib"
+ done
+
+ if test "$link_all_deplibs" != no; then
+ # Add the search paths of all dependency libraries
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) path="$deplib" ;;
+ *.la)
+ dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$dir" = "X$deplib" && dir="."
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
+ absdir="$dir"
+ fi
+ ;;
+ esac
+ if grep "^installed=no" $deplib > /dev/null; then
+ path="$absdir/$objdir"
+ else
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ if test -z "$libdir"; then
+ $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ if test "$absdir" != "$libdir"; then
+ $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
+ fi
+ path="$absdir"
+ fi
+ depdepl=
+ case $host in
+ *-*-darwin*)
+ # we do not want to link against static libs,
+ # but need to link against shared
+ eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names" ; then
+ for tmp in $deplibrary_names ; do
+ depdepl=$tmp
+ done
+ if test -f "$deplibdir/$depdepl" ; then
+ depdepl="$deplibdir/$depdepl"
+ elif test -f "$path/$depdepl" ; then
+ depdepl="$path/$depdepl"
+ else
+ # Can't find it, oh well...
+ depdepl=
+ fi
+ # do not add paths which are already there
+ case " $newlib_search_path " in
+ *" $path "*) ;;
+ *) newlib_search_path="$newlib_search_path $path";;
+ esac
+ fi
+ path=""
+ ;;
+ *)
+ path="-L$path"
+ ;;
+ esac
+ ;;
+ -l*)
+ case $host in
+ *-*-darwin*)
+ # Again, we only want to link against shared libraries
+ eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
+ for tmp in $newlib_search_path ; do
+ if test -f "$tmp/lib$tmp_libs.dylib" ; then
+ eval depdepl="$tmp/lib$tmp_libs.dylib"
+ break
+ fi
+ done
+ path=""
+ ;;
+ *) continue ;;
+ esac
+ ;;
+ *) continue ;;
+ esac
+ case " $deplibs " in
+ *" $path "*) ;;
+ *) deplibs="$path $deplibs" ;;
+ esac
+ case " $deplibs " in
+ *" $depdepl "*) ;;
+ *) deplibs="$depdepl $deplibs" ;;
+ esac
+ done
+ fi # link_all_deplibs != no
+ fi # linkmode = lib
+ done # for deplib in $libs
+ dependency_libs="$newdependency_libs"
+ if test "$pass" = dlpreopen; then
+ # Link the dlpreopened libraries before other libraries
+ for deplib in $save_deplibs; do
+ deplibs="$deplib $deplibs"
+ done
+ fi
+ if test "$pass" != dlopen; then
+ if test "$pass" != conv; then
+ # Make sure lib_search_path contains only unique directories.
+ lib_search_path=
+ for dir in $newlib_search_path; do
+ case "$lib_search_path " in
+ *" $dir "*) ;;
+ *) lib_search_path="$lib_search_path $dir" ;;
+ esac
+ done
+ newlib_search_path=
+ fi
+
+ if test "$linkmode,$pass" != "prog,link"; then
+ vars="deplibs"
+ else
+ vars="compile_deplibs finalize_deplibs"
+ fi
+ for var in $vars dependency_libs; do
+ # Add libraries to $var in reverse order
+ eval tmp_libs=\"\$$var\"
+ new_libs=
+ for deplib in $tmp_libs; do
+ # FIXME: Pedantically, this is the right thing to do, so
+ # that some nasty dependency loop isn't accidentally
+ # broken:
+ #new_libs="$deplib $new_libs"
+ # Pragmatically, this seems to cause very few problems in
+ # practice:
+ case $deplib in
+ -L*) new_libs="$deplib $new_libs" ;;
+ -R*) ;;
+ *)
+ # And here is the reason: when a library appears more
+ # than once as an explicit dependence of a library, or
+ # is implicitly linked in more than once by the
+ # compiler, it is considered special, and multiple
+ # occurrences thereof are not removed. Compare this
+ # with having the same library being listed as a
+ # dependency of multiple other libraries: in this case,
+ # we know (pedantically, we assume) the library does not
+ # need to be listed more than once, so we keep only the
+ # last copy. This is not always right, but it is rare
+ # enough that we require users that really mean to play
+ # such unportable linking tricks to link the library
+ # using -Wl,-lname, so that libtool does not consider it
+ # for duplicate removal.
+ case " $specialdeplibs " in
+ *" $deplib "*) new_libs="$deplib $new_libs" ;;
+ *)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$deplib $new_libs" ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ done
+ tmp_libs=
+ for deplib in $new_libs; do
+ case $deplib in
+ -L*)
+ case " $tmp_libs " in
+ *" $deplib "*) ;;
+ *) tmp_libs="$tmp_libs $deplib" ;;
+ esac
+ ;;
+ *) tmp_libs="$tmp_libs $deplib" ;;
+ esac
+ done
+ eval $var=\"$tmp_libs\"
+ done # for var
+ fi
+ # Last step: remove runtime libs from dependency_libs
+ # (they stay in deplibs)
+ tmp_libs=
+ for i in $dependency_libs ; do
+ case " $predeps $postdeps $compiler_lib_search_path " in
+ *" $i "*)
+ i=""
+ ;;
+ esac
+ if test -n "$i" ; then
+ tmp_libs="$tmp_libs $i"
+ fi
+ done
+ dependency_libs=$tmp_libs
+ done # for pass
+ if test "$linkmode" = prog; then
+ dlfiles="$newdlfiles"
+ dlprefiles="$newdlprefiles"
+ fi
+
+ case $linkmode in
+ oldlib)
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;;
+ esac
+
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$rpath"; then
+ $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$xrpath"; then
+ $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$vinfo"; then
+ $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$release"; then
+ $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
+ fi
+
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
+ fi
+
+ # Now set the variables for building old libraries.
+ build_libtool_libs=no
+ oldlibs="$output"
+ objs="$objs$old_deplibs"
+ ;;
+
+ lib)
+ # Make sure we only generate libraries of the form `libNAME.la'.
+ case $outputname in
+ lib*)
+ name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ ;;
+ *)
+ if test "$module" = no; then
+ $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ if test "$need_lib_prefix" != no; then
+ # Add the "lib" prefix for modules if required
+ name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ else
+ libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+ fi
+ ;;
+ esac
+
+ if test -n "$objs"; then
+ if test "$deplibs_check_method" != pass_all; then
+ $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
+ exit $EXIT_FAILURE
+ else
+ $echo
+ $echo "*** Warning: Linking the shared library $output against the non-libtool"
+ $echo "*** objects $objs is not portable!"
+ libobjs="$libobjs $objs"
+ fi
+ fi
+
+ if test "$dlself" != no; then
+ $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
+ fi
+
+ set dummy $rpath
+ if test "$#" -gt 2; then
+ $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+ fi
+ install_libdir="$2"
+
+ oldlibs=
+ if test -z "$rpath"; then
+ if test "$build_libtool_libs" = yes; then
+ # Building a libtool convenience library.
+ # Some compilers have problems with a `.al' extension so
+ # convenience libraries should have the same extension an
+ # archive normally would.
+ oldlibs="$output_objdir/$libname.$libext $oldlibs"
+ build_libtool_libs=convenience
+ build_old_libs=yes
+ fi
+
+ if test -n "$vinfo"; then
+ $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
+ fi
+
+ if test -n "$release"; then
+ $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
+ fi
+ else
+
+ # Parse the version information argument.
+ save_ifs="$IFS"; IFS=':'
+ set dummy $vinfo 0 0 0
+ IFS="$save_ifs"
+
+ if test -n "$8"; then
+ $echo "$modename: too many parameters to \`-version-info'" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # convert absolute version numbers to libtool ages
+ # this retains compatibility with .la files and attempts
+ # to make the code below a bit more comprehensible
+
+ case $vinfo_number in
+ yes)
+ number_major="$2"
+ number_minor="$3"
+ number_revision="$4"
+ #
+ # There are really only two kinds -- those that
+ # use the current revision as the major version
+ # and those that subtract age and use age as
+ # a minor version. But, then there is irix
+ # which has an extra 1 added just for fun
+ #
+ case $version_type in
+ darwin|linux|osf|windows|none)
+ current=`expr $number_major + $number_minor`
+ age="$number_minor"
+ revision="$number_revision"
+ ;;
+ freebsd-aout|freebsd-elf|sunos)
+ current="$number_major"
+ revision="$number_minor"
+ age="0"
+ ;;
+ irix|nonstopux)
+ current=`expr $number_major + $number_minor`
+ age="$number_minor"
+ revision="$number_minor"
+ lt_irix_increment=no
+ ;;
+ *)
+ $echo "$modename: unknown library version type \`$version_type'" 1>&2
+ $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ esac
+ ;;
+ no)
+ current="$2"
+ revision="$3"
+ age="$4"
+ ;;
+ esac
+
+ # Check that each of the things are valid numbers.
+ case $current in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ esac
+
+ case $revision in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ esac
+
+ case $age in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ esac
+
+ if test "$age" -gt "$current"; then
+ $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Calculate the version variables.
+ major=
+ versuffix=
+ verstring=
+ case $version_type in
+ none) ;;
+
+ darwin)
+ # Like Linux, but with the current version available in
+ # verstring for coding it into the library header
+ major=.`expr $current - $age`
+ versuffix="$major.$age.$revision"
+ # Darwin ld doesn't like 0 for these options...
+ minor_current=`expr $current + 1`
+ xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+
+ freebsd-aout)
+ major=".$current"
+ versuffix=".$current.$revision";
+ ;;
+
+ freebsd-elf)
+ major=".$current"
+ versuffix=".$current";
+ ;;
+
+ irix | nonstopux)
+ if test "X$lt_irix_increment" = "Xno"; then
+ major=`expr $current - $age`
+ else
+ major=`expr $current - $age + 1`
+ fi
+ case $version_type in
+ nonstopux) verstring_prefix=nonstopux ;;
+ *) verstring_prefix=sgi ;;
+ esac
+ verstring="$verstring_prefix$major.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$revision
+ while test "$loop" -ne 0; do
+ iface=`expr $revision - $loop`
+ loop=`expr $loop - 1`
+ verstring="$verstring_prefix$major.$iface:$verstring"
+ done
+
+ # Before this point, $major must not contain `.'.
+ major=.$major
+ versuffix="$major.$revision"
+ ;;
+
+ linux)
+ major=.`expr $current - $age`
+ versuffix="$major.$age.$revision"
+ ;;
+
+ osf)
+ major=.`expr $current - $age`
+ versuffix=".$current.$age.$revision"
+ verstring="$current.$age.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$age
+ while test "$loop" -ne 0; do
+ iface=`expr $current - $loop`
+ loop=`expr $loop - 1`
+ verstring="$verstring:${iface}.0"
+ done
+
+ # Make executables depend on our current version.
+ verstring="$verstring:${current}.0"
+ ;;
+
+ sunos)
+ major=".$current"
+ versuffix=".$current.$revision"
+ ;;
+
+ windows)
+ # Use '-' rather than '.', since we only want one
+ # extension on DOS 8.3 filesystems.
+ major=`expr $current - $age`
+ versuffix="-$major"
+ ;;
+
+ *)
+ $echo "$modename: unknown library version type \`$version_type'" 1>&2
+ $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ esac
+
+ # Clear the version info if we defaulted, and they specified a release.
+ if test -z "$vinfo" && test -n "$release"; then
+ major=
+ case $version_type in
+ darwin)
+ # we can't check for "0.0" in archive_cmds due to quoting
+ # problems, so we reset it completely
+ verstring=
+ ;;
+ *)
+ verstring="0.0"
+ ;;
+ esac
+ if test "$need_version" = no; then
+ versuffix=
+ else
+ versuffix=".0.0"
+ fi
+ fi
+
+ # Remove version info from name if versioning should be avoided
+ if test "$avoid_version" = yes && test "$need_version" = no; then
+ major=
+ versuffix=
+ verstring=""
+ fi
+
+ # Check to see if the archive will have undefined symbols.
+ if test "$allow_undefined" = yes; then
+ if test "$allow_undefined_flag" = unsupported; then
+ $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+ build_libtool_libs=no
+ build_old_libs=yes
+ fi
+ else
+ # Don't allow undefined symbols.
+ allow_undefined_flag="$no_undefined_flag"
+ fi
+ fi
+
+ if test "$mode" != relink; then
+ # Remove our outputs, but don't remove object files since they
+ # may have been created when compiling PIC objects.
+ removelist=
+ tempremovelist=`$echo "$output_objdir/*"`
+ for p in $tempremovelist; do
+ case $p in
+ *.$objext)
+ ;;
+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+ if test "X$precious_files_regex" != "X"; then
+ if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+ then
+ continue
+ fi
+ fi
+ removelist="$removelist $p"
+ ;;
+ *) ;;
+ esac
+ done
+ if test -n "$removelist"; then
+ $show "${rm}r $removelist"
+ $run ${rm}r $removelist
+ fi
+ fi
+
+ # Now set the variables for building old libraries.
+ if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+ oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+ # Transform .lo files to .o files.
+ oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+ fi
+
+ # Eliminate all temporary directories.
+ #for path in $notinst_path; do
+ # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+ # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+ # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+ #done
+
+ if test -n "$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ temp_xrpath=
+ for libdir in $xrpath; do
+ temp_xrpath="$temp_xrpath -R$libdir"
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir" ;;
+ esac
+ done
+ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+ dependency_libs="$temp_xrpath $dependency_libs"
+ fi
+ fi
+
+ # Make sure dlfiles contains only unique files that won't be dlpreopened
+ old_dlfiles="$dlfiles"
+ dlfiles=
+ for lib in $old_dlfiles; do
+ case " $dlprefiles $dlfiles " in
+ *" $lib "*) ;;
+ *) dlfiles="$dlfiles $lib" ;;
+ esac
+ done
+
+ # Make sure dlprefiles contains only unique files
+ old_dlprefiles="$dlprefiles"
+ dlprefiles=
+ for lib in $old_dlprefiles; do
+ case "$dlprefiles " in
+ *" $lib "*) ;;
+ *) dlprefiles="$dlprefiles $lib" ;;
+ esac
+ done
+
+ if test "$build_libtool_libs" = yes; then
+ if test -n "$rpath"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+ # these systems don't actually have a c library (as such)!
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C library is in the System framework
+ deplibs="$deplibs -framework System"
+ ;;
+ *-*-netbsd*)
+ # Don't link with libc until the a.out ld.so is fixed.
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ ;;
+ *)
+ # Add libc to deplibs on all other systems if necessary.
+ if test "$build_libtool_need_lc" = "yes"; then
+ deplibs="$deplibs -lc"
+ fi
+ ;;
+ esac
+ fi
+
+ # Transform deplibs into only deplibs that can be linked in shared.
+ name_save=$name
+ libname_save=$libname
+ release_save=$release
+ versuffix_save=$versuffix
+ major_save=$major
+ # I'm not sure if I'm treating the release correctly. I think
+ # release should show up in the -l (ie -lgmp5) so we don't want to
+ # add it in twice. Is that correct?
+ release=""
+ versuffix=""
+ major=""
+ newdeplibs=
+ droppeddeps=no
+ case $deplibs_check_method in
+ pass_all)
+ # Don't check for shared/static. Everything works.
+ # This might be a little naive. We might want to check
+ # whether the library exists or not. But this is on
+ # osf3 & osf4 and I'm not really sure... Just
+ # implementing what was already the behavior.
+ newdeplibs=$deplibs
+ ;;
+ test_compile)
+ # This code stresses the "libraries are programs" paradigm to its
+ # limits. Maybe even breaks it. We compile a program, linking it
+ # against the deplibs as a proxy for the library. Then we can check
+ # whether they linked in statically or dynamically with ldd.
+ $rm conftest.c
+ cat > conftest.c <<EOF
+ int main() { return 0; }
+EOF
+ $rm conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+ ldd_output=`ldd conftest`
+ for i in $deplibs; do
+ name=`expr $i : '-l\(.*\)'`
+ # If $name is empty we are operating on a -L argument.
+ if test "$name" != "" && test "$name" != "0"; then
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ newdeplibs="$newdeplibs $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval \\$echo \"$libname_spec\"`
+ deplib_matches=`eval \\$echo \"$library_names_spec\"`
+ set dummy $deplib_matches
+ deplib_match=$2
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ newdeplibs="$newdeplibs $i"
+ else
+ droppeddeps=yes
+ $echo
+ $echo "*** Warning: dynamic linker does not accept needed library $i."
+ $echo "*** I have the capability to make that library automatically link in when"
+ $echo "*** you link to this library. But I can only do this if you have a"
+ $echo "*** shared version of the library, which I believe you do not have"
+ $echo "*** because a test_compile did reveal that the linker did not use it for"
+ $echo "*** its dynamic dependency list that programs get resolved with at runtime."
+ fi
+ fi
+ else
+ newdeplibs="$newdeplibs $i"
+ fi
+ done
+ else
+ # Error occurred in the first compile. Let's try to salvage
+ # the situation: Compile a separate program for each library.
+ for i in $deplibs; do
+ name=`expr $i : '-l\(.*\)'`
+ # If $name is empty we are operating on a -L argument.
+ if test "$name" != "" && test "$name" != "0"; then
+ $rm conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+ ldd_output=`ldd conftest`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ newdeplibs="$newdeplibs $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval \\$echo \"$libname_spec\"`
+ deplib_matches=`eval \\$echo \"$library_names_spec\"`
+ set dummy $deplib_matches
+ deplib_match=$2
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ newdeplibs="$newdeplibs $i"
+ else
+ droppeddeps=yes
+ $echo
+ $echo "*** Warning: dynamic linker does not accept needed library $i."
+ $echo "*** I have the capability to make that library automatically link in when"
+ $echo "*** you link to this library. But I can only do this if you have a"
+ $echo "*** shared version of the library, which you do not appear to have"
+ $echo "*** because a test_compile did reveal that the linker did not use this one"
+ $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+ fi
+ fi
+ else
+ droppeddeps=yes
+ $echo
+ $echo "*** Warning! Library $i is needed by this library but I was not able to"
+ $echo "*** make it link in! You will probably need to install it or some"
+ $echo "*** library that it depends on before this library will be fully"
+ $echo "*** functional. Installing it before continuing would be even better."
+ fi
+ else
+ newdeplibs="$newdeplibs $i"
+ fi
+ done
+ fi
+ ;;
+ file_magic*)
+ set dummy $deplibs_check_method
+ file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+ for a_deplib in $deplibs; do
+ name=`expr $a_deplib : '-l\(.*\)'`
+ # If $name is empty we are operating on a -L argument.
+ if test "$name" != "" && test "$name" != "0"; then
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval \\$echo \"$libname_spec\"`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ # Follow soft links.
+ if ls -lLd "$potent_lib" 2>/dev/null \
+ | grep " -> " >/dev/null; then
+ continue
+ fi
+ # The statement above tries to avoid entering an
+ # endless loop below, in case of cyclic links.
+ # We might still enter an endless loop, since a link
+ # loop can be closed while we follow links,
+ # but so what?
+ potlib="$potent_lib"
+ while test -h "$potlib" 2>/dev/null; do
+ potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+ case $potliblink in
+ [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+ *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+ esac
+ done
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
+ | ${SED} 10q \
+ | $EGREP "$file_magic_regex" > /dev/null; then
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ $echo
+ $echo "*** Warning: linker path does not have real file for library $a_deplib."
+ $echo "*** I have the capability to make that library automatically link in when"
+ $echo "*** you link to this library. But I can only do this if you have a"
+ $echo "*** shared version of the library, which you do not appear to have"
+ $echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $echo "*** with $libname but no candidates were found. (...for file magic test)"
+ else
+ $echo "*** with $libname and none of the candidates passed a file format test"
+ $echo "*** using a file magic. Last file checked: $potlib"
+ fi
+ fi
+ else
+ # Add a -L argument.
+ newdeplibs="$newdeplibs $a_deplib"
+ fi
+ done # Gone through all deplibs.
+ ;;
+ match_pattern*)
+ set dummy $deplibs_check_method
+ match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+ for a_deplib in $deplibs; do
+ name=`expr $a_deplib : '-l\(.*\)'`
+ # If $name is empty we are operating on a -L argument.
+ if test -n "$name" && test "$name" != "0"; then
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval \\$echo \"$libname_spec\"`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ potlib="$potent_lib" # see symlink-check above in file_magic test
+ if eval $echo \"$potent_lib\" 2>/dev/null \
+ | ${SED} 10q \
+ | $EGREP "$match_pattern_regex" > /dev/null; then
+ newdeplibs="$newdeplibs $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ $echo
+ $echo "*** Warning: linker path does not have real file for library $a_deplib."
+ $echo "*** I have the capability to make that library automatically link in when"
+ $echo "*** you link to this library. But I can only do this if you have a"
+ $echo "*** shared version of the library, which you do not appear to have"
+ $echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
+ else
+ $echo "*** with $libname and none of the candidates passed a file format test"
+ $echo "*** using a regex pattern. Last file checked: $potlib"
+ fi
+ fi
+ else
+ # Add a -L argument.
+ newdeplibs="$newdeplibs $a_deplib"
+ fi
+ done # Gone through all deplibs.
+ ;;
+ none | unknown | *)
+ newdeplibs=""
+ tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
+ -e 's/ -[LR][^ ]*//g'`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ for i in $predeps $postdeps ; do
+ # can't use Xsed below, because $i might contain '/'
+ tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
+ done
+ fi
+ if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \
+ | grep . >/dev/null; then
+ $echo
+ if test "X$deplibs_check_method" = "Xnone"; then
+ $echo "*** Warning: inter-library dependencies are not supported in this platform."
+ else
+ $echo "*** Warning: inter-library dependencies are not known to be supported."
+ fi
+ $echo "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
+ fi
+ ;;
+ esac
+ versuffix=$versuffix_save
+ major=$major_save
+ release=$release_save
+ libname=$libname_save
+ name=$name_save
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library is the System framework
+ newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
+ ;;
+ esac
+
+ if test "$droppeddeps" = yes; then
+ if test "$module" = yes; then
+ $echo
+ $echo "*** Warning: libtool could not satisfy all declared inter-library"
+ $echo "*** dependencies of module $libname. Therefore, libtool will create"
+ $echo "*** a static module, that should work as long as the dlopening"
+ $echo "*** application is linked with the -dlopen flag."
+ if test -z "$global_symbol_pipe"; then
+ $echo
+ $echo "*** However, this would only work if libtool was able to extract symbol"
+ $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ $echo "*** not find such a program. So, this module is probably useless."
+ $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ else
+ $echo "*** The inter-library dependencies that have been dropped here will be"
+ $echo "*** automatically added whenever a program is linked with this library"
+ $echo "*** or is declared to -dlopen it."
+
+ if test "$allow_undefined" = no; then
+ $echo
+ $echo "*** Since this library must not contain undefined symbols,"
+ $echo "*** because either the platform does not support them or"
+ $echo "*** it was explicitly requested with -no-undefined,"
+ $echo "*** libtool will only create a static version of it."
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ fi
+ fi
+ # Done checking deplibs!
+ deplibs=$newdeplibs
+ fi
+
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $deplibs " in
+ *" -L$path/$objdir "*)
+ new_libs="$new_libs -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ done
+ deplibs="$new_libs"
+
+
+ # All the library-specific variables (install_libdir is set above).
+ library_names=
+ old_library=
+ dlname=
+
+ # Test again, we may have decided not to build it any more
+ if test "$build_libtool_libs" = yes; then
+ if test "$hardcode_into_libs" = yes; then
+ # Hardcode the library paths
+ hardcode_libdirs=
+ dep_rpath=
+ rpath="$finalize_rpath"
+ test "$mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ dep_rpath="$dep_rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) perm_rpath="$perm_rpath $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ if test -n "$hardcode_libdir_flag_spec_ld"; then
+ case $archive_cmds in
+ *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
+ *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
+ esac
+ else
+ eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+ fi
+ fi
+ if test -n "$runpath_var" && test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+ fi
+ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+ fi
+
+ shlibpath="$finalize_shlibpath"
+ test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ if test -n "$shlibpath"; then
+ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+ fi
+
+ # Get the real and link names of the library.
+ eval shared_ext=\"$shrext_cmds\"
+ eval library_names=\"$library_names_spec\"
+ set dummy $library_names
+ realname="$2"
+ shift; shift
+
+ if test -n "$soname_spec"; then
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+ if test -z "$dlname"; then
+ dlname=$soname
+ fi
+
+ lib="$output_objdir/$realname"
+ linknames=
+ for link
+ do
+ linknames="$linknames $link"
+ done
+
+ # Use standard objects if they are pic
+ test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+ $show "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $run $rm $export_symbols
+ cmds=$export_symbols_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ if len=`expr "X$cmd" : ".*"` &&
+ test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ skipped_export=false
+ else
+ # The command line is too long to execute in one step.
+ $show "using reloadable object file for export list..."
+ skipped_export=:
+ # Break out early, otherwise skipped_export may be
+ # set to false by a later but shorter cmd.
+ break
+ fi
+ done
+ IFS="$save_ifs"
+ if test -n "$export_symbols_regex"; then
+ $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
+ $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ $show "$mv \"${export_symbols}T\" \"$export_symbols\""
+ $run eval '$mv "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+ fi
+
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+ fi
+
+ tmp_deplibs=
+ for test_deplib in $deplibs; do
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+ tmp_deplibs="$tmp_deplibs $test_deplib"
+ ;;
+ esac
+ done
+ deplibs="$tmp_deplibs"
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ else
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $convenience
+ libobjs="$libobjs $func_extract_archives_result"
+ fi
+ fi
+
+ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+ eval flag=\"$thread_safe_flag_spec\"
+ linker_flags="$linker_flags $flag"
+ fi
+
+ # Make a backup of the uninstalled library when relinking
+ if test "$mode" = relink; then
+ $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
+ fi
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ eval test_cmds=\"$module_expsym_cmds\"
+ cmds=$module_expsym_cmds
+ else
+ eval test_cmds=\"$module_cmds\"
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval test_cmds=\"$archive_expsym_cmds\"
+ cmds=$archive_expsym_cmds
+ else
+ eval test_cmds=\"$archive_cmds\"
+ cmds=$archive_cmds
+ fi
+ fi
+
+ if test "X$skipped_export" != "X:" &&
+ len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+ test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ :
+ else
+ # The command line is too long to link in one step, link piecewise.
+ $echo "creating reloadable object files..."
+
+ # Save the value of $output and $libobjs because we want to
+ # use them later. If we have whole_archive_flag_spec, we
+ # want to use save_libobjs as it was before
+ # whole_archive_flag_spec was expanded, because we can't
+ # assume the linker understands whole_archive_flag_spec.
+ # This may have to be revisited, in case too many
+ # convenience libraries get linked in and end up exceeding
+ # the spec.
+ if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ fi
+ save_output=$output
+ output_la=`$echo "X$output" | $Xsed -e "$basename"`
+
+ # Clear the reloadable object creation command queue and
+ # initialize k to one.
+ test_cmds=
+ concat_cmds=
+ objlist=
+ delfiles=
+ last_robj=
+ k=1
+ output=$output_objdir/$output_la-${k}.$objext
+ # Loop over the list of objects to be linked.
+ for obj in $save_libobjs
+ do
+ eval test_cmds=\"$reload_cmds $objlist $last_robj\"
+ if test "X$objlist" = X ||
+ { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+ test "$len" -le "$max_cmd_len"; }; then
+ objlist="$objlist $obj"
+ else
+ # The command $test_cmds is almost too long, add a
+ # command to the queue.
+ if test "$k" -eq 1 ; then
+ # The first file doesn't have a previous command to add.
+ eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+ else
+ # All subsequent reloadable object files will link in
+ # the last one created.
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
+ fi
+ last_robj=$output_objdir/$output_la-${k}.$objext
+ k=`expr $k + 1`
+ output=$output_objdir/$output_la-${k}.$objext
+ objlist=$obj
+ len=1
+ fi
+ done
+ # Handle the remaining objects by creating one last
+ # reloadable object file. All subsequent reloadable object
+ # files will link in the last one created.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+
+ if ${skipped_export-false}; then
+ $show "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $run $rm $export_symbols
+ libobjs=$output
+ # Append the command to create the export file.
+ eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
+ fi
+
+ # Set up a command to remove the reloadable object files
+ # after they are used.
+ i=0
+ while test "$i" -lt "$k"
+ do
+ i=`expr $i + 1`
+ delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
+ done
+
+ $echo "creating a temporary reloadable object file: $output"
+
+ # Loop through the commands generated above and execute them.
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $concat_cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+
+ libobjs=$output
+ # Restore the value of output.
+ output=$save_output
+
+ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ fi
+ # Expand the library linking commands again to reset the
+ # value of $libobjs for piecewise linking.
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ cmds=$module_expsym_cmds
+ else
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ cmds=$archive_expsym_cmds
+ else
+ cmds=$archive_cmds
+ fi
+ fi
+
+ # Append the command to remove the reloadable object files
+ # to the just-reset $cmds.
+ eval cmds=\"\$cmds~\$rm $delfiles\"
+ fi
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $show "$cmd"
+ $run eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+
+ if test -n "$convenience"; then
+ if test -z "$whole_archive_flag_spec"; then
+ $show "${rm}r $gentop"
+ $run ${rm}r "$gentop"
+ fi
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ # Create links to the real library.
+ for linkname in $linknames; do
+ if test "$realname" != "$linkname"; then
+ $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
+ $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
+ fi
+ done
+
+ # If -module or -export-dynamic was specified, set the dlname.
+ if test "$module" = yes || test "$export_dynamic" = yes; then
+ # On all known operating systems, these are identical.
+ dlname="$soname"
+ fi
+ fi
+ ;;
+
+ obj)
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;;
+ esac
+
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
+ fi
+
+ if test -n "$rpath"; then
+ $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
+ fi
+
+ if test -n "$xrpath"; then
+ $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
+ fi
+
+ if test -n "$vinfo"; then
+ $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
+ fi
+
+ if test -n "$release"; then
+ $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
+ fi
+
+ case $output in
+ *.lo)
+ if test -n "$objs$old_deplibs"; then
+ $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ libobj="$output"
+ obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+ ;;
+ *)
+ libobj=
+ obj="$output"
+ ;;
+ esac
+
+ # Delete the old objects.
+ $run $rm $obj $libobj
+
+ # Objects from convenience libraries. This assumes
+ # single-version convenience libraries. Whenever we create
+ # different ones for PIC/non-PIC, this we'll have to duplicate
+ # the extraction.
+ reload_conv_objs=
+ gentop=
+ # reload_cmds runs $LD directly, so let us get rid of
+ # -Wl from whole_archive_flag_spec and hope we can get by with
+ # turning comma into space..
+ wl=
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+ else
+ gentop="$output_objdir/${obj}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $convenience
+ reload_conv_objs="$reload_objs $func_extract_archives_result"
+ fi
+ fi
+
+ # Create the old-style object.
+ reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+ output="$obj"
+ cmds=$reload_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+
+ # Exit if we aren't doing a library object file.
+ if test -z "$libobj"; then
+ if test -n "$gentop"; then
+ $show "${rm}r $gentop"
+ $run ${rm}r $gentop
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ if test "$build_libtool_libs" != yes; then
+ if test -n "$gentop"; then
+ $show "${rm}r $gentop"
+ $run ${rm}r $gentop
+ fi
+
+ # Create an invalid libtool object if no PIC, so that we don't
+ # accidentally link it into a program.
+ # $show "echo timestamp > $libobj"
+ # $run eval "echo timestamp > $libobj" || exit $?
+ exit $EXIT_SUCCESS
+ fi
+
+ if test -n "$pic_flag" || test "$pic_mode" != default; then
+ # Only do commands if we really have different PIC objects.
+ reload_objs="$libobjs $reload_conv_objs"
+ output="$libobj"
+ cmds=$reload_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ fi
+
+ if test -n "$gentop"; then
+ $show "${rm}r $gentop"
+ $run ${rm}r $gentop
+ fi
+
+ exit $EXIT_SUCCESS
+ ;;
+
+ prog)
+ case $host in
+ *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
+ esac
+ if test -n "$vinfo"; then
+ $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
+ fi
+
+ if test -n "$release"; then
+ $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
+ fi
+
+ if test "$preload" = yes; then
+ if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
+ test "$dlopen_self_static" = unknown; then
+ $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
+ fi
+ fi
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library is the System framework
+ compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+ finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+ ;;
+ esac
+
+ case $host in
+ *darwin*)
+ # Don't allow lazy linking, it breaks C++ global constructors
+ if test "$tagname" = CXX ; then
+ compile_command="$compile_command ${wl}-bind_at_load"
+ finalize_command="$finalize_command ${wl}-bind_at_load"
+ fi
+ ;;
+ esac
+
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $compile_deplibs " in
+ *" -L$path/$objdir "*)
+ new_libs="$new_libs -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $compile_deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ ;;
+ *) new_libs="$new_libs $deplib" ;;
+ esac
+ done
+ compile_deplibs="$new_libs"
+
+
+ compile_command="$compile_command $compile_deplibs"
+ finalize_command="$finalize_command $finalize_deplibs"
+
+ if test -n "$rpath$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ for libdir in $rpath $xrpath; do
+ # This is the magic to use -rpath.
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_rpath="$finalize_rpath $libdir" ;;
+ esac
+ done
+ fi
+
+ # Now hardcode the library paths
+ rpath=
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ rpath="$rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) perm_rpath="$perm_rpath $libdir" ;;
+ esac
+ fi
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$libdir:"*) ;;
+ *) dllsearchpath="$dllsearchpath:$libdir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ *) dllsearchpath="$dllsearchpath:$testbindir";;
+ esac
+ ;;
+ esac
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ compile_rpath="$rpath"
+
+ rpath=
+ hardcode_libdirs=
+ for libdir in $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ rpath="$rpath $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+ *" $libdir "*) ;;
+ *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ finalize_rpath="$rpath"
+
+ if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ # Transform all the library objects into standard objects.
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ fi
+
+ dlsyms=
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ dlsyms="${outputname}S.c"
+ else
+ $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
+ fi
+ fi
+
+ if test -n "$dlsyms"; then
+ case $dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist="$output_objdir/${outputname}.nm"
+
+ $show "$rm $nlist ${nlist}S ${nlist}T"
+ $run $rm "$nlist" "${nlist}S" "${nlist}T"
+
+ # Parse the name list into a source file.
+ $show "creating $output_objdir/$dlsyms"
+
+ test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
+/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
+/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* Prevent the only kind of declaration conflicts we can make. */
+#define lt_preloaded_symbols some_other_symbol
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test "$dlself" = yes; then
+ $show "generating symbol list for \`$output'"
+
+ test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ for arg in $progfiles; do
+ $show "extracting global C symbols from \`$arg'"
+ $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ $run eval '$mv "$nlist"T "$nlist"'
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ $run eval '$mv "$nlist"T "$nlist"'
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols="$output_objdir/$outputname.exp"
+ $run $rm $export_symbols
+ $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* )
+ $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ else
+ $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ $run eval 'mv "$nlist"T "$nlist"'
+ case $host in
+ *cygwin* | *mingw* )
+ $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ fi
+ fi
+
+ for arg in $dlprefiles; do
+ $show "extracting global C symbols from \`$arg'"
+ name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
+ $run eval '$echo ": $name " >> "$nlist"'
+ $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -z "$run"; then
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $mv "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if grep -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ grep -v "^: " < "$nlist" > "$nlist"S
+ fi
+
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
+ else
+ $echo '/* NONE */' >> "$output_objdir/$dlsyms"
+ fi
+
+ $echo >> "$output_objdir/$dlsyms" "\
+
+#undef lt_preloaded_symbols
+
+#if defined (__STDC__) && __STDC__
+# define lt_ptr void *
+#else
+# define lt_ptr char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+"
+
+ case $host in
+ *cygwin* | *mingw* )
+ $echo >> "$output_objdir/$dlsyms" "\
+/* DATA imports from DLLs on WIN32 can't be const, because
+ runtime relocations are performed -- see ld's documentation
+ on pseudo-relocs */
+struct {
+"
+ ;;
+ * )
+ $echo >> "$output_objdir/$dlsyms" "\
+const struct {
+"
+ ;;
+ esac
+
+
+ $echo >> "$output_objdir/$dlsyms" "\
+ const char *name;
+ lt_ptr address;
+}
+lt_preloaded_symbols[] =
+{\
+"
+
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
+
+ $echo >> "$output_objdir/$dlsyms" "\
+ {0, (lt_ptr) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ fi
+
+ pic_flag_for_symtable=
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ case "$compile_command " in
+ *" -static "*) ;;
+ *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
+ esac;;
+ *-*-hpux*)
+ case "$compile_command " in
+ *" -static "*) ;;
+ *) pic_flag_for_symtable=" $pic_flag";;
+ esac
+ esac
+
+ # Now compile the dynamic symbol file.
+ $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
+ $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
+
+ # Clean up the generated files.
+ $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
+ $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
+
+ # Transform the symbol file into the correct name.
+ case $host in
+ *cygwin* | *mingw* )
+ if test -f "$output_objdir/${outputname}.def" ; then
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ else
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ fi
+ ;;
+ * )
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+ ;;
+ esac
+ ;;
+ *)
+ $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+
+ # Nullify the symbol file.
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
+ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
+ fi
+
+ if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+ # Replace the output file specification.
+ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
+ link_command="$compile_command$compile_rpath"
+
+ # We have no uninstalled library dependencies, so finalize right now.
+ $show "$link_command"
+ $run eval "$link_command"
+ exit_status=$?
+
+ # Delete the generated files.
+ if test -n "$dlsyms"; then
+ $show "$rm $output_objdir/${outputname}S.${objext}"
+ $run $rm "$output_objdir/${outputname}S.${objext}"
+ fi
+
+ exit $exit_status
+ fi
+
+ if test -n "$shlibpath_var"; then
+ # We should set the shlibpath_var
+ rpath=
+ for dir in $temp_rpath; do
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*)
+ # Absolute path.
+ rpath="$rpath$dir:"
+ ;;
+ *)
+ # Relative path: add a thisdir entry.
+ rpath="$rpath\$thisdir/$dir:"
+ ;;
+ esac
+ done
+ temp_rpath="$rpath"
+ fi
+
+ if test -n "$compile_shlibpath$finalize_shlibpath"; then
+ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+ fi
+ if test -n "$finalize_shlibpath"; then
+ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+ fi
+
+ compile_var=
+ finalize_var=
+ if test -n "$runpath_var"; then
+ if test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ if test -n "$finalize_perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $finalize_perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ fi
+
+ if test "$no_install" = yes; then
+ # We don't need to create a wrapper script.
+ link_command="$compile_var$compile_command$compile_rpath"
+ # Replace the output file specification.
+ link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ # Delete the old output file.
+ $run $rm $output
+ # Link the executable and exit
+ $show "$link_command"
+ $run eval "$link_command" || exit $?
+ exit $EXIT_SUCCESS
+ fi
+
+ if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+ $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
+ $echo "$modename: \`$output' will be relinked during installation" 1>&2
+ else
+ if test "$fast_install" != no; then
+ link_command="$finalize_var$compile_command$finalize_rpath"
+ if test "$fast_install" = yes; then
+ relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
+ else
+ # fast_install is set to needless
+ relink_command=
+ fi
+ else
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+ fi
+ fi
+
+ # Replace the output file specification.
+ link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+ # Delete the old output files.
+ $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+ $show "$link_command"
+ $run eval "$link_command" || exit $?
+
+ # Now create the wrapper script.
+ $show "creating $output"
+
+ # Quote the relink command for shipping.
+ if test -n "$relink_command"; then
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+ relink_command="$var=\"$var_value\"; export $var; $relink_command"
+ fi
+ done
+ relink_command="(cd `pwd`; $relink_command)"
+ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
+ fi
+
+ # Quote $echo for shipping.
+ if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
+ case $progpath in
+ [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+ *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+ esac
+ qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
+ else
+ qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+ fi
+
+ # Only actually do things if our run command is non-null.
+ if test -z "$run"; then
+ # win32 will think the script is a binary if it has
+ # a .exe suffix, so we strip it off here.
+ case $output in
+ *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
+ esac
+ # test for cygwin because mv fails w/o .exe extensions
+ case $host in
+ *cygwin*)
+ exeext=.exe
+ outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
+ *) exeext= ;;
+ esac
+ case $host in
+ *cygwin* | *mingw* )
+ output_name=`basename $output`
+ output_path=`dirname $output`
+ cwrappersource="$output_path/$objdir/lt-$output_name.c"
+ cwrapper="$output_path/$output_name.exe"
+ $rm $cwrappersource $cwrapper
+ trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+ cat > $cwrappersource <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+ Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+
+ The $output program cannot be directly executed until all the libtool
+ libraries that it depends on are installed.
+
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+
+ Currently, it simply execs the wrapper *script* "/bin/sh $output",
+ but could eventually absorb all of the scripts functionality and
+ exec $objdir/$outputname directly.
+*/
+EOF
+ cat >> $cwrappersource<<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+ defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# ifndef DIR_SEPARATOR_2
+# define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+# define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+ if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+/* -DDEBUG is fairly common in CFLAGS. */
+#undef DEBUG
+#if defined DEBUGWRAPPER
+# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
+#else
+# define DEBUG(format, ...)
+#endif
+
+const char *program_name = NULL;
+
+void * xmalloc (size_t num);
+char * xstrdup (const char *string);
+const char * base_name (const char *name);
+char * find_executable(const char *wrapper);
+int check_executable(const char *path);
+char * strendzap(char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+
+int
+main (int argc, char *argv[])
+{
+ char **newargz;
+ int i;
+
+ program_name = (char *) xstrdup (base_name (argv[0]));
+ DEBUG("(main) argv[0] : %s\n",argv[0]);
+ DEBUG("(main) program_name : %s\n",program_name);
+ newargz = XMALLOC(char *, argc+2);
+EOF
+
+ cat >> $cwrappersource <<EOF
+ newargz[0] = (char *) xstrdup("$SHELL");
+EOF
+
+ cat >> $cwrappersource <<"EOF"
+ newargz[1] = find_executable(argv[0]);
+ if (newargz[1] == NULL)
+ lt_fatal("Couldn't find %s", argv[0]);
+ DEBUG("(main) found exe at : %s\n",newargz[1]);
+ /* we know the script has the same name, without the .exe */
+ /* so make sure newargz[1] doesn't end in .exe */
+ strendzap(newargz[1],".exe");
+ for (i = 1; i < argc; i++)
+ newargz[i+1] = xstrdup(argv[i]);
+ newargz[argc+1] = NULL;
+
+ for (i=0; i<argc+1; i++)
+ {
+ DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]);
+ ;
+ }
+
+EOF
+
+ case $host_os in
+ mingw*)
+ cat >> $cwrappersource <<EOF
+ execv("$SHELL",(char const **)newargz);
+EOF
+ ;;
+ *)
+ cat >> $cwrappersource <<EOF
+ execv("$SHELL",newargz);
+EOF
+ ;;
+ esac
+
+ cat >> $cwrappersource <<"EOF"
+ return 127;
+}
+
+void *
+xmalloc (size_t num)
+{
+ void * p = (void *) malloc (num);
+ if (!p)
+ lt_fatal ("Memory exhausted");
+
+ return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+ return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
+;
+}
+
+const char *
+base_name (const char *name)
+{
+ const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ /* Skip over the disk name in MSDOS pathnames. */
+ if (isalpha ((unsigned char)name[0]) && name[1] == ':')
+ name += 2;
+#endif
+
+ for (base = name; *name; name++)
+ if (IS_DIR_SEPARATOR (*name))
+ base = name + 1;
+ return base;
+}
+
+int
+check_executable(const char * path)
+{
+ struct stat st;
+
+ DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
+ if ((!path) || (!*path))
+ return 0;
+
+ if ((stat (path, &st) >= 0) &&
+ (
+ /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
+#if defined (S_IXOTH)
+ ((st.st_mode & S_IXOTH) == S_IXOTH) ||
+#endif
+#if defined (S_IXGRP)
+ ((st.st_mode & S_IXGRP) == S_IXGRP) ||
+#endif
+ ((st.st_mode & S_IXUSR) == S_IXUSR))
+ )
+ return 1;
+ else
+ return 0;
+}
+
+/* Searches for the full path of the wrapper. Returns
+ newly allocated full path name if found, NULL otherwise */
+char *
+find_executable (const char* wrapper)
+{
+ int has_slash = 0;
+ const char* p;
+ const char* p_next;
+ /* static buffer for getcwd */
+ char tmp[LT_PATHMAX + 1];
+ int tmp_len;
+ char* concat_name;
+
+ DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
+
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
+
+ /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable(concat_name))
+ return concat_name;
+ XFREE(concat_name);
+ }
+ else
+ {
+#endif
+ if (IS_DIR_SEPARATOR (wrapper[0]))
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable(concat_name))
+ return concat_name;
+ XFREE(concat_name);
+ }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ }
+#endif
+
+ for (p = wrapper; *p; p++)
+ if (*p == '/')
+ {
+ has_slash = 1;
+ break;
+ }
+ if (!has_slash)
+ {
+ /* no slashes; search PATH */
+ const char* path = getenv ("PATH");
+ if (path != NULL)
+ {
+ for (p = path; *p; p = p_next)
+ {
+ const char* q;
+ size_t p_len;
+ for (q = p; *q; q++)
+ if (IS_PATH_SEPARATOR(*q))
+ break;
+ p_len = q - p;
+ p_next = (*q == '\0' ? q : q + 1);
+ if (p_len == 0)
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal ("getcwd failed");
+ tmp_len = strlen(tmp);
+ concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+ }
+ else
+ {
+ concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
+ memcpy (concat_name, p, p_len);
+ concat_name[p_len] = '/';
+ strcpy (concat_name + p_len + 1, wrapper);
+ }
+ if (check_executable(concat_name))
+ return concat_name;
+ XFREE(concat_name);
+ }
+ }
+ /* not found in PATH; assume curdir */
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal ("getcwd failed");
+ tmp_len = strlen(tmp);
+ concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+
+ if (check_executable(concat_name))
+ return concat_name;
+ XFREE(concat_name);
+ return NULL;
+}
+
+char *
+strendzap(char *str, const char *pat)
+{
+ size_t len, patlen;
+
+ assert(str != NULL);
+ assert(pat != NULL);
+
+ len = strlen(str);
+ patlen = strlen(pat);
+
+ if (patlen <= len)
+ {
+ str += len - patlen;
+ if (strcmp(str, pat) == 0)
+ *str = '\0';
+ }
+ return str;
+}
+
+static void
+lt_error_core (int exit_status, const char * mode,
+ const char * message, va_list ap)
+{
+ fprintf (stderr, "%s: %s: ", program_name, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
+
+ if (exit_status >= 0)
+ exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+ va_list ap;
+ va_start (ap, message);
+ lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+ va_end (ap);
+}
+EOF
+ # we should really use a build-platform specific compiler
+ # here, but OTOH, the wrappers (shell script and this C one)
+ # are only useful if you want to execute the "real" binary.
+ # Since the "real" binary is built for $host, then this
+ # wrapper might as well be built for $host, too.
+ $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
+ ;;
+ esac
+ $rm $output
+ trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
+
+ $echo > $output "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variable:
+ notinst_deplibs='$notinst_deplibs'
+else
+ # When we are sourced in execute mode, \$file and \$echo are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ echo=\"$qecho\"
+ file=\"\$0\"
+ # Make sure echo works.
+ if test \"X\$1\" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+ elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
+ # Yippee, \$echo works!
+ :
+ else
+ # Restart under the correct shell, and then maybe \$echo will work.
+ exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+ fi
+ fi\
+"
+ $echo >> $output "\
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
+
+ file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+ done
+
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+ if test "$fast_install" = yes; then
+ $echo >> $output "\
+ program=lt-'$outputname'$exeext
+ progdir=\"\$thisdir/$objdir\"
+
+ if test ! -f \"\$progdir/\$program\" || \\
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+ file=\"\$\$-\$program\"
+
+ if test ! -d \"\$progdir\"; then
+ $mkdir \"\$progdir\"
+ else
+ $rm \"\$progdir/\$file\"
+ fi"
+
+ $echo >> $output "\
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ $echo \"\$relink_command_output\" >&2
+ $rm \"\$progdir/\$file\"
+ exit $EXIT_FAILURE
+ fi
+ fi
+
+ $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $rm \"\$progdir/\$program\";
+ $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $rm \"\$progdir/\$file\"
+ fi"
+ else
+ $echo >> $output "\
+ program='$outputname'
+ progdir=\"\$thisdir/$objdir\"
+"
+ fi
+
+ $echo >> $output "\
+
+ if test -f \"\$progdir/\$program\"; then"
+
+ # Export our shlibpath_var if we have one.
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $echo >> $output "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ # The second colon is a workaround for a bug in BeOS R4 sed
+ $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+ export $shlibpath_var
+"
+ fi
+
+ # fixup the dll searchpath if we need to.
+ if test -n "$dllsearchpath"; then
+ $echo >> $output "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
+ $echo >> $output "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+"
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2*)
+ $echo >> $output "\
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $echo >> $output "\
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $echo >> $output "\
+ \$echo \"\$0: cannot exec \$program \$*\"
+ exit $EXIT_FAILURE
+ fi
+ else
+ # The program doesn't exist.
+ \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+ \$echo \"This script is just a wrapper for \$program.\" 1>&2
+ $echo \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit $EXIT_FAILURE
+ fi
+fi\
+"
+ chmod +x $output
+ fi
+ exit $EXIT_SUCCESS
+ ;;
+ esac
+
+ # See if we need to build an old-fashioned archive.
+ for oldlib in $oldlibs; do
+
+ if test "$build_libtool_libs" = convenience; then
+ oldobjs="$libobjs_save"
+ addlibs="$convenience"
+ build_libtool_libs=no
+ else
+ if test "$build_libtool_libs" = module; then
+ oldobjs="$libobjs_save"
+ build_libtool_libs=no
+ else
+ oldobjs="$old_deplibs $non_pic_objects"
+ fi
+ addlibs="$old_convenience"
+ fi
+
+ if test -n "$addlibs"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ func_extract_archives $gentop $addlibs
+ oldobjs="$oldobjs $func_extract_archives_result"
+ fi
+
+ # Do each command in the archive commands.
+ if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+ cmds=$old_archive_from_new_cmds
+ else
+ # POSIX demands no paths to be encoded in archives. We have
+ # to avoid creating archives with duplicate basenames if we
+ # might have to extract them afterwards, e.g., when creating a
+ # static archive out of a convenience library, or when linking
+ # the entirety of a libtool archive into another (currently
+ # not supported by libtool).
+ if (for obj in $oldobjs
+ do
+ $echo "X$obj" | $Xsed -e 's%^.*/%%'
+ done | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ $echo "copying selected object files to avoid basename conflicts..."
+
+ if test -z "$gentop"; then
+ gentop="$output_objdir/${outputname}x"
+ generated="$generated $gentop"
+
+ $show "${rm}r $gentop"
+ $run ${rm}r "$gentop"
+ $show "$mkdir $gentop"
+ $run $mkdir "$gentop"
+ exit_status=$?
+ if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
+ exit $exit_status
+ fi
+ fi
+
+ save_oldobjs=$oldobjs
+ oldobjs=
+ counter=1
+ for obj in $save_oldobjs
+ do
+ objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+ case " $oldobjs " in
+ " ") oldobjs=$obj ;;
+ *[\ /]"$objbase "*)
+ while :; do
+ # Make sure we don't pick an alternate name that also
+ # overlaps.
+ newobj=lt$counter-$objbase
+ counter=`expr $counter + 1`
+ case " $oldobjs " in
+ *[\ /]"$newobj "*) ;;
+ *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+ esac
+ done
+ $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+ $run ln "$obj" "$gentop/$newobj" ||
+ $run cp "$obj" "$gentop/$newobj"
+ oldobjs="$oldobjs $gentop/$newobj"
+ ;;
+ *) oldobjs="$oldobjs $obj" ;;
+ esac
+ done
+ fi
+
+ eval cmds=\"$old_archive_cmds\"
+
+ if len=`expr "X$cmds" : ".*"` &&
+ test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ cmds=$old_archive_cmds
+ else
+ # the command line is too long to link in one step, link in parts
+ $echo "using piecewise archive linking..."
+ save_RANLIB=$RANLIB
+ RANLIB=:
+ objlist=
+ concat_cmds=
+ save_oldobjs=$oldobjs
+
+ # Is there a better way of finding the last object in the list?
+ for obj in $save_oldobjs
+ do
+ last_oldobj=$obj
+ done
+ for obj in $save_oldobjs
+ do
+ oldobjs="$objlist $obj"
+ objlist="$objlist $obj"
+ eval test_cmds=\"$old_archive_cmds\"
+ if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
+ test "$len" -le "$max_cmd_len"; then
+ :
+ else
+ # the above command should be used before it gets too long
+ oldobjs=$objlist
+ if test "$obj" = "$last_oldobj" ; then
+ RANLIB=$save_RANLIB
+ fi
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+ objlist=
+ fi
+ done
+ RANLIB=$save_RANLIB
+ oldobjs=$objlist
+ if test "X$oldobjs" = "X" ; then
+ eval cmds=\"\$concat_cmds\"
+ else
+ eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+ fi
+ fi
+ fi
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ eval cmd=\"$cmd\"
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ done
+
+ if test -n "$generated"; then
+ $show "${rm}r$generated"
+ $run ${rm}r$generated
+ fi
+
+ # Now create the libtool archive.
+ case $output in
+ *.la)
+ old_library=
+ test "$build_old_libs" = yes && old_library="$libname.$libext"
+ $show "creating $output"
+
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
+ relink_command="$var=\"$var_value\"; export $var; $relink_command"
+ fi
+ done
+ # Quote the link command for shipping.
+ relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
+ if test "$hardcode_automatic" = yes ; then
+ relink_command=
+ fi
+
+
+ # Only create the output if not a dry run.
+ if test -z "$run"; then
+ for installed in no yes; do
+ if test "$installed" = yes; then
+ if test -z "$install_libdir"; then
+ break
+ fi
+ output="$output_objdir/$outputname"i
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ *.la)
+ name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ if test -z "$libdir"; then
+ $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ newdependency_libs="$newdependency_libs $libdir/$name"
+ ;;
+ *) newdependency_libs="$newdependency_libs $deplib" ;;
+ esac
+ done
+ dependency_libs="$newdependency_libs"
+ newdlfiles=
+ for lib in $dlfiles; do
+ name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ if test -z "$libdir"; then
+ $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ newdlfiles="$newdlfiles $libdir/$name"
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ if test -z "$libdir"; then
+ $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ newdlprefiles="$newdlprefiles $libdir/$name"
+ done
+ dlprefiles="$newdlprefiles"
+ else
+ newdlfiles=
+ for lib in $dlfiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ newdlfiles="$newdlfiles $abs"
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ newdlprefiles="$newdlprefiles $abs"
+ done
+ dlprefiles="$newdlprefiles"
+ fi
+ $rm $output
+ # place dlname in correct position for cygwin
+ tdlname=$dlname
+ case $host,$output,$installed,$module,$dlname in
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ esac
+ $echo > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+ if test "$installed" = no && test "$need_relink" = yes; then
+ $echo >> $output "\
+relink_command=\"$relink_command\""
+ fi
+ done
+ fi
+
+ # Do a symbolic link so that the libtool archive can be found in
+ # LD_LIBRARY_PATH before the program is installed.
+ $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
+ $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
+ ;;
+ esac
+ exit $EXIT_SUCCESS
+ ;;
+
+ # libtool install mode
+ install)
+ modename="$modename: install"
+
+ # There may be an optional sh(1) argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+ # Allow the use of GNU shtool's install command.
+ $echo "X$nonopt" | grep shtool > /dev/null; then
+ # Aesthetically quote it.
+ arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ arg="\"$arg\""
+ ;;
+ esac
+ install_prog="$arg "
+ arg="$1"
+ shift
+ else
+ install_prog=
+ arg=$nonopt
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ arg="\"$arg\""
+ ;;
+ esac
+ install_prog="$install_prog$arg"
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=no
+ stripme=
+ for arg
+ do
+ if test -n "$dest"; then
+ files="$files $dest"
+ dest=$arg
+ continue
+ fi
+
+ case $arg in
+ -d) isdir=yes ;;
+ -f)
+ case " $install_prog " in
+ *[\\\ /]cp\ *) ;;
+ *) prev=$arg ;;
+ esac
+ ;;
+ -g | -m | -o) prev=$arg ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*)
+ ;;
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ prev=
+ else
+ dest=$arg
+ continue
+ fi
+ ;;
+ esac
+
+ # Aesthetically quote the argument.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case $arg in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ arg="\"$arg\""
+ ;;
+ esac
+ install_prog="$install_prog $arg"
+ done
+
+ if test -z "$install_prog"; then
+ $echo "$modename: you must specify an install program" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ if test -n "$prev"; then
+ $echo "$modename: the \`$prev' option requires an argument" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ $echo "$modename: no file or destination specified" 1>&2
+ else
+ $echo "$modename: you must specify a destination" 1>&2
+ fi
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Strip any trailing slash from the destination.
+ dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
+
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=yes
+ if test "$isdir" = yes; then
+ destdir="$dest"
+ destname=
+ else
+ destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$destdir" = "X$dest" && destdir=.
+ destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
+
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files
+ if test "$#" -gt 2; then
+ $echo "$modename: \`$dest' is not a directory" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ fi
+ case $destdir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ for file in $files; do
+ case $file in
+ *.lo) ;;
+ *)
+ $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
+
+ # Do each installation.
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+ staticlibs="$staticlibs $file"
+ ;;
+
+ *.la)
+ # Check to see that this really is a libtool archive.
+ if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+ else
+ $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ library_names=
+ old_library=
+ relink_command=
+ # If there is no directory component, then add one.
+ case $file in
+ */* | *\\*) . $file ;;
+ *) . ./$file ;;
+ esac
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) current_libdirs="$current_libdirs $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) future_libdirs="$future_libdirs $libdir" ;;
+ esac
+ fi
+
+ dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
+ test "X$dir" = "X$file/" && dir=
+ dir="$dir$objdir"
+
+ if test -n "$relink_command"; then
+ # Determine the prefix the user has applied to our future dir.
+ inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+ # are installed to the same prefix.
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+ if test "$inst_prefix_dir" = "$destdir"; then
+ $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+ relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
+ else
+ relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
+ fi
+
+ $echo "$modename: warning: relinking \`$file'" 1>&2
+ $show "$relink_command"
+ if $run eval "$relink_command"; then :
+ else
+ $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ fi
+
+ # See the names of the shared library.
+ set dummy $library_names
+ if test -n "$2"; then
+ realname="$2"
+ shift
+ shift
+
+ srcname="$realname"
+ test -n "$relink_command" && srcname="$realname"T
+
+ # Install the shared library and build the symlinks.
+ $show "$install_prog $dir/$srcname $destdir/$realname"
+ $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
+ if test -n "$stripme" && test -n "$striplib"; then
+ $show "$striplib $destdir/$realname"
+ $run eval "$striplib $destdir/$realname" || exit $?
+ fi
+
+ if test "$#" -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ # Try `ln -sf' first, because the `ln' binary might depend on
+ # the symlink we replace! Solaris /bin/ln does not understand -f,
+ # so we also need to try rm && ln -s.
+ for linkname
+ do
+ if test "$linkname" != "$realname"; then
+ $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+ $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
+ fi
+ done
+ fi
+
+ # Do each command in the postinstall commands.
+ lib="$destdir/$realname"
+ cmds=$postinstall_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $show "$cmd"
+ $run eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$mode" = relink; then
+ $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
+ fi
+
+ # Install the pseudo-library for information purposes.
+ name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ instname="$dir/$name"i
+ $show "$install_prog $instname $destdir/$name"
+ $run eval "$install_prog $instname $destdir/$name" || exit $?
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ destfile="$destdir/$destfile"
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case $destfile in
+ *.lo)
+ staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
+ ;;
+ *.$objext)
+ staticdest="$destfile"
+ destfile=
+ ;;
+ *)
+ $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ if test -n "$destfile"; then
+ $show "$install_prog $file $destfile"
+ $run eval "$install_prog $file $destfile" || exit $?
+ fi
+
+ # Install the old object if enabled.
+ if test "$build_old_libs" = yes; then
+ # Deduce the name of the old-style object file.
+ staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
+
+ $show "$install_prog $staticobj $staticdest"
+ $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+ fi
+ exit $EXIT_SUCCESS
+ ;;
+
+ *)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ destfile="$destdir/$destfile"
+ fi
+
+ # If the file is missing, and there is a .exe on the end, strip it
+ # because it is most likely a libtool script we actually want to
+ # install
+ stripped_ext=""
+ case $file in
+ *.exe)
+ if test ! -f "$file"; then
+ file=`$echo $file|${SED} 's,.exe$,,'`
+ stripped_ext=".exe"
+ fi
+ ;;
+ esac
+
+ # Do a test to see if this is really a libtool program.
+ case $host in
+ *cygwin*|*mingw*)
+ wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
+ ;;
+ *)
+ wrapper=$file
+ ;;
+ esac
+ if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
+ notinst_deplibs=
+ relink_command=
+
+ # Note that it is not necessary on cygwin/mingw to append a dot to
+ # foo even if both foo and FILE.exe exist: automatic-append-.exe
+ # behavior happens only for exec(3), not for open(2)! Also, sourcing
+ # `FILE.' does not work on cygwin managed mounts.
+ #
+ # If there is no directory component, then add one.
+ case $wrapper in
+ */* | *\\*) . ${wrapper} ;;
+ *) . ./${wrapper} ;;
+ esac
+
+ # Check the variables that should have been set.
+ if test -z "$notinst_deplibs"; then
+ $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ finalize=yes
+ for lib in $notinst_deplibs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ # If there is no directory component, then add one.
+ case $lib in
+ */* | *\\*) . $lib ;;
+ *) . ./$lib ;;
+ esac
+ fi
+ libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
+ finalize=no
+ fi
+ done
+
+ relink_command=
+ # Note that it is not necessary on cygwin/mingw to append a dot to
+ # foo even if both foo and FILE.exe exist: automatic-append-.exe
+ # behavior happens only for exec(3), not for open(2)! Also, sourcing
+ # `FILE.' does not work on cygwin managed mounts.
+ #
+ # If there is no directory component, then add one.
+ case $wrapper in
+ */* | *\\*) . ${wrapper} ;;
+ *) . ./${wrapper} ;;
+ esac
+
+ outputname=
+ if test "$fast_install" = no && test -n "$relink_command"; then
+ if test "$finalize" = yes && test -z "$run"; then
+ tmpdir=`func_mktempdir`
+ file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
+ outputname="$tmpdir/$file"
+ # Replace the output file specification.
+ relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
+
+ $show "$relink_command"
+ if $run eval "$relink_command"; then :
+ else
+ $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+ ${rm}r "$tmpdir"
+ continue
+ fi
+ file="$outputname"
+ else
+ $echo "$modename: warning: cannot relink \`$file'" 1>&2
+ fi
+ else
+ # Install the binary that we compiled earlier.
+ file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+ # remove .exe since cygwin /usr/bin/install will append another
+ # one anyway
+ case $install_prog,$host in
+ */usr/bin/install*,*cygwin*)
+ case $file:$destfile in
+ *.exe:*.exe)
+ # this is ok
+ ;;
+ *.exe:*)
+ destfile=$destfile.exe
+ ;;
+ *:*.exe)
+ destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
+ ;;
+ esac
+ ;;
+ esac
+ $show "$install_prog$stripme $file $destfile"
+ $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
+ test -n "$outputname" && ${rm}r "$tmpdir"
+ ;;
+ esac
+ done
+
+ for file in $staticlibs; do
+ name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+
+ # Set up the ranlib parameters.
+ oldlib="$destdir/$name"
+
+ $show "$install_prog $file $oldlib"
+ $run eval "$install_prog \$file \$oldlib" || exit $?
+
+ if test -n "$stripme" && test -n "$old_striplib"; then
+ $show "$old_striplib $oldlib"
+ $run eval "$old_striplib $oldlib" || exit $?
+ fi
+
+ # Do each command in the postinstall commands.
+ cmds=$old_postinstall_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ done
+
+ if test -n "$future_libdirs"; then
+ $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+ fi
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ test -n "$run" && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+ else
+ exit $EXIT_SUCCESS
+ fi
+ ;;
+
+ # libtool finish mode
+ finish)
+ modename="$modename: finish"
+ libdirs="$nonopt"
+ admincmds=
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for dir
+ do
+ libdirs="$libdirs $dir"
+ done
+
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ cmds=$finish_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $show "$cmd"
+ $run eval "$cmd" || admincmds="$admincmds
+ $cmd"
+ done
+ IFS="$save_ifs"
+ fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $run eval "$cmds" || admincmds="$admincmds
+ $cmds"
+ fi
+ done
+ fi
+
+ # Exit here if they wanted silent mode.
+ test "$show" = : && exit $EXIT_SUCCESS
+
+ $echo "X----------------------------------------------------------------------" | $Xsed
+ $echo "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $echo " $libdir"
+ done
+ $echo
+ $echo "If you ever happen to want to link against installed libraries"
+ $echo "in a given directory, LIBDIR, you must either use libtool, and"
+ $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ $echo "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ $echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ $echo " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ $echo " - add LIBDIR to the \`$runpath_var' environment variable"
+ $echo " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ $echo " - use the \`$flag' linker flag"
+ fi
+ if test -n "$admincmds"; then
+ $echo " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ fi
+ $echo
+ $echo "See any operating system documentation about shared libraries for"
+ $echo "more information, such as the ld(1) and ld.so(8) manual pages."
+ $echo "X----------------------------------------------------------------------" | $Xsed
+ exit $EXIT_SUCCESS
+ ;;
+
+ # libtool execute mode
+ execute)
+ modename="$modename: execute"
+
+ # The first argument is the command name.
+ cmd="$nonopt"
+ if test -z "$cmd"; then
+ $echo "$modename: you must specify a COMMAND" 1>&2
+ $echo "$help"
+ exit $EXIT_FAILURE
+ fi
+
+ # Handle -dlopen flags immediately.
+ for file in $execute_dlfiles; do
+ if test ! -f "$file"; then
+ $echo "$modename: \`$file' is not a file" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ dir=
+ case $file in
+ *.la)
+ # Check to see that this really is a libtool archive.
+ if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+ else
+ $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+
+ # If there is no directory component, then add one.
+ case $file in
+ */* | *\\*) . $file ;;
+ *) . ./$file ;;
+ esac
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
+ continue
+ fi
+
+ dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$dir" = "X$file" && dir=.
+
+ if test -f "$dir/$objdir/$dlname"; then
+ dir="$dir/$objdir"
+ else
+ if test ! -f "$dir/$dlname"; then
+ $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+ exit $EXIT_FAILURE
+ fi
+ fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$dir" = "X$file" && dir=.
+ ;;
+
+ *)
+ $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+ continue
+ ;;
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir="$absdir"
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+ fi
+ done
+
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic="$magic"
+
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case $file in
+ -*) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ # If there is no directory component, then add one.
+ case $file in
+ */* | *\\*) . $file ;;
+ *) . ./$file ;;
+ esac
+
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
+ args="$args \"$file\""
+ done
+
+ if test -z "$run"; then
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+ fi
+
+ # Restore saved environment variables
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ fi"
+ done
+
+ # Now prepare to actually exec the command.
+ exec_cmd="\$cmd$args"
+ else
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
+ $echo "export $shlibpath_var"
+ fi
+ $echo "$cmd$args"
+ exit $EXIT_SUCCESS
+ fi
+ ;;
+
+ # libtool clean and uninstall mode
+ clean | uninstall)
+ modename="$modename: $mode"
+ rm="$nonopt"
+ files=
+ rmforce=
+ exit_status=0
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ for arg
+ do
+ case $arg in
+ -f) rm="$rm $arg"; rmforce=yes ;;
+ -*) rm="$rm $arg" ;;
+ *) files="$files $arg" ;;
+ esac
+ done
+
+ if test -z "$rm"; then
+ $echo "$modename: you must specify an RM program" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ rmdirs=
+
+ origobjdir="$objdir"
+ for file in $files; do
+ dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$dir" = "X$file"; then
+ dir=.
+ objdir="$origobjdir"
+ else
+ objdir="$dir/$origobjdir"
+ fi
+ name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ test "$mode" = uninstall && objdir="$dir"
+
+ # Remember objdir for removal later, being careful to avoid duplicates
+ if test "$mode" = clean; then
+ case " $rmdirs " in
+ *" $objdir "*) ;;
+ *) rmdirs="$rmdirs $objdir" ;;
+ esac
+ fi
+
+ # Don't error if the file doesn't exist and rm -f was used.
+ if (test -L "$file") >/dev/null 2>&1 \
+ || (test -h "$file") >/dev/null 2>&1 \
+ || test -f "$file"; then
+ :
+ elif test -d "$file"; then
+ exit_status=1
+ continue
+ elif test "$rmforce" = yes; then
+ continue
+ fi
+
+ rmfiles="$file"
+
+ case $name in
+ *.la)
+ # Possibly a libtool archive, so verify it.
+ if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ . $dir/$name
+
+ # Delete the libtool libraries and symlinks.
+ for n in $library_names; do
+ rmfiles="$rmfiles $objdir/$n"
+ done
+ test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+ case "$mode" in
+ clean)
+ case " $library_names " in
+ # " " in the beginning catches empty $dlname
+ *" $dlname "*) ;;
+ *) rmfiles="$rmfiles $objdir/$dlname" ;;
+ esac
+ test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+ ;;
+ uninstall)
+ if test -n "$library_names"; then
+ # Do each command in the postuninstall commands.
+ cmds=$postuninstall_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $show "$cmd"
+ $run eval "$cmd"
+ if test "$?" -ne 0 && test "$rmforce" != yes; then
+ exit_status=1
+ fi
+ done
+ IFS="$save_ifs"
+ fi
+
+ if test -n "$old_library"; then
+ # Do each command in the old_postuninstall commands.
+ cmds=$old_postuninstall_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $show "$cmd"
+ $run eval "$cmd"
+ if test "$?" -ne 0 && test "$rmforce" != yes; then
+ exit_status=1
+ fi
+ done
+ IFS="$save_ifs"
+ fi
+ # FIXME: should reinstall the best remaining shared library.
+ ;;
+ esac
+ fi
+ ;;
+
+ *.lo)
+ # Possibly a libtool object, so verify it.
+ if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+
+ # Read the .lo file
+ . $dir/$name
+
+ # Add PIC object to the list of files to remove.
+ if test -n "$pic_object" \
+ && test "$pic_object" != none; then
+ rmfiles="$rmfiles $dir/$pic_object"
+ fi
+
+ # Add non-PIC object to the list of files to remove.
+ if test -n "$non_pic_object" \
+ && test "$non_pic_object" != none; then
+ rmfiles="$rmfiles $dir/$non_pic_object"
+ fi
+ fi
+ ;;
+
+ *)
+ if test "$mode" = clean ; then
+ noexename=$name
+ case $file in
+ *.exe)
+ file=`$echo $file|${SED} 's,.exe$,,'`
+ noexename=`$echo $name|${SED} 's,.exe$,,'`
+ # $file with .exe has already been added to rmfiles,
+ # add $file without .exe
+ rmfiles="$rmfiles $file"
+ ;;
+ esac
+ # Do a test to see if this is a libtool program.
+ if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+ relink_command=
+ . $dir/$noexename
+
+ # note $name still contains .exe if it was in $file originally
+ # as does the version of $file that was added into $rmfiles
+ rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+ if test "$fast_install" = yes && test -n "$relink_command"; then
+ rmfiles="$rmfiles $objdir/lt-$name"
+ fi
+ if test "X$noexename" != "X$name" ; then
+ rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ $show "$rm $rmfiles"
+ $run $rm $rmfiles || exit_status=1
+ done
+ objdir="$origobjdir"
+
+ # Try to remove the ${objdir}s in the directories where we deleted files
+ for dir in $rmdirs; do
+ if test -d "$dir"; then
+ $show "rmdir $dir"
+ $run rmdir $dir >/dev/null 2>&1
+ fi
+ done
+
+ exit $exit_status
+ ;;
+
+ "")
+ $echo "$modename: you must specify a MODE" 1>&2
+ $echo "$generic_help" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+ esac
+
+ if test -z "$exec_cmd"; then
+ $echo "$modename: invalid operation mode \`$mode'" 1>&2
+ $echo "$generic_help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+fi # test -z "$show_help"
+
+if test -n "$exec_cmd"; then
+ eval exec $exec_cmd
+ exit $EXIT_FAILURE
+fi
+
+# We need to display help for each of the modes.
+case $mode in
+"") $echo \
+"Usage: $modename [OPTION]... [MODE-ARG]...
+
+Provide generalized library-building support services.
+
+ --config show all configuration variables
+ --debug enable verbose shell tracing
+-n, --dry-run display commands without modifying any files
+ --features display basic configuration information and exit
+ --finish same as \`--mode=finish'
+ --help display this help message and exit
+ --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
+ --quiet same as \`--silent'
+ --silent don't print informational messages
+ --tag=TAG use configuration variables from tag TAG
+ --version print version information
+
+MODE must be one of the following:
+
+ clean remove files from the build directory
+ compile compile a source file into a libtool object
+ execute automatically set library path, then run a program
+ finish complete the installation of libtool libraries
+ install install libraries or executables
+ link create a library or an executable
+ uninstall remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for
+a more detailed description of MODE.
+
+Report bugs to <bug-libtool@gnu.org>."
+ exit $EXIT_SUCCESS
+ ;;
+
+clean)
+ $echo \
+"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+compile)
+ $echo \
+"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -prefer-pic try to building PIC objects only
+ -prefer-non-pic try to building non-PIC objects only
+ -static always build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+ ;;
+
+execute)
+ $echo \
+"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+finish)
+ $echo \
+"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the \`--dry-run' option if you just want to see what would be executed."
+ ;;
+
+install)
+ $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the \`install' or \`cp' program.
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+link)
+ $echo \
+"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -objectlist FILE Use a list of object files found in FILE to specify objects
+ -precious-files-regex REGEX
+ don't remove output files matching REGEX
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename. Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+uninstall)
+ $echo \
+"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+*)
+ $echo "$modename: invalid operation mode \`$mode'" 1>&2
+ $echo "$help" 1>&2
+ exit $EXIT_FAILURE
+ ;;
+esac
+
+$echo
+$echo "Try \`$modename --help' for more information about other modes."
+
+exit $?
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries. Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them. This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration. But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+disable_libs=shared
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+disable_libs=static
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/src/missing b/src/missing
new file mode 100755
index 0000000..64b5f90
--- /dev/null
+++ b/src/missing
@@ -0,0 +1,353 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2004-09-07.08
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004
+# Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# 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 2, 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, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case "$1" in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ # Exit code 63 means version mismatch. This often happens
+ # when the user try to use an ancient version of a tool on
+ # a file that requires a minimum version. In this case we
+ # we should proceed has if the program had been absent, or
+ # if --run hadn't been passed.
+ if test $? = 63; then
+ run=:
+ msg="probably too old"
+ fi
+ ;;
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ help2man touch the output file
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ tar try tar, gnutar, gtar, then tar without non-portable flags
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake@gnu.org>."
+ exit 0
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing $scriptversion (GNU Automake)"
+ exit 0
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+esac
+
+# Now exit if we have it, but it failed. Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case "$1" in
+ lex|yacc)
+ # Not GNU programs, they don't have --version.
+ ;;
+
+ tar)
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ exit 1
+ fi
+ ;;
+
+ *)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ # Could not run --version or --help. This is probably someone
+ # running `$TOOL --version' or `$TOOL --help' to check whether
+ # $TOOL exists and not knowing $TOOL uses missing.
+ exit 1
+ fi
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+ aclocal*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`${configure_ac}'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case "$f" in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ autom4te)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them.
+ You can get \`$1' as part of \`Autoconf' from any GNU
+ archive site."
+
+ file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+ test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo "#! /bin/sh"
+ echo "# Created by GNU Automake missing as a replacement of"
+ echo "# $ $@"
+ echo "exit 0"
+ chmod +x $file
+ exit 1
+ fi
+ ;;
+
+ bison|yacc)
+ echo 1>&2 "\
+WARNING: \`$1' $msg. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f y.tab.h ]; then
+ echo >y.tab.h
+ fi
+ if [ ! -f y.tab.c ]; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex|flex)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f lex.yy.c ]; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ help2man)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ \`Help2man' package in order for those modifications to take
+ effect. You can get \`Help2man' from any GNU archive site."
+
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+ fi
+ if [ -f "$file" ]; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit 1
+ fi
+ ;;
+
+ makeinfo)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+ fi
+ touch $file
+ ;;
+
+ tar)
+ shift
+
+ # We have already tried tar in the generic part.
+ # Look for gnutar/gtar before invocation to avoid ugly error
+ # messages.
+ if (gnutar --version > /dev/null 2>&1); then
+ gnutar "$@" && exit 0
+ fi
+ if (gtar --version > /dev/null 2>&1); then
+ gtar "$@" && exit 0
+ fi
+ firstarg="$1"
+ if shift; then
+ case "$firstarg" in
+ *o*)
+ firstarg=`echo "$firstarg" | sed s/o//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ case "$firstarg" in
+ *h*)
+ firstarg=`echo "$firstarg" | sed s/h//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ fi
+
+ echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+ You may want to install GNU tar or Free paxutils, or check the
+ command line arguments."
+ exit 1
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequisites for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/src/mkinstalldirs b/src/mkinstalldirs
new file mode 100755
index 0000000..318cc98
--- /dev/null
+++ b/src/mkinstalldirs
@@ -0,0 +1,40 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain
+
+# $Id: mkinstalldirs,v 1.1.1.1 2004-10-26 19:54:13 spotspot Exp $
+
+errstatus=0
+
+for file
+do
+ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+ shift
+
+ pathcomp=
+ for d
+ do
+ pathcomp="$pathcomp$d"
+ case "$pathcomp" in
+ -* ) pathcomp=./$pathcomp ;;
+ esac
+
+ if test ! -d "$pathcomp"; then
+ echo "mkdir $pathcomp" 1>&2
+
+ mkdir "$pathcomp" || lasterr=$?
+
+ if test ! -d "$pathcomp"; then
+ errstatus=$lasterr
+ fi
+ fi
+
+ pathcomp="$pathcomp/"
+ done
+done
+
+exit $errstatus
+
+# mkinstalldirs ends here
diff --git a/src/palettes.c b/src/palettes.c
new file mode 100644
index 0000000..d6fc20f
--- /dev/null
+++ b/src/palettes.c
@@ -0,0 +1,483 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#include "private.h"
+#include "palettes.h"
+
+lib_palette *the_palettes = NULL;
+int npalettes;
+
+static void parse_palettes(xmlNode *node) {
+ xmlAttrPtr attr;
+ char *val;
+ lib_palette *pal;
+
+ while (node) {
+ if (node->type == XML_ELEMENT_NODE && !xmlStrcmp(node->name, (const xmlChar *)"palette")) {
+ attr = node->properties;
+ pal = &the_palettes[npalettes];
+ memset(pal, 0, sizeof(lib_palette));
+
+ while (attr) {
+ val = (char *) xmlGetProp(node, attr->name);
+ if (!xmlStrcmp(attr->name, (const xmlChar *)"data")) {
+ int count = 256;
+ int c_idx = 0;
+ int r,g,b;
+ int col_count = 0;
+ int sscanf_ret;
+
+ c_idx=0;
+ col_count = 0;
+
+ do {
+ sscanf_ret = sscanf((char *)&(val[c_idx]),"00%2x%2x%2x",&r,&g,&b);
+ if (sscanf_ret != 3) {
+ printf("Error: Problem reading hexadecimal color data.\n");
+ exit(1);
+ }
+ c_idx += 8;
+ while (isspace( (int)val[c_idx]))
+ c_idx++;
+
+ pal->colors[col_count][0] = r;
+ pal->colors[col_count][1] = g;
+ pal->colors[col_count][2] = b;
+
+ col_count++;
+ } while (col_count<count);
+ } else if (!xmlStrcmp(attr->name, (const xmlChar *)"number")) {
+ pal->number = atoi(val);
+ } else if (!xmlStrcmp(attr->name, (const xmlChar *)"name")) {
+ strncpy(pal->name, val, flam3_name_len);
+ pal->name[flam3_name_len-1] = 0;
+ }
+
+ xmlFree(val);
+ attr = attr->next;
+ }
+
+ npalettes++;
+ the_palettes = realloc(the_palettes, (1 + npalettes) * sizeof(lib_palette));
+ } else
+ parse_palettes(node->children);
+
+ node = node->next;
+ }
+}
+
+static int init_palettes(char *filename) {
+ FILE *fp;
+ xmlDocPtr doc;
+ xmlNode *rootnode;
+ int i, c, slen = 5000;
+ char *s;
+
+ fp = fopen(filename, "rb");
+ if (NULL == fp) {
+ fprintf(stderr, "flam3: could not open palette file ");
+ perror(filename);
+ exit(1);
+ }
+
+ /* Incrementally read XML file into a string */
+ s = malloc(slen);
+ i = 0;
+ do {
+ c = getc(fp);
+ if (EOF == c) {
+ if (ferror(fp)) {
+ perror(filename);
+ exit(1);
+ }
+ break;
+ }
+ s[i++] = c;
+ if (i == slen-1) {
+ slen *= 2;
+ s = realloc(s, slen);
+ }
+ } while (1);
+
+ fclose(fp);
+ s[i] = 0;
+
+ doc = xmlReadMemory(s, (int)strlen(s), filename, NULL, XML_PARSE_NONET);
+ if (NULL == doc) {
+ fprintf(stderr, "error parsing %s (%s).\n", filename, s);
+ exit(1);
+ }
+ rootnode = xmlDocGetRootElement(doc);
+ the_palettes = malloc(sizeof(lib_palette));
+ npalettes = 0;
+ parse_palettes(rootnode);
+ xmlFreeDoc(doc);
+
+ free(s);
+ xmlCleanupParser();
+ return(1);
+}
+
+int flam3_get_palette(int n, flam3_palette c, double hue_rotation) {
+ int cmap_len = 256;
+ int idx, i, j;
+
+ if (NULL == the_palettes) {
+
+ char *d = getenv("flam3_palettes");
+ init_palettes(d ? d : (PACKAGE_DATA_DIR "/flam3-palettes.xml"));
+ }
+
+ if (flam3_palette_random == n)
+ n = the_palettes[random()%npalettes].number;
+
+ for (idx = 0; idx < npalettes; idx++) {
+
+ if (n == the_palettes[idx].number) {
+ /* Loop over elements of cmap */
+ for (i = 0; i < cmap_len; i++) {
+ int ii = (i * 256) / cmap_len;
+ double rgb[3], hsv[3];
+
+ /* Colors are in 0-1 space */
+ for (j = 0; j < 3; j++)
+ rgb[j] = the_palettes[idx].colors[ii][j] / 255.0;
+
+ rgb2hsv(rgb, hsv);
+ hsv[0] += hue_rotation * 6.0;
+ hsv2rgb(hsv, rgb);
+
+ c[i].index = i;
+
+ for (j = 0; j < 3; j++)
+ c[i].color[j] = rgb[j];
+
+ c[i].color[3] = 1.0;
+ }
+
+ return n;
+ }
+ }
+
+ fprintf(stderr, "warning: palette number %d not found, using white.\n", n);
+
+ for (i = 0; i < cmap_len; i++) {
+ c[i].index = i;
+ for (j = 0; j < 4; j++)
+ c[i].color[j] = 1.0;
+ }
+
+ return flam3_palette_random;
+}
+
+/* rgb 0 - 1,
+ h 0 - 6, s 0 - 1, v 0 - 1 */
+void rgb2hsv(rgb, hsv)
+ double *rgb; double *hsv;
+ {
+ double rd, gd, bd, h, s, v, max, min, del, rc, gc, bc;
+
+ rd = rgb[0];
+ gd = rgb[1];
+ bd = rgb[2];
+
+ /* compute maximum of rd,gd,bd */
+ if (rd>=gd) { if (rd>=bd) max = rd; else max = bd; }
+ else { if (gd>=bd) max = gd; else max = bd; }
+
+ /* compute minimum of rd,gd,bd */
+ if (rd<=gd) { if (rd<=bd) min = rd; else min = bd; }
+ else { if (gd<=bd) min = gd; else min = bd; }
+
+ del = max - min;
+ v = max;
+ if (max != 0.0) s = (del) / max;
+ else s = 0.0;
+
+ h = 0;
+ if (s != 0.0) {
+ rc = (max - rd) / del;
+ gc = (max - gd) / del;
+ bc = (max - bd) / del;
+
+ if (rd==max) h = bc - gc;
+ else if (gd==max) h = 2 + rc - bc;
+ else if (bd==max) h = 4 + gc - rc;
+
+ if (h<0) h += 6;
+ }
+
+ hsv[0] = h;
+ hsv[1] = s;
+ hsv[2] = v;
+}
+
+
+/* h 0 - 6, s 0 - 1, v 0 - 1
+ rgb 0 - 1 */
+void hsv2rgb(hsv, rgb)
+ double *hsv;
+ double *rgb;
+{
+ double h = hsv[0], s = hsv[1], v = hsv[2];
+ int j;
+ double rd, gd, bd;
+ double f, p, q, t;
+
+ while (h >= 6.0) h = h - 6.0;
+ while (h < 0.0) h = h + 6.0;
+ j = (int) floor(h);
+ f = h - j;
+ p = v * (1-s);
+ q = v * (1 - (s*f));
+ t = v * (1 - (s*(1 - f)));
+
+ switch (j) {
+ case 0: rd = v; gd = t; bd = p; break;
+ case 1: rd = q; gd = v; bd = p; break;
+ case 2: rd = p; gd = v; bd = t; break;
+ case 3: rd = p; gd = q; bd = v; break;
+ case 4: rd = t; gd = p; bd = v; break;
+ case 5: rd = v; gd = p; bd = q; break;
+ default: rd = v; gd = t; bd = p; break;
+ }
+
+ rgb[0] = rd;
+ rgb[1] = gd;
+ rgb[2] = bd;
+}
+
+double flam3_calc_alpha(double density, double gamma, double linrange) {
+
+ double dnorm = density;
+ double funcval = pow(linrange, gamma);
+ double frac,alpha;
+
+ if (dnorm>0) {
+ if (dnorm < linrange) {
+ frac = dnorm/linrange;
+ alpha = (1.0-frac) * dnorm * (funcval / linrange) + frac * pow(dnorm,gamma);
+ } else
+ alpha = pow(dnorm,gamma);
+ } else
+ alpha = 0;
+
+ return(alpha);
+}
+
+void flam3_calc_newrgb(double *cbuf, double ls, double highpow, double *newrgb) {
+
+ int rgbi;
+ double newls,lsratio;
+ double newhsv[3];
+ double a, maxa=-1.0, maxc=0;
+ double adjhlp;
+
+ if (ls==0.0) {
+ newrgb[0] = 0.0;
+ newrgb[1] = 0.0;
+ newrgb[2] = 0.0;
+ return;
+ }
+
+ /* Identify the most saturated channel */
+ for (rgbi=0;rgbi<3;rgbi++) {
+ a = ls * (cbuf[rgbi]/PREFILTER_WHITE);
+ if (a>maxa) {
+ maxa = a;
+ maxc = cbuf[rgbi]/PREFILTER_WHITE;
+ }
+ }
+
+ /* If a channel is saturated and we have a non-negative highlight power */
+ /* modify the color to prevent hue shift */
+ if (maxa>255 && highpow>=0.0) {
+ newls = 255.0/maxc;
+ lsratio = pow(newls/ls,highpow);
+
+ /* Calculate the max-value color (ranged 0 - 1) */
+ for (rgbi=0;rgbi<3;rgbi++)
+ newrgb[rgbi] = newls*(cbuf[rgbi]/PREFILTER_WHITE)/255.0;
+
+ /* Reduce saturation by the lsratio */
+ rgb2hsv(newrgb,newhsv);
+ newhsv[1] *= lsratio;
+ hsv2rgb(newhsv,newrgb);
+
+ for (rgbi=0;rgbi<3;rgbi++)
+ newrgb[rgbi] *= 255.0;
+
+ } else {
+ newls = 255.0/maxc;
+ adjhlp = -highpow;
+ if (adjhlp>1)
+ adjhlp=1;
+ if (maxa<=255)
+ adjhlp=1.0;
+
+ /* Calculate the max-value color (ranged 0 - 1) interpolated with the old behaviour */
+ for (rgbi=0;rgbi<3;rgbi++)
+ newrgb[rgbi] = ((1.0-adjhlp)*newls + adjhlp*ls)*(cbuf[rgbi]/PREFILTER_WHITE);
+
+// for (rgbi=0;rgbi<3;rgbi++)
+// newrgb[rgbi] = ls*(cbuf[rgbi]/PREFILTER_WHITE);
+ }
+}
+
+static int random_xform(flam3_genome *g, int excluded) {
+ int ntries = 0;
+ while (ntries++ < 100) {
+ int i = random() % g->num_xforms;
+ if (g->xform[i].density > 0.0 && i != excluded)
+ return i;
+ }
+ return -1;
+}
+
+
+static double try_colors(flam3_genome *g, int color_resolution) {
+ int *hist;
+ int i, hits, res = color_resolution;
+ int res3 = res * res * res;
+ flam3_frame f;
+ unsigned char *image, *p;
+ flam3_genome saved;
+ double scalar;
+ int pixtotal;
+ stat_struct stats;
+
+ memset(&saved, 0, sizeof(flam3_genome));
+
+ flam3_copy(&saved, g);
+
+ g->sample_density = 1;
+ g->spatial_oversample = 1;
+ g->estimator = 0.0;
+
+ /* Scale the image so that the total number of pixels is ~10000 */
+ pixtotal = g->width * g->height;
+ scalar = sqrt( 10000.0 / (double)pixtotal);
+ g->width *= scalar;
+ g->height *= scalar;
+ g->pixels_per_unit *= scalar;
+
+// g->width = 100; // XXX keep aspect ratio
+// g->height = 100;
+// g->pixels_per_unit = 50;
+ g->nbatches = 1;
+ g->ntemporal_samples = 1;
+
+// f.temporal_filter_radius = 0.0;
+ flam3_init_frame(&f);
+ f.bits = 33;
+ f.bytes_per_channel=1;
+ f.verbose = 0;
+ f.genomes = g;
+ f.ngenomes = 1;
+ f.earlyclip = 1;
+ f.pixel_aspect_ratio = 1.0;
+ f.progress = 0;
+ f.nthreads = 1;
+
+ image = (unsigned char *) calloc(g->width * g->height, 3);
+ if (flam3_render(&f, image, flam3_field_both, 3, 0, &stats)) {
+ fprintf(stderr,"Error rendering test image for trycolors. Aborting.\n");
+ exit(1);
+ }
+
+ hist = calloc(sizeof(int), res3);
+ p = image;
+ for (i = 0; i < g->height * g->width; i++) {
+ hist[(p[0] * res / 256) +
+ (p[1] * res / 256) * res +
+ (p[2] * res / 256) * res * res]++;
+ p += 3;
+ }
+
+ if (0) {
+ int j, k;
+ for (i = 0; i < res; i++) {
+ fprintf(stderr, "\ni=%d: \n", i);
+ for (j = 0; j < res; j++) {
+ for (k = 0; k < res; k++) {
+ fprintf(stderr, " %5d", hist[i * res * res + j * res + k]);
+ }
+ fprintf(stderr, "\n");
+ }
+ }
+ }
+
+ hits = 0;
+ for (i = 0; i < res3; i++) {
+ if (hist[i]) hits++;
+ }
+
+ free(hist);
+ free(image);
+
+ g->sample_density = saved.sample_density;
+ g->width = saved.width;
+ g->height = saved.height;
+ g->spatial_oversample = saved.spatial_oversample;
+ g->pixels_per_unit = saved.pixels_per_unit;
+ g->nbatches = saved.nbatches;
+ g->ntemporal_samples = saved.ntemporal_samples;
+ g->estimator = saved.estimator;
+
+ /* Free xform storage */
+ clear_cp(&saved,flam3_defaults_on);
+
+ return (double) hits / res3;
+}
+
+static void change_colors(flam3_genome *g, int change_palette) {
+ int i;
+ int x0, x1;
+ if (change_palette) {
+ g->hue_rotation = 0.0;
+ g->palette_index = flam3_get_palette(flam3_palette_random, g->palette, 0.0);
+ }
+ for (i = 0; i < g->num_xforms; i++) {
+ g->xform[i].color = flam3_random01();
+ }
+ x0 = random_xform(g, -1);
+ x1 = random_xform(g, x0);
+ if (x0 >= 0 && (random()&1)) g->xform[x0].color = 0.0;
+ if (x1 >= 0 && (random()&1)) g->xform[x1].color = 1.0;
+}
+
+void flam3_improve_colors(flam3_genome *g, int ntries, int change_palette, int color_resolution) {
+ int i;
+ double best, b;
+ flam3_genome best_genome;
+
+ memset(&best_genome, 0, sizeof(flam3_genome));
+ best = try_colors(g, color_resolution);
+ flam3_copy(&best_genome,g);
+ for (i = 0; i < ntries; i++) {
+ change_colors(g, change_palette);
+ b = try_colors(g, color_resolution);
+ if (b > best) {
+ best = b;
+ flam3_copy(&best_genome,g);
+ }
+ }
+ flam3_copy(g,&best_genome);
+ clear_cp(&best_genome,flam3_defaults_on);
+}
+
diff --git a/src/palettes.h b/src/palettes.h
new file mode 100644
index 0000000..5d7b617
--- /dev/null
+++ b/src/palettes.h
@@ -0,0 +1,37 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef palettes_included
+#define palettes_included
+
+
+typedef struct {
+ int number;
+ char name[flam3_name_len];
+ unsigned char colors[256][3];
+} lib_palette;
+
+
+void rgb2hsv(double *rgb, double *hsv);
+void hsv2rgb(double *hsv, double *rgb);
+
+double flam3_calc_alpha(double density, double gamma, double linrange);
+void flam3_calc_newrgb(double *cbuf, double ls, double highpow, double *newrgb);
+
+#endif
+
diff --git a/src/parser.c b/src/parser.c
new file mode 100644
index 0000000..272f212
--- /dev/null
+++ b/src/parser.c
@@ -0,0 +1,1364 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#include "parser.h"
+#include "interpolation.h"
+#include "filters.h"
+#include <errno.h>
+
+static int flam3_conversion_failed;
+
+int flam3_atoi(char *nstr) {
+
+ /* Note that this is NOT thread-safe, but simplifies things significantly. */
+ int res;
+ char *endp;
+
+ /* Reset errno */
+ errno=0;
+
+ /* Convert the string using strtol */
+ res = strtol(nstr, &endp, 10);
+
+ /* Check errno & return string */
+ if (endp!=nstr+strlen(nstr)) {
+ flam3_conversion_failed = 1;
+ fprintf(stderr,"flam3_atoi : Error converting :%s: extra chars\n",nstr);
+ }
+ if (errno) {
+ flam3_conversion_failed = 1;
+ fprintf(stderr,"flam3_atoi : Error converting :%s:\n",nstr);
+ }
+ return(res);
+}
+
+double flam3_atof(char *nstr) {
+
+ /* Note that this is NOT thread-safe, but simplifies things significantly. */
+ double res;
+ char *endp;
+
+ /* Reset errno */
+ errno=0;
+
+ /* Convert the string using strtod */
+ res = strtod(nstr, &endp);
+
+ /* Check errno & return string */
+ if (endp!=nstr+strlen(nstr)) {
+ flam3_conversion_failed = 1;
+ fprintf(stderr,"flam3_atof: Error converting :%s: extra chars\n",nstr);
+ }
+ if (errno) {
+ flam3_conversion_failed = 1;
+ fprintf(stderr,"flam3_atof: Error converting :%s:\n",nstr);
+ }
+ return(res);
+}
+
+int var2n(const char *s) {
+ int i;
+
+ for (i = 0; i < flam3_nvariations; i++)
+ if (!strcmp(s, flam3_variation_names[i])) return i;
+
+ return flam3_variation_none;
+}
+
+int flam3_parse_hexformat_colors(char *colstr, flam3_genome *cp, int numcolors, int chan) {
+
+ int c_idx=0;
+ int col_count=0;
+ int r,g,b,a;
+ int sscanf_ret;
+ char tmps[2];
+ int skip = (int)fabs(chan);
+
+ /* Strip whitespace prior to first color */
+ while (isspace( (int)colstr[c_idx]))
+ c_idx++;
+
+ do {
+
+ /* Parse an RGB triplet at a time... */
+ a = 255;
+ if (chan==3)
+ sscanf_ret = sscanf(&(colstr[c_idx]),"%2x%2x%2x",&r,&g,&b);
+ else if (chan==-4)
+ sscanf_ret = sscanf(&(colstr[c_idx]),"00%2x%2x%2x",&r,&g,&b);
+ else // chan==4
+ sscanf_ret = sscanf(&(colstr[c_idx]),"%2x%2x%2x%2x",&r,&g,&b,&a);
+
+ if ((chan!=4 && sscanf_ret != 3) || (chan==4 && sscanf_ret != 4)) {
+ fprintf(stderr, "Error: Problem reading hexadecimal color data.\n");
+ return(1);
+ }
+
+ c_idx += 2*skip;
+
+ while (isspace( (int)colstr[c_idx]))
+ c_idx++;
+
+ cp->palette[col_count].color[0] = r / 255.0;
+ cp->palette[col_count].color[1] = g / 255.0;
+ cp->palette[col_count].color[2] = b / 255.0;
+ cp->palette[col_count].color[3] = a / 255.0;
+ cp->palette[col_count].index = col_count;
+
+ col_count++;
+
+ } while (col_count<numcolors);
+
+ if (sscanf(&(colstr[c_idx]),"%1s",tmps)>0) {
+ fprintf(stderr,"error: extra data at end of hex color data '%s'\n",&(colstr[c_idx]));
+ return(1);
+ }
+
+ return(0);
+}
+
+int flam3_interp_missing_colors(flam3_genome *cp) {
+
+ /* Check for a non-full palette */
+ int minix,maxix;
+ int colorli,colorri;
+ int wrapmin,wrapmax;
+ int intl, intr;
+ int str,enr;
+ int i,j,k;
+ double prcr;
+
+ for (i=0; i<256; i++) {
+ if (cp->palette[i].index >= 0) {
+ minix = i;
+ break;
+ }
+ }
+
+ if (i==256) {
+ /* No colors. Set all indices properly. */
+ for (i=0;i<256;i++)
+ cp->palette[i].index = i;
+ return(1);
+ }
+
+ wrapmin = minix + 256;
+
+ for (i=255;i>=0;i--) {
+ if (cp->palette[i].index >= 0) {
+ maxix = i;
+ break;
+ }
+ }
+
+ wrapmax = maxix - 256;
+
+ /* Loop over the indices looking for negs */
+ i = 0;
+ while(i<256) {
+
+ if (cp->palette[i].index < 0) {
+ /* Start of a range of negs */
+ str = i;
+ intl = i-1;
+ colorli = intl;
+ while (cp->palette[i].index<0 && i<256) {
+ enr = i;
+ intr = i+1;
+ colorri = intr;
+ i++;
+ }
+
+ if (intl==-1) {
+ intl = wrapmax;
+ colorli = maxix;
+ }
+
+ if (intr==256) {
+ intr = wrapmin;
+ colorri = minix;
+ }
+
+ for (j=str;j<=enr;j++) {
+
+ prcr = (j-intl)/(double)(intr-intl);
+
+ for (k=0;k<=3;k++)
+ cp->palette[j].color[k] = cp->palette[colorli].color[k] * (1.0-prcr) + cp->palette[colorri].color[k] * prcr;
+
+ cp->palette[j].index = j;
+ }
+
+ i = colorri+1;
+ } else
+ i ++;
+ }
+
+ return(0);
+}
+
+
+void scan_for_flame_nodes(xmlNode *cur_node, char *parent_file, int default_flag, flam3_genome **all_cps, int *all_ncps) {
+
+ xmlNode *this_node = NULL;
+ flam3_genome loc_current_cp;
+ flam3_genome *genome_storage = *all_cps; /* To simplify semantics */
+ size_t f3_storage;
+ int pfe_success;
+ int col_success;
+
+ memset(&loc_current_cp,0,sizeof(flam3_genome));
+
+ /* Loop over this level of elements */
+ for (this_node=cur_node; this_node; this_node = this_node->next) {
+
+ /* Check to see if this element is a <flame> element */
+ if (this_node->type == XML_ELEMENT_NODE && !xmlStrcmp(this_node->name, (const xmlChar *)"flame")) {
+
+ /* This is a flame element. Parse it. */
+ clear_cp(&loc_current_cp, default_flag);
+
+ pfe_success = parse_flame_element(this_node,&loc_current_cp);
+
+ if (pfe_success>0) {
+ fprintf(stderr,"error parsing flame element\n");
+ all_cps = NULL; /* leaks memory but terminates */
+ /* !!! free all_cp properly !!! */
+ *all_ncps = 0;
+ return;
+ }
+
+ /* Copy this cp into the array */
+ f3_storage = (1+*all_ncps)*sizeof(flam3_genome);
+ genome_storage = realloc(genome_storage, f3_storage);
+
+ /* Must set value of pointer to new storage location */
+ *all_cps = genome_storage;
+
+ /* Clear out the realloc'd memory */
+ memset(&(genome_storage[*all_ncps]),0,sizeof(flam3_genome));
+
+ if (loc_current_cp.palette_index != flam3_palette_random) {
+ flam3_get_palette(loc_current_cp.palette_index, loc_current_cp.palette,
+ loc_current_cp.hue_rotation);
+ }
+
+ col_success = flam3_interp_missing_colors(&loc_current_cp);
+
+ loc_current_cp.genome_index = *all_ncps;
+ memset(loc_current_cp.parent_fname, 0, flam3_parent_fn_len);
+ strncpy(loc_current_cp.parent_fname,parent_file,flam3_parent_fn_len-1);
+
+ flam3_copy(&(genome_storage[*all_ncps]), &loc_current_cp);
+ (*all_ncps) ++;
+
+ } else {
+ /* Check all of the children of this element */
+ scan_for_flame_nodes(this_node->children, parent_file, default_flag, all_cps, all_ncps);
+ }
+ }
+
+ /* Clear the cp (frees allocated memory) */
+ clear_cp(&loc_current_cp, default_flag);
+
+}
+
+
+int parse_flame_element(xmlNode *flame_node, flam3_genome *loc_current_cp) {
+ flam3_genome *cp = loc_current_cp;
+ xmlNode *chld_node, *motion_node;
+ xmlNodePtr edit_node;
+ xmlAttrPtr att_ptr, cur_att;
+ int solo_xform=-1;
+ char *att_str;
+ int num_std_xforms=-1;
+ char tmps[2];
+ int i,j;
+ flam3_xform tmpcpy;
+ flam3_chaos_entry *xaos=NULL;
+ int num_xaos=0;
+
+ /* Reset the conversion error flag */
+ /* NOT threadsafe */
+ flam3_conversion_failed=0;
+
+ /* Store this flame element in the current cp */
+
+ /* Wipe out the current palette, replace with -1 for each element */
+ for (i=0;i<256;i++) {
+ cp->palette[i].color[0] = 0;
+ cp->palette[i].color[1] = 0;
+ cp->palette[i].color[2] = 0;
+ cp->palette[i].color[3] = 0;
+ cp->palette[i].index = -1;
+ }
+
+ /* The top level element is a flame element. */
+ /* Read the attributes of it and store them. */
+ att_ptr = flame_node->properties;
+
+ if (att_ptr==NULL) {
+ fprintf(stderr, "Error : <flame> element has no attributes.\n");
+ return(1);
+ }
+
+ memset(cp->flame_name,0,flam3_name_len+1);
+
+ for (cur_att = att_ptr; cur_att; cur_att = cur_att->next) {
+
+ att_str = (char *) xmlGetProp(flame_node,cur_att->name);
+
+ /* Compare attribute names */
+ if (!xmlStrcmp(cur_att->name, (const xmlChar *)"time")) {
+ cp->time = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"interpolation")) {
+ if (!strcmp("linear", att_str)) {
+ cp->interpolation = flam3_interpolation_linear;
+ } else if (!strcmp("smooth", att_str)) {
+ cp->interpolation = flam3_interpolation_smooth;
+ } else {
+ fprintf(stderr, "warning: unrecognized interpolation type %s.\n", att_str);
+ }
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"palette_interpolation")) {
+ if (!strcmp("hsv", att_str)) {
+ cp->palette_interpolation = flam3_palette_interpolation_hsv;
+ } else if (!strcmp("sweep", att_str)) {
+ cp->palette_interpolation = flam3_palette_interpolation_sweep;
+ } else {
+ fprintf(stderr, "warning: unrecognized palette interpolation type %s.\n", att_str);
+ }
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"interpolation_space") ||
+ !xmlStrcmp(cur_att->name, (const xmlChar *)"interpolation_type")) {
+
+ if (!strcmp("linear", att_str))
+ cp->interpolation_type = flam3_inttype_linear;
+ else if (!strcmp("log", att_str))
+ cp->interpolation_type = flam3_inttype_log;
+ else if (!strcmp("old", att_str))
+ cp->interpolation_type = flam3_inttype_compat;
+ else if (!strcmp("older", att_str))
+ cp->interpolation_type = flam3_inttype_older;
+ else
+ fprintf(stderr,"warning: unrecognized interpolation_type %s.\n",att_str);
+
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"name")) {
+ strncpy(cp->flame_name, att_str, flam3_name_len);
+ i = (int)strlen(cp->flame_name)-1;
+ while(i-->0) {
+ if (isspace(cp->flame_name[i]))
+ cp->flame_name[i] = '_';
+ }
+
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"palette")) {
+ cp->palette_index = flam3_atoi(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"size")) {
+ if (sscanf(att_str, "%d %d%1s", &cp->width, &cp->height, tmps) != 2) {
+ fprintf(stderr,"error: invalid size attribute '%s'\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"center")) {
+ if (sscanf(att_str, "%lf %lf%1s", &cp->center[0], &cp->center[1], tmps) != 2) {
+ fprintf(stderr,"error: invalid center attribute '%s'\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+ cp->rot_center[0] = cp->center[0];
+ cp->rot_center[1] = cp->center[1];
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"scale")) {
+ cp->pixels_per_unit = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"rotate")) {
+ cp->rotate = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"zoom")) {
+ cp->zoom = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"oversample")) {
+ cp->spatial_oversample = flam3_atoi(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"supersample")) {
+ cp->spatial_oversample = flam3_atoi(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"filter")) {
+ cp->spatial_filter_radius = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"filter_shape")) {
+ if (!strcmp("gaussian", att_str))
+ cp->spatial_filter_select = flam3_gaussian_kernel;
+ else if (!strcmp("hermite", att_str))
+ cp->spatial_filter_select = flam3_hermite_kernel;
+ else if (!strcmp("box", att_str))
+ cp->spatial_filter_select = flam3_box_kernel;
+ else if (!strcmp("triangle", att_str))
+ cp->spatial_filter_select = flam3_triangle_kernel;
+ else if (!strcmp("bell", att_str))
+ cp->spatial_filter_select = flam3_bell_kernel;
+ else if (!strcmp("bspline", att_str))
+ cp->spatial_filter_select = flam3_b_spline_kernel;
+ else if (!strcmp("mitchell", att_str))
+ cp->spatial_filter_select = flam3_mitchell_kernel;
+ else if (!strcmp("blackman", att_str))
+ cp->spatial_filter_select = flam3_blackman_kernel;
+ else if (!strcmp("catrom", att_str))
+ cp->spatial_filter_select = flam3_catrom_kernel;
+ else if (!strcmp("hanning", att_str))
+ cp->spatial_filter_select = flam3_hanning_kernel;
+ else if (!strcmp("hamming", att_str))
+ cp->spatial_filter_select = flam3_hamming_kernel;
+ else if (!strcmp("lanczos3", att_str))
+ cp->spatial_filter_select = flam3_lanczos3_kernel;
+ else if (!strcmp("lanczos2", att_str))
+ cp->spatial_filter_select = flam3_lanczos2_kernel;
+ else if (!strcmp("quadratic", att_str))
+ cp->spatial_filter_select = flam3_quadratic_kernel;
+ else
+ fprintf(stderr, "warning: unrecognized kernel shape %s. Using gaussian.\n", att_str);
+
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"temporal_filter_type")) {
+ if (!strcmp("box", att_str))
+ cp->temporal_filter_type = flam3_temporal_box;
+ else if (!strcmp("gaussian", att_str))
+ cp->temporal_filter_type = flam3_temporal_gaussian;
+ else if (!strcmp("exp",att_str))
+ cp->temporal_filter_type = flam3_temporal_exp;
+ else
+ fprintf(stderr, "warning: unrecognized temporal filter %s. Using box.\n",att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"temporal_filter_width")) {
+ cp->temporal_filter_width = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"temporal_filter_exp")) {
+ cp->temporal_filter_exp = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"palette_mode")) {
+ if (!strcmp("step", att_str))
+ cp->palette_mode = flam3_palette_mode_step;
+ else if (!strcmp("linear", att_str))
+ cp->palette_mode = flam3_palette_mode_linear;
+ else
+ fprintf(stderr,"warning: unrecognized palette mode %s. Using step.\n",att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"quality")) {
+ cp->sample_density = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"passes")) {
+ cp->nbatches = flam3_atoi(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"temporal_samples")) {
+ cp->ntemporal_samples = flam3_atoi(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"background")) {
+ if (sscanf(att_str, "%lf %lf %lf%1s", &cp->background[0], &cp->background[1], &cp->background[2], tmps) != 3) {
+ fprintf(stderr,"error: invalid background attribute '%s'\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"brightness")) {
+ cp->brightness = flam3_atof(att_str);
+/* } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"contrast")) {
+ cp->contrast = flam3_atof(att_str);*/
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"gamma")) {
+ cp->gamma = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"highlight_power")) {
+ cp->highlight_power = atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"vibrancy")) {
+ cp->vibrancy = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"hue")) {
+ cp->hue_rotation = fmod(flam3_atof(att_str), 1.0);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"estimator_radius")) {
+ cp->estimator = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"estimator_minimum")) {
+ cp->estimator_minimum = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"estimator_curve")) {
+ cp->estimator_curve = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"gamma_threshold")) {
+ cp->gam_lin_thresh = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"soloxform")) {
+ solo_xform = flam3_atof(att_str);
+ }
+
+ xmlFree(att_str);
+
+ }
+
+ /* Finished with flame attributes. Now look at children of flame element. */
+ for (chld_node=flame_node->children; chld_node; chld_node = chld_node->next) {
+
+ /* Is this a color node? */
+ if (!xmlStrcmp(chld_node->name, (const xmlChar *)"color")) {
+ int index = -1;
+ double r=0.0,g=0.0,b=0.0,a=0.0;
+
+ /* Loop through the attributes of the color element */
+ att_ptr = chld_node->properties;
+
+ if (att_ptr==NULL) {
+ fprintf(stderr,"Error: No attributes for color element.\n");
+ return(1);
+ }
+
+ for (cur_att=att_ptr; cur_att; cur_att = cur_att->next) {
+
+ att_str = (char *) xmlGetProp(chld_node,cur_att->name);
+
+ a = 255.0;
+
+ if (!xmlStrcmp(cur_att->name, (const xmlChar *)"index")) {
+ index = flam3_atoi(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"rgb")) {
+ if (sscanf(att_str, "%lf %lf %lf%1s", &r, &g, &b, tmps) != 3) {
+ fprintf(stderr,"error: invalid rgb attribute '%s'\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"rgba")) {
+ if (sscanf(att_str, "%lf %lf %lf %lf%1s", &r, &g, &b, &a, tmps) != 4) {
+ fprintf(stderr,"error: invalid rgba attribute '%s'\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"a")) {
+ if (sscanf(att_str, "%lf%1s", &a, tmps) != 1) {
+ fprintf(stderr,"error: invalid a attribute '%s'\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+ } else {
+ fprintf(stderr,"Error: Unknown color attribute '%s'\n",cur_att->name);
+ xmlFree(att_str);
+ return(1);
+ }
+
+ xmlFree(att_str);
+ }
+
+ if (index >= 0 && index <= 255) {
+ cp->palette[index].color[3] = a / 255.0;
+ /* Don't forget to premultiply the palette... */
+ cp->palette[index].color[0] = cp->palette[index].color[3] * r / 255.0;
+ cp->palette[index].color[1] = cp->palette[index].color[3] * g / 255.0;
+ cp->palette[index].color[2] = cp->palette[index].color[3] * b / 255.0;
+ cp->palette[index].index = index;
+ } else {
+ fprintf(stderr,"Error: Color element with bad/missing index attribute (%d)\n",index);
+ return(1);
+ }
+ } else if (!xmlStrcmp(chld_node->name, (const xmlChar *)"colors")) {
+
+ int count;
+
+ /* Loop through the attributes of the colors element */
+ att_ptr = chld_node->properties;
+
+ if (att_ptr==NULL) {
+ fprintf(stderr,"Error: No attributes for colors element.\n");
+ return(1);
+ }
+
+ for (cur_att=att_ptr; cur_att; cur_att = cur_att->next) {
+
+ att_str = (char *) xmlGetProp(chld_node,cur_att->name);
+
+ if (!xmlStrcmp(cur_att->name, (const xmlChar *)"count")) {
+ count = flam3_atoi(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"data")) {
+ if (flam3_parse_hexformat_colors(att_str, cp, count, -4) > 0) {
+ fprintf(stderr,"error parsing hexformatted colors\n");
+ xmlFree(att_str);
+ return(1);
+ }
+ } else {
+ fprintf(stderr,"Error: Unknown color attribute '%s'\n",cur_att->name);
+ xmlFree(att_str);
+ return(1);
+ }
+
+ xmlFree(att_str);
+ }
+
+
+ } else if (!xmlStrcmp(chld_node->name, (const xmlChar *)"palette")) {
+
+ /* This could be either the old form of palette or the new form */
+ /* Make sure BOTH are not specified, otherwise either are ok */
+ int numcolors=0;
+ int numbytes=0;
+ int old_format=0;
+ int new_format=0;
+ int index0, index1;
+ double hue0, hue1;
+ double blend = 0.5;
+ index0 = index1 = flam3_palette_random;
+ hue0 = hue1 = 0.0;
+
+ /* Loop through the attributes of the palette element */
+ att_ptr = chld_node->properties;
+
+ if (att_ptr==NULL) {
+ fprintf(stderr,"Error: No attributes for palette element.\n");
+ return(1);
+ }
+
+ for (cur_att=att_ptr; cur_att; cur_att = cur_att->next) {
+
+ att_str = (char *) xmlGetProp(chld_node,cur_att->name);
+
+ if (!xmlStrcmp(cur_att->name, (const xmlChar *)"index0")) {
+ old_format++;
+ index0 = flam3_atoi(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"index1")) {
+ old_format++;
+ index1 = flam3_atoi(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"hue0")) {
+ old_format++;
+ hue0 = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"hue1")) {
+ old_format++;
+ hue1 = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"blend")) {
+ old_format++;
+ blend = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"count")) {
+ new_format++;
+ numcolors = flam3_atoi(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"format")) {
+ new_format++;
+ if (!strcmp(att_str,"RGB"))
+ numbytes=3;
+ else if (!strcmp(att_str,"RGBA"))
+ numbytes=4;
+ else {
+ fprintf(stderr,"Error: Unrecognized palette format string (%s)\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+ } else {
+ fprintf(stderr,"Error: Unknown palette attribute '%s'\n",cur_att->name);
+ xmlFree(att_str);
+ return(1);
+ }
+
+ xmlFree(att_str);
+ }
+
+ /* Old or new format? */
+ if (new_format>0 && old_format>0) {
+ fprintf(stderr,"Error: mixing of old and new palette tag syntax not allowed.\n");
+ return(1);
+ }
+
+ if (old_format>0)
+ interpolate_cmap(cp->palette, blend, index0, hue0, index1, hue1);
+ else {
+
+ char *pal_str;
+
+ /* Read formatted string from contents of tag */
+
+ pal_str = (char *) xmlNodeGetContent(chld_node);
+
+ if (flam3_parse_hexformat_colors(pal_str, cp, numcolors, numbytes) > 0) {
+ fprintf(stderr,"error reading hexformatted colors\n");
+ xmlFree(pal_str);
+ return(1);
+ }
+
+ xmlFree(pal_str);
+ }
+ } else if (!xmlStrcmp(chld_node->name, (const xmlChar *)"symmetry")) {
+
+ int kind=0;
+ int bef,aft;
+
+ /* Loop through the attributes of the symmetry element */
+ att_ptr = chld_node->properties;
+
+ if (att_ptr==NULL) {
+ fprintf(stderr,"Error: No attributes for symmetry element.\n");
+ return(1);
+ }
+
+ for (cur_att=att_ptr; cur_att; cur_att = cur_att->next) {
+
+ att_str = (char *) xmlGetProp(chld_node,cur_att->name);
+
+ if (!xmlStrcmp(cur_att->name, (const xmlChar *)"kind")) {
+ kind = flam3_atoi(att_str);
+ } else {
+ fprintf(stderr,"Error: Unknown symmetry attribute '%s'\n",cur_att->name);
+ xmlFree(att_str);
+ return(1);
+ }
+
+ xmlFree(att_str);
+ }
+
+ bef = cp->num_xforms;
+ flam3_add_symmetry(cp,kind);
+ aft = cp->num_xforms;
+ num_std_xforms += (aft-bef);
+
+
+ } else if (!xmlStrcmp(chld_node->name, (const xmlChar *)"xform") ||
+ !xmlStrcmp(chld_node->name, (const xmlChar *)"finalxform")) {
+
+ int xf = cp->num_xforms;
+
+ if (!xmlStrcmp(chld_node->name, (const xmlChar *)"finalxform")) {
+
+ if (cp->final_xform_index >=0) {
+ fprintf(stderr,"Error: Cannot specify more than one final xform.\n");
+ return(1);
+ }
+
+ flam3_add_xforms(cp, 1, 0, 1);
+ cp->xform[xf].var[0]=0.0;
+ cp->final_xform_index = xf;
+ /* Now, if present, the xform enable defaults to on */
+ cp->final_xform_enable = 1;
+
+ } else {
+
+ /* Add one to the counter */
+ flam3_add_xforms(cp, 1, 0, 0);
+
+ /* If there was already a final xform, we have to change xf to point to the second to last xform */
+ if (cp->final_xform_index>=0)
+ xf--;
+
+ cp->xform[xf].var[0]=0.0;
+ num_std_xforms++;
+
+ }
+
+ if (parse_xform_xml(chld_node, &(cp->xform[xf]), &num_xaos, &xaos, num_std_xforms, 0) != 0)
+ return(1);
+
+ if (cp->final_xform_index == xf && cp->xform[xf].density != 0.0) {
+ fprintf(stderr,"Error: Final xforms should not have weight specified.\n");
+ return(1);
+ }
+
+ /* Check for non-zero motion_* params */
+ if (cp->xform[xf].motion_freq != 0 || cp->xform[xf].motion_func != 0) {
+ fprintf(stderr,"Error: Motion parameters should not be specified in xforms.\n");
+ return(1);
+ }
+
+
+ /* Motion Language: Check the xform element for children - should be named 'motion'. */
+ for (motion_node=chld_node->children; motion_node; motion_node = motion_node->next) {
+
+ if (!xmlStrcmp(motion_node->name, (const xmlChar *)"motion")) {
+
+ int nm = cp->xform[xf].num_motion;
+
+ /* Add motion element to xform */
+ flam3_add_motion_element( &cp->xform[xf] );
+
+ /* Read motion xml */
+ if (parse_xform_xml(motion_node, &(cp->xform[xf].motion[nm]), NULL, NULL, 0, 1) != 0)
+ return(1);
+
+ }
+
+ }
+
+ } else if (!xmlStrcmp(chld_node->name, (const xmlChar *)"edit")) {
+
+ /* Create a new XML document with this edit node as the root node */
+ cp->edits = xmlNewDoc( (const xmlChar *)"1.0");
+ edit_node = xmlCopyNode( chld_node, 1 );
+ xmlDocSetRootElement(cp->edits, edit_node);
+
+ }
+ } /* Done parsing flame element. */
+
+ num_std_xforms++;
+
+ for (i=0;i<num_std_xforms;i++) {
+
+ /* Adjust opacity with solo xform setting */
+ if (solo_xform>=0 && i!=solo_xform)
+ cp->xform[i].opacity = 0.0;
+
+ }
+
+ /* Set the chaos array entries with the values in the xaos list */
+ for (i=0;i<num_xaos;i++)
+ cp->chaos[xaos[i].from][xaos[i].to] = xaos[i].scalar;
+
+ free(xaos);
+
+ /* If there is a final xform in this cp, move it to the end of the list */
+ if (cp->final_xform_index >=0 && cp->final_xform_index != (cp->num_xforms-1)) {
+ /* Make a copy of the final xform */
+ tmpcpy = cp->xform[cp->final_xform_index];
+
+ /* Move each other xform up one */
+ for (i=cp->final_xform_index+1;i<cp->num_xforms;i++)
+ cp->xform[i-1] = cp->xform[i];
+
+ /* Put the final at the end */
+ cp->xform[cp->num_xforms-1] = tmpcpy;
+
+ cp->final_xform_index = cp->num_xforms - 1;
+ }
+
+ /* Check for bad parse */
+ if (flam3_conversion_failed) {
+ fprintf(stderr,"error: parsing a double or int attribute's value.\n");
+ return(1);
+ }
+
+ return(0);
+
+}
+
+int parse_xform_xml(xmlNode *chld_node,flam3_xform *this_xform, int *num_xaos,
+ flam3_chaos_entry **xaos, int numstd, int motionxf) {
+
+ xmlAttrPtr att_ptr, cur_att;
+ char *att_str, *cpy;
+ char tmps[2];
+ int j,k;
+
+ /* Loop through the attributes of the xform element */
+ att_ptr = chld_node->properties;
+
+ if (att_ptr==NULL) {
+ fprintf(stderr,"Error: No attributes for element.\n");
+ return(1);
+ }
+
+ for (cur_att=att_ptr; cur_att; cur_att = cur_att->next) {
+
+ att_str = (char *) xmlGetProp(chld_node,cur_att->name);
+
+ cpy = att_str;
+ if (!xmlStrcmp(cur_att->name, (const xmlChar *)"weight")) {
+ this_xform->density = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"symmetry")) {
+ /* Deprecated. Set both color_speed and animate to this value. */
+ this_xform->color_speed = (1.0-flam3_atof(att_str))/2.0;
+ this_xform->animate = flam3_atof(att_str)>0 ? 0 : 1;
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"color_speed")) {
+ this_xform->color_speed = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"animate")) {
+ this_xform->animate = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"motion_frequency")) {
+ this_xform->motion_freq = flam3_atoi(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"motion_function")) {
+ if (!strcmp("sin", att_str)) {
+ this_xform->motion_func = MOTION_SIN;
+ } else if (!strcmp("triangle",att_str)) {
+ this_xform->motion_func = MOTION_TRIANGLE;
+ } else if (!strcmp("hill",att_str)) {
+ this_xform->motion_func = MOTION_HILL;
+ } else {
+ fprintf(stderr,"Error: unknown motion function '%s'\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"color")) {
+ double tmpc1;
+ this_xform->color = 0.0;
+ /* Try two coords first */
+ if (sscanf(att_str, "%lf %lf%1s", &this_xform->color, &tmpc1, tmps) != 2) {
+ /* Try one color */
+ if (sscanf(att_str, "%lf%1s", &this_xform->color,tmps) != 1) {
+ fprintf(stderr,"Error: malformed xform color attribute '%s'\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+ }
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"var1")) {
+ for (j=0; j < flam3_nvariations; j++) {
+ this_xform->var[j] = 0.0;
+ }
+ j = flam3_atoi(att_str);
+
+ if (j < 0 || j >= flam3_nvariations) {
+ fprintf(stderr,"Error: Bad variation (%d)\n",j);
+ xmlFree(att_str);
+ return(1);
+ }
+
+ this_xform->var[j] = 1.0;
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"var")) {
+ for (j=0; j < flam3_nvariations; j++) {
+ char *cpy2;
+ errno=0;
+ this_xform->var[j] = strtod(cpy, &cpy2);
+ if (errno != 0 || cpy==cpy2) {
+ fprintf(stderr,"error: bad value in var attribute '%s'\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+ cpy=cpy2;
+ }
+
+ if (cpy != att_str+strlen(att_str)) {
+ fprintf(stderr,"error: extra chars at the end of var attribute '%s'\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"chaos")) {
+ /* Chaos scalars */
+
+ char *tok;
+ double scal;
+ int toi=0;
+
+ if (motionxf==1) {
+ fprintf(stderr,"error: motion element cannot have a chaos attribute.\n");
+ xmlFree(att_str);
+ return(1);
+ }
+
+ /* The att string contains at least one value, delimited by a space */
+ tok = strtok(cpy," ");
+ while (tok!=NULL) {
+ scal = flam3_atof(tok);
+
+ /* Skip 1.0 entries */
+ if (scal==1.0) {
+ toi++;
+ tok = strtok(NULL," ");
+ continue;
+ }
+
+ /* Realloc the xaos list */
+ *xaos = realloc((*xaos),(*num_xaos+1) * sizeof(flam3_chaos_entry));
+
+ /* Populate the xaos list */
+ (*xaos)[*num_xaos].from = numstd;
+ (*xaos)[*num_xaos].to = toi;
+ (*xaos)[*num_xaos].scalar = scal;
+ toi++;
+ (*num_xaos)++;
+
+ /* Get the next token */
+ tok = strtok(NULL," ");
+ }
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"plotmode")) {
+
+ if (motionxf==1) {
+ fprintf(stderr,"error: motion element cannot have a plotmode attribute.\n");
+ xmlFree(att_str);
+ return(1);
+ }
+
+ if (!strcmp("off", att_str))
+ this_xform->opacity = 0.0;
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"opacity")) {
+ this_xform->opacity = flam3_atof(att_str);
+
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"coefs")) {
+ for (k=0; k<3; k++) {
+ for (j=0; j<2; j++) {
+ char *cpy2;
+ errno = 0;
+ this_xform->c[k][j] = strtod(cpy, &cpy2);
+ if (errno != 0 || cpy==cpy2) {
+ fprintf(stderr,"error: bad value in coefs attribute '%s'\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+ cpy=cpy2;
+ }
+ }
+ if (cpy != att_str+strlen(att_str)) {
+ fprintf(stderr,"error: extra chars at the end of coefs attribute '%s'\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"post")) {
+ for (k = 0; k < 3; k++) {
+ for (j = 0; j < 2; j++) {
+ char *cpy2;
+ errno = 0;
+ this_xform->post[k][j] = strtod(cpy, &cpy2);
+ if (errno != 0 || cpy==cpy2) {
+ fprintf(stderr,"error: bad value in post attribute '%s'\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+ cpy=cpy2;
+ }
+ }
+ if (cpy != att_str+strlen(att_str)) {
+ fprintf(stderr,"error: extra chars at end of post attribute '%s'\n",att_str);
+ xmlFree(att_str);
+ return(1);
+ }
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"blob_low")) {
+ this_xform->blob_low = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"blob_high")) {
+ this_xform->blob_high = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"blob_waves")) {
+ this_xform->blob_waves = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"pdj_a")) {
+ this_xform->pdj_a = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"pdj_b")) {
+ this_xform->pdj_b = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"pdj_c")) {
+ this_xform->pdj_c = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"pdj_d")) {
+ this_xform->pdj_d = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"fan2_x")) {
+ this_xform->fan2_x = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"fan2_y")) {
+ this_xform->fan2_y = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"rings2_val")) {
+ this_xform->rings2_val = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"perspective_angle")) {
+ this_xform->perspective_angle = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"perspective_dist")) {
+ this_xform->perspective_dist = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"julian_power")) {
+ this_xform->julian_power = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"julian_dist")) {
+ this_xform->julian_dist = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"juliascope_power")) {
+ this_xform->juliascope_power = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"juliascope_dist")) {
+ this_xform->juliascope_dist = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"radial_blur_angle")) {
+ this_xform->radial_blur_angle = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"pie_slices")) {
+ this_xform->pie_slices = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"pie_rotation")) {
+ this_xform->pie_rotation = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"pie_thickness")) {
+ this_xform->pie_thickness = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"ngon_sides")) {
+ this_xform->ngon_sides = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"ngon_power")) {
+ this_xform->ngon_power = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"ngon_circle")) {
+ this_xform->ngon_circle = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"ngon_corners")) {
+ this_xform->ngon_corners = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"curl_c1")) {
+ this_xform->curl_c1 = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"curl_c2")) {
+ this_xform->curl_c2 = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"rectangles_x")) {
+ this_xform->rectangles_x = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"rectangles_y")) {
+ this_xform->rectangles_y = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"amw_amp")) {
+ this_xform->amw_amp = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"disc2_rot")) {
+ this_xform->disc2_rot = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"disc2_twist")) {
+ this_xform->disc2_twist = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"super_shape_rnd")) {
+ this_xform->super_shape_rnd = flam3_atof(att_str);
+ /* Limit to [0,1] */
+ if (this_xform->super_shape_rnd<0)
+ this_xform->super_shape_rnd=0;
+ else if (this_xform->super_shape_rnd>1)
+ this_xform->super_shape_rnd=1;
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"super_shape_m")) {
+ this_xform->super_shape_m = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"super_shape_n1")) {
+ this_xform->super_shape_n1 = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"super_shape_n2")) {
+ this_xform->super_shape_n2 = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"super_shape_n3")) {
+ this_xform->super_shape_n3 = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"super_shape_holes")) {
+ this_xform->super_shape_holes = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"flower_petals")) {
+ this_xform->flower_petals = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"flower_holes")) {
+ this_xform->flower_holes = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"conic_eccentricity")) {
+ this_xform->conic_eccentricity = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"conic_holes")) {
+ this_xform->conic_holes = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"parabola_height")) {
+ this_xform->parabola_height = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"parabola_width")) {
+ this_xform->parabola_width = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"bent2_x")) {
+ this_xform->bent2_x = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"bent2_y")) {
+ this_xform->bent2_y = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"bipolar_shift")) {
+ this_xform->bipolar_shift = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"cell_size")) {
+ this_xform->cell_size = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"cpow_i")) {
+ this_xform->cpow_i = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"cpow_r")) {
+ this_xform->cpow_r = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"cpow_power")) {
+ this_xform->cpow_power = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"curve_xamp")) {
+ this_xform->curve_xamp = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"curve_yamp")) {
+ this_xform->curve_yamp = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"curve_xlength")) {
+ this_xform->curve_xlength = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"curve_ylength")) {
+ this_xform->curve_ylength = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"escher_beta")) {
+ this_xform->escher_beta = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"lazysusan_x")) {
+ this_xform->lazysusan_x = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"lazysusan_y")) {
+ this_xform->lazysusan_y = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"lazysusan_spin")) {
+ this_xform->lazysusan_spin = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"lazysusan_space")) {
+ this_xform->lazysusan_space = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"lazysusan_twist")) {
+ this_xform->lazysusan_twist = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"modulus_x")) {
+ this_xform->modulus_x = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"modulus_y")) {
+ this_xform->modulus_y = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"oscilloscope_separation")) {
+ this_xform->oscope_separation = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"oscilloscope_frequency")) {
+ this_xform->oscope_frequency = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"oscilloscope_amplitude")) {
+ this_xform->oscope_amplitude = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"oscilloscope_damping")) {
+ this_xform->oscope_damping = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"oscope_separation")) {
+ this_xform->oscope_separation = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"oscope_frequency")) {
+ this_xform->oscope_frequency = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"oscope_amplitude")) {
+ this_xform->oscope_amplitude = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"oscope_damping")) {
+ this_xform->oscope_damping = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"popcorn2_x")) {
+ this_xform->popcorn2_x = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"popcorn2_y")) {
+ this_xform->popcorn2_y = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"popcorn2_c")) {
+ this_xform->popcorn2_c = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"separation_x")) {
+ this_xform->separation_x = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"separation_xinside")) {
+ this_xform->separation_xinside = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"separation_y")) {
+ this_xform->separation_y = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"separation_yinside")) {
+ this_xform->separation_yinside = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"split_xsize")) {
+ this_xform->split_xsize = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"split_ysize")) {
+ this_xform->split_ysize = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"splits_x")) {
+ this_xform->splits_x = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"splits_y")) {
+ this_xform->splits_y = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"stripes_space")) {
+ this_xform->stripes_space = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"stripes_warp")) {
+ this_xform->stripes_warp = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"wedge_angle")) {
+ this_xform->wedge_angle = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"wedge_hole")) {
+ this_xform->wedge_hole = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"wedge_count")) {
+ this_xform->wedge_count = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"wedge_swirl")) {
+ this_xform->wedge_swirl = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"wedge_julia_angle")) {
+ this_xform->wedge_julia_angle = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"wedge_julia_count")) {
+ this_xform->wedge_julia_count = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"wedge_julia_power")) {
+ this_xform->wedge_julia_power = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"wedge_julia_dist")) {
+ this_xform->wedge_julia_dist = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"wedge_sph_angle")) {
+ this_xform->wedge_sph_angle = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"wedge_sph_hole")) {
+ this_xform->wedge_sph_hole = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"wedge_sph_count")) {
+ this_xform->wedge_sph_count = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"wedge_sph_swirl")) {
+ this_xform->wedge_sph_swirl = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"whorl_inside")) {
+ this_xform->whorl_inside = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"whorl_outside")) {
+ this_xform->whorl_outside = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"waves2_scalex")) {
+ this_xform->waves2_scalex = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"waves2_scaley")) {
+ this_xform->waves2_scaley = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"waves2_freqx")) {
+ this_xform->waves2_freqx = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"waves2_freqy")) {
+ this_xform->waves2_freqy = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"auger_freq")) {
+ this_xform->auger_freq = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"auger_weight")) {
+ this_xform->auger_weight = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"auger_sym")) {
+ this_xform->auger_sym = flam3_atof(att_str);
+ } else if (!xmlStrcmp(cur_att->name, (const xmlChar *)"auger_scale")) {
+ this_xform->auger_scale = flam3_atof(att_str);
+ } else {
+ int v = var2n((char *) cur_att->name);
+ if (v != flam3_variation_none)
+ this_xform->var[v] = flam3_atof(att_str);
+ else
+ fprintf(stderr,"Warning: unrecognized variation %s. Ignoring.\n",(char *)cur_att->name);
+ }
+
+
+ xmlFree(att_str);
+ }
+ return(0);
+}
+
+void flam3_edit_print(FILE *f, xmlNodePtr editNode, int tabs, int formatting) {
+
+ char *tab_string = " ";
+ int ti,strl;
+ xmlAttrPtr att_ptr=NULL,cur_att=NULL;
+ xmlNodePtr chld_ptr=NULL, cur_chld=NULL;
+ int edit_or_sheep = 0, indent_printed = 0;
+ char *ai;
+ int tablim = argi("print_edit_depth",0);
+
+ char *att_str,*cont_str,*cpy_string;
+
+ if (tablim>0 && tabs>tablim)
+ return;
+
+ /* If this node is an XML_ELEMENT_NODE, print it and it's attributes */
+ if (editNode->type==XML_ELEMENT_NODE) {
+
+ /* Print the node at the tab specified */
+ if (formatting) {
+ for (ti=0;ti<tabs;ti++)
+ fprintf(f,"%s",tab_string);
+ }
+
+ fprintf(f,"<%s",editNode->name);
+
+ /* This can either be an edit node or a sheep node */
+ /* If it's an edit node, add one to the tab */
+ if (!xmlStrcmp(editNode->name, (const xmlChar *)"edit")) {
+ edit_or_sheep = 1;
+ tabs ++;
+ } else if (!xmlStrcmp(editNode->name, (const xmlChar *)"sheep"))
+ edit_or_sheep = 2;
+ else
+ edit_or_sheep = 0;
+
+
+ /* Print the attributes */
+ att_ptr = editNode->properties;
+
+ for (cur_att = att_ptr; cur_att; cur_att = cur_att->next) {
+
+ att_str = (char *) xmlGetProp(editNode,cur_att->name);
+ fprintf(f," %s=\"%s\"",cur_att->name,att_str);
+ xmlFree(att_str);
+ }
+
+ /* Does this node have children? */
+ if (!editNode->children || (tablim>0 && tabs>tablim)) {
+ /* Close the tag and subtract the tab */
+ fprintf(f,"/>");
+ if (formatting)
+ fprintf(f,"\n");
+ tabs--;
+ } else {
+
+ /* Close the tag */
+ fprintf(f,">");
+
+ if (formatting)
+ fprintf(f,"\n");
+
+ /* Loop through the children and print them */
+ chld_ptr = editNode->children;
+
+ indent_printed = 0;
+
+ for (cur_chld=chld_ptr; cur_chld; cur_chld = cur_chld->next) {
+
+ /* If child is an element, indent first and then print it. */
+ if (cur_chld->type==XML_ELEMENT_NODE &&
+ (!xmlStrcmp(cur_chld->name, (const xmlChar *)"edit") ||
+ (!xmlStrcmp(cur_chld->name, (const xmlChar *)"sheep")))) {
+
+ if (indent_printed) {
+ indent_printed = 0;
+ fprintf(f,"\n");
+ }
+
+ flam3_edit_print(f, cur_chld, tabs, 1);
+
+ } else {
+
+ /* Child is a text node. We don't want to indent more than once. */
+ if (xmlIsBlankNode(cur_chld))
+ continue;
+
+ if (indent_printed==0 && formatting==1) {
+ for (ti=0;ti<tabs;ti++)
+ fprintf(f,"%s",tab_string);
+ indent_printed = 1;
+ }
+
+ /* Print nodes without formatting. */
+ flam3_edit_print(f, cur_chld, tabs, 0);
+
+ }
+ }
+
+ if (indent_printed && formatting)
+ fprintf(f,"\n");
+
+ /* Tab out. */
+ tabs --;
+ if (formatting) {
+ for (ti=0;ti<tabs;ti++)
+ fprintf(f,"%s",tab_string);
+ }
+
+ /* Close the tag */
+ fprintf(f,"</%s>",editNode->name);
+
+ if (formatting) {
+ fprintf(f,"\n");
+ }
+ }
+
+ } else if (editNode->type==XML_TEXT_NODE) {
+
+ /* Print text node */
+ cont_str = (char *) xmlNodeGetContent(editNode);
+ cpy_string = &(cont_str[0]);
+ while (isspace(*cpy_string))
+ cpy_string++;
+
+ strl = (int)strlen(cont_str)-1;
+
+ while (isspace(cont_str[strl]))
+ strl--;
+
+ cont_str[strl+1] = 0;
+
+ fprintf(f,"%s",cpy_string);
+
+ }
+}
+
diff --git a/src/parser.h b/src/parser.h
new file mode 100644
index 0000000..73d2c68
--- /dev/null
+++ b/src/parser.h
@@ -0,0 +1,35 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef parser_included
+#define parser_included
+
+#include "private.h"
+
+int flam3_atoi(char *nstr);
+double flam3_atof(char *nstr);
+int var2n(const char *s);
+int flam3_parse_hexformat_colors(char *colstr, flam3_genome *cp, int numcolors, int chan);
+
+void scan_for_flame_nodes(xmlNode *cur_node, char *parent_file, int default_flag, flam3_genome **all_cp, int *all_ncps);
+int parse_flame_element(xmlNode *flame_node, flam3_genome *loc_current_cp);
+int parse_xform_xml(xmlNode *chld_node,flam3_xform *this_xform, int *num_xaos,
+ flam3_chaos_entry **xaos, int numstd, int motionxf);
+void flam3_edit_print(FILE *f, xmlNodePtr editNode, int tabs, int formatting);
+int flam3_interp_missing_colors(flam3_genome *cp);
+#endif
diff --git a/src/png.c b/src/png.c
new file mode 100755
index 0000000..1bdba5f
--- /dev/null
+++ b/src/png.c
@@ -0,0 +1,229 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <png.h>
+#include <setjmp.h>
+
+#include "config.h"
+#include "img.h"
+#include "flam3.h"
+#include "private.h"
+
+#ifdef _WIN32
+#include <winsock.h> /* for htons */
+#else
+#include <arpa/inet.h>
+#endif
+
+void write_png(FILE *file, void *image, int width, int height, flam3_img_comments *fpc, int bpc) {
+ png_structp png_ptr;
+ png_infop info_ptr;
+ png_text text[FLAM3_PNG_COM];
+ size_t i;
+ unsigned short testbe = 1;
+ void **rows = malloc(sizeof(void *) * height);
+ char *nick = getenv("nick");
+ char *url = getenv("url");
+ char *id = getenv("id");
+ char *ai; /* For argi */
+ int pngcom_enable = argi("enable_png_comments", 1);
+
+ text[0].compression = PNG_TEXT_COMPRESSION_NONE;
+ text[0].key = "flam3_version";
+ text[0].text = flam3_version();
+
+ text[1].compression = PNG_TEXT_COMPRESSION_NONE;
+ text[1].key = "flam3_nickname";
+ text[1].text = nick;
+
+ text[2].compression = PNG_TEXT_COMPRESSION_NONE;
+ text[2].key = "flam3_url";
+ text[2].text = url;
+
+ text[3].compression = PNG_TEXT_COMPRESSION_NONE;
+ text[3].key = "flam3_id";
+ text[3].text = id;
+
+ text[4].compression = PNG_TEXT_COMPRESSION_NONE;
+ text[4].key = "flam3_error_rate";
+ text[4].text = fpc->badvals;
+
+ text[5].compression = PNG_TEXT_COMPRESSION_NONE;
+ text[5].key = "flam3_samples";
+ text[5].text = fpc->numiters;
+
+ text[6].compression = PNG_TEXT_COMPRESSION_NONE;
+ text[6].key = "flam3_time";
+ text[6].text = fpc->rtime;
+
+ text[7].compression = PNG_TEXT_COMPRESSION_zTXt;
+ text[7].key = "flam3_genome";
+ text[7].text = fpc->genome;
+
+ for (i = 0; i < height; i++)
+ rows[i] = (unsigned char *)image + i * width * 4 * bpc;
+
+ png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,
+ NULL, NULL, NULL);
+ info_ptr = png_create_info_struct(png_ptr);
+
+ if (setjmp(png_jmpbuf(png_ptr))) {
+ fclose(file);
+ png_destroy_write_struct(&png_ptr, &info_ptr);
+ perror("writing file");
+ return;
+ }
+ png_init_io(png_ptr, file);
+
+ png_set_IHDR(png_ptr, info_ptr, width, height, 8*bpc,
+ PNG_COLOR_TYPE_RGBA,
+ PNG_INTERLACE_NONE,
+ PNG_COMPRESSION_TYPE_BASE,
+ PNG_FILTER_TYPE_BASE);
+
+ /* Swap the bytes if we're doing 16bpc and on little-endian platform */
+ if (2==bpc && testbe != htons(testbe)) {
+ unsigned short *im = (unsigned short *)image;
+ for (i=0; i<height*width*4; i++) {
+ im[i] = htons(im[i]);
+ }
+ }
+
+
+
+ if (pngcom_enable==1)
+ png_set_text(png_ptr, info_ptr, text, FLAM3_PNG_COM);
+
+ png_write_info(png_ptr, info_ptr);
+ png_write_image(png_ptr, (png_bytepp) rows);
+ png_write_end(png_ptr, info_ptr);
+ png_destroy_write_struct(&png_ptr, &info_ptr);
+ free(rows);
+}
+
+#define SIG_CHECK_SIZE 8
+
+unsigned char *read_png(FILE *ifp, int *width, int *height) {
+ unsigned char sig_buf [SIG_CHECK_SIZE];
+ png_struct *png_ptr;
+ png_info *info_ptr;
+ png_byte **png_image = NULL;
+ unsigned int linesize, x, y;
+ unsigned char *p, *q;
+
+ if (fread (sig_buf, 1, SIG_CHECK_SIZE, ifp) != SIG_CHECK_SIZE) {
+ fprintf (stderr, "input file empty or too short\n");
+ return 0;
+ }
+ if (png_sig_cmp (sig_buf, (png_size_t) 0, (png_size_t) SIG_CHECK_SIZE) != 0) {
+ fprintf (stderr, "input file not a PNG file\n");
+ return 0;
+ }
+
+ png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+ if (png_ptr == NULL) {
+ fprintf (stderr, "cannot allocate LIBPNG structure\n");
+ return 0;
+ }
+ if (setjmp(png_jmpbuf(png_ptr))) {
+ if (png_image) {
+ for (y = 0 ; y < info_ptr->height ; y++)
+ free (png_image[y]);
+ free (png_image);
+ }
+ png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
+ perror("reading file");
+ return 0;
+ }
+ info_ptr = png_create_info_struct (png_ptr);
+ if (info_ptr == NULL) {
+ png_destroy_read_struct (&png_ptr, (png_infopp)NULL, (png_infopp)NULL);
+ fprintf (stderr, "cannot allocate LIBPNG structures\n");
+ return 0;
+ }
+
+ png_init_io (png_ptr, ifp);
+ png_set_sig_bytes (png_ptr, SIG_CHECK_SIZE);
+ png_read_info (png_ptr, info_ptr);
+
+ if (8 != info_ptr->bit_depth) {
+ fprintf(stderr, "bit depth type must be 8, not %d.\n",
+ info_ptr->bit_depth);
+ return 0;
+ }
+
+ *width = info_ptr->width;
+ *height = info_ptr->height;
+ p = q = malloc(4 * *width * *height);
+ png_image = (png_byte **)malloc (info_ptr->height * sizeof (png_byte*));
+
+ linesize = info_ptr->width;
+ switch (info_ptr->color_type) {
+ case PNG_COLOR_TYPE_RGB:
+ linesize *= 3;
+ break;
+ case PNG_COLOR_TYPE_RGBA:
+ linesize *= 4;
+ break;
+ default:
+ fprintf(stderr, "color type must be RGB or RGBA not %d.\n",
+ info_ptr->color_type);
+ return 0;
+ }
+
+ for (y = 0 ; y < info_ptr->height ; y++) {
+ png_image[y] = malloc (linesize);
+ }
+ png_read_image (png_ptr, png_image);
+ png_read_end (png_ptr, info_ptr);
+
+ for (y = 0 ; y < info_ptr->height ; y++) {
+ unsigned char *s = png_image[y];
+ for (x = 0 ; x < info_ptr->width ; x++) {
+
+ switch (info_ptr->color_type) {
+ case PNG_COLOR_TYPE_RGB:
+ p[0] = s[0];
+ p[1] = s[1];
+ p[2] = s[2];
+ p[3] = 255;
+ s += 3;
+ p += 4;
+ break;
+ case PNG_COLOR_TYPE_RGBA:
+ p[0] = s[0];
+ p[1] = s[1];
+ p[2] = s[2];
+ p[3] = s[3];
+ s += 4;
+ p += 4;
+ break;
+ }
+ }
+ }
+
+ for (y = 0 ; y < info_ptr->height ; y++)
+ free (png_image[y]);
+ free (png_image);
+ png_destroy_read_struct (&png_ptr, &info_ptr, (png_infopp)NULL);
+
+ return q;
+}
diff --git a/src/private.h b/src/private.h
new file mode 100644
index 0000000..156b0d2
--- /dev/null
+++ b/src/private.h
@@ -0,0 +1,154 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef private_included
+#define private_included
+
+#include "flam3.h"
+#include "config.h"
+#include <stdlib.h>
+
+#include <ctype.h>
+#include <time.h>
+#include <string.h>
+#include <libxml/parser.h>
+
+#ifdef _WIN32
+#define basename(x) strdup(x)
+#define snprintf _snprintf
+#define _USE_MATH_DEFINES
+#else
+#include <unistd.h>
+#include <libgen.h>
+#endif
+
+#include <math.h>
+
+#ifdef HAVE_LIBPTHREAD
+#include <pthread.h>
+#endif
+
+#define PREFILTER_WHITE 255
+#define EPS (1e-10)
+#define CMAP_SIZE 256
+#define CMAP_SIZE_M1 255
+#define rbit() (flam3_random_bit())
+#define flam3_variation_none (-1)
+#define max_specified_vars (100)
+#define vlen(x) (sizeof(x)/sizeof(*x))
+
+
+#ifdef _WIN32
+
+#ifndef M_PI
+ #define M_PI 3.1415926536
+ #define M_1_PI 0.3183098862
+ #define M_PI_4 0.7853981634
+#endif
+#define random() (rand() ^ (rand()<<15))
+#define srandom(x) (srand(x))
+extern int getpid();
+#define rint(A) floor((A)+(((A) < 0)? -0.5 : 0.5))
+#endif
+
+#define argi(s,d) ((ai = getenv(s)) ? atoi(ai) : (d))
+#define argf(s,d) ((ai = getenv(s)) ? atof(ai) : (d))
+#define args(s,d) ((ai = getenv(s)) ? ai : (d))
+
+void docstring();
+
+/* Structures for passing parameters to iteration threads */
+typedef struct {
+ unsigned short *xform_distrib; /* Distribution of xforms based on weights */
+ flam3_frame *spec; /* Frame contains timing information */
+ double bounds[4]; /* Corner coords of viewable area */
+ double rot[2][2]; /* Rotation transformation */
+ double size[2];
+ int width, height; /* buffer width/height */
+ double ws0, wb0s0, hs1, hb1s1; /* shortcuts for indexing */
+ flam3_palette_entry *dmap; /* palette */
+ double color_scalar; /* <1.0 if non-uniform motion blur is set */
+ void *buckets; /* Points to the first accumulator */
+ double badvals; /* accumulates all badvalue resets */
+ double batch_size;
+ int temporal_sample_num,ntemporal_samples;
+ int batch_num, nbatches, aborted;
+ time_t *progress_timer;
+ time_t *progress_timer_history;
+ double *progress_history;
+ int *progress_history_mark;
+#ifdef HAVE_LIBPTHREAD
+ /* mutex for bucket accumulator */
+ pthread_mutex_t bucket_mutex;
+#endif
+
+} flam3_iter_constants;
+
+typedef struct {
+
+ double tx,ty; /* Starting coordinates */
+
+ double precalc_atan, precalc_sina; /* Precalculated, if needed */
+ double precalc_cosa, precalc_sqrt;
+ double precalc_sumsq,precalc_atanyx;
+
+ flam3_xform *xform; /* For the important values */
+
+ /* Output Coords */
+
+ double p0, p1;
+
+ /* Pointer to the isaac RNG state */
+ randctx *rc;
+
+} flam3_iter_helper;
+
+typedef struct {
+ double *iter_storage; /* Storage for iteration coordinates */
+ randctx rc; /* Thread-unique ISAAC seed */
+ flam3_genome cp; /* Full copy of genome for use by the thread */
+ int first_thread;
+ int timer_initialize;
+ flam3_iter_constants *fic; /* Constants for render */
+} flam3_thread_helper;
+
+double flam3_sinc(double x);
+
+#define flam3_num_spatialfilters 14
+double flam3_gaussian_filter(double x);
+double flam3_hermite_filter(double t);
+double flam3_box_filter(double t);
+double flam3_triangle_filter(double t);
+double flam3_bell_filter(double t);
+double flam3_b_spline_filter(double t);
+double flam3_lanczos3_filter(double t);
+double flam3_lanczos2_filter(double t);
+double flam3_mitchell_filter(double t);
+double flam3_blackman_filter(double x);
+double flam3_catrom_filter(double x);
+double flam3_hamming_filter(double x);
+double flam3_hanning_filter(double x);
+double flam3_quadratic_filter(double x);
+
+double flam3_spatial_filter(int knum, double x);
+
+#define flam3_mitchell_b (1.0 / 3.0)
+#define flam3_mitchell_c (1.0 / 3.0)
+
+
+#endif
diff --git a/src/rect.c b/src/rect.c
new file mode 100644
index 0000000..49a1313
--- /dev/null
+++ b/src/rect.c
@@ -0,0 +1,1268 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+/* this file is included into flam3.c once for each buffer bit-width */
+
+/*
+ * for batch
+ * generate de filters
+ * for temporal_sample_batch
+ * interpolate
+ * compute colormap
+ * for subbatch
+ * compute samples
+ * buckets += cmap[samples]
+ * accum += time_filter[temporal_sample_batch] * log[buckets] * de_filter
+ * image = filter(accum)
+ */
+
+
+/* allow this many iterations for settling into attractor */
+#define FUSE 100
+#define WHITE_LEVEL 255
+
+
+typedef struct {
+
+ bucket *b;
+ abucket *accumulate;
+ int width, height, oversample;
+ flam3_de_helper *de;
+ double k1,k2;
+ double curve;
+ int last_thread;
+ int start_row, end_row;
+ flam3_frame *spec;
+ int *aborted;
+ int progress_size;
+
+} de_thread_helper;
+
+static void de_thread(void *dth) {
+
+ de_thread_helper *dthp = (de_thread_helper *)dth;
+ int oversample = dthp->oversample;
+ int ss = (int)floor(oversample / 2.0);
+ int scf = !(oversample & 1);
+ double scfact = pow(oversample/(oversample+1.0), 2.0);
+ int wid=dthp->width;
+ int hig=dthp->height;
+ int ps =dthp->progress_size;
+ int str = (oversample-1)+dthp->start_row;
+ int enr = (oversample-1)+dthp->end_row;
+ int i,j;
+ time_t progress_timer=0;
+ struct timespec pauset;
+ int progress_count = 0;
+ int pixel_num;
+
+ pauset.tv_sec = 0;
+ pauset.tv_nsec = 100000000;
+
+ /* Density estimation code */
+ for (j = str; j < enr; j++) {
+ for (i = oversample-1; i < wid-(oversample-1); i++) {
+
+ int ii,jj;
+ double f_select=0.0;
+ int f_select_int,f_coef_idx;
+ int arr_filt_width;
+ bucket *b;
+ double c[4],ls;
+
+ b = dthp->b + i + j*wid;
+
+ /* Don't do anything if there's no hits here */
+ if (b[0][4] == 0 || b[0][3] == 0)
+ continue;
+
+ /* Count density in ssxss area */
+ /* Scale if OS>1 for equal iters */
+ for (ii=-ss; ii<=ss; ii++) {
+ for (jj=-ss; jj<=ss; jj++) {
+ b = dthp->b + (i + ii) + (j + jj)*wid;
+ f_select += b[0][4]/255.0;
+ }
+ }
+
+ if (scf)
+ f_select *= scfact;
+
+ if (f_select > dthp->de->max_filtered_counts)
+ f_select_int = dthp->de->max_filter_index;
+ else if (f_select<=DE_THRESH)
+ f_select_int = (int)ceil(f_select)-1;
+ else
+ f_select_int = (int)DE_THRESH +
+ (int)floor(pow(f_select-DE_THRESH,dthp->curve));
+
+ /* If the filter selected below the min specified clamp it to the min */
+ if (f_select_int > dthp->de->max_filter_index)
+ f_select_int = dthp->de->max_filter_index;
+
+ /* We only have to calculate the values for ~1/8 of the square */
+ f_coef_idx = f_select_int*dthp->de->kernel_size;
+
+ arr_filt_width = (int)ceil(dthp->de->filter_widths[f_select_int])-1;
+
+ b = dthp->b + i + j*wid;
+
+ for (jj=0; jj<=arr_filt_width; jj++) {
+ for (ii=0; ii<=jj; ii++) {
+
+ /* Skip if coef is 0 */
+ if (dthp->de->filter_coefs[f_coef_idx]==0.0) {
+ f_coef_idx++;
+ continue;
+ }
+
+ c[0] = (double) b[0][0];
+ c[1] = (double) b[0][1];
+ c[2] = (double) b[0][2];
+ c[3] = (double) b[0][3];
+
+ ls = dthp->de->filter_coefs[f_coef_idx]*(dthp->k1 * log(1.0 + c[3] * dthp->k2))/c[3];
+
+ c[0] *= ls;
+ c[1] *= ls;
+ c[2] *= ls;
+ c[3] *= ls;
+
+ if (jj==0 && ii==0) {
+ add_c_to_accum(dthp->accumulate,i,ii,j,jj,wid,hig,c);
+ }
+ else if (ii==0) {
+ add_c_to_accum(dthp->accumulate,i,jj,j,0,wid,hig,c);
+ add_c_to_accum(dthp->accumulate,i,-jj,j,0,wid,hig,c);
+ add_c_to_accum(dthp->accumulate,i,0,j,jj,wid,hig,c);
+ add_c_to_accum(dthp->accumulate,i,0,j,-jj,wid,hig,c);
+ } else if (jj==ii) {
+ add_c_to_accum(dthp->accumulate,i,ii,j,jj,wid,hig,c);
+ add_c_to_accum(dthp->accumulate,i,-ii,j,jj,wid,hig,c);
+ add_c_to_accum(dthp->accumulate,i,ii,j,-jj,wid,hig,c);
+ add_c_to_accum(dthp->accumulate,i,-ii,j,-jj,wid,hig,c);
+ } else {
+ add_c_to_accum(dthp->accumulate,i,ii,j,jj,wid,hig,c);
+ add_c_to_accum(dthp->accumulate,i,-ii,j,jj,wid,hig,c);
+ add_c_to_accum(dthp->accumulate,i,ii,j,-jj,wid,hig,c);
+ add_c_to_accum(dthp->accumulate,i,-ii,j,-jj,wid,hig,c);
+ add_c_to_accum(dthp->accumulate,i,jj,j,ii,wid,hig,c);
+ add_c_to_accum(dthp->accumulate,i,-jj,j,ii,wid,hig,c);
+ add_c_to_accum(dthp->accumulate,i,jj,j,-ii,wid,hig,c);
+ add_c_to_accum(dthp->accumulate,i,-jj,j,-ii,wid,hig,c);
+ }
+
+ f_coef_idx++;
+
+ }
+ }
+ }
+
+ pixel_num = (j-str+1)*wid;
+
+ if (dthp->last_thread) {
+ /* Standard progress function */
+ if (dthp->spec->verbose && time(NULL) != progress_timer) {
+ progress_timer = time(NULL);
+ fprintf(stderr, "\rdensity estimation: %d/%d ", j-str, enr-str);
+ fflush(stderr);
+ }
+
+ }
+ /* Custom progress function */
+ if (dthp->spec->progress && pixel_num > progress_count + ps) {
+
+ progress_count = ps * floor(pixel_num/(double)ps);
+
+ if (dthp->last_thread) {
+
+ int rv = (*dthp->spec->progress)(dthp->spec->progress_parameter,
+ 100*(j-str)/(double)(enr-str), 1, 0);
+
+ if (rv==2) { /* PAUSE */
+
+ *(dthp->aborted) = -1;
+
+ do {
+#if defined(_WIN32) /* mingw or msvc */
+ Sleep(100);
+#else
+ nanosleep(&pauset,NULL);
+#endif
+ rv = (*dthp->spec->progress)(dthp->spec->progress_parameter,
+ 100*(j-str)/(double)(enr-str), 1, 0);
+ } while (rv==2);
+
+ *(dthp->aborted) = 0;
+
+ }
+
+ if (rv==1) {
+ *(dthp->aborted) = 1;
+#ifdef HAVE_LIBPTHREAD
+ pthread_exit((void *)0);
+#else
+ return;
+#endif
+ }
+ } else {
+#ifdef HAVE_LIBPTHREAD
+
+ if (*(dthp->aborted)<0) {
+
+ do {
+#if defined(_WIN32) /* mingw or msvc */
+ Sleep(100);
+#else
+ nanosleep(&pauset,NULL);
+#endif
+ } while (*(dthp->aborted)<0);
+ }
+
+ if (*(dthp->aborted)>0) pthread_exit((void *)0);
+#else
+ if (*(dthp->aborted)>0) return;
+#endif
+ }
+ }
+
+ }
+
+ #ifdef HAVE_LIBPTHREAD
+ pthread_exit((void *)0);
+ #endif
+
+}
+
+static void iter_thread(void *fth) {
+ double sub_batch;
+ int j;
+ flam3_thread_helper *fthp = (flam3_thread_helper *)fth;
+ flam3_iter_constants *ficp = fthp->fic;
+ struct timespec pauset;
+ int SBS = ficp->spec->sub_batch_size;
+
+ double eta = 0.0;
+
+ pauset.tv_sec = 0;
+ pauset.tv_nsec = 100000000;
+
+
+ if (fthp->timer_initialize) {
+ *(ficp->progress_timer) = 0;
+ memset(ficp->progress_timer_history,0,64*sizeof(time_t));
+ memset(ficp->progress_history,0,64*sizeof(double));
+ *(ficp->progress_history_mark) = 0;
+ }
+
+ for (sub_batch = 0; sub_batch < ficp->batch_size; sub_batch+=SBS) {
+ int sub_batch_size, badcount;
+ time_t newt = time(NULL);
+ /* sub_batch is double so this is sketchy */
+ sub_batch_size = (sub_batch + SBS > ficp->batch_size) ?
+ (ficp->batch_size - sub_batch) : SBS;
+
+ if (fthp->first_thread && newt != *(ficp->progress_timer)) {
+ double percent = 100.0 *
+ ((((sub_batch / (double) ficp->batch_size) + ficp->temporal_sample_num)
+ / ficp->ntemporal_samples) + ficp->batch_num)/ficp->nbatches;
+ int old_mark = 0;
+ int ticker;
+
+ if (ficp->spec->verbose)
+ fprintf(stderr, "\rchaos: %5.1f%%", percent);
+
+ *(ficp->progress_timer) = newt;
+ if (ficp->progress_timer_history[*(ficp->progress_history_mark)] &&
+ ficp->progress_history[*(ficp->progress_history_mark)] < percent)
+ old_mark = *(ficp->progress_history_mark);
+
+ if (percent > 0) {
+ eta = (100 - percent) * (*(ficp->progress_timer) - ficp->progress_timer_history[old_mark])
+ / (percent - ficp->progress_history[old_mark]);
+
+ if (ficp->spec->verbose) {
+ ticker = (*(ficp->progress_timer)&1)?':':'.';
+ if (eta < 1000)
+ ticker = ':';
+ if (eta > 100)
+ fprintf(stderr, " ETA%c %.1f minutes", ticker, eta / 60);
+ else
+ fprintf(stderr, " ETA%c %ld seconds ", ticker, (long) ceil(eta));
+ fprintf(stderr, " \r");
+ fflush(stderr);
+ }
+ }
+
+ ficp->progress_timer_history[*(ficp->progress_history_mark)] = *(ficp->progress_timer);
+ ficp->progress_history[*(ficp->progress_history_mark)] = percent;
+ *(ficp->progress_history_mark) = (*(ficp->progress_history_mark) + 1) % 64;
+ }
+
+ /* Custom progress function */
+ if (ficp->spec->progress) {
+ if (fthp->first_thread) {
+
+ int rv;
+
+ /* Recalculate % done, as the other calculation only updates once per second */
+ double percent = 100.0 *
+ ((((sub_batch / (double) ficp->batch_size) + ficp->temporal_sample_num)
+ / ficp->ntemporal_samples) + ficp->batch_num)/ficp->nbatches;
+
+ rv = (*ficp->spec->progress)(ficp->spec->progress_parameter, percent, 0, eta);
+
+ if (rv==2) { /* PAUSE */
+
+ time_t tnow = time(NULL);
+ time_t tend;
+ int lastpt;
+
+ ficp->aborted = -1;
+
+ do {
+#if defined(_WIN32) /* mingw or msvc */
+ Sleep(100);
+#else
+ nanosleep(&pauset,NULL);
+#endif
+ rv = (*ficp->spec->progress)(ficp->spec->progress_parameter, percent, 0, eta);
+ } while (rv==2);
+
+ /* modify the timer history to compensate for the pause */
+ tend = time(NULL)-tnow;
+
+ ficp->aborted = 0;
+
+ for (lastpt=0;lastpt<64;lastpt++) {
+ if (ficp->progress_timer_history[lastpt]) {
+ ficp->progress_timer_history[lastpt] += tend;
+ }
+ }
+
+ }
+
+ if (rv==1) { /* ABORT */
+ ficp->aborted = 1;
+#ifdef HAVE_LIBPTHREAD
+ pthread_exit((void *)0);
+#else
+ return;
+#endif
+ }
+ } else {
+ if (ficp->aborted<0) {
+
+ do {
+#if defined(_WIN32) /* mingw or msvc */
+ Sleep(100);
+#else
+ nanosleep(&pauset,NULL);
+#endif
+ } while (ficp->aborted==-1);
+ }
+#ifdef HAVE_LIBPTHREAD
+ if (ficp->aborted>0) pthread_exit((void *)0);
+#else
+ if (ficp->aborted>0) return;
+#endif
+ }
+ }
+
+ /* Seed iterations */
+ fthp->iter_storage[0] = flam3_random_isaac_11(&(fthp->rc));
+ fthp->iter_storage[1] = flam3_random_isaac_11(&(fthp->rc));
+ fthp->iter_storage[2] = flam3_random_isaac_01(&(fthp->rc));
+ fthp->iter_storage[3] = flam3_random_isaac_01(&(fthp->rc));
+
+ /* Execute iterations */
+ badcount = flam3_iterate(&(fthp->cp), sub_batch_size, FUSE, fthp->iter_storage, ficp->xform_distrib, &(fthp->rc));
+
+ #if defined(HAVE_LIBPTHREAD) && defined(USE_LOCKS)
+ /* Lock mutex for access to accumulator */
+ pthread_mutex_lock(&ficp->bucket_mutex);
+ #endif
+
+ /* Add the badcount to the counter */
+ ficp->badvals += badcount;
+
+ /* Put them in the bucket accumulator */
+ for (j = 0; j < sub_batch_size*4; j+=4) {
+ double p0, p1, p00, p11;
+ double dbl_index0,dbl_frac;
+ double interpcolor[4];
+ int ci, color_index0;
+ double *p = &(fthp->iter_storage[j]);
+ bucket *b;
+
+ if (fthp->cp.rotate != 0.0) {
+ p00 = p[0] - fthp->cp.rot_center[0];
+ p11 = p[1] - fthp->cp.rot_center[1];
+ p0 = p00 * ficp->rot[0][0] + p11 * ficp->rot[0][1] + fthp->cp.rot_center[0];
+ p1 = p00 * ficp->rot[1][0] + p11 * ficp->rot[1][1] + fthp->cp.rot_center[1];
+ } else {
+ p0 = p[0];
+ p1 = p[1];
+ }
+
+ if (p0 >= ficp->bounds[0] && p1 >= ficp->bounds[1] && p0 <= ficp->bounds[2] && p1 <= ficp->bounds[3]) {
+
+ double logvis=1.0;
+ bucket *buckets = (bucket *)(ficp->buckets);
+
+ /* Skip if invisible */
+ if (p[3]==0)
+ continue;
+ else
+ logvis = p[3];
+
+ b = buckets + (int)(ficp->ws0 * p0 - ficp->wb0s0) +
+ ficp->width * (int)(ficp->hs1 * p1 - ficp->hb1s1);
+
+#ifdef USE_FLOAT_INDICES
+ color_index0 = 0;
+
+ //fprintf(stdout,"%.16f\n",p[2]*256.0);
+
+ while(color_index0 < CMAP_SIZE_M1) {
+ if (ficp->dmap[color_index0+1].index > p[2])
+ break;
+ else
+ color_index0++;
+ }
+
+ if (p[3]==1.0) {
+ bump_no_overflow(b[0][0], ficp->dmap[color_index0].color[0]);
+ bump_no_overflow(b[0][1], ficp->dmap[color_index0].color[1]);
+ bump_no_overflow(b[0][2], ficp->dmap[color_index0].color[2]);
+ bump_no_overflow(b[0][3], ficp->dmap[color_index0].color[3]);
+ bump_no_overflow(b[0][4], 255.0);
+ } else {
+ bump_no_overflow(b[0][0], logvis*ficp->dmap[color_index0].color[0]);
+ bump_no_overflow(b[0][1], logvis*ficp->dmap[color_index0].color[1]);
+ bump_no_overflow(b[0][2], logvis*ficp->dmap[color_index0].color[2]);
+ bump_no_overflow(b[0][3], logvis*ficp->dmap[color_index0].color[3]);
+ bump_no_overflow(b[0][4], 255.0);
+#else
+ dbl_index0 = p[2] * CMAP_SIZE;
+ color_index0 = (int) (dbl_index0);
+
+ if (flam3_palette_mode_linear == fthp->cp.palette_mode) {
+ if (color_index0 < 0) {
+ color_index0 = 0;
+ dbl_frac = 0;
+ } else if (color_index0 >= CMAP_SIZE_M1) {
+ color_index0 = CMAP_SIZE_M1-1;
+ dbl_frac = 1.0;
+ } else {
+ /* interpolate between color_index0 and color_index0+1 */
+ dbl_frac = dbl_index0 - (double)color_index0;
+ }
+
+ for (ci=0;ci<4;ci++) {
+ interpcolor[ci] = ficp->dmap[color_index0].color[ci] * (1.0-dbl_frac) +
+ ficp->dmap[color_index0+1].color[ci] * dbl_frac;
+ }
+
+ } else { /* Palette mode step */
+
+ if (color_index0 < 0) {
+ color_index0 = 0;
+ } else if (color_index0 >= CMAP_SIZE_M1) {
+ color_index0 = CMAP_SIZE_M1;
+ }
+
+ for (ci=0;ci<4;ci++)
+ interpcolor[ci] = ficp->dmap[color_index0].color[ci];
+ }
+
+ if (p[3]==1.0) {
+ bump_no_overflow(b[0][0], interpcolor[0]);
+ bump_no_overflow(b[0][1], interpcolor[1]);
+ bump_no_overflow(b[0][2], interpcolor[2]);
+ bump_no_overflow(b[0][3], interpcolor[3]);
+ bump_no_overflow(b[0][4], 255.0);
+ } else {
+ bump_no_overflow(b[0][0], logvis*interpcolor[0]);
+ bump_no_overflow(b[0][1], logvis*interpcolor[1]);
+ bump_no_overflow(b[0][2], logvis*interpcolor[2]);
+ bump_no_overflow(b[0][3], logvis*interpcolor[3]);
+ bump_no_overflow(b[0][4], 255.0);
+ }
+#endif
+
+ }
+ }
+
+ #if defined(HAVE_LIBPTHREAD) && defined(USE_LOCKS)
+ /* Release mutex */
+ pthread_mutex_unlock(&ficp->bucket_mutex);
+ #endif
+
+ }
+ #ifdef HAVE_LIBPTHREAD
+ pthread_exit((void *)0);
+ #endif
+}
+
+static int render_rectangle(flam3_frame *spec, void *out,
+ int field, int nchan, int transp, stat_struct *stats) {
+ long nbuckets;
+ int i, j, k, batch_num, temporal_sample_num;
+ double nsamples, batch_size;
+ bucket *buckets;
+ abucket *accumulate;
+ double *points;
+ double *filter, *temporal_filter, *temporal_deltas, *batch_filter;
+ double ppux=0, ppuy=0;
+ int image_width, image_height; /* size of the image to produce */
+ int out_width;
+ int filter_width=0;
+ int bytes_per_channel = spec->bytes_per_channel;
+ int oversample = spec->genomes[0].spatial_oversample;
+ double highpow = spec->genomes[0].highlight_power;
+ int nbatches = spec->genomes[0].nbatches;
+ int ntemporal_samples = spec->genomes[0].ntemporal_samples;
+ flam3_palette dmap;
+ int gutter_width;
+ double vibrancy = 0.0;
+ double gamma = 0.0;
+ double background[3];
+ int vib_gam_n = 0;
+ time_t progress_began=0;
+ int verbose = spec->verbose;
+ int gnm_idx,max_gnm_de_fw,de_offset;
+ flam3_genome cp;
+ unsigned short *xform_distrib;
+ flam3_iter_constants fic;
+ flam3_thread_helper *fth;
+#ifdef HAVE_LIBPTHREAD
+ pthread_attr_t pt_attr;
+ pthread_t *myThreads=NULL;
+#endif
+ int thread_status;
+ int thi;
+ time_t tstart,tend;
+ double sumfilt;
+
+ char *last_block;
+ size_t memory_rqd;
+
+ /* Per-render progress timers */
+ time_t progress_timer=0;
+ time_t progress_timer_history[64];
+ double progress_history[64];
+ int progress_history_mark = 0;
+
+ tstart = time(NULL);
+
+ fic.badvals = 0;
+ fic.aborted = 0;
+
+ stats->num_iters = 0;
+
+ memset(&cp,0, sizeof(flam3_genome));
+
+ if (nbatches < 1) {
+ fprintf(stderr, "nbatches must be positive, not %d.\n", nbatches);
+ return(1);
+ }
+
+ if (oversample < 1) {
+ fprintf(stderr, "oversample must be positive, not %d.\n", oversample);
+ return(1);
+ }
+
+ /* Initialize the thread helper structures */
+ fth = (flam3_thread_helper *)calloc(spec->nthreads,sizeof(flam3_thread_helper));
+ for (i=0;i<spec->nthreads;i++)
+ fth[i].cp.final_xform_index=-1;
+
+ /* Set up the output image dimensions, adjusted for scanline */
+ image_width = spec->genomes[0].width;
+ out_width = image_width;
+ if (field) {
+ image_height = spec->genomes[0].height / 2;
+
+ if (field == flam3_field_odd)
+ out = (unsigned char *)out + nchan * bytes_per_channel * out_width;
+
+ out_width *= 2;
+ } else
+ image_height = spec->genomes[0].height;
+
+
+ /* Spatial Filter kernel creation */
+ filter_width = flam3_create_spatial_filter(spec, field, &filter);
+
+ /* handle error */
+ if (filter_width<0) {
+ fprintf(stderr,"flam3_create_spatial_filter returned error: aborting\n");
+ return(1);
+ }
+
+ /* note we must free 'filter' at the end */
+
+ /* batch filter */
+ /* may want to revisit this at some point */
+ batch_filter = (double *) malloc(sizeof(double) * nbatches);
+ for (i=0; i<nbatches; i++)
+ batch_filter[i]=1.0/(double)nbatches;
+
+ /* temporal filter - we must free temporal_filter and temporal_deltas at the end */
+ sumfilt = flam3_create_temporal_filter(nbatches*ntemporal_samples,
+ spec->genomes[0].temporal_filter_type,
+ spec->genomes[0].temporal_filter_exp,
+ spec->genomes[0].temporal_filter_width,
+ &temporal_filter, &temporal_deltas);
+
+
+ /*
+ the number of additional rows of buckets we put at the edge so
+ that the filter doesn't go off the edge
+ */
+ gutter_width = (filter_width - oversample) / 2;
+
+ /*
+ Check the size of the density estimation filter.
+ If the 'radius' of the density estimation filter is greater than the
+ gutter width, we have to pad with more. Otherwise, we can use the same value.
+ */
+ max_gnm_de_fw=0;
+ for (gnm_idx = 0; gnm_idx < spec->ngenomes; gnm_idx++) {
+ int this_width = (int)ceil(spec->genomes[gnm_idx].estimator) * oversample;
+ if (this_width > max_gnm_de_fw)
+ max_gnm_de_fw = this_width;
+ }
+
+ /* Add OS-1 for the averaging at the edges, if it's > 0 already */
+ if (max_gnm_de_fw>0)
+ max_gnm_de_fw += (oversample-1);
+
+ /* max_gnm_de_fw is now the number of pixels of additional gutter */
+ /* necessary to appropriately perform the density estimation filtering */
+ /* Check to see if it's greater than the gutter_width */
+ if (max_gnm_de_fw > gutter_width) {
+ de_offset = max_gnm_de_fw - gutter_width;
+ gutter_width = max_gnm_de_fw;
+ } else
+ de_offset = 0;
+
+
+ /* Allocate the space required to render the image */
+ fic.height = oversample * image_height + 2 * gutter_width;
+ fic.width = oversample * image_width + 2 * gutter_width;
+
+ nbuckets = (long)fic.width * (long)fic.height;
+ memory_rqd = (sizeof(bucket) * nbuckets + sizeof(abucket) * nbuckets +
+ 4 * sizeof(double) * (size_t)(spec->sub_batch_size) * spec->nthreads);
+ last_block = (char *) malloc(memory_rqd);
+ if (NULL == last_block) {
+ fprintf(stderr, "render_rectangle: cannot malloc %g bytes.\n", (double)memory_rqd);
+ fprintf(stderr, "render_rectangle: w=%d h=%d nb=%ld.\n", fic.width, fic.height, nbuckets);
+ return(1);
+ }
+
+ /* Just free buckets at the end */
+ buckets = (bucket *) last_block;
+ accumulate = (abucket *) (last_block + sizeof(bucket) * nbuckets);
+ points = (double *) (last_block + (sizeof(bucket) + sizeof(abucket)) * nbuckets);
+
+ if (verbose) {
+ fprintf(stderr, "chaos: ");
+ progress_began = time(NULL);
+ }
+
+ background[0] = background[1] = background[2] = 0.0;
+ memset((char *) accumulate, 0, sizeof(abucket) * nbuckets);
+
+
+ /* Batch loop - outermost */
+ for (batch_num = 0; batch_num < nbatches; batch_num++) {
+ double de_time;
+ double sample_density=0.0;
+ double k1, area, k2;
+ flam3_de_helper de;
+
+ de_time = spec->time + temporal_deltas[batch_num*ntemporal_samples];
+
+ memset((char *) buckets, 0, sizeof(bucket) * nbuckets);
+
+ /* interpolate and get a control point */
+ /* ONLY FOR DENSITY FILTER WIDTH PURPOSES */
+ /* additional interpolation will be done in the temporal_sample loop */
+ flam3_interpolate(spec->genomes, spec->ngenomes, de_time, 0, &cp);
+
+ /* if instructed to by the genome, create the density estimation */
+ /* filter kernels. Check boundary conditions as well. */
+ if (cp.estimator < 0.0 || cp.estimator_minimum < 0.0) {
+ fprintf(stderr,"density estimator filter widths must be >= 0\n");
+ return(1);
+ }
+
+ if (spec->bits <= 32) {
+ if (cp.estimator > 0.0) {
+ fprintf(stderr, "warning: density estimation disabled with %d bit buffers.\n", spec->bits);
+ cp.estimator = 0.0;
+ }
+ }
+
+ /* Create DE filters */
+ if (cp.estimator > 0.0) {
+ de = flam3_create_de_filters(cp.estimator,cp.estimator_minimum,
+ cp.estimator_curve,oversample);
+ if (de.kernel_size<0) {
+ fprintf(stderr,"de.kernel_size returned 0 - aborting.\n");
+ return(1);
+ }
+ } else
+ de.max_filter_index = 0;
+
+ /* Temporal sample loop */
+ for (temporal_sample_num = 0; temporal_sample_num < ntemporal_samples; temporal_sample_num++) {
+
+ double temporal_sample_time;
+ double color_scalar = temporal_filter[batch_num*ntemporal_samples + temporal_sample_num];
+
+ temporal_sample_time = spec->time +
+ temporal_deltas[batch_num*ntemporal_samples + temporal_sample_num];
+
+ /* Interpolate and get a control point */
+ flam3_interpolate(spec->genomes, spec->ngenomes, temporal_sample_time, 0, &cp);
+
+ /* Get the xforms ready to render */
+ if (prepare_xform_fn_ptrs(&cp, &spec->rc)) {
+ fprintf(stderr,"prepare xform pointers returned error: aborting.\n");
+ return(1);
+ }
+ xform_distrib = flam3_create_xform_distrib(&cp);
+ if (xform_distrib==NULL) {
+ fprintf(stderr,"create xform distrib returned error: aborting.\n");
+ return(1);
+ }
+
+ /* compute the colormap entries. */
+ /* the input colormap is 256 long with entries from 0 to 1.0 */
+ for (j = 0; j < CMAP_SIZE; j++) {
+ dmap[j].index = cp.palette[(j * 256) / CMAP_SIZE].index / 256.0;
+ for (k = 0; k < 4; k++)
+ dmap[j].color[k] = (cp.palette[(j * 256) / CMAP_SIZE].color[k] * WHITE_LEVEL) * color_scalar;
+ }
+
+ /* compute camera */
+ if (1) {
+ double t0, t1, shift=0.0, corner0, corner1;
+ double scale;
+
+ if (cp.sample_density <= 0.0) {
+ fprintf(stderr,
+ "sample density (quality) must be greater than zero,"
+ " not %g.\n", cp.sample_density);
+ return(1);
+ }
+
+ scale = pow(2.0, cp.zoom);
+ sample_density = cp.sample_density * scale * scale;
+
+ ppux = cp.pixels_per_unit * scale;
+ ppuy = field ? (ppux / 2.0) : ppux;
+ ppux /= spec->pixel_aspect_ratio;
+ switch (field) {
+ case flam3_field_both: shift = 0.0; break;
+ case flam3_field_even: shift = -0.5; break;
+ case flam3_field_odd: shift = 0.5; break;
+ }
+ shift = shift / ppux;
+ t0 = (double) gutter_width / (oversample * ppux);
+ t1 = (double) gutter_width / (oversample * ppuy);
+ corner0 = cp.center[0] - image_width / ppux / 2.0;
+ corner1 = cp.center[1] - image_height / ppuy / 2.0;
+ fic.bounds[0] = corner0 - t0;
+ fic.bounds[1] = corner1 - t1 + shift;
+ fic.bounds[2] = corner0 + image_width / ppux + t0;
+ fic.bounds[3] = corner1 + image_height / ppuy + t1 + shift;
+ fic.size[0] = 1.0 / (fic.bounds[2] - fic.bounds[0]);
+ fic.size[1] = 1.0 / (fic.bounds[3] - fic.bounds[1]);
+ fic.rot[0][0] = cos(cp.rotate * 2 * M_PI / 360.0);
+ fic.rot[0][1] = -sin(cp.rotate * 2 * M_PI / 360.0);
+ fic.rot[1][0] = -fic.rot[0][1];
+ fic.rot[1][1] = fic.rot[0][0];
+ fic.ws0 = fic.width * fic.size[0];
+ fic.wb0s0 = fic.ws0 * fic.bounds[0];
+ fic.hs1 = fic.height * fic.size[1];
+ fic.hb1s1 = fic.hs1 * fic.bounds[1];
+
+ }
+
+ /* number of samples is based only on the output image size */
+ nsamples = sample_density * image_width * image_height;
+
+ /* how many of these samples are rendered in this loop? */
+ batch_size = nsamples / (nbatches * ntemporal_samples);
+
+ stats->num_iters += batch_size;
+
+ /* Fill in the iter constants */
+ fic.xform_distrib = xform_distrib;
+ fic.spec = spec;
+ fic.batch_size = batch_size / (double)spec->nthreads;
+ fic.temporal_sample_num = temporal_sample_num;
+ fic.ntemporal_samples = ntemporal_samples;
+ fic.batch_num = batch_num;
+ fic.nbatches = nbatches;
+
+ fic.dmap = (flam3_palette_entry *)dmap;
+ fic.color_scalar = color_scalar;
+ fic.buckets = (void *)buckets;
+
+ /* Need a timer per job */
+ fic.progress_timer = &progress_timer;
+ fic.progress_timer_history = &(progress_timer_history[0]);
+ fic.progress_history = &(progress_history[0]);
+ fic.progress_history_mark = &progress_history_mark;
+
+ /* Initialize the thread helper structures */
+ for (thi = 0; thi < spec->nthreads; thi++) {
+
+ int rk;
+ /* Create a new isaac state for this thread */
+ for (rk = 0; rk < RANDSIZ; rk++)
+ fth[thi].rc.randrsl[rk] = irand(&spec->rc);
+
+ irandinit(&(fth[thi].rc),1);
+
+ if (0==thi) {
+
+ fth[thi].first_thread=1;
+ if (0==batch_num && 0==temporal_sample_num)
+ fth[thi].timer_initialize = 1;
+ else
+ fth[thi].timer_initialize = 0;
+
+ } else {
+ fth[thi].first_thread=0;
+ fth[thi].timer_initialize = 0;
+ }
+
+ fth[thi].iter_storage = &(points[thi*(spec->sub_batch_size)*4]);
+ fth[thi].fic = &fic;
+ flam3_copy(&(fth[thi].cp),&cp);
+
+ }
+
+#ifdef HAVE_LIBPTHREAD
+ /* Let's make some threads */
+ myThreads = (pthread_t *)malloc(spec->nthreads * sizeof(pthread_t));
+
+ #if defined(USE_LOCKS)
+ pthread_mutex_init(&fic.bucket_mutex, NULL);
+ #endif
+
+ pthread_attr_init(&pt_attr);
+ pthread_attr_setdetachstate(&pt_attr,PTHREAD_CREATE_JOINABLE);
+
+ for (thi=0; thi <spec->nthreads; thi ++)
+ pthread_create(&myThreads[thi], &pt_attr, (void *)iter_thread, (void *)(&(fth[thi])));
+
+ pthread_attr_destroy(&pt_attr);
+
+ /* Wait for them to return */
+ for (thi=0; thi < spec->nthreads; thi++)
+ pthread_join(myThreads[thi], (void **)&thread_status);
+
+ #if defined(USE_LOCKS)
+ pthread_mutex_destroy(&fic.bucket_mutex);
+ #endif
+
+ free(myThreads);
+#else
+ for (thi=0; thi < spec->nthreads; thi++)
+ iter_thread( (void *)(&(fth[thi])) );
+#endif
+
+ /* Free the xform_distrib array */
+ free(xform_distrib);
+
+ if (fic.aborted) {
+ if (verbose) fprintf(stderr, "\naborted!\n");
+ goto done;
+ }
+
+ vibrancy += cp.vibrancy;
+ gamma += cp.gamma;
+ background[0] += cp.background[0];
+ background[1] += cp.background[1];
+ background[2] += cp.background[2];
+ vib_gam_n++;
+
+ }
+
+ k1 =(cp.contrast * cp.brightness *
+ PREFILTER_WHITE * 268.0 * batch_filter[batch_num]) / 256;
+ area = image_width * image_height / (ppux * ppuy);
+ k2 = (oversample * oversample * nbatches) /
+ (cp.contrast * area * WHITE_LEVEL * sample_density * sumfilt);
+#if 0
+ printf("iw=%d,ih=%d,ppux=%f,ppuy=%f\n",image_width,image_height,ppux,ppuy);
+ printf("contrast=%f, brightness=%f, PREFILTER=%d, temporal_filter=%f\n",
+ cp.contrast, cp.brightness, PREFILTER_WHITE, temporal_filter[batch_num]);
+ printf("oversample=%d, nbatches=%d, area = %f, WHITE_LEVEL=%d, sample_density=%f\n",
+ oversample, nbatches, area, WHITE_LEVEL, sample_density);
+ printf("k1=%f,k2=%15.12f\n",k1,k2);
+#endif
+
+ if (de.max_filter_index == 0) {
+
+ for (j = 0; j < fic.height; j++) {
+ for (i = 0; i < fic.width; i++) {
+
+ abucket *a = accumulate + i + j * fic.width;
+ bucket *b = buckets + i + j * fic.width;
+ double c[4], ls;
+
+ c[0] = (double) b[0][0];
+ c[1] = (double) b[0][1];
+ c[2] = (double) b[0][2];
+ c[3] = (double) b[0][3];
+ if (0.0 == c[3])
+ continue;
+
+ ls = (k1 * log(1.0 + c[3] * k2))/c[3];
+ c[0] *= ls;
+ c[1] *= ls;
+ c[2] *= ls;
+ c[3] *= ls;
+
+ abump_no_overflow(a[0][0], c[0]);
+ abump_no_overflow(a[0][1], c[1]);
+ abump_no_overflow(a[0][2], c[2]);
+ abump_no_overflow(a[0][3], c[3]);
+ }
+ }
+ } else {
+
+ de_thread_helper *deth;
+ int de_aborted=0;
+ int myspan = (fic.height-2*(oversample-1)+1);
+ int swath = myspan/(spec->nthreads);
+
+ /* Create the de helper structures */
+ deth = (de_thread_helper *)calloc(spec->nthreads,sizeof(de_thread_helper));
+
+ for (thi=0;thi<(spec->nthreads);thi++) {
+
+ /* Set up the contents of the helper structure */
+ deth[thi].b = buckets;
+ deth[thi].accumulate = accumulate;
+ deth[thi].width = fic.width;
+ deth[thi].height = fic.height;
+ deth[thi].oversample = oversample;
+ deth[thi].progress_size = spec->sub_batch_size/10;
+ deth[thi].de = &de;
+ deth[thi].k1 = k1;
+ deth[thi].k2 = k2;
+ deth[thi].curve = cp.estimator_curve;
+ deth[thi].spec = spec;
+ deth[thi].aborted = &de_aborted;
+ if ( (spec->nthreads)>myspan) { /* More threads than rows */
+ deth[thi].start_row=0;
+ if (thi==spec->nthreads-1) {
+ deth[thi].end_row=myspan;
+ deth[thi].last_thread=1;
+ } else {
+ deth[thi].end_row=-1;
+ deth[thi].last_thread=0;
+ }
+ } else { /* Normal case */
+ deth[thi].start_row=thi*swath;
+ deth[thi].end_row=(thi+1)*swath;
+ if (thi==spec->nthreads-1) {
+ deth[thi].end_row=myspan;
+ deth[thi].last_thread=1;
+ } else {
+ deth[thi].last_thread=0;
+ }
+ }
+ }
+
+#ifdef HAVE_LIBPTHREAD
+ /* Let's make some threads */
+ myThreads = (pthread_t *)malloc(spec->nthreads * sizeof(pthread_t));
+
+ pthread_attr_init(&pt_attr);
+ pthread_attr_setdetachstate(&pt_attr,PTHREAD_CREATE_JOINABLE);
+
+ for (thi=0; thi <spec->nthreads; thi ++)
+ pthread_create(&myThreads[thi], &pt_attr, (void *)de_thread, (void *)(&(deth[thi])));
+
+ pthread_attr_destroy(&pt_attr);
+
+ /* Wait for them to return */
+ for (thi=0; thi < spec->nthreads; thi++)
+ pthread_join(myThreads[thi], (void **)&thread_status);
+
+ free(myThreads);
+#else
+ for (thi=0; thi <spec->nthreads; thi ++)
+ de_thread((void *)(&(deth[thi])));
+#endif
+
+ free(deth);
+
+ if (de_aborted) {
+ if (verbose) fprintf(stderr, "\naborted!\n");
+ goto done;
+ }
+
+ } /* End density estimation loop */
+
+
+ /* If allocated, free the de filter memory for the next batch */
+ if (de.max_filter_index > 0) {
+ free(de.filter_coefs);
+ free(de.filter_widths);
+ }
+
+ }
+
+ if (verbose) {
+ fprintf(stderr, "\rchaos: 100.0%% took: %ld seconds \n", time(NULL) - progress_began);
+ fprintf(stderr, "filtering...");
+ }
+
+
+ /* filter the accumulation buffer down into the image */
+ if (1) {
+ int x, y;
+ double t[4],newrgb[3];
+ double g = 1.0 / (gamma / vib_gam_n);
+ double tmp,a;
+ double alpha,ls;
+ int rgbi;
+
+ double linrange = cp.gam_lin_thresh;
+
+ vibrancy /= vib_gam_n;
+ background[0] /= vib_gam_n/256.0;
+ background[1] /= vib_gam_n/256.0;
+ background[2] /= vib_gam_n/256.0;
+
+ /* If we're in the early clip mode, perform this first step to */
+ /* apply the gamma correction and clipping before the spat filt */
+
+ if (spec->earlyclip) {
+
+ for (j = 0; j < fic.height; j++) {
+ for (i = 0; i < fic.width; i++) {
+
+ abucket *ac = accumulate + i + j*fic.width;
+
+ if (ac[0][3]<=0) {
+ alpha = 0.0;
+ ls = 0.0;
+ } else {
+ tmp=ac[0][3]/PREFILTER_WHITE;
+ alpha = flam3_calc_alpha(tmp,g,linrange);
+ ls = vibrancy * 256.0 * alpha / tmp;
+ if (alpha<0.0) alpha = 0.0;
+ if (alpha>1.0) alpha = 1.0;
+ }
+
+ t[0] = (double)ac[0][0];
+ t[1] = (double)ac[0][1];
+ t[2] = (double)ac[0][2];
+ t[3] = (double)ac[0][3];
+
+ flam3_calc_newrgb(t, ls, highpow, newrgb);
+
+ for (rgbi=0;rgbi<3;rgbi++) {
+ a = newrgb[rgbi];
+ a += (1.0-vibrancy) * 256.0 * pow( t[rgbi] / PREFILTER_WHITE, g);
+ if (nchan<=3 || transp==0)
+ a += ((1.0 - alpha) * background[rgbi]);
+ else {
+ if (alpha>0)
+ a /= alpha;
+ else
+ a = 0;
+ }
+
+ /* Clamp here to ensure proper filter functionality */
+ if (a>255) a = 255;
+ if (a<0) a = 0;
+
+ /* Replace values in accumulation buffer with these new ones */
+ ac[0][rgbi] = a;
+ }
+
+ ac[0][3] = alpha;
+
+ }
+ }
+ }
+
+ /* Apply the spatial filter */
+ y = de_offset;
+ for (j = 0; j < image_height; j++) {
+ x = de_offset;
+ for (i = 0; i < image_width; i++) {
+ int ii, jj,rgbi;
+ void *p;
+ unsigned short *p16;
+ unsigned char *p8;
+ t[0] = t[1] = t[2] = t[3] = 0.0;
+ for (ii = 0; ii < filter_width; ii++) {
+ for (jj = 0; jj < filter_width; jj++) {
+ double k = filter[ii + jj * filter_width];
+ abucket *ac = accumulate + x+ii + (y+jj)*fic.width;
+
+
+ t[0] += k * ac[0][0];
+ t[1] += k * ac[0][1];
+ t[2] += k * ac[0][2];
+ t[3] += k * ac[0][3];
+
+
+ }
+ }
+
+ p = (unsigned char *)out + nchan * bytes_per_channel * (i + j * out_width);
+ p8 = (unsigned char *)p;
+ p16 = (unsigned short *)p;
+
+ /* The old way, spatial filter first and then clip after gamma */
+ if (!spec->earlyclip) {
+
+ tmp=t[3]/PREFILTER_WHITE;
+
+ if (t[3]<=0) {
+ alpha = 0.0;
+ ls = 0.0;
+ } else {
+ alpha = flam3_calc_alpha(tmp,g,linrange);
+ ls = vibrancy * 256.0 * alpha / tmp;
+ if (alpha<0.0) alpha = 0.0;
+ if (alpha>1.0) alpha = 1.0;
+ }
+
+ flam3_calc_newrgb(t, ls, highpow, newrgb);
+
+ for (rgbi=0;rgbi<3;rgbi++) {
+ a = newrgb[rgbi];
+ a += (1.0-vibrancy) * 256.0 * pow( t[rgbi] / PREFILTER_WHITE, g);
+ if (nchan<=3 || transp==0)
+ a += ((1.0 - alpha) * background[rgbi]);
+ else {
+ if (alpha>0)
+ a /= alpha;
+ else
+ a = 0;
+ }
+
+ /* Clamp here to ensure proper filter functionality */
+ if (a>255) a = 255;
+ if (a<0) a = 0;
+
+ /* Replace values in accumulation buffer with these new ones */
+ t[rgbi] = a;
+ }
+ t[3] = alpha;
+ }
+
+ for (rgbi=0;rgbi<3;rgbi++) {
+
+ a = t[rgbi];
+
+ if (a > 255)
+ a = 255;
+ if (a < 0)
+ a = 0;
+
+ if (2==bytes_per_channel) {
+ a *= 256.0; /* Scales to [0-65280] */
+ p16[rgbi] = (unsigned short) a;
+ } else {
+ p8[rgbi] = (unsigned char) a;
+ }
+ }
+
+
+ if (t[3]>1)
+ t[3]=1;
+ if (t[3]<0)
+ t[3]=0;
+
+ /* alpha */
+ if (nchan>3) {
+ if (transp==1) {
+ if (2==bytes_per_channel)
+ p16[3] = (unsigned short) (t[3] * 65535);
+ else
+ p8[3] = (unsigned char) (t[3] * 255);
+ } else {
+ if (2==bytes_per_channel)
+ p16[3] = 65535;
+ else
+ p8[3] = 255;
+ }
+ }
+
+ x += oversample;
+ }
+ y += oversample;
+ }
+ }
+
+ done:
+
+ stats->badvals = fic.badvals;
+
+ free(temporal_filter);
+ free(temporal_deltas);
+ free(batch_filter);
+ free(filter);
+ free(buckets);
+// free(accumulate);
+// free(points);
+ /* We have to clear the cps in fth first */
+ for (thi = 0; thi < spec->nthreads; thi++) {
+ clear_cp(&(fth[thi].cp),0);
+ }
+ free(fth);
+ clear_cp(&cp,0);
+
+ if (getenv("insert_palette")) {
+ int ph = 100;
+ if (ph >= image_height) ph = image_height;
+ /* insert the palette into the image */
+ for (j = 0; j < ph; j++) {
+ for (i = 0; i < image_width; i++) {
+ unsigned char *p = (unsigned char *)out + nchan * (i + j * out_width);
+ p[0] = (unsigned char)dmap[i * 256 / image_width].color[0];
+ p[1] = (unsigned char)dmap[i * 256 / image_width].color[1];
+ p[2] = (unsigned char)dmap[i * 256 / image_width].color[2];
+ }
+ }
+ }
+
+ tend = time(NULL);
+ stats->render_seconds = (int)(tend-tstart);
+
+ return(0);
+
+}
diff --git a/src/render.dsp b/src/render.dsp
new file mode 100644
index 0000000..bf99407
--- /dev/null
+++ b/src/render.dsp
@@ -0,0 +1,143 @@
+# Microsoft Developer Studio Project File - Name="hqi" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=hqi - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "render.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "render.mak" CFG="hqi - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "hqi - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "hqi - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "hqi - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "c:\src\libpng" /I "c:\src\zlib" /I "c:\src\libxml2\include" /I "c:\src\jpeg" /I "c:\src\iconv\include" /I "c:\src\pthreads" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /Zm1000 /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib c:\src\jpeg\libjpeg.lib c:\src\libpng\libpng.lib c:\src\libxml2\lib\libxml2.lib c:\src\zlib\zlib.lib c:\src\pthreads\pthreadVC2.lib /nologo /subsystem:console /machine:I386 /out:"Release/flam3-render.exe"
+
+!ELSEIF "$(CFG)" == "hqi - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "c:\src\jpeg" /I "c:\src\libpng" /I "c:\src\zlib" /I "c:\src\libxml2\include" /I "c:\src\iconv\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /Zm1000 /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib c:\src\jpeg\libjpeg.lib c:\src\libpng\libpng.lib c:\src\libxml2\lib\libxml2.lib c:\src\zlib\zlib.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# SUBTRACT LINK32 /pdb:none
+
+!ENDIF
+
+# Begin Target
+
+# Name "hqi - Win32 Release"
+# Name "hqi - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\docstring.c
+# End Source File
+# Begin Source File
+
+SOURCE=".\flam3-palettes.c"
+# End Source File
+# Begin Source File
+
+SOURCE=".\flam3-render.c"
+# End Source File
+# Begin Source File
+
+SOURCE=.\flam3.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\isaac.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\jpeg.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\png.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=cmap.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\jpeg.h
+# End Source File
+# Begin Source File
+
+SOURCE=libifs.h
+# End Source File
+# Begin Source File
+
+SOURCE=rect.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/src/test.flam3 b/src/test.flam3
new file mode 100644
index 0000000..62dcc79
--- /dev/null
+++ b/src/test.flam3
@@ -0,0 +1,14 @@
+<test>
+<flame time="0" palette="15" size="640 480" center="0 0" scale="240" zoom="0" oversample="1" filter="1" quality="10" background="0 0 0" brightness="4" gamma="4" vibrancy="1" hue="0.22851">
+ <xform weight="0.25" color="1" spherical="1" coefs="-0.681206 -0.0779465 0.20769 0.755065 -0.0416126 -0.262334"/>
+ <xform weight="0.25" color="0.66" spherical="1" coefs="0.953766 0.48396 0.43268 -0.0542476 0.642503 -0.995898"/>
+ <xform weight="0.25" color="0.33" spherical="1" coefs="0.840613 -0.816191 0.318971 -0.430402 0.905589 0.909402"/>
+ <xform weight="0.25" color="0" spherical="1" coefs="0.960492 -0.466555 0.215383 -0.727377 -0.126074 0.253509"/>
+</flame>
+<flame time="100" palette="29" size="640 480" center="0 0" scale="240" zoom="0" oversample="1" filter="1" quality="10" background="0 0 0" brightness="4" gamma="4" vibrancy="1" hue="0.147038">
+ <xform weight="0.25" color="1" spherical="1" coefs="-0.357523 0.774667 0.397446 0.674359 -0.730708 0.812876"/>
+ <xform weight="0.25" color="0.66" spherical="1" coefs="-0.69942 0.141688 -0.743472 0.475451 -0.336206 0.0958816"/>
+ <xform weight="0.25" color="0.33" spherical="1" coefs="0.0738451 -0.349212 -0.635205 0.262572 -0.398985 -0.736904"/>
+ <xform weight="0.25" color="0" spherical="1" coefs="0.992697 0.433488 -0.427202 -0.339112 -0.507145 0.120765"/>
+</flame>
+</test>
diff --git a/src/variations.c b/src/variations.c
new file mode 100644
index 0000000..c070b0d
--- /dev/null
+++ b/src/variations.c
@@ -0,0 +1,2521 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#include "variations.h"
+#include "interpolation.h"
+
+#define badvalue(x) (((x)!=(x))||((x)>1e10)||((x)<-1e10))
+
+/* Wrap the sincos function for Macs */
+#if defined(__APPLE__) || defined(_MSC_VER)
+#define sincos(x,s,c) *(s)=sin(x); *(c)=cos(x);
+#else
+extern void sincos(double x, double *s, double *c);
+#endif
+
+#ifdef _MSC_VER
+#define trunc (int)
+#endif
+
+char *flam3_variation_names[1+flam3_nvariations] = {
+ "linear",
+ "sinusoidal",
+ "spherical",
+ "swirl",
+ "horseshoe",
+ "polar",
+ "handkerchief",
+ "heart",
+ "disc",
+ "spiral",
+ "hyperbolic",
+ "diamond",
+ "ex",
+ "julia",
+ "bent",
+ "waves",
+ "fisheye",
+ "popcorn",
+ "exponential",
+ "power",
+ "cosine",
+ "rings",
+ "fan",
+ "blob",
+ "pdj",
+ "fan2",
+ "rings2",
+ "eyefish",
+ "bubble",
+ "cylinder",
+ "perspective",
+ "noise",
+ "julian",
+ "juliascope",
+ "blur",
+ "gaussian_blur",
+ "radial_blur",
+ "pie",
+ "ngon",
+ "curl",
+ "rectangles",
+ "arch",
+ "tangent",
+ "square",
+ "rays",
+ "blade",
+ "secant2",
+ "twintrian",
+ "cross",
+ "disc2",
+ "super_shape",
+ "flower",
+ "conic",
+ "parabola",
+ "bent2",
+ "bipolar",
+ "boarders",
+ "butterfly",
+ "cell",
+ "cpow",
+ "curve",
+ "edisc",
+ "elliptic",
+ "escher",
+ "foci",
+ "lazysusan",
+ "loonie",
+ "pre_blur",
+ "modulus",
+ "oscilloscope",
+ "polar2",
+ "popcorn2",
+ "scry",
+ "separation",
+ "split",
+ "splits",
+ "stripes",
+ "wedge",
+ "wedge_julia",
+ "wedge_sph",
+ "whorl",
+ "waves2",
+ "exp",
+ "log",
+ "sin",
+ "cos",
+ "tan",
+ "sec",
+ "csc",
+ "cot",
+ "sinh",
+ "cosh",
+ "tanh",
+ "sech",
+ "csch",
+ "coth",
+ "auger",
+ 0
+};
+
+/*
+ * VARIATION FUNCTIONS
+ * must be of the form void (void *, double)
+ */
+void var0_linear (flam3_iter_helper *f, double weight) {
+ /* linear */
+ /* nx = tx;
+ ny = ty;
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ f->p0 += weight * f->tx;
+ f->p1 += weight * f->ty;
+}
+
+void var1_sinusoidal (flam3_iter_helper *f, double weight) {
+ /* sinusoidal */
+ /* nx = sin(tx);
+ ny = sin(ty);
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ f->p0 += weight * sin(f->tx);
+ f->p1 += weight * sin(f->ty);
+}
+
+void var2_spherical (flam3_iter_helper *f, double weight) {
+ /* spherical */
+ /* double r2 = tx * tx + ty * ty + 1e-6;
+ nx = tx / r2;
+ ny = ty / r2;
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double r2 = weight / ( f->precalc_sumsq + EPS);
+
+ f->p0 += r2 * f->tx;
+ f->p1 += r2 * f->ty;
+}
+
+void var3_swirl (flam3_iter_helper *f, double weight) {
+ /* swirl */
+ /* double r2 = tx * tx + ty * ty; /k here is fun
+ double c1 = sin(r2);
+ double c2 = cos(r2);
+ nx = c1 * tx - c2 * ty;
+ ny = c2 * tx + c1 * ty;
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double r2 = f->precalc_sumsq;
+ double c1,c2;
+ double nx,ny;
+
+ sincos(r2,&c1,&c2);
+// double c1 = sin(r2);
+// double c2 = cos(r2);
+ nx = c1 * f->tx - c2 * f->ty;
+ ny = c2 * f->tx + c1 * f->ty;
+
+ f->p0 += weight * nx;
+ f->p1 += weight * ny;
+}
+
+void var4_horseshoe (flam3_iter_helper *f, double weight) {
+ /* horseshoe */
+ /* a = atan2(tx, ty);
+ c1 = sin(a);
+ c2 = cos(a);
+ nx = c1 * tx - c2 * ty;
+ ny = c2 * tx + c1 * ty;
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double r = weight / (f->precalc_sqrt + EPS);
+
+ f->p0 += (f->tx - f->ty) * (f->tx + f->ty) * r;
+ f->p1 += 2.0 * f->tx * f->ty * r;
+}
+
+void var5_polar (flam3_iter_helper *f, double weight) {
+ /* polar */
+ /* nx = atan2(tx, ty) / M_PI;
+ ny = sqrt(tx * tx + ty * ty) - 1.0;
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double nx = f->precalc_atan * M_1_PI;
+ double ny = f->precalc_sqrt - 1.0;
+
+ f->p0 += weight * nx;
+ f->p1 += weight * ny;
+}
+
+void var6_handkerchief (flam3_iter_helper *f, double weight) {
+ /* folded handkerchief */
+ /* a = atan2(tx, ty);
+ r = sqrt(tx*tx + ty*ty);
+ p[0] += v * sin(a+r) * r;
+ p[1] += v * cos(a-r) * r; */
+
+ double a = f->precalc_atan;
+ double r = f->precalc_sqrt;
+
+ f->p0 += weight * r * sin(a+r);
+ f->p1 += weight * r * cos(a-r);
+}
+
+void var7_heart (flam3_iter_helper *f, double weight) {
+ /* heart */
+ /* a = atan2(tx, ty);
+ r = sqrt(tx*tx + ty*ty);
+ a *= r;
+ p[0] += v * sin(a) * r;
+ p[1] += v * cos(a) * -r; */
+
+ double a = f->precalc_sqrt * f->precalc_atan;
+ double ca,sa;
+ double r = weight * f->precalc_sqrt;
+
+ sincos(a,&sa,&ca);
+
+ f->p0 += r * sa;
+ f->p1 += (-r) * ca;
+}
+
+void var8_disc (flam3_iter_helper *f, double weight) {
+ /* disc */
+ /* nx = tx * M_PI;
+ ny = ty * M_PI;
+ a = atan2(nx, ny);
+ r = sqrt(nx*nx + ny*ny);
+ p[0] += v * sin(r) * a / M_PI;
+ p[1] += v * cos(r) * a / M_PI; */
+
+ double a = f->precalc_atan * M_1_PI;
+ double r = M_PI * f->precalc_sqrt;
+ double sr,cr;
+ sincos(r,&sr,&cr);
+
+ f->p0 += weight * sr * a;
+ f->p1 += weight * cr * a;
+}
+
+void var9_spiral (flam3_iter_helper *f, double weight) {
+ /* spiral */
+ /* a = atan2(tx, ty);
+ r = sqrt(tx*tx + ty*ty) + 1e-6;
+ p[0] += v * (cos(a) + sin(r)) / r;
+ p[1] += v * (sin(a) - cos(r)) / r; */
+
+ double r = f->precalc_sqrt + EPS;
+ double r1 = weight/r;
+ double sr,cr;
+ sincos(r,&sr,&cr);
+
+ f->p0 += r1 * (f->precalc_cosa + sr);
+ f->p1 += r1 * (f->precalc_sina - cr);
+}
+
+void var10_hyperbolic (flam3_iter_helper *f, double weight) {
+ /* hyperbolic */
+ /* a = atan2(tx, ty);
+ r = sqrt(tx*tx + ty*ty) + 1e-6;
+ p[0] += v * sin(a) / r;
+ p[1] += v * cos(a) * r; */
+
+ double r = f->precalc_sqrt + EPS;
+
+ f->p0 += weight * f->precalc_sina / r;
+ f->p1 += weight * f->precalc_cosa * r;
+}
+
+void var11_diamond (flam3_iter_helper *f, double weight) {
+ /* diamond */
+ /* a = atan2(tx, ty);
+ r = sqrt(tx*tx + ty*ty);
+ p[0] += v * sin(a) * cos(r);
+ p[1] += v * cos(a) * sin(r); */
+
+ double r = f->precalc_sqrt;
+ double sr,cr;
+ sincos(r,&sr,&cr);
+
+ f->p0 += weight * f->precalc_sina * cr;
+ f->p1 += weight * f->precalc_cosa * sr;
+}
+
+void var12_ex (flam3_iter_helper *f, double weight) {
+ /* ex */
+ /* a = atan2(tx, ty);
+ r = sqrt(tx*tx + ty*ty);
+ n0 = sin(a+r);
+ n1 = cos(a-r);
+ m0 = n0 * n0 * n0 * r;
+ m1 = n1 * n1 * n1 * r;
+ p[0] += v * (m0 + m1);
+ p[1] += v * (m0 - m1); */
+
+ double a = f->precalc_atan;
+ double r = f->precalc_sqrt;
+
+ double n0 = sin(a+r);
+ double n1 = cos(a-r);
+
+ double m0 = n0 * n0 * n0 * r;
+ double m1 = n1 * n1 * n1 * r;
+
+ f->p0 += weight * (m0 + m1);
+ f->p1 += weight * (m0 - m1);
+}
+
+void var13_julia (flam3_iter_helper *f, double weight) {
+ /* julia */
+ /* a = atan2(tx, ty)/2.0;
+ if (flam3_random_bit()) a += M_PI;
+ r = pow(tx*tx + ty*ty, 0.25);
+ nx = r * cos(a);
+ ny = r * sin(a);
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double r;
+ double a = 0.5 * f->precalc_atan;
+ double sa,ca;
+
+ if (flam3_random_isaac_bit(f->rc)) //(flam3_random_bit())
+ a += M_PI;
+
+ r = weight * sqrt(f->precalc_sqrt);
+
+ sincos(a,&sa,&ca);
+
+ f->p0 += r * ca;
+ f->p1 += r * sa;
+}
+
+void var14_bent (flam3_iter_helper *f, double weight) {
+ /* bent */
+ /* nx = tx;
+ ny = ty;
+ if (nx < 0.0) nx = nx * 2.0;
+ if (ny < 0.0) ny = ny / 2.0;
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double nx = f->tx;
+ double ny = f->ty;
+
+ if (nx < 0.0)
+ nx = nx * 2.0;
+ if (ny < 0.0)
+ ny = ny / 2.0;
+
+ f->p0 += weight * nx;
+ f->p1 += weight * ny;
+}
+
+void var15_waves (flam3_iter_helper *f, double weight) {
+ /* waves */
+ /* dx = coef[2][0];
+ dy = coef[2][1];
+ nx = tx + coef[1][0]*sin(ty/((dx*dx)+EPS));
+ ny = ty + coef[1][1]*sin(tx/((dy*dy)+EPS));
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double c10 = f->xform->c[1][0];
+ double c11 = f->xform->c[1][1];
+
+ double nx = f->tx + c10 * sin( f->ty * f->xform->waves_dx2 );
+ double ny = f->ty + c11 * sin( f->tx * f->xform->waves_dy2 );
+
+ f->p0 += weight * nx;
+ f->p1 += weight * ny;
+}
+
+void var16_fisheye (flam3_iter_helper *f, double weight) {
+ /* fisheye */
+ /* a = atan2(tx, ty);
+ r = sqrt(tx*tx + ty*ty);
+ r = 2 * r / (r + 1);
+ nx = r * cos(a);
+ ny = r * sin(a);
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double r = f->precalc_sqrt;
+
+ r = 2 * weight / (r+1);
+
+ f->p0 += r * f->ty;
+ f->p1 += r * f->tx;
+}
+
+void var17_popcorn (flam3_iter_helper *f, double weight) {
+ /* popcorn */
+ /* dx = tan(3*ty);
+ dy = tan(3*tx);
+ nx = tx + coef[2][0] * sin(dx);
+ ny = ty + coef[2][1] * sin(dy);
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double dx = tan(3*f->ty);
+ double dy = tan(3*f->tx);
+
+ double nx = f->tx + f->xform->c[2][0] * sin(dx);
+ double ny = f->ty + f->xform->c[2][1] * sin(dy);
+
+ f->p0 += weight * nx;
+ f->p1 += weight * ny;
+}
+
+void var18_exponential (flam3_iter_helper *f, double weight) {
+ /* exponential */
+ /* dx = exp(tx-1.0);
+ dy = M_PI * ty;
+ nx = cos(dy) * dx;
+ ny = sin(dy) * dx;
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double dx = weight * exp(f->tx - 1.0);
+ double dy = M_PI * f->ty;
+ double sdy,cdy;
+
+ sincos(dy,&sdy,&cdy);
+
+
+ f->p0 += dx * cdy;
+ f->p1 += dx * sdy;
+}
+
+void var19_power (flam3_iter_helper *f, double weight) {
+ /* power */
+ /* a = atan2(tx, ty);
+ sa = sin(a);
+ r = sqrt(tx*tx + ty*ty);
+ r = pow(r, sa);
+ nx = r * precalc_cosa;
+ ny = r * sa;
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double r = weight * pow(f->precalc_sqrt, f->precalc_sina);
+
+ f->p0 += r * f->precalc_cosa;
+ f->p1 += r * f->precalc_sina;
+}
+
+void var20_cosine (flam3_iter_helper *f, double weight) {
+ /* cosine */
+ /* nx = cos(tx * M_PI) * cosh(ty);
+ ny = -sin(tx * M_PI) * sinh(ty);
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double a = f->tx * M_PI;
+ double sa,ca;
+ double nx,ny;
+
+ sincos(a,&sa,&ca);
+ nx = ca * cosh(f->ty);
+ ny = -sa * sinh(f->ty);
+
+ f->p0 += weight * nx;
+ f->p1 += weight * ny;
+}
+
+void var21_rings (flam3_iter_helper *f, double weight) {
+ /* rings */
+ /* dx = coef[2][0];
+ dx = dx * dx + EPS;
+ r = sqrt(tx*tx + ty*ty);
+ r = fmod(r + dx, 2*dx) - dx + r*(1-dx);
+ a = atan2(tx, ty);
+ nx = cos(a) * r;
+ ny = sin(a) * r;
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double dx = f->xform->c[2][0] * f->xform->c[2][0] + EPS;
+ double r = f->precalc_sqrt;
+ r = weight * (fmod(r+dx, 2*dx) - dx + r * (1 - dx));
+
+ f->p0 += r * f->precalc_cosa;
+ f->p1 += r * f->precalc_sina;
+}
+
+void var22_fan (flam3_iter_helper *f, double weight) {
+ /* fan */
+ /* dx = coef[2][0];
+ dy = coef[2][1];
+ dx = M_PI * (dx * dx + EPS);
+ dx2 = dx/2;
+ a = atan(tx,ty);
+ r = sqrt(tx*tx + ty*ty);
+ a += (fmod(a+dy, dx) > dx2) ? -dx2 : dx2;
+ nx = cos(a) * r;
+ ny = sin(a) * r;
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double dx = M_PI * (f->xform->c[2][0] * f->xform->c[2][0] + EPS);
+ double dy = f->xform->c[2][1];
+ double dx2 = 0.5 * dx;
+
+ double a = f->precalc_atan;
+ double r = weight * f->precalc_sqrt;
+ double sa,ca;
+
+ a += (fmod(a+dy,dx) > dx2) ? -dx2 : dx2;
+ sincos(a,&sa,&ca);
+
+ f->p0 += r * ca;
+ f->p1 += r * sa;
+}
+
+void var23_blob (flam3_iter_helper *f, double weight) {
+ /* blob */
+ /* a = atan2(tx, ty);
+ r = sqrt(tx*tx + ty*ty);
+ r = r * (bloblow + (blobhigh-bloblow) * (0.5 + 0.5 * sin(blobwaves * a)));
+ nx = sin(a) * r;
+ ny = cos(a) * r;
+
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double r = f->precalc_sqrt;
+ double a = f->precalc_atan;
+ double bdiff = f->xform->blob_high - f->xform->blob_low;
+
+ r = r * (f->xform->blob_low +
+ bdiff * (0.5 + 0.5 * sin(f->xform->blob_waves * a)));
+
+ f->p0 += weight * f->precalc_sina * r;
+ f->p1 += weight * f->precalc_cosa * r;
+}
+
+void var24_pdj (flam3_iter_helper *f, double weight) {
+ /* pdj */
+ /* nx1 = cos(pdjb * tx);
+ nx2 = sin(pdjc * tx);
+ ny1 = sin(pdja * ty);
+ ny2 = cos(pdjd * ty);
+
+ p[0] += v * (ny1 - nx1);
+ p[1] += v * (nx2 - ny2); */
+
+ double nx1 = cos(f->xform->pdj_b * f->tx);
+ double nx2 = sin(f->xform->pdj_c * f->tx);
+ double ny1 = sin(f->xform->pdj_a * f->ty);
+ double ny2 = cos(f->xform->pdj_d * f->ty);
+
+ f->p0 += weight * (ny1 - nx1);
+ f->p1 += weight * (nx2 - ny2);
+}
+
+void var25_fan2 (flam3_iter_helper *f, double weight) {
+ /* fan2 */
+ /* a = precalc_atan;
+ r = precalc_sqrt;
+
+ dy = fan2y;
+ dx = M_PI * (fan2x * fan2x + EPS);
+ dx2 = dx / 2.0;
+
+ t = a + dy - dx * (int)((a + dy)/dx);
+
+ if (t > dx2)
+ a = a - dx2;
+ else
+ a = a + dx2;
+
+ nx = sin(a) * r;
+ ny = cos(a) * r;
+
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double dy = f->xform->fan2_y;
+ double dx = M_PI * (f->xform->fan2_x * f->xform->fan2_x + EPS);
+ double dx2 = 0.5 * dx;
+ double a = f->precalc_atan;
+ double sa,ca;
+ double r = weight * f->precalc_sqrt;
+
+ double t = a + dy - dx * (int)((a + dy)/dx);
+
+ if (t>dx2)
+ a = a-dx2;
+ else
+ a = a+dx2;
+
+ sincos(a,&sa,&ca);
+
+ f->p0 += r * sa;
+ f->p1 += r * ca;
+}
+
+void var26_rings2 (flam3_iter_helper *f, double weight) {
+ /* rings2 */
+ /* r = precalc_sqrt;
+ dx = rings2val * rings2val + EPS;
+ r += dx - 2.0*dx*(int)((r + dx)/(2.0 * dx)) - dx + r * (1.0-dx);
+ nx = precalc_sina * r;
+ ny = precalc_cosa * r;
+ p[0] += v * nx;
+ p[1] += v * ny; */
+
+ double r = f->precalc_sqrt;
+ double dx = f->xform->rings2_val * f->xform->rings2_val + EPS;
+
+ r += -2.0*dx*(int)((r+dx)/(2.0*dx)) + r * (1.0-dx);
+
+ f->p0 += weight * f->precalc_sina * r;
+ f->p1 += weight * f->precalc_cosa * r;
+}
+
+void var27_eyefish (flam3_iter_helper *f, double weight) {
+ /* eyefish */
+ /* r = 2.0 * v / (precalc_sqrt + 1.0);
+ p[0] += r*tx;
+ p[1] += r*ty; */
+
+ double r = (weight * 2.0) / (f->precalc_sqrt + 1.0);
+
+ f->p0 += r * f->tx;
+ f->p1 += r * f->ty;
+}
+
+void var28_bubble (flam3_iter_helper *f, double weight) {
+ /* bubble */
+
+ double r = weight / (0.25 * (f->precalc_sumsq) + 1);
+
+ f->p0 += r * f->tx;
+ f->p1 += r * f->ty;
+}
+
+void var29_cylinder (flam3_iter_helper *f, double weight) {
+ /* cylinder (01/06) */
+
+ f->p0 += weight * sin(f->tx);
+ f->p1 += weight * f->ty;
+}
+
+void var30_perspective (flam3_iter_helper *f, double weight) {
+ /* perspective (01/06) */
+
+ double t = 1.0 / (f->xform->perspective_dist - f->ty * f->xform->persp_vsin);
+
+ f->p0 += weight * f->xform->perspective_dist * f->tx * t;
+ f->p1 += weight * f->xform->persp_vfcos * f->ty * t;
+}
+
+void var31_noise (flam3_iter_helper *f, double weight) {
+ /* noise (03/06) */
+
+ double tmpr, sinr, cosr, r;
+
+ tmpr = flam3_random_isaac_01(f->rc) * 2 * M_PI;
+ sincos(tmpr,&sinr,&cosr);
+
+ r = weight * flam3_random_isaac_01(f->rc);
+
+ f->p0 += f->tx * r * cosr;
+ f->p1 += f->ty * r * sinr;
+}
+
+void var32_juliaN_generic (flam3_iter_helper *f, double weight) {
+ /* juliaN (03/06) */
+
+ int t_rnd = trunc((f->xform->julian_rN)*flam3_random_isaac_01(f->rc));
+
+ double tmpr = (f->precalc_atanyx + 2 * M_PI * t_rnd) / f->xform->julian_power;
+
+ double r = weight * pow(f->precalc_sumsq, f->xform->julian_cn);
+ double sina, cosa;
+ sincos(tmpr,&sina,&cosa);
+
+ f->p0 += r * cosa;
+ f->p1 += r * sina;
+}
+
+void var33_juliaScope_generic (flam3_iter_helper *f, double weight) {
+ /* juliaScope (03/06) */
+
+ int t_rnd = trunc((f->xform->juliascope_rN) * flam3_random_isaac_01(f->rc));
+
+ double tmpr, r;
+ double sina, cosa;
+
+ if ((t_rnd & 1) == 0)
+ tmpr = (2 * M_PI * t_rnd + f->precalc_atanyx) / f->xform->juliascope_power;
+ else
+ tmpr = (2 * M_PI * t_rnd - f->precalc_atanyx) / f->xform->juliascope_power;
+
+ sincos(tmpr,&sina,&cosa);
+
+ r = weight * pow(f->precalc_sumsq, f->xform->juliascope_cn);
+
+ f->p0 += r * cosa;
+ f->p1 += r * sina;
+}
+
+void var34_blur (flam3_iter_helper *f, double weight) {
+ /* blur (03/06) */
+
+ double tmpr, sinr, cosr, r;
+
+ tmpr = flam3_random_isaac_01(f->rc) * 2 * M_PI;
+ sincos(tmpr,&sinr,&cosr);
+
+ r = weight * flam3_random_isaac_01(f->rc);
+
+ f->p0 += r * cosr;
+ f->p1 += r * sinr;
+}
+
+void var35_gaussian (flam3_iter_helper *f, double weight) {
+ /* gaussian (09/06) */
+
+ double ang, r, sina, cosa;
+
+ ang = flam3_random_isaac_01(f->rc) * 2 * M_PI;
+ sincos(ang,&sina,&cosa);
+
+ r = weight * ( flam3_random_isaac_01(f->rc) + flam3_random_isaac_01(f->rc)
+ + flam3_random_isaac_01(f->rc) + flam3_random_isaac_01(f->rc) - 2.0 );
+
+ f->p0 += r * cosa;
+ f->p1 += r * sina;
+}
+
+void var36_radial_blur (flam3_iter_helper *f, double weight) {
+ /* radial blur (09/06) */
+ /* removed random storage 6/07 */
+
+ double rndG, ra, rz, tmpa, sa, ca;
+
+ /* Get pseudo-gaussian */
+ rndG = weight * (flam3_random_isaac_01(f->rc) + flam3_random_isaac_01(f->rc)
+ + flam3_random_isaac_01(f->rc) + flam3_random_isaac_01(f->rc) - 2.0);
+
+ /* Calculate angle & zoom */
+ ra = f->precalc_sqrt;
+ tmpa = f->precalc_atanyx + f->xform->radialBlur_spinvar*rndG;
+ sincos(tmpa,&sa,&ca);
+ rz = f->xform->radialBlur_zoomvar * rndG - 1;
+
+ f->p0 += ra * ca + rz * f->tx;
+ f->p1 += ra * sa + rz * f->ty;
+}
+
+void var37_pie(flam3_iter_helper *f, double weight) {
+ /* pie by Joel Faber (June 2006) */
+
+ double a, r, sa, ca;
+ int sl;
+
+ sl = (int) (flam3_random_isaac_01(f->rc) * f->xform->pie_slices + 0.5);
+ a = f->xform->pie_rotation +
+ 2.0 * M_PI * (sl + flam3_random_isaac_01(f->rc) * f->xform->pie_thickness) / f->xform->pie_slices;
+ r = weight * flam3_random_isaac_01(f->rc);
+ sincos(a,&sa,&ca);
+
+ f->p0 += r * ca;
+ f->p1 += r * sa;
+}
+
+void var38_ngon(flam3_iter_helper *f, double weight) {
+ /* ngon by Joel Faber (09/06) */
+
+ double r_factor,theta,phi,b, amp;
+
+ r_factor = pow(f->precalc_sumsq, f->xform->ngon_power/2.0);
+
+ theta = f->precalc_atanyx;
+ b = 2*M_PI/f->xform->ngon_sides;
+
+ phi = theta - (b*floor(theta/b));
+ if (phi > b/2)
+ phi -= b;
+
+ amp = f->xform->ngon_corners * (1.0 / (cos(phi) + EPS) - 1.0) + f->xform->ngon_circle;
+ amp /= (r_factor + EPS);
+
+ f->p0 += weight * f->tx * amp;
+ f->p1 += weight * f->ty * amp;
+}
+
+void var39_curl(flam3_iter_helper *f, double weight)
+{
+ double re = 1.0 + f->xform->curl_c1 * f->tx + f->xform->curl_c2 * (f->tx * f->tx - f->ty * f->ty);
+ double im = f->xform->curl_c1 * f->ty + 2.0 * f->xform->curl_c2 * f->tx * f->ty;
+
+ double r = weight / (re*re + im*im);
+
+ f->p0 += (f->tx * re + f->ty * im) * r;
+ f->p1 += (f->ty * re - f->tx * im) * r;
+}
+
+void var40_rectangles(flam3_iter_helper *f, double weight)
+{
+ if (f->xform->rectangles_x==0)
+ f->p0 += weight * f->tx;
+ else
+ f->p0 += weight * ((2 * floor(f->tx / f->xform->rectangles_x) + 1) * f->xform->rectangles_x - f->tx);
+
+ if (f->xform->rectangles_y==0)
+ f->p1 += weight * f->ty;
+ else
+ f->p1 += weight * ((2 * floor(f->ty / f->xform->rectangles_y) + 1) * f->xform->rectangles_y - f->ty);
+
+}
+
+void var41_arch(flam3_iter_helper *f, double weight)
+{
+ /* Z+ variation Jan 07
+ procedure TXForm.Arch;
+ var
+ sinr, cosr: double;
+ begin
+ SinCos(random * vars[29]*pi, sinr, cosr);
+ FPx := FPx + sinr*vars[29];
+ FPy := FPy + sqr(sinr)/cosr*vars[29];
+ end;
+ */
+
+ /*
+ * !!! Note !!!
+ * This code uses the variation weight in a non-standard fashion, and
+ * it may change or even be removed in future versions of flam3.
+ */
+
+ double ang = flam3_random_isaac_01(f->rc) * weight * M_PI;
+ double sinr,cosr;
+ sincos(ang,&sinr,&cosr);
+
+ f->p0 += weight * sinr;
+ f->p1 += weight * (sinr*sinr)/cosr;
+
+}
+
+void var42_tangent(flam3_iter_helper *f, double weight)
+{
+ /* Z+ variation Jan 07
+ procedure TXForm.Tangent;
+ begin
+ FPx := FPx + vars[30] * (sin(FTx)/cos(FTy));
+ FPy := FPy + vars[30] * (sin(FTy)/cos(FTy));
+ end;
+ */
+
+ f->p0 += weight * sin(f->tx)/cos(f->ty);
+ f->p1 += weight * tan(f->ty);
+
+}
+
+void var43_square(flam3_iter_helper *f, double weight)
+{
+ /* Z+ variation Jan 07
+ procedure TXForm.SquareBlur;
+ begin
+ FPx := FPx + vars[31] * (random - 0.5);
+ FPy := FPy + vars[31] * (random - 0.5);
+ end;
+ */
+
+ f->p0 += weight * (flam3_random_isaac_01(f->rc) - 0.5);
+ f->p1 += weight * (flam3_random_isaac_01(f->rc) - 0.5);
+
+}
+
+void var44_rays(flam3_iter_helper *f, double weight)
+{
+ /* Z+ variation Jan 07
+ procedure TXForm.Rays;
+ var
+ r, sinr, cosr, tgr: double;
+ begin
+ SinCos(random * vars[32]*pi, sinr, cosr);
+ r := vars[32] / (sqr(FTx) + sqr(FTy) + EPS);
+ tgr := sinr/cosr;
+ FPx := FPx + tgr * (cos(FTx)*vars[32]) * r;
+ FPy := FPy + tgr * (sin(FTy)*vars[32]) * r;
+ end;
+ */
+
+ /*
+ * !!! Note !!!
+ * This code uses the variation weight in a non-standard fashion, and
+ * it may change or even be removed in future versions of flam3.
+ */
+
+ double ang = weight * flam3_random_isaac_01(f->rc) * M_PI;
+ double r = weight / (f->precalc_sumsq + EPS);
+ double tanr = weight * tan(ang) * r;
+
+
+ f->p0 += tanr * cos(f->tx);
+ f->p1 += tanr * sin(f->ty);
+
+}
+
+void var45_blade(flam3_iter_helper *f, double weight)
+{
+ /* Z+ variation Jan 07
+ procedure TXForm.Blade;
+ var
+ r, sinr, cosr: double;
+ begin
+ r := sqrt(sqr(FTx) + sqr(FTy))*vars[33];
+ SinCos(r*random, sinr, cosr);
+ FPx := FPx + vars[33] * FTx * (cosr + sinr);
+ FPy := FPy + vars[33] * FTx * (cosr - sinr);
+ end;
+ */
+
+ /*
+ * !!! Note !!!
+ * This code uses the variation weight in a non-standard fashion, and
+ * it may change or even be removed in future versions of flam3.
+ */
+
+ double r = flam3_random_isaac_01(f->rc) * weight * f->precalc_sqrt;
+ double sinr,cosr;
+
+ sincos(r,&sinr,&cosr);
+
+ f->p0 += weight * f->tx * (cosr + sinr);
+ f->p1 += weight * f->tx * (cosr - sinr);
+
+}
+
+void var46_secant2(flam3_iter_helper *f, double weight)
+{
+ /* Intended as a 'fixed' version of secant */
+
+ /*
+ * !!! Note !!!
+ * This code uses the variation weight in a non-standard fashion, and
+ * it may change or even be removed in future versions of flam3.
+ */
+
+ double r = weight * f->precalc_sqrt;
+ double cr = cos(r);
+ double icr = 1.0/cr;
+
+ f->p0 += weight * f->tx;
+
+ if (cr<0)
+ f->p1 += weight*(icr + 1);
+ else
+ f->p1 += weight*(icr - 1);
+}
+
+void var47_twintrian(flam3_iter_helper *f, double weight)
+{
+ /* Z+ variation Jan 07
+ procedure TXForm.TwinTrian;
+ var
+ r, diff, sinr, cosr: double;
+ begin
+ r := sqrt(sqr(FTx) + sqr(FTy))*vars[35];
+ SinCos(r*random, sinr, cosr);
+ diff := Math.Log10(sinr*sinr)+cosr;
+ FPx := FPx + vars[35] * FTx * diff;
+ FPy := FPy + vars[35] * FTx * (diff - (sinr*pi));
+ end;
+ */
+
+ /*
+ * !!! Note !!!
+ * This code uses the variation weight in a non-standard fashion, and
+ * it may change or even be removed in future versions of flam3.
+ */
+
+ double r = flam3_random_isaac_01(f->rc) * weight * f->precalc_sqrt;
+ double sinr,cosr,diff;
+
+ sincos(r,&sinr,&cosr);
+ diff = log10(sinr*sinr)+cosr;
+
+ if (badvalue(diff))
+ diff = -30.0;
+
+ f->p0 += weight * f->tx * diff;
+ f->p1 += weight * f->tx * (diff - sinr*M_PI);
+
+}
+
+void var48_cross(flam3_iter_helper *f, double weight)
+{
+ /* Z+ variation Jan 07
+ procedure TXForm.Cross;
+ var
+ r: double;
+ begin
+ r := vars[36]*sqrt(1/(sqr(sqr(FTx)-sqr(FTy))+EPS));
+ FPx := FPx + FTx * r;
+ FPy := FPy + FTy * r;
+ end;
+ */
+
+ double s = f->tx*f->tx - f->ty*f->ty;
+ double r = weight * sqrt(1.0 / (s*s+EPS));
+
+ f->p0 += f->tx * r;
+ f->p1 += f->ty * r;
+
+}
+
+void var49_disc2(flam3_iter_helper *f, double weight)
+{
+ /* Z+ variation Jan 07
+ c := vvar/PI;
+ k := rot*PI;
+ sinadd := Sin(add);
+ cosadd := Cos(add);
+ cosadd := cosadd - 1;
+ if (add > 2*PI) then begin
+ cosadd := cosadd * (1 + add - 2*PI);
+ sinadd := sinadd * (1 + add - 2*PI)
+ end
+ else if (add < -2*PI) then begin
+ cosadd := cosadd * (1 + add + 2*PI);
+ sinadd := sinadd * (1 + add + 2*PI)
+ end
+ end;
+ procedure TVariationDisc2.CalcFunction;
+ var
+ r, sinr, cosr: extended;
+ begin
+ SinCos(k * (FTx^+FTy^), sinr, cosr); //rot*PI
+ r := c * arctan2(FTx^, FTy^); //vvar/PI
+ FPx^ := FPx^ + (sinr + cosadd) * r;
+ FPy^ := FPy^ + (cosr + sinadd) * r;
+ */
+
+ double r,t,sinr, cosr;
+
+ t = f->xform->disc2_timespi * (f->tx + f->ty);
+ sincos(t,&sinr,&cosr);
+ r = weight * f->precalc_atan / M_PI;
+
+ f->p0 += (sinr + f->xform->disc2_cosadd) * r;
+ f->p1 += (cosr + f->xform->disc2_sinadd) * r;
+
+}
+
+void var50_supershape(flam3_iter_helper *f, double weight) {
+
+ double theta;
+ double t1,t2,r;
+ double st,ct;
+ double myrnd;
+
+ theta = f->xform->super_shape_pm_4 * f->precalc_atanyx + M_PI_4;
+
+ sincos(theta,&st,&ct);
+
+ t1 = fabs(ct);
+ t1 = pow(t1,f->xform->super_shape_n2);
+
+ t2 = fabs(st);
+ t2 = pow(t2,f->xform->super_shape_n3);
+
+ myrnd = f->xform->super_shape_rnd;
+
+ r = weight * ( (myrnd*flam3_random_isaac_01(f->rc) + (1.0-myrnd)*f->precalc_sqrt) - f->xform->super_shape_holes)
+ * pow(t1+t2,f->xform->super_shape_pneg1_n1) / f->precalc_sqrt;
+
+ f->p0 += r * f->tx;
+ f->p1 += r * f->ty;
+}
+
+void var51_flower(flam3_iter_helper *f, double weight) {
+ /* cyberxaos, 4/2007 */
+ /* theta := arctan2(FTy^, FTx^);
+ r := (random-holes)*cos(petals*theta);
+ FPx^ := FPx^ + vvar*r*cos(theta);
+ FPy^ := FPy^ + vvar*r*sin(theta);*/
+
+ double theta = f->precalc_atanyx;
+ double r = weight * (flam3_random_isaac_01(f->rc) - f->xform->flower_holes) *
+ cos(f->xform->flower_petals*theta) / f->precalc_sqrt;
+
+ f->p0 += r * f->tx;
+ f->p1 += r * f->ty;
+}
+
+void var52_conic(flam3_iter_helper *f, double weight) {
+ /* cyberxaos, 4/2007 */
+ /* theta := arctan2(FTy^, FTx^);
+ r := (random - holes)*((eccentricity)/(1+eccentricity*cos(theta)));
+ FPx^ := FPx^ + vvar*r*cos(theta);
+ FPy^ := FPy^ + vvar*r*sin(theta); */
+
+ double ct = f->tx / f->precalc_sqrt;
+ double r = weight * (flam3_random_isaac_01(f->rc) - f->xform->conic_holes) *
+ f->xform->conic_eccentricity / (1 + f->xform->conic_eccentricity*ct) / f->precalc_sqrt;
+
+ f->p0 += r * f->tx;
+ f->p1 += r * f->ty;
+}
+
+void var53_parabola(flam3_iter_helper *f, double weight) {
+ /* cyberxaos, 4/2007 */
+ /* r := sqrt(sqr(FTx^) + sqr(FTy^));
+ FPx^ := FPx^ + parabola_height*vvar*sin(r)*sin(r)*random;
+ FPy^ := FPy^ + parabola_width*vvar*cos(r)*random; */
+
+ double r = f->precalc_sqrt;
+ double sr,cr;
+
+ sincos(r,&sr,&cr);
+
+ f->p0 += f->xform->parabola_height * weight * sr*sr * flam3_random_isaac_01(f->rc);
+ f->p1 += f->xform->parabola_width * weight * cr * flam3_random_isaac_01(f->rc);
+
+}
+
+void var54_bent2 (flam3_iter_helper *f, double weight) {
+
+ /* Bent2 in the Apophysis Plugin Pack */
+
+ double nx = f->tx;
+ double ny = f->ty;
+
+ if (nx < 0.0)
+ nx = nx * f->xform->bent2_x;
+ if (ny < 0.0)
+ ny = ny * f->xform->bent2_y;
+
+ f->p0 += weight * nx;
+ f->p1 += weight * ny;
+}
+
+void var55_bipolar (flam3_iter_helper *f, double weight) {
+
+ /* Bipolar in the Apophysis Plugin Pack */
+
+ double x2y2 = f->precalc_sumsq;
+ double t = x2y2+1;
+ double x2 = 2*f->tx;
+ double ps = -M_PI_2 * f->xform->bipolar_shift;
+ double y = 0.5 * atan2(2.0 * f->ty, x2y2 - 1.0) + ps;
+
+ if (y > M_PI_2)
+ y = -M_PI_2 + fmod(y + M_PI_2, M_PI);
+ else if (y < -M_PI_2)
+ y = M_PI_2 - fmod(M_PI_2 - y, M_PI);
+
+ f->p0 += weight * 0.25 * M_2_PI * log ( (t+x2) / (t-x2) );
+ f->p1 += weight * M_2_PI * y;
+}
+
+void var56_boarders (flam3_iter_helper *f, double weight) {
+
+ /* Boarders in the Apophysis Plugin Pack */
+
+ double roundX, roundY, offsetX, offsetY;
+
+ roundX = rint(f->tx);
+ roundY = rint(f->ty);
+ offsetX = f->tx - roundX;
+ offsetY = f->ty - roundY;
+
+ if (flam3_random_isaac_01(f->rc) >= 0.75) {
+ f->p0 += weight*(offsetX*0.5 + roundX);
+ f->p1 += weight*(offsetY*0.5 + roundY);
+ } else {
+
+ if (fabs(offsetX) >= fabs(offsetY)) {
+
+ if (offsetX >= 0.0) {
+ f->p0 += weight*(offsetX*0.5 + roundX + 0.25);
+ f->p1 += weight*(offsetY*0.5 + roundY + 0.25 * offsetY / offsetX);
+ } else {
+ f->p0 += weight*(offsetX*0.5 + roundX - 0.25);
+ f->p1 += weight*(offsetY*0.5 + roundY - 0.25 * offsetY / offsetX);
+ }
+
+ } else {
+
+ if (offsetY >= 0.0) {
+ f->p1 += weight*(offsetY*0.5 + roundY + 0.25);
+ f->p0 += weight*(offsetX*0.5 + roundX + offsetX/offsetY*0.25);
+ } else {
+ f->p1 += weight*(offsetY*0.5 + roundY - 0.25);
+ f->p0 += weight*(offsetX*0.5 + roundX - offsetX/offsetY*0.25);
+ }
+ }
+ }
+}
+
+void var57_butterfly (flam3_iter_helper *f, double weight) {
+
+ /* Butterfly in the Apophysis Plugin Pack */
+
+ /* wx is weight*4/sqrt(3*pi) */
+ double wx = weight*1.3029400317411197908970256609023;
+
+ double y2 = f->ty*2.0;
+ double r = wx*sqrt(fabs(f->ty * f->tx)/(EPS + f->tx*f->tx + y2*y2));
+
+ f->p0 += r * f->tx;
+ f->p1 += r * y2;
+
+}
+
+void var58_cell (flam3_iter_helper *f, double weight) {
+
+ /* Cell in the Apophysis Plugin Pack */
+
+ double inv_cell_size = 1.0/f->xform->cell_size;
+
+ /* calculate input cell */
+ int x = floor(f->tx*inv_cell_size);
+ int y = floor(f->ty*inv_cell_size);
+
+ /* Offset from cell origin */
+ double dx = f->tx - x*f->xform->cell_size;
+ double dy = f->ty - y*f->xform->cell_size;
+
+ /* interleave cells */
+ if (y >= 0) {
+ if (x >= 0) {
+ y *= 2;
+ x *= 2;
+ } else {
+ y *= 2;
+ x = -(2*x+1);
+ }
+ } else {
+ if (x >= 0) {
+ y = -(2*y+1);
+ x *= 2;
+ } else {
+ y = -(2*y+1);
+ x = -(2*x+1);
+ }
+ }
+
+ f->p0 += weight * (dx + x*f->xform->cell_size);
+ f->p1 -= weight * (dy + y*f->xform->cell_size);
+
+}
+
+void var59_cpow (flam3_iter_helper *f, double weight) {
+
+ /* Cpow in the Apophysis Plugin Pack */
+
+ double a = f->precalc_atanyx;
+ double lnr = 0.5 * log(f->precalc_sumsq);
+ double va = 2.0 * M_PI / f->xform->cpow_power;
+ double vc = f->xform->cpow_r / f->xform->cpow_power;
+ double vd = f->xform->cpow_i / f->xform->cpow_power;
+ double ang = vc*a + vd*lnr + va*floor(f->xform->cpow_power*flam3_random_isaac_01(f->rc));
+ double sa,ca;
+
+ double m = weight * exp(vc * lnr - vd * a);
+
+ sincos(ang,&sa,&ca);
+
+ f->p0 += m * ca;
+ f->p1 += m * sa;
+
+}
+
+void var60_curve (flam3_iter_helper *f, double weight) {
+
+ /* Curve in the Apophysis Plugin Pack */
+
+ double pc_xlen = f->xform->curve_xlength*f->xform->curve_xlength;
+ double pc_ylen = f->xform->curve_ylength*f->xform->curve_ylength;
+
+ if (pc_xlen<1E-20) pc_xlen = 1E-20;
+
+ if (pc_ylen<1E-20) pc_ylen = 1E-20;
+
+ f->p0 += weight * (f->tx + f->xform->curve_xamp * exp(-f->ty*f->ty/pc_xlen));
+ f->p1 += weight * (f->ty + f->xform->curve_yamp * exp(-f->tx*f->tx/pc_ylen));
+
+}
+
+void var61_edisc (flam3_iter_helper *f, double weight) {
+
+ /* Edisc in the Apophysis Plugin Pack */
+
+ double tmp = f->precalc_sumsq + 1.0;
+ double tmp2 = 2.0 * f->tx;
+ double r1 = sqrt(tmp+tmp2);
+ double r2 = sqrt(tmp-tmp2);
+ double xmax = (r1+r2) * 0.5;
+ double a1 = log(xmax + sqrt(xmax - 1.0));
+ double a2 = -acos(f->tx/xmax);
+ double w = weight / 11.57034632;
+ double snv,csv,snhu,cshu;
+
+ sincos(a1,&snv,&csv);
+
+ snhu = sinh(a2);
+ cshu = cosh(a2);
+
+ if (f->ty > 0.0) snv = -snv;
+
+ f->p0 += w * cshu * csv;
+ f->p1 += w * snhu * snv;
+
+}
+
+void var62_elliptic (flam3_iter_helper *f, double weight) {
+
+ /* Elliptic in the Apophysis Plugin Pack */
+
+ double tmp = f->precalc_sumsq + 1.0;
+ double x2 = 2.0 * f->tx;
+ double xmax = 0.5 * (sqrt(tmp+x2) + sqrt(tmp-x2));
+ double a = f->tx / xmax;
+ double b = 1.0 - a*a;
+ double ssx = xmax - 1.0;
+ double w = weight / M_PI_2;
+
+ if (b<0)
+ b = 0;
+ else
+ b = sqrt(b);
+
+ if (ssx<0)
+ ssx = 0;
+ else
+ ssx = sqrt(ssx);
+
+ f->p0 += w * atan2(a,b);
+
+ if (f->ty > 0)
+ f->p1 += w * log(xmax + ssx);
+ else
+ f->p1 -= w * log(xmax + ssx);
+
+}
+
+void var63_escher (flam3_iter_helper *f, double weight) {
+
+ /* Escher in the Apophysis Plugin Pack */
+
+ double seb,ceb;
+ double vc,vd;
+ double m,n;
+ double sn,cn;
+
+ double a = f->precalc_atanyx;
+ double lnr = 0.5 * log(f->precalc_sumsq);
+
+ sincos(f->xform->escher_beta,&seb,&ceb);
+
+ vc = 0.5 * (1.0 + ceb);
+ vd = 0.5 * seb;
+
+ m = weight * exp(vc*lnr - vd*a);
+ n = vc*a + vd*lnr;
+
+ sincos(n,&sn,&cn);
+
+ f->p0 += m * cn;
+ f->p1 += m * sn;
+
+}
+
+void var64_foci (flam3_iter_helper *f, double weight) {
+
+ /* Foci in the Apophysis Plugin Pack */
+
+ double expx = exp(f->tx) * 0.5;
+ double expnx = 0.25 / expx;
+ double sn,cn,tmp;
+
+ sincos(f->ty,&sn,&cn);
+ tmp = weight/(expx + expnx - cn);
+
+ f->p0 += tmp * (expx - expnx);
+ f->p1 += tmp * sn;
+
+}
+
+void var65_lazysusan (flam3_iter_helper *f, double weight) {
+
+ /* Lazysusan in the Apophysis Plugin Pack */
+
+ double x = f->tx - f->xform->lazysusan_x;
+ double y = f->ty + f->xform->lazysusan_y;
+ double r = sqrt(x*x + y*y);
+ double sina, cosa;
+
+ if (r<weight) {
+ double a = atan2(y,x) + f->xform->lazysusan_spin +
+ f->xform->lazysusan_twist*(weight-r);
+ sincos(a,&sina,&cosa);
+ r = weight * r;
+
+ f->p0 += r*cosa + f->xform->lazysusan_x;
+ f->p1 += r*sina - f->xform->lazysusan_y;
+ } else {
+
+ r = weight * (1.0 + f->xform->lazysusan_space / r);
+
+ f->p0 += r*x + f->xform->lazysusan_x;
+ f->p1 += r*y - f->xform->lazysusan_y;
+
+ }
+
+}
+
+void var66_loonie (flam3_iter_helper *f, double weight) {
+
+ /* Loonie in the Apophysis Plugin Pack */
+
+ /*
+ * !!! Note !!!
+ * This code uses the variation weight in a non-standard fashion, and
+ * it may change or even be removed in future versions of flam3.
+ */
+
+ double r2 = f->precalc_sumsq;
+ double w2 = weight*weight;
+
+ if (r2 < w2) {
+ double r = weight * sqrt(w2/r2 - 1.0);
+ f->p0 += r * f->tx;
+ f->p1 += r * f->ty;
+ } else {
+ f->p0 += weight * f->tx;
+ f->p1 += weight * f->ty;
+ }
+
+}
+
+void var67_pre_blur (flam3_iter_helper *f, double weight) {
+
+ /* pre-xform: PreBlur (Apo 2.08) */
+
+ /* Get pseudo-gaussian */
+ double rndG = weight * (flam3_random_isaac_01(f->rc) + flam3_random_isaac_01(f->rc)
+ + flam3_random_isaac_01(f->rc) + flam3_random_isaac_01(f->rc) - 2.0);
+ double rndA = flam3_random_isaac_01(f->rc) * 2.0 * M_PI;
+ double sinA,cosA;
+
+ sincos(rndA,&sinA,&cosA);
+
+ /* Note: original coordinate changed */
+ f->tx += rndG * cosA;
+ f->ty += rndG * sinA;
+
+}
+
+void var68_modulus (flam3_iter_helper *f, double weight) {
+
+ /* Modulus in the Apophysis Plugin Pack */
+
+ double xr = 2*f->xform->modulus_x;
+ double yr = 2*f->xform->modulus_y;
+
+ if (f->tx > f->xform->modulus_x)
+ f->p0 += weight * (-f->xform->modulus_x + fmod(f->tx + f->xform->modulus_x, xr));
+ else if (f->tx < -f->xform->modulus_x)
+ f->p0 += weight * ( f->xform->modulus_x - fmod(f->xform->modulus_x - f->tx, xr));
+ else
+ f->p0 += weight * f->tx;
+
+ if (f->ty > f->xform->modulus_y)
+ f->p1 += weight * (-f->xform->modulus_y + fmod(f->ty + f->xform->modulus_y, yr));
+ else if (f->ty < -f->xform->modulus_y)
+ f->p1 += weight * ( f->xform->modulus_y - fmod(f->xform->modulus_y - f->ty, yr));
+ else
+ f->p1 += weight * f->ty;
+
+}
+
+void var69_oscope (flam3_iter_helper *f, double weight) {
+
+ /* oscilloscope from the apophysis plugin pack */
+
+ double tpf = 2 * M_PI * f->xform->oscope_frequency;
+ double t;
+
+ if (f->xform->oscope_damping == 0.0)
+ t = f->xform->oscope_amplitude * cos(tpf*f->tx) + f->xform->oscope_separation;
+ else {
+ t = f->xform->oscope_amplitude * exp(-fabs(f->tx)*f->xform->oscope_damping)
+ * cos(tpf*f->tx) + f->xform->oscope_separation;
+ }
+
+ if (fabs(f->ty) <= t) {
+ f->p0 += weight*f->tx;
+ f->p1 -= weight*f->ty;
+ } else {
+ f->p0 += weight*f->tx;
+ f->p1 += weight*f->ty;
+ }
+}
+
+void var70_polar2 (flam3_iter_helper *f, double weight) {
+
+ /* polar2 from the apophysis plugin pack */
+
+ double p2v = weight / M_PI;
+
+ f->p0 += p2v * f->precalc_atan;
+ f->p1 += p2v/2.0 * log(f->precalc_sumsq);
+}
+
+void var71_popcorn2 (flam3_iter_helper *f, double weight) {
+
+ /* popcorn2 from the apophysis plugin pack */
+
+ f->p0 += weight * ( f->tx + f->xform->popcorn2_x * sin(tan(f->ty*f->xform->popcorn2_c)));
+ f->p1 += weight * ( f->ty + f->xform->popcorn2_y * sin(tan(f->tx*f->xform->popcorn2_c)));
+
+}
+
+void var72_scry (flam3_iter_helper *f, double weight) {
+
+ /* scry from the apophysis plugin pack */
+ /* note that scry does not multiply by weight, but as the */
+ /* values still approach 0 as the weight approaches 0, it */
+ /* should be ok */
+
+ /*
+ * !!! Note !!!
+ * This code uses the variation weight in a non-standard fashion, and
+ * it may change or even be removed in future versions of flam3.
+ */
+
+ double t = f->precalc_sumsq;
+ double r = 1.0 / (f->precalc_sqrt * (t + 1.0/(weight+EPS)));
+
+ f->p0 += f->tx * r;
+ f->p1 += f->ty * r;
+
+}
+
+void var73_separation (flam3_iter_helper *f, double weight) {
+
+ /* separation from the apophysis plugin pack */
+
+ double sx2 = f->xform->separation_x * f->xform->separation_x;
+ double sy2 = f->xform->separation_y * f->xform->separation_y;
+
+ if (f->tx > 0.0)
+ f->p0 += weight * (sqrt(f->tx*f->tx + sx2)- f->tx*f->xform->separation_xinside);
+ else
+ f->p0 -= weight * (sqrt(f->tx*f->tx + sx2)+ f->tx*f->xform->separation_xinside);
+
+ if (f->ty > 0.0)
+ f->p1 += weight * (sqrt(f->ty*f->ty + sy2)- f->ty*f->xform->separation_yinside);
+ else
+ f->p1 -= weight * (sqrt(f->ty*f->ty + sy2)+ f->ty*f->xform->separation_yinside);
+
+}
+
+void var74_split (flam3_iter_helper *f, double weight) {
+
+ /* Split from apo plugins pack */
+
+ if (cos(f->tx*f->xform->split_xsize*M_PI) >= 0)
+ f->p1 += weight*f->ty;
+ else
+ f->p1 -= weight*f->ty;
+
+ if (cos(f->ty*f->xform->split_ysize*M_PI) >= 0)
+ f->p0 += weight * f->tx;
+ else
+ f->p0 -= weight * f->tx;
+
+}
+
+void var75_splits (flam3_iter_helper *f, double weight) {
+
+ /* Splits from apo plugins pack */
+
+ if (f->tx >= 0)
+ f->p0 += weight*(f->tx+f->xform->splits_x);
+ else
+ f->p0 += weight*(f->tx-f->xform->splits_x);
+
+ if (f->ty >= 0)
+ f->p1 += weight*(f->ty+f->xform->splits_y);
+ else
+ f->p1 += weight*(f->ty-f->xform->splits_y);
+
+}
+
+void var76_stripes (flam3_iter_helper *f, double weight) {
+
+ /* Stripes from apo plugins pack */
+
+ double roundx,offsetx;
+
+ roundx = floor(f->tx + 0.5);
+ offsetx = f->tx - roundx;
+
+ f->p0 += weight * (offsetx*(1.0-f->xform->stripes_space)+roundx);
+ f->p1 += weight * (f->ty + offsetx*offsetx*f->xform->stripes_warp);
+
+}
+
+void var77_wedge (flam3_iter_helper *f, double weight) {
+
+ /* Wedge from apo plugins pack */
+
+ double r = f->precalc_sqrt;
+ double a = f->precalc_atanyx + f->xform->wedge_swirl * r;
+ double c = floor( (f->xform->wedge_count * a + M_PI)*M_1_PI*0.5);
+
+ double comp_fac = 1 - f->xform->wedge_angle*f->xform->wedge_count*M_1_PI*0.5;
+ double sa, ca;
+
+ a = a * comp_fac + c * f->xform->wedge_angle;
+
+ sincos(a,&sa,&ca);
+
+ r = weight * (r + f->xform->wedge_hole);
+
+ f->p0 += r*ca;
+ f->p1 += r*sa;
+
+}
+
+void var78_wedge_julia (flam3_iter_helper *f, double weight) {
+
+ /* wedge_julia from apo plugin pack */
+
+ double r = weight * pow(f->precalc_sumsq, f->xform->wedgeJulia_cn);
+ int t_rnd = (int)((f->xform->wedgeJulia_rN)*flam3_random_isaac_01(f->rc));
+ double a = (f->precalc_atanyx + 2 * M_PI * t_rnd) / f->xform->wedge_julia_power;
+ double c = floor( (f->xform->wedge_julia_count * a + M_PI)*M_1_PI*0.5 );
+ double sa,ca;
+
+ a = a * f->xform->wedgeJulia_cf + c * f->xform->wedge_julia_angle;
+
+ sincos(a,&sa,&ca);
+
+ f->p0 += r * ca;
+ f->p1 += r * sa;
+}
+
+void var79_wedge_sph (flam3_iter_helper *f, double weight) {
+
+ /* Wedge_sph from apo plugins pack */
+
+ double r = 1.0/(f->precalc_sqrt+EPS);
+ double a = f->precalc_atanyx + f->xform->wedge_sph_swirl * r;
+ double c = floor( (f->xform->wedge_sph_count * a + M_PI)*M_1_PI*0.5);
+
+ double comp_fac = 1 - f->xform->wedge_sph_angle*f->xform->wedge_sph_count*M_1_PI*0.5;
+ double sa, ca;
+
+ a = a * comp_fac + c * f->xform->wedge_sph_angle;
+
+ sincos(a,&sa,&ca);
+ r = weight * (r + f->xform->wedge_sph_hole);
+
+ f->p0 += r*ca;
+ f->p1 += r*sa;
+
+}
+
+void var80_whorl (flam3_iter_helper *f, double weight) {
+
+ /* whorl from apo plugins pack */
+
+ /*
+ * !!! Note !!!
+ * This code uses the variation weight in a non-standard fashion, and
+ * it may change or even be removed in future versions of flam3.
+ */
+
+ double r = f->precalc_sqrt;
+ double a,sa,ca;
+
+ if (r<weight)
+ a = f->precalc_atanyx + f->xform->whorl_inside/(weight-r);
+ else
+ a = f->precalc_atanyx + f->xform->whorl_outside/(weight-r);
+
+ sincos(a,&sa,&ca);
+
+ f->p0 += weight*r*ca;
+ f->p1 += weight*r*sa;
+
+}
+
+void var81_waves2 (flam3_iter_helper *f, double weight) {
+
+ /* waves2 from Joel F */
+
+ f->p0 += weight*(f->tx + f->xform->waves2_scalex*sin(f->ty * f->xform->waves2_freqx));
+ f->p1 += weight*(f->ty + f->xform->waves2_scaley*sin(f->tx * f->xform->waves2_freqy));
+
+}
+
+/* complex vars by cothe */
+/* exp log sin cos tan sec csc cot sinh cosh tanh sech csch coth */
+
+void var82_exp (flam3_iter_helper *f, double weight) {
+ //Exponential EXP
+ double expe = exp(f->tx);
+ double expcos,expsin;
+ sincos(f->ty,&expsin,&expcos);
+ f->p0 += weight * expe * expcos;
+ f->p1 += weight * expe * expsin;
+}
+
+void var83_log (flam3_iter_helper *f, double weight) {
+ //Natural Logarithm LOG
+ // needs precalc_atanyx and precalc_sumsq
+ f->p0 += weight * 0.5 * log(f->precalc_sumsq);
+ f->p1 += weight * f->precalc_atanyx;
+}
+
+void var84_sin (flam3_iter_helper *f, double weight) {
+ //Sine SIN
+ double sinsin,sinacos,sinsinh,sincosh;
+ sincos(f->tx,&sinsin,&sinacos);
+ sinsinh = sinh(f->ty);
+ sincosh = cosh(f->ty);
+ f->p0 += weight * sinsin * sincosh;
+ f->p1 += weight * sinacos * sinsinh;
+}
+
+void var85_cos (flam3_iter_helper *f, double weight) {
+ //Cosine COS
+ double cossin,coscos,cossinh,coscosh;
+ sincos(f->tx,&cossin,&coscos);
+ cossinh = sinh(f->ty);
+ coscosh = cosh(f->ty);
+ f->p0 += weight * coscos * coscosh;
+ f->p1 -= weight * cossin * cossinh;
+}
+
+void var86_tan (flam3_iter_helper *f, double weight) {
+ //Tangent TAN
+ double tansin,tancos,tansinh,tancosh;
+ double tanden;
+ sincos(2*f->tx,&tansin,&tancos);
+ tansinh = sinh(2.0*f->ty);
+ tancosh = cosh(2.0*f->ty);
+ tanden = 1.0/(tancos + tancosh);
+ f->p0 += weight * tanden * tansin;
+ f->p1 += weight * tanden * tansinh;
+}
+
+void var87_sec (flam3_iter_helper *f, double weight) {
+ //Secant SEC
+ double secsin,seccos,secsinh,seccosh;
+ double secden;
+ sincos(f->tx,&secsin,&seccos);
+ secsinh = sinh(f->ty);
+ seccosh = cosh(f->ty);
+ secden = 2.0/(cos(2*f->tx) + cosh(2*f->ty));
+ f->p0 += weight * secden * seccos * seccosh;
+ f->p1 += weight * secden * secsin * secsinh;
+}
+
+void var88_csc (flam3_iter_helper *f, double weight) {
+ //Cosecant CSC
+ double cscsin,csccos,cscsinh,csccosh;
+ double cscden;
+ sincos(f->tx,&cscsin,&csccos);
+ cscsinh = sinh(f->ty);
+ csccosh = cosh(f->ty);
+ cscden = 2.0/(cosh(2.0*f->ty) - cos(2.0*f->tx));
+ f->p0 += weight * cscden * cscsin * csccosh;
+ f->p1 -= weight * cscden * csccos * cscsinh;
+}
+
+void var89_cot (flam3_iter_helper *f, double weight) {
+ //Cotangent COT
+ double cotsin,cotcos,cotsinh,cotcosh;
+ double cotden;
+ sincos(2.0*f->tx,&cotsin,&cotcos);
+ cotsinh = sinh(2.0*f->ty);
+ cotcosh = cosh(2.0*f->ty);
+ cotden = 1.0/(cotcosh - cotcos);
+ f->p0 += weight * cotden * cotsin;
+ f->p1 += weight * cotden * -1 * cotsinh;
+}
+
+void var90_sinh (flam3_iter_helper *f, double weight) {
+ //Hyperbolic Sine SINH
+ double sinhsin,sinhcos,sinhsinh,sinhcosh;
+ sincos(f->ty,&sinhsin,&sinhcos);
+ sinhsinh = sinh(f->tx);
+ sinhcosh = cosh(f->tx);
+ f->p0 += weight * sinhsinh * sinhcos;
+ f->p1 += weight * sinhcosh * sinhsin;
+}
+
+void var91_cosh (flam3_iter_helper *f, double weight) {
+ //Hyperbolic Cosine COSH
+ double coshsin,coshcos,coshsinh,coshcosh;
+ sincos(f->ty,&coshsin,&coshcos);
+ coshsinh = sinh(f->tx);
+ coshcosh = cosh(f->tx);
+ f->p0 += weight * coshcosh * coshcos;
+ f->p1 += weight * coshsinh * coshsin;
+}
+
+void var92_tanh (flam3_iter_helper *f, double weight) {
+ //Hyperbolic Tangent TANH
+ double tanhsin,tanhcos,tanhsinh,tanhcosh;
+ double tanhden;
+ sincos(2.0*f->ty,&tanhsin,&tanhcos);
+ tanhsinh = sinh(2.0*f->tx);
+ tanhcosh = cosh(2.0*f->tx);
+ tanhden = 1.0/(tanhcos + tanhcosh);
+ f->p0 += weight * tanhden * tanhsinh;
+ f->p1 += weight * tanhden * tanhsin;
+}
+
+void var93_sech (flam3_iter_helper *f, double weight) {
+ //Hyperbolic Secant SECH
+ double sechsin,sechcos,sechsinh,sechcosh;
+ double sechden;
+ sincos(f->ty,&sechsin,&sechcos);
+ sechsinh = sinh(f->tx);
+ sechcosh = cosh(f->tx);
+ sechden = 2.0/(cos(2.0*f->ty) + cosh(2.0*f->tx));
+ f->p0 += weight * sechden * sechcos * sechcosh;
+ f->p1 -= weight * sechden * sechsin * sechsinh;
+}
+
+void var94_csch (flam3_iter_helper *f, double weight) {
+ //Hyperbolic Cosecant CSCH
+ double cschsin,cschcos,cschsinh,cschcosh;
+ double cschden;
+ sincos(f->ty,&cschsin,&cschcos);
+ cschsinh = sinh(f->tx);
+ cschcosh = cosh(f->tx);
+ cschden = 2.0/(cosh(2.0*f->tx) - cos(2.0*f->ty));
+ f->p0 += weight * cschden * cschsinh * cschcos;
+ f->p1 -= weight * cschden * cschcosh * cschsin;
+}
+
+void var95_coth (flam3_iter_helper *f, double weight) {
+ //Hyperbolic Cotangent COTH
+ double cothsin,cothcos,cothsinh,cothcosh;
+ double cothden;
+ sincos(2.0*f->ty,&cothsin,&cothcos);
+ cothsinh = sinh(2.0*f->tx);
+ cothcosh = cosh(2.0*f->tx);
+ cothden = 1.0/(cothcosh - cothcos);
+ f->p0 += weight * cothden * cothsinh;
+ f->p1 += weight * cothden * cothsin;
+}
+
+void var96_auger (flam3_iter_helper *f, double weight) {
+
+ // Auger, by Xyrus01
+ double s = sin(f->xform->auger_freq * f->tx);
+ double t = sin(f->xform->auger_freq * f->ty);
+ double dy = f->ty + f->xform->auger_weight*(f->xform->auger_scale*s/2.0 + fabs(f->ty)*s);
+ double dx = f->tx + f->xform->auger_weight*(f->xform->auger_scale*t/2.0 + fabs(f->tx)*t);
+
+ f->p0 += weight * (f->tx + f->xform->auger_sym*(dx-f->tx));
+ f->p1 += weight * dy;
+}
+
+/* Precalc functions */
+
+void perspective_precalc(flam3_xform *xf) {
+ double ang = xf->perspective_angle * M_PI / 2.0;
+ xf->persp_vsin = sin(ang);
+ xf->persp_vfcos = xf->perspective_dist * cos(ang);
+}
+
+void juliaN_precalc(flam3_xform *xf) {
+ xf->julian_rN = fabs(xf->julian_power);
+ xf->julian_cn = xf->julian_dist / (double)xf->julian_power / 2.0;
+}
+
+void wedgeJulia_precalc(flam3_xform *xf) {
+ xf->wedgeJulia_cf = 1.0 - xf->wedge_julia_angle * xf->wedge_julia_count * M_1_PI * 0.5;
+ xf->wedgeJulia_rN = fabs(xf->wedge_julia_power);
+ xf->wedgeJulia_cn = xf->wedge_julia_dist / xf->wedge_julia_power / 2.0;
+}
+
+void juliaScope_precalc(flam3_xform *xf) {
+ xf->juliascope_rN = fabs(xf->juliascope_power);
+ xf->juliascope_cn = xf->juliascope_dist / (double)xf->juliascope_power / 2.0;
+}
+
+void radial_blur_precalc(flam3_xform *xf) {
+ sincos(xf->radial_blur_angle * M_PI / 2.0,
+ &xf->radialBlur_spinvar, &xf->radialBlur_zoomvar);
+}
+
+void waves_precalc(flam3_xform *xf) {
+ double dx = xf->c[2][0];
+ double dy = xf->c[2][1];
+
+ xf->waves_dx2 = 1.0/(dx * dx + EPS);
+ xf->waves_dy2 = 1.0/(dy * dy + EPS);
+}
+
+void disc2_precalc(flam3_xform *xf) {
+ double add = xf->disc2_twist;
+ double k;
+
+ xf->disc2_timespi = xf->disc2_rot * M_PI;
+
+ sincos(add,&xf->disc2_sinadd,&xf->disc2_cosadd);
+ xf->disc2_cosadd -= 1;
+
+ if (add > 2 * M_PI) {
+ k = (1 + add - 2*M_PI);
+ xf->disc2_cosadd *= k;
+ xf->disc2_sinadd *= k;
+ }
+
+ if (add < -2 * M_PI) {
+ k = (1 + add + 2*M_PI);
+ xf->disc2_cosadd *= k;
+ xf->disc2_sinadd *= k;
+ }
+}
+
+void supershape_precalc(flam3_xform *xf) {
+ xf->super_shape_pm_4 = xf->super_shape_m / 4.0;
+ xf->super_shape_pneg1_n1 = -1.0 / xf->super_shape_n1;
+}
+
+void xform_precalc(flam3_genome *cp, int xi) {
+
+ perspective_precalc(&(cp->xform[xi]));
+ juliaN_precalc(&(cp->xform[xi]));
+ juliaScope_precalc(&(cp->xform[xi]));
+ radial_blur_precalc(&(cp->xform[xi]));
+ waves_precalc(&(cp->xform[xi]));
+ disc2_precalc(&(cp->xform[xi]));
+ supershape_precalc(&(cp->xform[xi]));
+ wedgeJulia_precalc(&(cp->xform[xi]));
+}
+
+int prepare_xform_fn_ptrs(flam3_genome *cp, randctx *rc) {
+
+ double d;
+ int i,j,totnum;
+
+ /* Loop over valid xforms */
+ for (i = 0; i < cp->num_xforms; i++) {
+ d = cp->xform[i].density;
+ if (d < 0.0) {
+ fprintf(stderr, "xform %d weight must be non-negative, not %g.\n",i,d);
+ return(1);
+ }
+
+ if (i != cp->final_xform_index && d == 0.0)
+ continue;
+
+ totnum = 0;
+
+ cp->xform[i].vis_adjusted = adjust_percentage(cp->xform[i].opacity);
+
+ cp->xform[i].precalc_angles_flag=0;
+ cp->xform[i].precalc_atan_xy_flag=0;
+ cp->xform[i].precalc_atan_yx_flag=0;
+ cp->xform[i].has_preblur=0;
+ cp->xform[i].has_post = !(id_matrix(cp->xform[i].post));
+
+
+ for (j = 0; j < flam3_nvariations; j++) {
+
+ if (cp->xform[i].var[j]!=0) {
+
+ cp->xform[i].varFunc[totnum] = j;
+ cp->xform[i].active_var_weights[totnum] = cp->xform[i].var[j];
+
+ if (j==VAR_POLAR) {
+ cp->xform[i].precalc_atan_xy_flag=1;
+ } else if (j==VAR_HANDKERCHIEF) {
+ cp->xform[i].precalc_atan_xy_flag=1;
+ } else if (j==VAR_HEART) {
+ cp->xform[i].precalc_atan_xy_flag=1;
+ } else if (j==VAR_DISC) {
+ cp->xform[i].precalc_atan_xy_flag=1;
+ } else if (j==VAR_SPIRAL) {
+ cp->xform[i].precalc_angles_flag=1;
+ } else if (j==VAR_HYPERBOLIC) {
+ cp->xform[i].precalc_angles_flag=1;
+ } else if (j==VAR_DIAMOND) {
+ cp->xform[i].precalc_angles_flag=1;
+ } else if (j==VAR_EX) {
+ cp->xform[i].precalc_atan_xy_flag=1;
+ } else if (j==VAR_JULIA) {
+ cp->xform[i].precalc_atan_xy_flag=1;
+ } else if (j==VAR_POWER) {
+ cp->xform[i].precalc_angles_flag=1;
+ } else if (j==VAR_RINGS) {
+ cp->xform[i].precalc_angles_flag=1;
+ } else if (j==VAR_FAN) {
+ cp->xform[i].precalc_atan_xy_flag=1;
+ } else if (j==VAR_BLOB) {
+ cp->xform[i].precalc_atan_xy_flag=1;
+ cp->xform[i].precalc_angles_flag=1;
+ } else if (j==VAR_FAN2) {
+ cp->xform[i].precalc_atan_xy_flag=1;
+ } else if (j==VAR_RINGS2) {
+ cp->xform[i].precalc_angles_flag=1;
+ } else if (j==VAR_JULIAN) {
+ cp->xform[i].precalc_atan_yx_flag=1;
+ } else if (j==VAR_JULIASCOPE) {
+ cp->xform[i].precalc_atan_yx_flag=1;
+ } else if (j==VAR_RADIAL_BLUR) {
+ cp->xform[i].precalc_atan_yx_flag=1;
+ } else if (j==VAR_NGON) {
+ cp->xform[i].precalc_atan_yx_flag=1;
+ } else if (j==VAR_DISC2) {
+ cp->xform[i].precalc_atan_xy_flag=1;
+ } else if (j==VAR_SUPER_SHAPE) {
+ cp->xform[i].precalc_atan_yx_flag=1;
+ } else if (j==VAR_FLOWER) {
+ cp->xform[i].precalc_atan_yx_flag=1;
+ } else if (j==VAR_CONIC) {
+ cp->xform[i].precalc_atan_yx_flag=1;
+ } else if (j==VAR_CPOW) {
+ cp->xform[i].precalc_atan_yx_flag=1;
+ } else if (j==VAR_ESCHER) {
+ cp->xform[i].precalc_atan_yx_flag=1;
+ } else if (j==VAR_PRE_BLUR) {
+ cp->xform[i].has_preblur=cp->xform[i].var[j];
+ } else if (j==VAR_POLAR2) {
+ cp->xform[i].precalc_atan_xy_flag=1;
+ } else if (j==VAR_WEDGE) {
+ cp->xform[i].precalc_atan_yx_flag=1;
+ } else if (j==VAR_WEDGE_JULIA) {
+ cp->xform[i].precalc_atan_yx_flag=1;
+ } else if (j==VAR_WEDGE_SPH) {
+ cp->xform[i].precalc_atan_yx_flag=1;
+ } else if (j==VAR_WHORL) {
+ cp->xform[i].precalc_atan_yx_flag=1;
+ } else if (j==VAR_LOG) {
+ cp->xform[i].precalc_atan_yx_flag=1;
+ }
+
+ totnum++;
+ }
+ }
+
+ cp->xform[i].num_active_vars = totnum;
+
+ }
+
+ return(0);
+}
+
+
+int apply_xform(flam3_genome *cp, int fn, double *p, double *q, randctx *rc)
+{
+ flam3_iter_helper f;
+ int var_n;
+ double next_color,s,s1;
+ double weight;
+
+ f.rc = rc;
+
+// s = 1.0-2.0*cp->xform[fn].color_speed;
+// s1 = 0.5 - 0.5 * s;
+ s1 = cp->xform[fn].color_speed;
+ s = 1.0 - 2.0*s1;
+
+ next_color = (p[2] + cp->xform[fn].color) * s1 + s * p[2];
+ q[2] = next_color;
+ q[3] = cp->xform[fn].vis_adjusted;
+
+ //fprintf(stderr,"%d : %f %f %f\n",fn,cp->xform[fn].c[0][0],cp->xform[fn].c[1][0],cp->xform[fn].c[2][0]);
+
+ f.tx = cp->xform[fn].c[0][0] * p[0] + cp->xform[fn].c[1][0] * p[1] + cp->xform[fn].c[2][0];
+ f.ty = cp->xform[fn].c[0][1] * p[0] + cp->xform[fn].c[1][1] * p[1] + cp->xform[fn].c[2][1];
+
+ /* Pre-xforms go here, and modify the f.tx and f.ty values */
+ if (cp->xform[fn].has_preblur!=0.0)
+ var67_pre_blur(&f, cp->xform[fn].has_preblur);
+
+ /* Always calculate sumsq and sqrt */
+ f.precalc_sumsq = f.tx*f.tx + f.ty*f.ty;
+ f.precalc_sqrt = sqrt(f.precalc_sumsq);
+
+ /* Check to see if we can precalculate any parts */
+ /* Precalculate atanxy, sin, cos */
+ if (cp->xform[fn].precalc_atan_xy_flag > 0) {
+ f.precalc_atan = atan2(f.tx,f.ty);
+ }
+
+ if (cp->xform[fn].precalc_angles_flag > 0) {
+ f.precalc_sina = f.tx / f.precalc_sqrt;
+ f.precalc_cosa = f.ty / f.precalc_sqrt;
+ }
+
+ /* Precalc atanyx */
+ if (cp->xform[fn].precalc_atan_yx_flag > 0) {
+ f.precalc_atanyx = atan2(f.ty,f.tx);
+ }
+
+ f.p0 = 0.0;
+ f.p1 = 0.0;
+ f.xform = &(cp->xform[fn]);
+
+
+ for (var_n=0; var_n < cp->xform[fn].num_active_vars; var_n++) {
+
+ weight = cp->xform[fn].active_var_weights[var_n];
+
+ switch (cp->xform[fn].varFunc[var_n]) {
+
+ case (VAR_LINEAR):
+ var0_linear(&f, weight); break;
+ case (VAR_SINUSOIDAL):
+ var1_sinusoidal(&f, weight); break;
+ case (VAR_SPHERICAL):
+ var2_spherical(&f, weight); break;
+ case (VAR_SWIRL):
+ var3_swirl(&f, weight); break;
+ case (VAR_HORSESHOE):
+ var4_horseshoe(&f, weight); break;
+ case (VAR_POLAR):
+ var5_polar(&f, weight); break;
+ case (VAR_HANDKERCHIEF):
+ var6_handkerchief(&f, weight); break;
+ case (VAR_HEART):
+ var7_heart(&f, weight); break;
+ case (VAR_DISC):
+ var8_disc(&f, weight); break;
+ case (VAR_SPIRAL):
+ var9_spiral(&f, weight); break;
+ case (VAR_HYPERBOLIC):
+ var10_hyperbolic(&f, weight); break;
+ case (VAR_DIAMOND):
+ var11_diamond(&f, weight); break;
+ case (VAR_EX):
+ var12_ex(&f, weight); break;
+ case (VAR_JULIA):
+ var13_julia(&f, weight); break;
+ case (VAR_BENT):
+ var14_bent(&f, weight); break;
+ case (VAR_WAVES):
+ var15_waves(&f, weight); break;
+ case (VAR_FISHEYE):
+ var16_fisheye(&f, weight); break;
+ case (VAR_POPCORN):
+ var17_popcorn(&f, weight); break;
+ case (VAR_EXPONENTIAL):
+ var18_exponential(&f, weight); break;
+ case (VAR_POWER):
+ var19_power(&f, weight); break;
+ case (VAR_COSINE):
+ var20_cosine(&f, weight); break;
+ case (VAR_RINGS):
+ var21_rings(&f, weight); break;
+ case (VAR_FAN):
+ var22_fan(&f, weight); break;
+ case (VAR_BLOB):
+ var23_blob(&f, weight); break;
+ case (VAR_PDJ):
+ var24_pdj(&f, weight); break;
+ case (VAR_FAN2):
+ var25_fan2(&f, weight); break;
+ case (VAR_RINGS2):
+ var26_rings2(&f, weight); break;
+ case (VAR_EYEFISH):
+ var27_eyefish(&f, weight); break;
+ case (VAR_BUBBLE):
+ var28_bubble(&f, weight); break;
+ case (VAR_CYLINDER):
+ var29_cylinder(&f, weight); break;
+ case (VAR_PERSPECTIVE):
+ var30_perspective(&f, weight); break;
+ case (VAR_NOISE):
+ var31_noise(&f, weight); break;
+ case (VAR_JULIAN):
+ var32_juliaN_generic(&f, weight); break;
+ case (VAR_JULIASCOPE):
+ var33_juliaScope_generic(&f, weight);break;
+ case (VAR_BLUR):
+ var34_blur(&f, weight); break;
+ case (VAR_GAUSSIAN_BLUR):
+ var35_gaussian(&f, weight); break;
+ case (VAR_RADIAL_BLUR):
+ var36_radial_blur(&f, weight); break;
+ case (VAR_PIE):
+ var37_pie(&f, weight); break;
+ case (VAR_NGON):
+ var38_ngon(&f, weight); break;
+ case (VAR_CURL):
+ var39_curl(&f, weight); break;
+ case (VAR_RECTANGLES):
+ var40_rectangles(&f, weight); break;
+ case (VAR_ARCH):
+ var41_arch(&f, weight); break;
+ case (VAR_TANGENT):
+ var42_tangent(&f, weight); break;
+ case (VAR_SQUARE):
+ var43_square(&f, weight); break;
+ case (VAR_RAYS):
+ var44_rays(&f, weight); break;
+ case (VAR_BLADE):
+ var45_blade(&f, weight); break;
+ case (VAR_SECANT2):
+ var46_secant2(&f, weight); break;
+ case (VAR_TWINTRIAN):
+ var47_twintrian(&f, weight); break;
+ case (VAR_CROSS):
+ var48_cross(&f, weight); break;
+ case (VAR_DISC2):
+ var49_disc2(&f, weight); break;
+ case (VAR_SUPER_SHAPE):
+ var50_supershape(&f, weight); break;
+ case (VAR_FLOWER):
+ var51_flower(&f, weight); break;
+ case (VAR_CONIC):
+ var52_conic(&f, weight); break;
+ case (VAR_PARABOLA):
+ var53_parabola(&f, weight); break;
+ case (VAR_BENT2):
+ var54_bent2(&f, weight); break;
+ case (VAR_BIPOLAR):
+ var55_bipolar(&f, weight); break;
+ case (VAR_BOARDERS):
+ var56_boarders(&f, weight); break;
+ case (VAR_BUTTERFLY):
+ var57_butterfly(&f, weight); break;
+ case (VAR_CELL):
+ var58_cell(&f, weight); break;
+ case (VAR_CPOW):
+ var59_cpow(&f, weight); break;
+ case (VAR_CURVE):
+ var60_curve(&f, weight); break;
+ case (VAR_EDISC):
+ var61_edisc(&f, weight); break;
+ case (VAR_ELLIPTIC):
+ var62_elliptic(&f, weight); break;
+ case (VAR_ESCHER):
+ var63_escher(&f, weight); break;
+ case (VAR_FOCI):
+ var64_foci(&f, weight); break;
+ case (VAR_LAZYSUSAN):
+ var65_lazysusan(&f, weight); break;
+ case (VAR_LOONIE):
+ var66_loonie(&f, weight); break;
+ case (VAR_MODULUS):
+ var68_modulus(&f, weight); break;
+ case (VAR_OSCILLOSCOPE):
+ var69_oscope(&f, weight); break;
+ case (VAR_POLAR2):
+ var70_polar2(&f, weight); break;
+ case (VAR_POPCORN2):
+ var71_popcorn2(&f, weight); break;
+ case (VAR_SCRY):
+ var72_scry(&f, weight); break;
+ case (VAR_SEPARATION):
+ var73_separation(&f, weight); break;
+ case (VAR_SPLIT):
+ var74_split(&f, weight); break;
+ case (VAR_SPLITS):
+ var75_splits(&f, weight); break;
+ case (VAR_STRIPES):
+ var76_stripes(&f, weight); break;
+ case (VAR_WEDGE):
+ var77_wedge(&f, weight); break;
+ case (VAR_WEDGE_JULIA):
+ var78_wedge_julia(&f, weight); break;
+ case (VAR_WEDGE_SPH):
+ var79_wedge_sph(&f, weight); break;
+ case (VAR_WHORL):
+ var80_whorl(&f, weight); break;
+ case (VAR_WAVES2):
+ var81_waves2(&f, weight); break;
+ case (VAR_EXP):
+ var82_exp(&f, weight); break;
+ case (VAR_LOG):
+ var83_log(&f, weight); break;
+ case (VAR_SIN):
+ var84_sin(&f, weight); break;
+ case (VAR_COS):
+ var85_cos(&f, weight); break;
+ case (VAR_TAN):
+ var86_tan(&f, weight); break;
+ case (VAR_SEC):
+ var87_sec(&f, weight); break;
+ case (VAR_CSC):
+ var88_csc(&f, weight); break;
+ case (VAR_COT):
+ var89_cot(&f, weight); break;
+ case (VAR_SINH):
+ var90_sinh(&f, weight); break;
+ case (VAR_COSH):
+ var91_cosh(&f, weight); break;
+ case (VAR_TANH):
+ var92_tanh(&f, weight); break;
+ case (VAR_SECH):
+ var93_sech(&f, weight); break;
+ case (VAR_CSCH):
+ var94_csch(&f, weight); break;
+ case (VAR_COTH):
+ var95_coth(&f, weight); break;
+ case (VAR_AUGER):
+ var96_auger(&f, weight); break;
+ }
+
+ }
+ /* apply the post transform */
+ if (cp->xform[fn].has_post) {
+ q[0] = cp->xform[fn].post[0][0] * f.p0 + cp->xform[fn].post[1][0] * f.p1 + cp->xform[fn].post[2][0];
+ q[1] = cp->xform[fn].post[0][1] * f.p0 + cp->xform[fn].post[1][1] * f.p1 + cp->xform[fn].post[2][1];
+ } else {
+ q[0] = f.p0;
+ q[1] = f.p1;
+ }
+
+ /* Check for badvalues and return randoms if bad */
+ if (badvalue(q[0]) || badvalue(q[1])) {
+ q[0] = flam3_random_isaac_11(rc);
+ q[1] = flam3_random_isaac_11(rc);
+ return(1);
+ } else
+ return(0);
+
+}
+
+void initialize_xforms(flam3_genome *thiscp, int start_here) {
+
+ int i,j;
+ for (i = start_here ; i < thiscp->num_xforms ; i++) {
+ thiscp->xform[i].padding = 0;
+ thiscp->xform[i].density = 0.0;
+ thiscp->xform[i].color_speed = 0.5;
+ thiscp->xform[i].animate = 1.0;
+ thiscp->xform[i].color = i&1;
+ thiscp->xform[i].opacity = 1.0;
+ thiscp->xform[i].var[0] = 1.0;
+ thiscp->xform[i].motion_freq = 0;
+ thiscp->xform[i].motion_func = 0;
+ thiscp->xform[i].num_motion = 0;
+ thiscp->xform[i].motion = NULL;
+ for (j = 1; j < flam3_nvariations; j++)
+ thiscp->xform[i].var[j] = 0.0;
+ thiscp->xform[i].c[0][0] = 1.0;
+ thiscp->xform[i].c[0][1] = 0.0;
+ thiscp->xform[i].c[1][0] = 0.0;
+ thiscp->xform[i].c[1][1] = 1.0;
+ thiscp->xform[i].c[2][0] = 0.0;
+ thiscp->xform[i].c[2][1] = 0.0;
+ thiscp->xform[i].post[0][0] = 1.0;
+ thiscp->xform[i].post[0][1] = 0.0;
+ thiscp->xform[i].post[1][0] = 0.0;
+ thiscp->xform[i].post[1][1] = 1.0;
+ thiscp->xform[i].post[2][0] = 0.0;
+ thiscp->xform[i].post[2][1] = 0.0;
+ thiscp->xform[i].wind[0] = 0.0;
+ thiscp->xform[i].wind[1] = 0.0;
+ thiscp->xform[i].blob_low = 0.0;
+ thiscp->xform[i].blob_high = 1.0;
+ thiscp->xform[i].blob_waves = 1.0;
+ thiscp->xform[i].pdj_a = 0.0;
+ thiscp->xform[i].pdj_b = 0.0;
+ thiscp->xform[i].pdj_c = 0.0;
+ thiscp->xform[i].pdj_d = 0.0;
+ thiscp->xform[i].fan2_x = 0.0;
+ thiscp->xform[i].fan2_y = 0.0;
+ thiscp->xform[i].rings2_val = 0.0;
+ thiscp->xform[i].perspective_angle = 0.0;
+ thiscp->xform[i].perspective_dist = 0.0;
+ thiscp->xform[i].persp_vsin = 0.0;
+ thiscp->xform[i].persp_vfcos = 0.0;
+ thiscp->xform[i].radial_blur_angle = 0.0;
+ thiscp->xform[i].disc2_rot = 0.0;
+ thiscp->xform[i].disc2_twist = 0.0;
+ thiscp->xform[i].disc2_sinadd = 0.0;
+ thiscp->xform[i].disc2_cosadd = 0.0;
+ thiscp->xform[i].disc2_timespi = 0.0;
+ thiscp->xform[i].flower_petals = 0.0;
+ thiscp->xform[i].flower_holes = 0.0;
+ thiscp->xform[i].parabola_height = 0.0;
+ thiscp->xform[i].parabola_width = 0.0;
+ thiscp->xform[i].bent2_x = 1.0;
+ thiscp->xform[i].bent2_y = 1.0;
+ thiscp->xform[i].bipolar_shift = 0.0;
+ thiscp->xform[i].cell_size = 1.0;
+ thiscp->xform[i].cpow_r = 1.0;
+ thiscp->xform[i].cpow_i = 0.0;
+ thiscp->xform[i].cpow_power = 1.0;
+ thiscp->xform[i].curve_xamp = 0.0;
+ thiscp->xform[i].curve_yamp = 0.0;
+ thiscp->xform[i].curve_xlength = 1.0;
+ thiscp->xform[i].curve_ylength = 1.0;
+ thiscp->xform[i].escher_beta = 0.0;
+ thiscp->xform[i].lazysusan_space = 0.0;
+ thiscp->xform[i].lazysusan_twist = 0.0;
+ thiscp->xform[i].lazysusan_spin = 0.0;
+ thiscp->xform[i].lazysusan_x = 0.0;
+ thiscp->xform[i].lazysusan_y = 0.0;
+ thiscp->xform[i].modulus_x = 0.0;
+ thiscp->xform[i].modulus_y = 0.0;
+ thiscp->xform[i].oscope_separation = 1.0;
+ thiscp->xform[i].oscope_frequency = M_PI;
+ thiscp->xform[i].oscope_amplitude = 1.0;
+ thiscp->xform[i].oscope_damping = 0.0;
+ thiscp->xform[i].popcorn2_c = 0.0;
+ thiscp->xform[i].popcorn2_x = 0.0;
+ thiscp->xform[i].popcorn2_y = 0.0;
+ thiscp->xform[i].separation_x = 0.0;
+ thiscp->xform[i].separation_xinside = 0.0;
+ thiscp->xform[i].separation_y = 0.0;
+ thiscp->xform[i].separation_yinside = 0.0;
+ thiscp->xform[i].split_xsize = 0.0;
+ thiscp->xform[i].split_ysize = 0.0;
+ thiscp->xform[i].splits_x = 0.0;
+ thiscp->xform[i].splits_y = 0.0;
+ thiscp->xform[i].stripes_space = 0.0;
+ thiscp->xform[i].stripes_warp = 0.0;
+ thiscp->xform[i].wedge_angle = 0.0;
+ thiscp->xform[i].wedge_hole = 0.0;
+ thiscp->xform[i].wedge_count = 1.0;
+ thiscp->xform[i].wedge_swirl = 0.0;
+ thiscp->xform[i].wedge_sph_angle = 0.0;
+ thiscp->xform[i].wedge_sph_hole = 0.0;
+ thiscp->xform[i].wedge_sph_count = 1.0;
+ thiscp->xform[i].wedge_sph_swirl = 0.0;
+
+ thiscp->xform[i].wedge_julia_power = 1.0;
+ thiscp->xform[i].wedge_julia_dist = 0.0;
+ thiscp->xform[i].wedge_julia_count = 1.0;
+ thiscp->xform[i].wedge_julia_angle = 0.0;
+ thiscp->xform[i].wedgeJulia_cf = 0.0;
+ thiscp->xform[i].wedgeJulia_cn = 0.5;
+ thiscp->xform[i].wedgeJulia_rN = 1.0;
+ thiscp->xform[i].whorl_inside = 0.0;
+ thiscp->xform[i].whorl_outside = 0.0;
+
+ thiscp->xform[i].waves2_scalex = 0.0;
+ thiscp->xform[i].waves2_scaley = 0.0;
+ thiscp->xform[i].waves2_freqx = 0.0;
+ thiscp->xform[i].waves2_freqy = 0.0;
+
+ thiscp->xform[i].auger_freq = 1.0;
+ thiscp->xform[i].auger_weight = 0.5;
+ thiscp->xform[i].auger_sym = 0.0;
+ thiscp->xform[i].auger_scale = 1.0;
+
+ thiscp->xform[i].julian_power = 1.0;
+ thiscp->xform[i].julian_dist = 1.0;
+ thiscp->xform[i].julian_rN = 1.0;
+ thiscp->xform[i].julian_cn = 0.5;
+ thiscp->xform[i].juliascope_power = 1.0;
+ thiscp->xform[i].juliascope_dist = 1.0;
+ thiscp->xform[i].juliascope_rN = 1.0;
+ thiscp->xform[i].juliascope_cn = 0.5;
+ thiscp->xform[i].radialBlur_spinvar = 0.0;
+ thiscp->xform[i].radialBlur_zoomvar = 1.0;
+ thiscp->xform[i].pie_slices = 6.0;
+ thiscp->xform[i].pie_rotation = 0.0;
+ thiscp->xform[i].pie_thickness = 0.5;
+ thiscp->xform[i].ngon_sides = 5;
+ thiscp->xform[i].ngon_power = 3;
+ thiscp->xform[i].ngon_circle = 1;
+ thiscp->xform[i].ngon_corners = 2;
+ thiscp->xform[i].curl_c1 = 1.0;
+ thiscp->xform[i].curl_c2 = 0.0;
+ thiscp->xform[i].rectangles_x = 1.0;
+ thiscp->xform[i].rectangles_y = 1.0;
+ thiscp->xform[i].amw_amp = 1.0;
+ thiscp->xform[i].super_shape_rnd = 0.0;
+ thiscp->xform[i].super_shape_m = 0.0;
+ thiscp->xform[i].super_shape_n1 = 1.0;
+ thiscp->xform[i].super_shape_n2 = 1.0;
+ thiscp->xform[i].super_shape_n3 = 1.0;
+ thiscp->xform[i].super_shape_holes = 0.0;
+ thiscp->xform[i].conic_eccentricity = 1.0;
+ thiscp->xform[i].conic_holes = 0.0;
+ }
+}
diff --git a/src/variations.h b/src/variations.h
new file mode 100644
index 0000000..fdec2ad
--- /dev/null
+++ b/src/variations.h
@@ -0,0 +1,140 @@
+/*
+ FLAM3 - cosmic recursive fractal flames
+ Copyright (C) 1992-2009 Spotworks LLC
+
+ 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 <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef variations_included
+#define variations_included
+
+#include "private.h"
+
+
+
+/* Variation functions */
+void var0_linear(flam3_iter_helper *, double);
+void var1_sinusoidal(flam3_iter_helper *, double);
+void var2_spherical(flam3_iter_helper *, double);
+void var3_swirl(flam3_iter_helper *, double);
+void var4_horseshoe(flam3_iter_helper *, double);
+void var5_polar(flam3_iter_helper *, double);
+void var6_handkerchief(flam3_iter_helper *, double);
+void var7_heart(flam3_iter_helper *, double);
+void var8_disc(flam3_iter_helper *, double);
+void var9_spiral(flam3_iter_helper *, double);
+void var10_hyperbolic(flam3_iter_helper *, double);
+void var11_diamond(flam3_iter_helper *, double);
+void var12_ex(flam3_iter_helper *, double);
+void var13_julia(flam3_iter_helper *, double);
+void var14_bent(flam3_iter_helper *, double);
+void var15_waves(flam3_iter_helper *, double);
+void var16_fisheye(flam3_iter_helper *, double);
+void var17_popcorn(flam3_iter_helper *, double);
+void var18_exponential(flam3_iter_helper *, double);
+void var19_power(flam3_iter_helper *, double);
+void var20_cosine(flam3_iter_helper *, double);
+void var21_rings(flam3_iter_helper *, double);
+void var22_fan(flam3_iter_helper *, double);
+void var23_blob(flam3_iter_helper *, double);
+void var24_pdj(flam3_iter_helper *, double);
+void var25_fan2(flam3_iter_helper *, double);
+void var26_rings2(flam3_iter_helper *, double);
+void var27_eyefish(flam3_iter_helper *, double);
+void var28_bubble(flam3_iter_helper *, double);
+void var29_cylinder(flam3_iter_helper *, double);
+void var30_perspective(flam3_iter_helper *, double);
+void var31_noise(flam3_iter_helper *, double);
+void var32_juliaN_generic(flam3_iter_helper *, double);
+void var33_juliaScope_generic(flam3_iter_helper *, double);
+void var34_blur(flam3_iter_helper *, double);
+void var35_gaussian(flam3_iter_helper *, double);
+void var36_radial_blur(flam3_iter_helper *, double);
+void var37_pie(flam3_iter_helper *, double);
+void var38_ngon(flam3_iter_helper *, double);
+void var39_curl(flam3_iter_helper *, double);
+void var40_rectangles(flam3_iter_helper *, double);
+void var41_arch(flam3_iter_helper *, double);
+void var42_tangent(flam3_iter_helper *, double);
+void var43_square(flam3_iter_helper *, double);
+void var44_rays(flam3_iter_helper *, double);
+void var45_blade(flam3_iter_helper *, double);
+void var46_secant2(flam3_iter_helper *, double);
+void var47_twintrian(flam3_iter_helper *, double);
+void var48_cross(flam3_iter_helper *, double);
+void var49_disc2(flam3_iter_helper *, double);
+void var50_supershape(flam3_iter_helper *, double);
+void var51_flower(flam3_iter_helper *, double);
+void var52_conic(flam3_iter_helper *, double);
+void var53_parabola(flam3_iter_helper *, double);
+void var54_bent2(flam3_iter_helper *, double);
+void var55_bipolar(flam3_iter_helper *, double);
+void var56_boarders(flam3_iter_helper *, double);
+void var57_butterfly(flam3_iter_helper *, double);
+void var58_cell(flam3_iter_helper *, double);
+void var59_cpow(flam3_iter_helper *, double);
+void var60_curve(flam3_iter_helper *, double);
+void var61_edisc(flam3_iter_helper *, double);
+void var62_elliptic(flam3_iter_helper *, double);
+void var63_escher(flam3_iter_helper *, double);
+void var64_foci(flam3_iter_helper *, double);
+void var65_lazysusan(flam3_iter_helper *, double);
+void var66_loonie(flam3_iter_helper *, double);
+void var67_pre_blur(flam3_iter_helper *, double);
+void var68_modulus(flam3_iter_helper *, double);
+void var69_oscope(flam3_iter_helper *, double);
+void var70_polar2(flam3_iter_helper *, double);
+void var71_popcorn2(flam3_iter_helper *, double);
+void var72_scry(flam3_iter_helper *, double);
+void var73_separation(flam3_iter_helper *, double);
+void var74_split(flam3_iter_helper *, double);
+void var75_splits(flam3_iter_helper *, double);
+void var76_stripes(flam3_iter_helper *, double);
+void var77_wedge(flam3_iter_helper *, double);
+void var78_wedge_julia(flam3_iter_helper *, double);
+void var79_wedge_sph(flam3_iter_helper *, double);
+void var80_whorl(flam3_iter_helper *, double);
+void var81_waves2(flam3_iter_helper *, double);
+void var82_exp (flam3_iter_helper *f, double weight);
+void var83_log (flam3_iter_helper *f, double weight);
+void var84_sin (flam3_iter_helper *f, double weight);
+void var85_cos (flam3_iter_helper *f, double weight);
+void var86_tan (flam3_iter_helper *f, double weight);
+void var87_sec (flam3_iter_helper *f, double weight);
+void var88_csc (flam3_iter_helper *f, double weight);
+void var89_cot (flam3_iter_helper *f, double weight);
+void var90_sinh (flam3_iter_helper *f, double weight);
+void var91_cosh (flam3_iter_helper *f, double weight);
+void var92_tanh (flam3_iter_helper *f, double weight);
+void var93_sech (flam3_iter_helper *f, double weight);
+void var94_csch (flam3_iter_helper *f, double weight);
+void var95_coth (flam3_iter_helper *f, double weight);
+void var96_auger (flam3_iter_helper *f, double weight);
+
+/* Precalculation functions */
+void perspective_precalc(flam3_xform *xf);
+void juliaN_precalc(flam3_xform *xf);
+void juliaScope_precalc(flam3_xform *xf);
+void radial_blur_precalc(flam3_xform *xf);
+void waves_precalc(flam3_xform *xf);
+void disc2_precalc(flam3_xform *xf);
+void supershape_precalc(flam3_xform *xf);
+void wedgeJulia_precalc(flam3_xform *xf);
+
+void xform_precalc(flam3_genome *cp, int xi);
+int prepare_xform_fn_ptrs(flam3_genome *, randctx *);
+
+int apply_xform(flam3_genome *cp, int fn, double *p, double *q, randctx *rc);
+void initialize_xforms(flam3_genome *thiscp, int start_here);
+#endif
diff --git a/src/vidres.flam3 b/src/vidres.flam3
new file mode 100755
index 0000000..285b1ce
--- /dev/null
+++ b/src/vidres.flam3
@@ -0,0 +1,12 @@
+<flame size="640 480"
+ center="0 0"
+ scale="240"
+ zoom="0"
+ oversample="1"
+ filter="1"
+ quality="10"
+ background="0 0 0"
+ brightness="4"
+ gamma="4"
+ vibrancy="1"
+/>