summaryrefslogtreecommitdiffstats
path: root/twin-styles/smooth-blend
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-07 21:50:31 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-07 21:50:31 -0600
commite35f3fe53cd8df85d4fd04e49dfffbaeac971cdf (patch)
tree95836fc22de909b3b20dbf3fc3dea230e5e58e3b /twin-styles/smooth-blend
parenta5355f151396be579eba5838c7d8d93a43362cd7 (diff)
downloadtdeartwork-e35f3fe53cd8df85d4fd04e49dfffbaeac971cdf.tar.gz
tdeartwork-e35f3fe53cd8df85d4fd04e49dfffbaeac971cdf.zip
Rename kwin to twin (Part 2 of 2)
Diffstat (limited to 'twin-styles/smooth-blend')
-rw-r--r--twin-styles/smooth-blend/AUTHORS1
-rw-r--r--twin-styles/smooth-blend/CMakeLists.txt12
-rw-r--r--twin-styles/smooth-blend/COPYING340
-rw-r--r--twin-styles/smooth-blend/CREDITS5
-rw-r--r--twin-styles/smooth-blend/ChangeLog22
-rw-r--r--twin-styles/smooth-blend/INSTALL167
-rw-r--r--twin-styles/smooth-blend/Makefile.am1
-rw-r--r--twin-styles/smooth-blend/NEWS0
-rw-r--r--twin-styles/smooth-blend/README15
-rw-r--r--twin-styles/smooth-blend/TODO4
-rw-r--r--twin-styles/smooth-blend/client/CMakeLists.txt38
-rw-r--r--twin-styles/smooth-blend/client/Makefile.am20
-rw-r--r--twin-styles/smooth-blend/client/buttons.h1798
-rw-r--r--twin-styles/smooth-blend/client/config/CMakeLists.txt32
-rw-r--r--twin-styles/smooth-blend/client/config/Makefile.am15
-rw-r--r--twin-styles/smooth-blend/client/config/configdialog.ui421
-rw-r--r--twin-styles/smooth-blend/client/config/smoothblendconfig.cc180
-rw-r--r--twin-styles/smooth-blend/client/config/smoothblendconfig.h56
-rw-r--r--twin-styles/smooth-blend/client/smoothblend.cc1396
-rw-r--r--twin-styles/smooth-blend/client/smoothblend.desktop40
-rw-r--r--twin-styles/smooth-blend/client/smoothblend.h256
21 files changed, 4819 insertions, 0 deletions
diff --git a/twin-styles/smooth-blend/AUTHORS b/twin-styles/smooth-blend/AUTHORS
new file mode 100644
index 00000000..c96228bb
--- /dev/null
+++ b/twin-styles/smooth-blend/AUTHORS
@@ -0,0 +1 @@
+Ryan Nickell p0z3r@users.sourceforge.net
diff --git a/twin-styles/smooth-blend/CMakeLists.txt b/twin-styles/smooth-blend/CMakeLists.txt
new file mode 100644
index 00000000..bfd4d79f
--- /dev/null
+++ b/twin-styles/smooth-blend/CMakeLists.txt
@@ -0,0 +1,12 @@
+#################################################
+#
+# (C) 2011 Golubev Alexander
+# fatzer2 (AT) gmail.com
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+add_subdirectory( client ) \ No newline at end of file
diff --git a/twin-styles/smooth-blend/COPYING b/twin-styles/smooth-blend/COPYING
new file mode 100644
index 00000000..e065ffa0
--- /dev/null
+++ b/twin-styles/smooth-blend/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) 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
+this service 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 make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. 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.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+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
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the 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 a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE 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.
+
+ 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
+convey 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 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
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision 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, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This 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 Library General
+Public License instead of this License.
diff --git a/twin-styles/smooth-blend/CREDITS b/twin-styles/smooth-blend/CREDITS
new file mode 100644
index 00000000..a4481ec9
--- /dev/null
+++ b/twin-styles/smooth-blend/CREDITS
@@ -0,0 +1,5 @@
+Justin Berstler aka spasemunkie on kdelook.org - spasemunkie at gmail.com : for his buttons!
+Rick aka bitwit on kdelook.org - bitwit at digilanti.org : for his twin_template
+David Johnson - david at usermode.org : for his example twin tutorial
+Thomas Lübking aka thomas12777 on kdelook.org - baghira-style at gmx.net : for answering questions on getting pixmap buttons into code
+Scott Grayban aka sgrayban on kdelook.org : for testing and hosting the files to be downloaded
diff --git a/twin-styles/smooth-blend/ChangeLog b/twin-styles/smooth-blend/ChangeLog
new file mode 100644
index 00000000..7b8fbcf2
--- /dev/null
+++ b/twin-styles/smooth-blend/ChangeLog
@@ -0,0 +1,22 @@
+03.16.2005: (1.0 release)
+-----------
+Double click actions to maximize now show corresponding buttons
+when maximized.
+Windows that open maximized show the correct button and restoring
+changes the button to the restore button as one would expect.
+Removal of the title bar separator line, to complete the feel of
+a "smooth blend".
+
+02.28.2005: (beta2)
+-----------
+Added kcontrol config option to remove titlebar separator line.
+Application icons now resize to match the size of the buttons
+instead of being a fixed size 16x16 icon.
+Added button animations for mouse hover; configurable in kcontrol
+to either Intensify or Fade.
+Fixed some title bar drawing that wasn't correctly sectioned off.
+
+
+02.22.2005: (beta1)
+-----------
+smoothblend-beta1 released.
diff --git a/twin-styles/smooth-blend/INSTALL b/twin-styles/smooth-blend/INSTALL
new file mode 100644
index 00000000..02a4a074
--- /dev/null
+++ b/twin-styles/smooth-blend/INSTALL
@@ -0,0 +1,167 @@
+Basic Installation
+==================
+
+ These are generic installation instructions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, a file
+`config.cache' that saves the results of its tests to speed up
+reconfiguring, and a file `config.log' containing compiler output
+(useful mainly for debugging `configure').
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If at some point `config.cache'
+contains results you don't want to keep, you may remove or edit it.
+
+ The file `configure.in' is used to create `configure' by a program
+called `autoconf'. You only need `configure.in' if you want to change
+it or regenerate `configure' using a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system. If you're
+ using `csh' on an old version of System V, you might need to type
+ `sh ./configure' instead to prevent `csh' from trying to execute
+ `configure' itself.
+
+ Running `configure' takes a while. While running, it prints some
+ messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Type `make install' to install the programs and any data files and
+ documentation.
+
+ 4. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. You can give `configure'
+initial values for variables by setting them in the environment. Using
+a Bourne-compatible shell, you can do that on the command line like
+this:
+ CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+
+Or on systems that have the `env' program, you can do it like this:
+ env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+ If you have to use a `make' that does not supports the `VPATH'
+variable, you have to compile the package for one architecture at a time
+in the source code directory. After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+architecture.
+
+Installation Names
+==================
+
+ By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc. You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' can not figure out
+automatically, but needs to determine by the type of host the package
+will run on. Usually `configure' can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name with three fields:
+ CPU-COMPANY-SYSTEM
+
+See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the host type.
+
+ If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE' option to select the type of system they will
+produce code for and the `--build=TYPE' option to select the type of
+system on which you are compiling the package.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Operation Controls
+==================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--cache-file=FILE'
+ Use and save the results of the tests in FILE instead of
+ `./config.cache'. Set FILE to `/dev/null' to disable caching, for
+ debugging `configure'.
+
+`--help'
+ Print a summary of the options to `configure', and exit.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made.
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--version'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`configure' also accepts some other, not widely useful, options.
+
diff --git a/twin-styles/smooth-blend/Makefile.am b/twin-styles/smooth-blend/Makefile.am
new file mode 100644
index 00000000..44ac1828
--- /dev/null
+++ b/twin-styles/smooth-blend/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = client
diff --git a/twin-styles/smooth-blend/NEWS b/twin-styles/smooth-blend/NEWS
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/twin-styles/smooth-blend/NEWS
diff --git a/twin-styles/smooth-blend/README b/twin-styles/smooth-blend/README
new file mode 100644
index 00000000..836fbe5d
--- /dev/null
+++ b/twin-styles/smooth-blend/README
@@ -0,0 +1,15 @@
+Smooth Blend - a smooth blending of the window background color into the titlebar.
+
+This is my first attempt at a KDE window decoration.
+Any comments would be much appreciated and can be sent
+to me directly at p0z3r@users.sourceforge.net.
+
+Limitations:
+The Frame Width can not be smaller than 2 pixels because it will lose the top gradient.
+The buttonsize can not be larger than the Title Height - Frame Width.
+
+Known Problems:
+The Shade button doesn't work correctly although the code is there for it.
+The Resize button is also afflicted with the same problem.
+Support for the Shade button and Resize buttons may or may not be supported depending
+upon what I find through the kde mailing lists and other documentation.
diff --git a/twin-styles/smooth-blend/TODO b/twin-styles/smooth-blend/TODO
new file mode 100644
index 00000000..6a7bd0a8
--- /dev/null
+++ b/twin-styles/smooth-blend/TODO
@@ -0,0 +1,4 @@
+TODO
+----
+Code cleanup and separation of different classes into individual files.
+Use pixmaps instead of images for reducing the drawing impact.
diff --git a/twin-styles/smooth-blend/client/CMakeLists.txt b/twin-styles/smooth-blend/client/CMakeLists.txt
new file mode 100644
index 00000000..d59126f9
--- /dev/null
+++ b/twin-styles/smooth-blend/client/CMakeLists.txt
@@ -0,0 +1,38 @@
+#################################################
+#
+# (C) 2011 Golubev Alexander
+# fatzer2 (AT) gmail.com
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+add_subdirectory( config )
+
+add_definitions(
+ -DQT_PLUGIN
+)
+
+include_directories(
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+)
+
+##### other data ################################
+
+install( FILES smoothblend.desktop DESTINATION ${DATA_INSTALL_DIR}/twin )
+
+##### twin3_smoothblend ##########################
+
+tde_add_kpart( twin3_smoothblend AUTOMOC
+ SOURCES smoothblend.cc
+ LINK tdecorations-shared
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
diff --git a/twin-styles/smooth-blend/client/Makefile.am b/twin-styles/smooth-blend/client/Makefile.am
new file mode 100644
index 00000000..056765d6
--- /dev/null
+++ b/twin-styles/smooth-blend/client/Makefile.am
@@ -0,0 +1,20 @@
+AUTOMAKE_OPTIONS = foreign
+
+SUBDIRS = config
+
+KDE_CXXFLAGS = -DQT_PLUGIN
+
+INCLUDES = $(all_includes) -I$(kde_includes)/twin
+
+twindir = $(kde_datadir)/twin/
+twin_DATA = smoothblend.desktop
+
+noinst_HEADERS = smoothblend.h buttons.h
+
+kde_module_LTLIBRARIES = twin3_smoothblend.la
+twin3_smoothblend_la_SOURCES = smoothblend.cc
+twin3_smoothblend_la_LIBADD = -ltdecorations
+twin3_smoothblend_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -ltdecore -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
+twin3_smoothblend_la_METASOURCES = AUTO
+
+DISTCLEANFILES = $(twin3_smoothblend_la_METASOURCES)
diff --git a/twin-styles/smooth-blend/client/buttons.h b/twin-styles/smooth-blend/client/buttons.h
new file mode 100644
index 00000000..3d777144
--- /dev/null
+++ b/twin-styles/smooth-blend/client/buttons.h
@@ -0,0 +1,1798 @@
+/****************************************************************************
+** Image collection for project 'smoothblend'.
+**
+** Generated from reading image files:
+** circle.png
+** close.png
+** help.png
+** keep_above_lit.png
+** keep_above.png
+** keep_below_lit.png
+** keep_below.png
+** maximize.png
+** minimize.png
+** restore.png
+** shade.png
+** splat.png
+** titlealpha.png
+** window_background.png
+** window_foreground.png
+**
+** Created: Sun Jul 31 20:04:32 2005
+** by: The User Interface Compiler ($Id$)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+
+#include <tqimage.h>
+#include <tqdict.h>
+#include <tqmime.h>
+#include <tqdragobject.h>
+
+// circle.png
+static const unsigned char image_0_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x99,0x09,0x4c,0x55,0x47,0x14,0x86,
+ 0x51,0x2b,0xee,0x28,0x04,0x23,0x31,0x06,0x6d,0x50,0xa3,0x46,0x8d,0x4b,
+ 0x24,0xae,0x18,0x8c,0xbb,0x56,0x50,0xc1,0x14,0x63,0xb0,0xda,0x52,0x53,
+ 0x44,0xb1,0xb1,0x35,0x8a,0x8a,0x58,0x82,0x1b,0x45,0x52,0xb0,0x01,0xa9,
+ 0xb5,0xa4,0x56,0xa0,0xa5,0x54,0x6d,0xc3,0x52,0x89,0xb1,0xd8,0xb2,0xd3,
+ 0x57,0x40,0x2b,0xc8,0x8e,0xc8,0x0e,0x56,0x11,0x78,0x50,0x1e,0x6f,0xfa,
+ 0x9f,0xf1,0xde,0x97,0x7b,0xe1,0xdd,0xc7,0x43,0x8b,0x30,0xc9,0x17,0x75,
+ 0xee,0x3d,0x73,0xfe,0x99,0x3b,0xe7,0x9c,0x99,0xa7,0x89,0x49,0xb7,0x66,
+ 0x03,0x3e,0x04,0x61,0x20,0x13,0x3c,0xe8,0x63,0xee,0x83,0x78,0x10,0x00,
+ 0x76,0x81,0xb7,0xba,0x4b,0xd2,0x35,0x2b,0x10,0x0a,0x3a,0x00,0x13,0x31,
+ 0x33,0x33,0xeb,0xe8,0x4b,0xc6,0x8c,0x19,0x23,0xf3,0x07,0xea,0xc1,0x01,
+ 0x60,0xda,0x45,0x9f,0xf5,0xa0,0x41,0x83,0x1a,0xe9,0x1d,0x4b,0x4b,0xcb,
+ 0x8e,0xa0,0xa0,0xa0,0xca,0xb4,0xb4,0xb4,0xe2,0x8e,0x8e,0x8e,0xbf,0x19,
+ 0x63,0x7d,0x8e,0x5a,0xad,0x7e,0x78,0xfb,0xf6,0xed,0x52,0x1f,0x1f,0x9f,
+ 0x1a,0x53,0x53,0xd3,0x4e,0x41,0xeb,0xef,0x92,0x35,0x35,0x87,0xbe,0x47,
+ 0xd4,0x7f,0xfc,0xf8,0xf1,0x5a,0x8d,0x46,0xf3,0x46,0x74,0x29,0xd1,0xd4,
+ 0xd4,0x94,0x67,0x67,0x67,0xf7,0x42,0xd0,0x19,0x26,0x68,0xfc,0x9c,0xfe,
+ 0xbd,0x6f,0xdf,0xbe,0x86,0xfe,0xd4,0x26,0xe5,0xf9,0xf3,0xe7,0x79,0x33,
+ 0x67,0xce,0x54,0x0b,0x3a,0xed,0x40,0x2e,0xad,0x6f,0x4b,0x4b,0xcb,0xc3,
+ 0xfe,0xd6,0x26,0x25,0x22,0x22,0xe2,0xb1,0xa0,0xd1,0x17,0x68,0x17,0x2f,
+ 0x5e,0xdc,0xdc,0xdf,0x9a,0xba,0x52,0x5f,0x5f,0x9f,0x3f,0x78,0xf0,0x60,
+ 0x2d,0xf4,0xfd,0x46,0x5a,0x9d,0x9c,0x9c,0xfe,0x41,0xff,0xfd,0x81,0x06,
+ 0x62,0x5e,0x23,0xe4,0x26,0xb6,0x6d,0xdb,0xb6,0x46,0xad,0x56,0xab,0x7a,
+ 0x55,0x10,0xff,0xaa,0x8a,0x8a,0x8a,0xdc,0xc4,0xc4,0xc4,0x47,0x91,0x91,
+ 0x91,0x45,0xc9,0xc9,0xc9,0x79,0x75,0x75,0x75,0x39,0xaf,0x33,0x26,0x31,
+ 0x7a,0xf4,0xe8,0x0e,0x51,0xe3,0xd6,0xad,0x5b,0xeb,0xd1,0x97,0xd1,0x5b,
+ 0x62,0x63,0x63,0xf3,0xf0,0x0d,0xea,0x47,0x8e,0x1c,0xa9,0xe9,0x92,0xe3,
+ 0x38,0xd3,0xa6,0x4d,0x6b,0x39,0x76,0xec,0x58,0x45,0x71,0x71,0x71,0xf6,
+ 0xab,0x8c,0x2f,0xd5,0xe8,0xe8,0xe8,0x58,0x87,0xb5,0x4d,0x31,0x96,0x9c,
+ 0x9c,0x1c,0xd5,0x8a,0x15,0x2b,0x9e,0x8a,0x5a,0x86,0x0d,0x1b,0x46,0xfb,
+ 0x85,0x1d,0x3e,0x7c,0x98,0x9d,0x3d,0x7b,0x96,0xb9,0xbb,0xbb,0x33,0x07,
+ 0x07,0x07,0x86,0xfd,0xc4,0x9f,0x23,0x26,0xb5,0x5e,0x5e,0x5e,0x65,0xcd,
+ 0xcd,0xcd,0x69,0xbd,0xf1,0x23,0xd5,0x88,0xf1,0x6a,0xd0,0x77,0xcf,0x18,
+ 0x10,0x6f,0x0f,0x46,0x8d,0x1a,0xc5,0xd7,0x6d,0xee,0xdc,0xb9,0x2c,0x21,
+ 0x21,0x81,0x61,0xce,0x4c,0x5f,0xc3,0x1e,0x60,0xe1,0xe1,0xe1,0xcc,0xc2,
+ 0xc2,0x82,0x6b,0x9d,0x3d,0x7b,0x76,0x53,0x69,0x69,0x69,0x9a,0xb1,0xbe,
+ 0xa0,0xf1,0x5f,0x51,0xe3,0x96,0x2d,0x5b,0xaa,0xd0,0x77,0xa7,0x27,0xae,
+ 0x5e,0xbd,0x9a,0x4b,0xb1,0x86,0x75,0x61,0xd7,0xaf,0x5f,0xd7,0xab,0x4b,
+ 0x5f,0xc3,0xfa,0xb1,0x0d,0x1b,0x36,0x70,0x9d,0x13,0x26,0x4c,0x50,0xd7,
+ 0xd6,0xd6,0x26,0x19,0xe3,0x0f,0x6b,0xa1,0xd3,0xb8,0x79,0xf3,0xe6,0x4a,
+ 0xf4,0xfd,0x6a,0x08,0xd4,0xc6,0xe4,0xe1,0xc3,0x87,0x6b,0x48,0x1f,0xfe,
+ 0x6e,0xb4,0x3e,0x69,0xf3,0xf0,0xf0,0xe0,0x3a,0x91,0x9f,0x9f,0xa1,0xfe,
+ 0x25,0xf6,0xe4,0x53,0xaa,0x71,0xd3,0xa6,0x4d,0x15,0xe8,0x8b,0x55,0xa2,
+ 0xb3,0xb3,0x33,0x76,0xfa,0xf4,0xe9,0xcf,0x50,0x33,0xd9,0xcd,0x9b,0x37,
+ 0xbb,0xf9,0xbe,0x7b,0xf7,0x2e,0x73,0x73,0x73,0x63,0xf3,0xe6,0xcd,0x63,
+ 0xe6,0xe6,0xe6,0x6c,0xd5,0xaa,0x55,0xec,0xc4,0x89,0x13,0xac,0xb2,0xb2,
+ 0x52,0xf6,0x1e,0xed,0x09,0xda,0xa7,0xe4,0xf3,0xc8,0x91,0x23,0x0f,0x0d,
+ 0xf9,0x24,0xa4,0x1a,0x37,0x6e,0xdc,0xf8,0x18,0x7d,0xb7,0x94,0xc0,0x19,
+ 0x83,0xce,0x68,0xcc,0xd9,0xd9,0x59,0xe6,0xb3,0xb5,0xb5,0x95,0xed,0xdf,
+ 0xbf,0x9f,0x91,0x76,0x7a,0x4e,0x7f,0x4e,0x9e,0x3c,0xb9,0x49,0x8c,0xa5,
+ 0xb1,0x63,0xc7,0xb2,0x98,0x98,0x18,0x99,0x4d,0x43,0x43,0x03,0xef,0xa7,
+ 0xbd,0x86,0xfc,0x14,0x67,0xc8,0x2f,0x34,0xb6,0x8b,0x1a,0xb1,0x57,0xca,
+ 0x31,0xc7,0x18,0x25,0xe6,0xcc,0x99,0x53,0x4f,0xfe,0x0b,0x0a,0x0a,0x64,
+ 0xfe,0x76,0xee,0xdc,0x29,0xee,0xb1,0x96,0xa8,0xa8,0xa8,0x7b,0x38,0x8f,
+ 0xf0,0xf7,0xdb,0xdb,0xdb,0x7f,0xf2,0xf3,0xf3,0xcb,0xc2,0xbe,0xe0,0xb1,
+ 0x15,0x1d,0x1d,0x2d,0xb3,0xf3,0xf5,0xf5,0xe5,0x76,0xde,0xde,0xde,0x2a,
+ 0x43,0x7e,0xa5,0x1a,0xd7,0xaf,0x5f,0x5f,0x0a,0xd3,0x28,0x7d,0x94,0x97,
+ 0x97,0xdf,0xa0,0x38,0x41,0xbd,0x94,0xf9,0x41,0x6e,0xe4,0x7e,0xb0,0x07,
+ 0x1a,0xa1,0xed,0x7b,0x7d,0xb6,0xc8,0xe5,0x71,0x43,0x87,0x0e,0xed,0xa4,
+ 0xb8,0xc6,0x9a,0xe9,0x6c,0x4b,0x4a,0x4a,0xb8,0xed,0xa2,0x45,0x8b,0xaa,
+ 0x94,0xfc,0x12,0xc8,0xbb,0x3a,0x8d,0x6b,0xd7,0xae,0x2d,0x46,0xdf,0x77,
+ 0xfa,0x08,0x09,0x09,0xe1,0xf5,0xf2,0xf4,0xe9,0xd3,0x32,0x8d,0xcb,0x96,
+ 0x2d,0xa3,0xfc,0xa7,0x45,0xae,0xbc,0xa1,0x64,0x4b,0x1c,0x3c,0x78,0x50,
+ 0x45,0xf6,0xe7,0xce,0x9d,0x93,0xd9,0xcf,0x98,0x31,0x83,0xf2,0xaa,0xc6,
+ 0x90,0xad,0x54,0xe3,0x9a,0x35,0x6b,0x8a,0xd0,0x17,0xae,0x8f,0xa3,0x47,
+ 0x8f,0xa6,0xd2,0x3b,0xd7,0xae,0x5d,0xd3,0x8d,0x8f,0x75,0x63,0xb0,0x67,
+ 0xd6,0xd6,0xd6,0x4f,0x95,0xec,0x44,0xb2,0xb3,0xb3,0x7f,0x24,0xfb,0xed,
+ 0xdb,0xb7,0xcb,0x34,0x22,0x06,0xf8,0x5a,0x56,0x55,0x55,0x45,0x28,0xd9,
+ 0xc2,0x47,0x9b,0xa8,0x71,0xf5,0xea,0xd5,0x05,0xf8,0xfe,0x57,0xf4,0xb1,
+ 0x67,0xcf,0x9e,0x3f,0xe9,0x1d,0xca,0xd5,0x62,0x43,0x6d,0xe3,0xe3,0xa3,
+ 0xd6,0x14,0x2b,0xd9,0x49,0xa1,0x7d,0x89,0x7c,0x23,0xd3,0xb8,0x7b,0xf7,
+ 0x6e,0x3e,0x46,0x4a,0x4a,0x4a,0xb4,0x92,0x9d,0x54,0x23,0x72,0x45,0x3e,
+ 0xcc,0x42,0xf4,0x71,0xe8,0xd0,0xa1,0x3f,0xe8,0x1d,0xc4,0x84,0x6e,0x7c,
+ 0xe4,0x36,0x86,0x7d,0xc6,0x6c,0x6c,0x6c,0x6a,0x95,0xec,0x44,0x0a,0x0b,
+ 0x0b,0xc3,0x85,0xb8,0x94,0x69,0x14,0x73,0x10,0xe6,0x1b,0xae,0x64,0x3b,
+ 0x62,0xc4,0x08,0x9d,0x46,0x7b,0x7b,0xfb,0x3c,0xf4,0x05,0xeb,0xe3,0xfc,
+ 0xf9,0xf3,0x74,0x67,0x63,0xfe,0xfe,0xfe,0x32,0x1f,0xf3,0xe7,0xcf,0x27,
+ 0x9d,0x9a,0x9a,0x9a,0x9a,0xcb,0x4a,0xb6,0xc4,0xa9,0x53,0xa7,0x12,0xc9,
+ 0xfe,0xe4,0xc9,0x93,0x32,0xfb,0x05,0x0b,0x16,0xb0,0x21,0x43,0x86,0x74,
+ 0x62,0xdf,0x5c,0x52,0xb2,0x95,0x6a,0x5c,0xb9,0x72,0x25,0x9d,0x2b,0x03,
+ 0xf5,0xa1,0x52,0xa9,0xae,0xd0,0x3b,0xeb,0xd6,0xad,0x93,0xf9,0x08,0x0e,
+ 0x0e,0xe6,0xeb,0xb0,0x70,0xe1,0xc2,0x62,0x25,0x5b,0xe4,0xaa,0xcb,0xc8,
+ 0x83,0x6a,0xaa,0x4d,0x45,0x45,0x45,0x3a,0x5b,0x8a,0x71,0xe8,0x63,0x53,
+ 0xa7,0x4e,0xad,0x52,0xb2,0x25,0xa0,0x51,0x2d,0x6a,0xc4,0x1d,0xe7,0x01,
+ 0xfa,0xfc,0x95,0x98,0x34,0x69,0x52,0x1d,0x8d,0x89,0xb3,0xb1,0xce,0x0f,
+ 0x6a,0x0f,0xcd,0x8d,0xeb,0x9c,0x35,0x6b,0x56,0x19,0x62,0x23,0x54,0x6a,
+ 0x13,0x1a,0x1a,0xfa,0xc3,0xb8,0x71,0xe3,0x78,0x3e,0x0f,0x08,0x08,0x90,
+ 0xcd,0x0f,0xcf,0xb8,0xdd,0xde,0xbd,0x7b,0x93,0x0c,0xf9,0x95,0x6a,0x5c,
+ 0xbe,0x7c,0x79,0x2e,0xfa,0xce,0x28,0x81,0xfb,0x18,0xff,0x5e,0x9e,0x9e,
+ 0x9e,0x32,0x5f,0xd5,0xd5,0xd5,0xbc,0xfe,0x89,0x75,0x65,0xfc,0xf8,0xf1,
+ 0x8d,0x38,0x0b,0x15,0x62,0x3e,0x3c,0x77,0xd3,0xbc,0x68,0x8f,0xd0,0x7c,
+ 0xc4,0x46,0x7b,0x19,0xf9,0x80,0x7f,0x67,0xe4,0xad,0x60,0x43,0x7e,0x71,
+ 0x3e,0xd0,0x69,0x44,0xae,0xcb,0x41,0xdf,0x67,0x4a,0xe0,0x9e,0xe6,0x87,
+ 0x3c,0xfc,0x8c,0xbe,0x59,0x7e,0x7e,0x3e,0xeb,0xda,0x2e,0x5c,0xb8,0x40,
+ 0x7b,0x9a,0xc7,0x11,0x8d,0x87,0x7a,0xc8,0x5c,0x5c,0x5c,0x58,0x56,0x56,
+ 0x56,0xb7,0x77,0x91,0xcb,0x98,0x50,0x7f,0x53,0x0d,0xf9,0x24,0xa4,0x1a,
+ 0x97,0x2e,0x5d,0xfa,0x17,0xfa,0xbc,0x0d,0x81,0xef,0xf3,0x0d,0xea,0xa1,
+ 0xd6,0xd2,0xd2,0x92,0x3d,0x79,0xf2,0xa4,0x9b,0x6f,0xb1,0x61,0x3e,0x8a,
+ 0xcf,0xe8,0x3c,0x42,0xfe,0x70,0x4f,0x79,0x51,0x56,0x56,0x76,0xa6,0x27,
+ 0x9f,0xd0,0xd8,0x2a,0x6a,0x44,0x9d,0x53,0xa1,0xcf,0xab,0x27,0xb0,0x36,
+ 0x09,0xf4,0xfe,0xc4,0x89,0x13,0x59,0x66,0x66,0xa6,0xa2,0x16,0x7d,0x8d,
+ 0xd6,0x9a,0xce,0xe5,0xa8,0x2d,0xed,0x71,0x71,0x71,0x81,0xc6,0xf8,0x93,
+ 0x6a,0xb4,0xb5,0xb5,0xa5,0x8f,0xf2,0xa9,0x31,0xb8,0xba,0xba,0xfe,0x4c,
+ 0xeb,0x49,0xdf,0x15,0x75,0x4e,0x16,0x47,0xfa,0x5a,0x46,0x46,0x06,0x5b,
+ 0xb2,0x64,0x09,0x5f,0x3f,0xc4,0x78,0x13,0xce,0xc6,0x5f,0x18,0xeb,0x0b,
+ 0xf3,0xd1,0x69,0x44,0x6d,0xcf,0x40,0xdf,0xc7,0xc6,0x82,0x3b,0xcb,0x65,
+ 0x61,0x8e,0x7c,0x6d,0x50,0xa7,0xf8,0x59,0x86,0xea,0x65,0x7c,0x7c,0x3c,
+ 0x0b,0x0b,0x0b,0xe3,0xe7,0x47,0xaa,0x2d,0x62,0x3c,0x41,0x67,0x6a,0x7a,
+ 0x7a,0xba,0x4f,0x6f,0xfc,0x48,0x35,0x22,0xc7,0xa5,0xa3,0xef,0x40,0x6f,
+ 0x40,0x7c,0x7a,0xe2,0xae,0xf6,0x8b,0x95,0x95,0x55,0x85,0xbe,0x3b,0xa1,
+ 0xa0,0xbf,0x93,0xc6,0xbe,0x78,0xf1,0x62,0x50,0x6f,0xc7,0x27,0xa0,0xb1,
+ 0x45,0xd4,0x88,0x9c,0x4f,0x31,0xf6,0xd1,0xab,0x92,0x94,0x94,0xe4,0x85,
+ 0xf3,0x62,0x10,0xf6,0x41,0x24,0xee,0x46,0xb7,0x90,0xab,0xbe,0x45,0xce,
+ 0x09,0xc4,0x39,0xd2,0xfd,0x75,0xc6,0x95,0x6a,0x44,0x8e,0xa3,0xbb,0xa2,
+ 0xdb,0x40,0x03,0xb9,0x4e,0xa7,0x11,0x67,0x83,0x6c,0xf4,0xbd,0x37,0x90,
+ 0x68,0x6c,0x6c,0xfc,0x00,0x7b,0x85,0x6a,0x41,0x1a,0x28,0x41,0x8c,0xb6,
+ 0x60,0x7f,0xb9,0xe2,0xd9,0xae,0x81,0x02,0xce,0xd4,0x67,0x84,0x7d,0x1d,
+ 0x08,0xf8,0x99,0x61,0xc7,0x8e,0x1d,0x5f,0xe1,0xd9,0xbb,0x03,0x01,0xec,
+ 0x63,0x17,0x9c,0x11,0xee,0x0b,0x1a,0xdf,0x01,0x6f,0x03,0xba,0x97,0x6a,
+ 0x90,0x2f,0x28,0x37,0x38,0xf5,0x27,0x38,0xab,0x39,0x23,0x86,0xe3,0x04,
+ 0x7d,0x74,0x07,0x10,0x7f,0x6f,0xb6,0x07,0x74,0x97,0x65,0x53,0xa6,0x4c,
+ 0x49,0x45,0x4d,0xf8,0x04,0xef,0x3a,0xc2,0xc6,0xe1,0x4d,0xd1,0xd6,0xd6,
+ 0xe6,0xe8,0xe1,0xe1,0xe1,0x8b,0x3c,0x5f,0x2d,0xe8,0x2b,0x00,0x16,0x26,
+ 0xf2,0x66,0x2b,0xc6,0x90,0x80,0xd6,0xcc,0xcc,0xac,0x1c,0xf7,0xd2,0x9c,
+ 0x3e,0x26,0x17,0x67,0xb0,0x3a,0x89,0x5f,0xfa,0xcd,0xfe,0x6b,0x93,0x97,
+ 0xff,0xcf,0xa1,0xd4,0xde,0x07,0x5f,0x82,0x0c,0xd0,0xae,0x94,0x9f,0xff,
+ 0x67,0xaa,0xc0,0x1d,0x93,0x97,0xbf,0xcd,0x5b,0x76,0x15,0xf4,0x1f,0x5e,
+ 0xdb,0x58,0x54
+};
+
+// close.png
+static const unsigned char image_1_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x6b,0x4c,0x14,0x57,0x14,0xc7,
+ 0x51,0x09,0xf8,0xc4,0x67,0x51,0x8b,0x60,0xd0,0xc4,0x0f,0x46,0xa2,0xe2,
+ 0x5b,0x8c,0xaf,0x88,0x6f,0x03,0x1f,0x68,0x2c,0x49,0x51,0x2c,0x42,0x42,
+ 0x02,0x18,0x24,0x88,0xa9,0x48,0x52,0x2a,0xa8,0x10,0x4b,0xb0,0xb6,0xb5,
+ 0x49,0xdb,0x14,0x53,0x28,0x6b,0x40,0x62,0x08,0x5a,0x1f,0x60,0xd2,0x92,
+ 0x15,0x57,0x58,0x1f,0x6b,0x17,0x90,0xa7,0x02,0x45,0x8b,0x08,0x08,0x08,
+ 0xfb,0xbc,0xfd,0x9f,0xc9,0x0c,0x9d,0x0e,0x33,0xbb,0x53,0x13,0x8a,0x37,
+ 0xf9,0x7f,0xd8,0xbb,0x73,0xee,0xf9,0xcd,0x7d,0x9c,0x73,0xee,0xb8,0xb8,
+ 0x0c,0x6b,0xbe,0x50,0x24,0xf4,0x1d,0xa4,0x83,0x9e,0x8c,0xb0,0x0c,0xd0,
+ 0xaf,0xd0,0x97,0x50,0x18,0xe4,0x3a,0x1c,0x69,0xa8,0x79,0x42,0x17,0x20,
+ 0x33,0xc4,0x04,0x79,0x78,0x78,0x58,0x46,0x5a,0x62,0x7f,0x50,0x27,0x14,
+ 0x0f,0xb9,0x4b,0xf8,0xbc,0xc6,0x8c,0x19,0xd3,0x41,0xcf,0xcc,0x9c,0x39,
+ 0xd3,0x92,0x9d,0x9d,0xdd,0x76,0xf7,0xee,0xdd,0x06,0x8b,0xc5,0x62,0x64,
+ 0x8c,0xfd,0x31,0xd2,0x1a,0x18,0x18,0x30,0xde,0xbe,0x7d,0xbb,0x29,0x35,
+ 0x35,0xf5,0x85,0xbb,0xbb,0xbb,0x8d,0x67,0xad,0x80,0xdc,0x78,0x3e,0x0f,
+ 0xf0,0xd1,0x9c,0xb3,0xe3,0xc7,0x8f,0xbf,0x04,0xd7,0x88,0x33,0x39,0x52,
+ 0x5f,0x5f,0x9f,0x71,0xeb,0xd6,0xad,0xbd,0x3c,0x67,0x0e,0xcf,0x98,0x46,
+ 0xbf,0xc3,0xc3,0xc3,0x3b,0x47,0x93,0x4d,0xc2,0x59,0xed,0xe7,0xe7,0xf7,
+ 0x96,0xe7,0x0c,0xa4,0x73,0xe1,0xea,0xea,0x6a,0xef,0xe9,0xe9,0xa9,0x1e,
+ 0x6d,0x36,0xb1,0xae,0x5c,0xb9,0xf2,0x8c,0x67,0xcc,0x80,0x6c,0xcb,0x97,
+ 0x2f,0x7f,0x3b,0xda,0x4c,0x52,0xd1,0x9c,0x8d,0x1b,0x37,0xce,0xce,0xef,
+ 0x4b,0xb6,0x6f,0xdf,0xbe,0x6e,0xf4,0x1b,0xe4,0x64,0xb3,0xd9,0x0c,0x67,
+ 0xce,0x9c,0x69,0x0b,0x0a,0x0a,0xea,0xda,0xbc,0x79,0xf3,0x9b,0x93,0x27,
+ 0x4f,0xb6,0xdf,0xba,0x75,0xab,0x41,0xe9,0x79,0x25,0x99,0xcd,0xe6,0x27,
+ 0x79,0x79,0x79,0xcd,0xc1,0xc1,0xc1,0x5d,0x7b,0xf7,0xee,0xed,0x0e,0x0d,
+ 0x0d,0x7d,0x5d,0x57,0x57,0x57,0xe3,0xc8,0x86,0xce,0x2f,0xf8,0x9e,0x12,
+ 0xe3,0x9e,0x3d,0x7b,0x5e,0xdb,0xed,0x76,0xbd,0x54,0x26,0x93,0xe9,0xc1,
+ 0xd2,0xa5,0x4b,0xfb,0x24,0xb1,0x81,0xd3,0xae,0x5d,0xbb,0xba,0xda,0xdb,
+ 0xdb,0x1f,0xcb,0xd9,0x49,0x75,0xf3,0xe6,0xcd,0x5a,0x4f,0x4f,0x4f,0xb3,
+ 0x74,0x0c,0x9c,0x55,0x96,0x9c,0x9c,0xdc,0xaa,0x64,0x07,0x46,0xb3,0xc0,
+ 0xb8,0x7b,0xf7,0xee,0x4e,0xf4,0xe9,0xa4,0x82,0xfd,0x73,0xfa,0x7f,0xe3,
+ 0xc6,0x8d,0x4c,0xa7,0xd3,0xb1,0x8e,0x8e,0x0e,0x96,0x9f,0x9f,0xcf,0xd6,
+ 0xaf,0x5f,0xcf,0xf9,0x98,0x38,0x71,0xa2,0x0d,0x73,0x6a,0x94,0xb3,0x15,
+ 0x74,0xf6,0xec,0xd9,0xa6,0xb1,0x63,0xc7,0x72,0x3c,0x51,0x51,0x51,0xcc,
+ 0x68,0x34,0xb2,0xd6,0xd6,0x56,0xa6,0xd5,0x6a,0xd9,0xbc,0x79,0xf3,0x18,
+ 0xad,0x67,0x45,0x45,0x85,0x41,0xce,0x76,0xc6,0x8c,0x19,0x62,0xc6,0x0e,
+ 0xcc,0xad,0x56,0x2a,0x1f,0x1f,0x9f,0x01,0x70,0x30,0xec,0x0d,0x26,0x6e,
+ 0x56,0xab,0x95,0xa5,0xa5,0xa5,0x31,0x9c,0x35,0xe2,0xb4,0x5e,0xbf,0x7e,
+ 0xdd,0x20,0x67,0x9f,0x94,0x94,0xc4,0xed,0xfb,0x39,0x73,0xe6,0xb0,0xfb,
+ 0xf7,0xef,0x33,0x69,0x2b,0x28,0x28,0x60,0x7c,0x4c,0xf9,0x53,0xce,0x1e,
+ 0x8c,0x26,0x81,0x71,0xe7,0xce,0x9d,0x7f,0xa1,0xef,0x37,0xa9,0x66,0xcd,
+ 0x9a,0x65,0x5a,0xb0,0x60,0xc1,0xb0,0xb1,0x85,0x76,0xf9,0xf2,0x65,0x31,
+ 0xe7,0x43,0xb1,0x6d,0x62,0x62,0x62,0x13,0x8d,0xed,0xed,0xed,0xcd,0xea,
+ 0xeb,0xeb,0x65,0xed,0xab,0xab,0xab,0x39,0xc6,0x90,0x90,0x90,0x76,0x39,
+ 0xff,0x62,0xc6,0x1d,0x3b,0x76,0xbc,0x40,0x5f,0xa9,0x54,0x18,0xbf,0x7f,
+ 0xd2,0xa4,0x49,0xac,0xbf,0xbf,0x5f,0x15,0x67,0x49,0x49,0x49,0x25,0xd9,
+ 0x25,0x24,0x24,0xd4,0xd3,0xb8,0xb4,0x96,0x4a,0x7c,0xd4,0xae,0x5d,0xbb,
+ 0xc6,0x31,0x1e,0x38,0x70,0xe0,0xb9,0x9c,0xff,0xe9,0xd3,0xa7,0x0f,0x0a,
+ 0x8c,0xdb,0xb7,0x6f,0xa7,0xf7,0xb8,0x21,0x55,0x64,0x64,0x64,0x23,0xfd,
+ 0x9f,0x93,0x93,0xa3,0xe8,0x47,0xcc,0x49,0x79,0x2c,0x3a,0x3a,0xba,0x41,
+ 0x0d,0x1f,0xb5,0xfd,0xfb,0xf7,0x73,0x8c,0xc5,0xc5,0xc5,0xf7,0xe4,0xfc,
+ 0x8b,0x19,0x03,0x03,0x03,0x69,0x3f,0x94,0x48,0xa5,0xd7,0xeb,0xef,0xd0,
+ 0x9e,0xc6,0x9a,0xb3,0x96,0x96,0x16,0x55,0x9c,0x6a,0xf9,0x0a,0x0b,0x0b,
+ 0xb9,0x67,0xe7,0xcf,0x9f,0xdf,0x8b,0xf8,0x36,0xcc,0x37,0x49,0xcc,0xb8,
+ 0x6d,0xdb,0xb6,0x56,0xf4,0x5d,0x95,0xd3,0x89,0x13,0x27,0x1e,0xd3,0x33,
+ 0xcb,0x96,0x2d,0x63,0xc8,0x51,0x4e,0x39,0x7d,0x7d,0x7d,0x9d,0xf2,0xd5,
+ 0xd6,0xd6,0x52,0x3d,0x45,0xf3,0x6e,0x2d,0x2f,0x2f,0x2f,0x53,0xf2,0x3d,
+ 0x6d,0xda,0xb4,0x01,0x81,0x11,0x39,0xbc,0x05,0x67,0xbd,0x50,0x49,0xf4,
+ 0x3f,0x3d,0xb7,0x76,0xed,0x5a,0xd6,0xdd,0xdd,0xed,0xd0,0xff,0xe0,0xe0,
+ 0xa0,0xc3,0xff,0x2b,0x2b,0x2b,0x19,0xe6,0x87,0x8b,0x45,0x17,0x2f,0x5e,
+ 0xd4,0x3a,0xf2,0x2b,0x66,0xdc,0xb2,0x65,0xcb,0x33,0x98,0xe7,0x2b,0x09,
+ 0x39,0x42,0x83,0xb9,0x6e,0x16,0x38,0xa5,0xb1,0x48,0x6d,0xab,0xaa,0xaa,
+ 0xe2,0xf8,0x10,0x2f,0xed,0xe9,0xe9,0xe9,0xf7,0x1c,0xf9,0x24,0x89,0x19,
+ 0x91,0xe3,0x9a,0xd1,0xf7,0xb3,0x23,0x81,0x33,0x17,0xf3,0xd9,0xf4,0xae,
+ 0x9c,0x62,0xbe,0x53,0xa7,0x4e,0x69,0x9d,0xf9,0x23,0x4d,0x9d,0x3a,0xf5,
+ 0xad,0xc0,0xb8,0x69,0xd3,0xa6,0x46,0xf4,0xfd,0xe4,0x4c,0xe0,0xcc,0xc1,
+ 0x9c,0x37,0xfc,0x57,0x4e,0x31,0x1f,0xea,0xd8,0x72,0x35,0xbe,0x48,0x62,
+ 0x46,0xe4,0xba,0x06,0xac,0xff,0xf7,0x6a,0x04,0xce,0x1f,0xe6,0xce,0x9d,
+ 0xdb,0xcd,0xc7,0x5e,0xa7,0x7c,0xc8,0xf9,0x6c,0xf2,0xe4,0xc9,0xdc,0x19,
+ 0x46,0x1d,0xf1,0x48,0xad,0x1f,0x12,0xce,0xd5,0x10,0xe3,0x86,0x0d,0x1b,
+ 0xea,0x30,0xdc,0xb7,0x6a,0x84,0x9c,0x5b,0xa1,0x36,0xbe,0x08,0x4d,0xa3,
+ 0xd1,0x70,0x71,0x69,0xc2,0x84,0x09,0x66,0x9c,0xfd,0x22,0xb5,0xbe,0xc0,
+ 0xd8,0x2f,0x30,0x06,0x04,0x04,0x3c,0x45,0xdf,0x57,0xce,0x74,0xf8,0xf0,
+ 0x61,0xed,0x7f,0xe5,0x93,0x72,0x8e,0x1f,0x3f,0xde,0x8c,0xba,0xa4,0x40,
+ 0x8d,0x3f,0x31,0x23,0xea,0x98,0x5a,0xf4,0x65,0x39,0x52,0x44,0x44,0x44,
+ 0xf9,0xbb,0xf2,0xc9,0x71,0xa2,0x96,0xd4,0x38,0xf3,0x39,0x65,0xca,0x94,
+ 0x3e,0x81,0x71,0xdd,0xba,0x75,0x74,0x4f,0xc8,0x54,0xd2,0xd1,0xa3,0x47,
+ 0x6f,0xf0,0x7c,0xf6,0x77,0xe5,0x93,0x72,0xba,0xb9,0xb9,0x59,0x8a,0x8a,
+ 0x8a,0x2e,0x39,0xf2,0x2b,0x66,0x5c,0xb3,0x66,0x0d,0xd5,0xe7,0xe9,0x72,
+ 0xca,0xca,0xca,0xd2,0x50,0xbc,0xf5,0xf2,0xf2,0x62,0x8d,0x8d,0x8d,0x0e,
+ 0xfd,0x23,0x77,0x52,0xed,0xeb,0xf4,0xbc,0x83,0x8d,0xe3,0xc4,0x5a,0xf6,
+ 0xa1,0x9e,0xcc,0x56,0xf2,0x2d,0x66,0x5c,0xbd,0x7a,0xf5,0x13,0xf4,0xa5,
+ 0x4a,0x85,0xda,0xe9,0x1c,0xd6,0xc5,0x84,0x9c,0xc5,0xc5,0x0f,0x47,0x4d,
+ 0x88,0x2f,0x6a,0xe3,0x12,0x6a,0x5f,0xee,0xd9,0xc5,0x8b,0x17,0xd7,0xcb,
+ 0xf9,0x26,0x21,0x1e,0xf4,0x0a,0x8c,0x2b,0x57,0xae,0xa4,0x1a,0x35,0x45,
+ 0xaa,0xb0,0xb0,0x30,0x6e,0x8d,0x71,0x9f,0x51,0xc3,0x67,0xa7,0xf9,0x5e,
+ 0xb4,0x68,0x91,0xaa,0xf8,0x89,0xd8,0x42,0xeb,0xc7,0x71,0xa2,0xa6,0xbb,
+ 0x20,0xe7,0x5f,0xcc,0xb8,0x62,0xc5,0x8a,0x47,0xe8,0xfb,0x4c,0x2a,0xac,
+ 0x6f,0x1b,0xad,0x09,0xdd,0x11,0x54,0xf0,0xd9,0xe3,0xe3,0xe3,0x0b,0x90,
+ 0xaf,0x93,0x57,0xad,0x5a,0xf5,0x50,0x0d,0x67,0x6e,0x6e,0x2e,0xc7,0x88,
+ 0x7b,0x58,0x99,0x9c,0x7f,0xd4,0xae,0x43,0x8c,0xb8,0xbb,0x52,0x0d,0x9d,
+ 0x28,0x15,0xde,0xe3,0xcd,0xc2,0x85,0x0b,0x55,0xf1,0xc5,0xc5,0xc5,0x69,
+ 0x04,0x3b,0x70,0x26,0xe1,0xbd,0xf5,0xce,0x38,0x6b,0x6a,0x6a,0x18,0x7f,
+ 0x66,0x75,0x72,0xfe,0xc1,0xf8,0x46,0x60,0x44,0xdd,0xa5,0x47,0x5f,0xbc,
+ 0x54,0xc8,0x45,0x9d,0x10,0xb3,0x58,0x2c,0xc3,0xc6,0x37,0x18,0x0c,0x43,
+ 0x7c,0x31,0x31,0x31,0x79,0x52,0x5b,0x70,0x26,0xf8,0xfb,0xfb,0x57,0xf1,
+ 0x73,0xc0,0x5e,0xbd,0x7a,0x35,0x6c,0x8c,0xd2,0xd2,0x52,0xc6,0xe7,0xb9,
+ 0xdf,0xe5,0xfc,0x8b,0x19,0x71,0x3f,0xa5,0x03,0x11,0x2b,0x15,0x6a,0x8d,
+ 0x32,0xfa,0xff,0xe0,0xc1,0x83,0x0c,0x39,0x90,0x1b,0x97,0x6a,0xb3,0x94,
+ 0x94,0x14,0xae,0xb6,0x22,0xbe,0xd8,0xd8,0xd8,0x4b,0x72,0xb6,0x24,0xd8,
+ 0xc4,0x2d,0x59,0xb2,0xe4,0x01,0x7f,0x87,0x64,0xe7,0xcf,0x9f,0x1f,0xaa,
+ 0xdd,0xba,0xba,0xba,0x18,0xde,0x81,0x63,0xcc,0xc8,0xc8,0xb8,0x20,0x67,
+ 0x0f,0x9b,0x1e,0x81,0xd1,0xcf,0xcf,0x8f,0x2e,0x6d,0xd1,0x52,0x35,0x37,
+ 0x37,0xd3,0xbb,0xd0,0x73,0x14,0x77,0x19,0xf2,0xb4,0xf8,0x9b,0x5f,0x27,
+ 0xea,0xbf,0x0c,0x39,0x3b,0xa9,0x70,0xf6,0x7e,0xc1,0xbe,0xe6,0xbe,0xe1,
+ 0x51,0x8c,0xa0,0xba,0x5e,0xa8,0xd9,0x71,0xae,0xf5,0x4a,0x76,0x62,0x46,
+ 0xbc,0x2b,0xed,0x87,0x48,0x39,0xe1,0x8e,0x10,0x83,0xf3,0x77,0x07,0xe3,
+ 0xb6,0xa2,0x9e,0x7b,0x89,0x73,0x54,0x7f,0xe8,0xd0,0xa1,0x1c,0xf0,0xc7,
+ 0x2a,0xd9,0xc8,0xa9,0xac,0xac,0x2c,0x09,0x77,0xe4,0xab,0xb8,0xd7,0xb7,
+ 0x61,0x8f,0xb4,0xe3,0x3e,0xdb,0x84,0xdc,0xff,0x23,0xf6,0x51,0x94,0x92,
+ 0x8d,0x98,0x11,0x77,0x0a,0x8a,0xe1,0xe1,0xef,0x93,0x7a,0x7b,0x7b,0x23,
+ 0x70,0x97,0xa2,0x6f,0x00,0x14,0x23,0x8c,0x98,0xf7,0x41,0xec,0x33,0xfa,
+ 0xef,0x93,0xf7,0x45,0x99,0x99,0x99,0xa9,0xfc,0xbe,0xfa,0x06,0xfa,0x9a,
+ 0x8f,0x51,0x54,0x57,0x7e,0xfc,0x3e,0xc8,0x6a,0xb5,0x86,0x62,0x6d,0x1f,
+ 0xf0,0x8c,0x1f,0x41,0xde,0x50,0x27,0xce,0xa8,0xed,0xd8,0xb1,0x63,0x5f,
+ 0xe0,0x99,0x90,0xd1,0x14,0xee,0xb1,0x21,0xc8,0xcd,0xc5,0x3c,0x5f,0xa5,
+ 0xcb,0x3f,0xdf,0x9b,0x03,0x20,0xba,0xcb,0x32,0x1f,0x1f,0x1f,0xdd,0xe9,
+ 0xd3,0xa7,0x13,0xf1,0x2e,0xc1,0xb0,0x09,0xfa,0xbf,0x84,0x7a,0x3d,0xf8,
+ 0xc8,0x91,0x23,0x9f,0xa3,0x8e,0x68,0xe3,0xf9,0xe8,0xfb,0xc3,0x07,0x2e,
+ 0xff,0x6e,0xfe,0xfc,0xfe,0x14,0xe2,0x8b,0x1d,0xf1,0xe5,0xf9,0xec,0xd9,
+ 0xb3,0x1f,0x8d,0xb0,0x1e,0xe3,0xfc,0xbe,0x14,0xf9,0xa5,0x6f,0xf6,0xf4,
+ 0x1d,0xfc,0x43,0x17,0xe5,0xf6,0x29,0xbf,0x47,0xef,0x41,0x26,0x91,0xed,
+ 0x48,0xea,0x05,0x44,0xf9,0xe2,0x9c,0xcc,0xdc,0xb9,0xfc,0x0d,0x45,0xac,
+ 0x59,0xc3
+};
+
+// help.png
+static const unsigned char image_2_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x79,0x4c,0x54,0x57,0x14,0xc6,
+ 0x87,0x45,0x45,0x21,0x4a,0x88,0x62,0x70,0xa9,0x31,0x11,0x81,0x49,0xf9,
+ 0x03,0x35,0x51,0x13,0xa8,0x46,0x0c,0x51,0x5c,0x80,0x88,0x0a,0x14,0x65,
+ 0x73,0x90,0x56,0x6b,0x42,0x6b,0x95,0x42,0x5a,0x1a,0xda,0x50,0x81,0xa6,
+ 0x18,0xa0,0x6c,0x51,0x94,0x68,0x59,0x9a,0x94,0x06,0x2d,0x20,0x18,0x62,
+ 0xa1,0x4a,0x0c,0x1d,0xb0,0xa0,0xa3,0x50,0x36,0xab,0x23,0x3b,0x8a,0xd0,
+ 0x11,0xcb,0x00,0xb7,0xdf,0x7d,0x1d,0xc8,0xcc,0xe5,0xbd,0x99,0x37,0x29,
+ 0x88,0x37,0xf9,0x65,0xc8,0xe1,0xcd,0x39,0xdf,0x9c,0x77,0xee,0xb9,0xe7,
+ 0x3d,0x89,0x64,0xda,0x32,0x03,0xfe,0x20,0x11,0xfc,0x02,0xee,0x83,0x07,
+ 0xb3,0x8c,0x1c,0x5c,0x04,0x9f,0x80,0x77,0xa7,0x4b,0xd2,0xd1,0x16,0x06,
+ 0x9e,0x01,0x32,0x89,0xa5,0xa5,0xe5,0xd8,0xe2,0xc5,0x8b,0xd5,0xb3,0x89,
+ 0x99,0x99,0xd9,0x84,0x56,0xcc,0x71,0x90,0x0b,0xde,0x61,0xf4,0x99,0x82,
+ 0x32,0x7a,0x8d,0xb9,0xb9,0xf9,0x44,0x4c,0x4c,0x4c,0x4f,0x59,0x59,0x59,
+ 0x47,0x67,0x67,0x67,0x13,0x21,0x44,0x31,0xdb,0x8c,0x8d,0x8d,0x29,0xe4,
+ 0x72,0x79,0x6b,0x7a,0x7a,0xfa,0x33,0x3b,0x3b,0xbb,0x51,0xaa,0xc3,0xc4,
+ 0xc4,0x64,0x18,0x9f,0x0e,0x5a,0x1a,0xcf,0x51,0xfb,0xa6,0x4d,0x9b,0x54,
+ 0x83,0x83,0x83,0x8f,0xde,0x84,0x2e,0x21,0x26,0x26,0x26,0x14,0x71,0x71,
+ 0x71,0xdd,0xd0,0x48,0x75,0x3e,0x85,0x2e,0x3b,0xe0,0x48,0xf5,0xad,0x59,
+ 0xb3,0xe6,0x9f,0xee,0xee,0xee,0x37,0x92,0x37,0x31,0x44,0x45,0x45,0xf5,
+ 0x68,0xee,0x7d,0x0e,0x88,0xa4,0x7f,0xa7,0xa5,0xa5,0x3d,0x9b,0x6b,0x5d,
+ 0xec,0xfd,0xb7,0xb6,0xb6,0x56,0x23,0x97,0x4a,0xe8,0xfb,0x99,0x6a,0x6c,
+ 0x6e,0x6e,0xfe,0x73,0xae,0x75,0xb1,0xec,0xda,0xb5,0xeb,0xa5,0x26,0x97,
+ 0x55,0xf4,0x13,0xba,0xef,0xc3,0xae,0x43,0x76,0x76,0xf6,0xd3,0xe5,0xcb,
+ 0x97,0x8f,0xd2,0x7d,0x34,0x53,0x2c,0x5c,0xb8,0x70,0x7c,0xc3,0x86,0x0d,
+ 0xaa,0xa3,0x47,0x8f,0x0e,0xa4,0xa4,0xa4,0x28,0xd5,0x6a,0xf5,0xb4,0xb8,
+ 0x93,0xc8,0x64,0xb2,0x7e,0x46,0x63,0x3d,0xea,0x55,0x07,0xa9,0x54,0xaa,
+ 0x32,0x35,0x35,0x25,0x9b,0x37,0x6f,0x9e,0x31,0xb0,0x2f,0xe9,0x5e,0x98,
+ 0xea,0x6d,0x4b,0x97,0x2e,0x1d,0xbd,0x71,0xe3,0x46,0x33,0x1b,0x9b,0x12,
+ 0x16,0x16,0xd6,0xc3,0x68,0xac,0x85,0x5d,0x07,0x07,0x07,0x07,0x95,0x95,
+ 0x95,0x15,0x99,0xe9,0x85,0x58,0xa4,0xb6,0xb6,0x96,0xc4,0xc7,0xc7,0x13,
+ 0xf4,0x46,0xb2,0x72,0xe5,0xca,0xd7,0xc8,0xe7,0xb4,0xf8,0xa1,0xa1,0xa1,
+ 0xdd,0x8c,0xc6,0x1a,0x7c,0x5d,0x07,0x68,0xfc,0x7b,0x36,0x34,0x6a,0xaf,
+ 0xc0,0xc0,0x40,0x2e,0x9f,0x55,0x55,0x55,0x0d,0x6c,0xfc,0x90,0x90,0x90,
+ 0x4e,0x6d,0x8d,0xe3,0xe3,0xe3,0xd5,0xb0,0xeb,0xb0,0x7e,0xfd,0xfa,0x59,
+ 0xd7,0x78,0xfa,0xf4,0x69,0x4e,0x63,0x45,0x45,0xc5,0x3d,0x36,0x7e,0x70,
+ 0x70,0xb0,0x92,0xd1,0x58,0x09,0xbb,0x0e,0xce,0xce,0xce,0x83,0xf4,0x7f,
+ 0x8b,0x16,0x2d,0x32,0x1a,0xfa,0xdb,0x4e,0x9d,0x3a,0x25,0x5a,0x23,0x6a,
+ 0x52,0xce,0xc6,0xc7,0xbe,0x7a,0xc2,0xdc,0xeb,0x72,0xd8,0x75,0xb8,0x76,
+ 0xed,0x5a,0xed,0xd6,0xad,0x5b,0xfb,0x90,0xcf,0x97,0xc6,0x02,0x8d,0x6a,
+ 0xea,0x17,0xe7,0x82,0x28,0x8d,0x38,0x7b,0xef,0xb2,0xf1,0x8f,0x1c,0x39,
+ 0xf2,0x98,0xc9,0x63,0x09,0xec,0x33,0xc6,0xce,0x9d,0x3b,0xb9,0x5a,0x52,
+ 0x2a,0x95,0xa2,0x34,0x96,0x96,0x96,0xde,0x61,0x7d,0xa0,0x56,0xdb,0x99,
+ 0x3c,0x16,0xc3,0x3e,0x63,0xb8,0xbb,0xbb,0x2b,0x8d,0xd1,0x58,0x52,0x52,
+ 0x52,0xcd,0xfa,0x08,0x08,0x08,0x68,0xd3,0xd6,0x88,0xbd,0x5f,0x84,0xfd,
+ 0xfe,0x93,0x21,0xca,0xcb,0xcb,0x2b,0xcf,0x9e,0x3d,0xdb,0xb0,0x67,0xcf,
+ 0x9e,0x8e,0xb5,0x6b,0xd7,0x0e,0xae,0x58,0xb1,0x62,0x98,0x0f,0x0b,0x0b,
+ 0x0b,0xee,0x5e,0xf7,0xf4,0xf4,0x88,0xd2,0x78,0xfd,0xfa,0xf5,0x5b,0x6c,
+ 0x2c,0x7f,0x7f,0xff,0x16,0x26,0x8f,0x85,0xf8,0x4a,0x81,0x3e,0xb0,0xcf,
+ 0x14,0xda,0xb3,0xe5,0xfc,0xf9,0xf3,0x89,0xad,0xad,0x2d,0x2f,0x98,0xb1,
+ 0x48,0x74,0x74,0xb4,0x5e,0x7d,0xda,0x1a,0x51,0xfb,0x37,0xd9,0x78,0x87,
+ 0x0f,0x1f,0x6e,0x66,0x34,0xfe,0x00,0xfb,0x55,0x21,0x12,0x13,0x13,0x6f,
+ 0x6b,0xe6,0x23,0x92,0x99,0x99,0x49,0x1a,0x1b,0x1b,0x69,0x0d,0x1b,0xd4,
+ 0x60,0x68,0xed,0xd8,0xb1,0x83,0xfe,0xd6,0x71,0xd4,0xc4,0x8f,0x6c,0xcc,
+ 0x43,0x87,0x0e,0x3d,0x62,0x34,0xe6,0xc2,0x7e,0x59,0x08,0x9c,0xb1,0xdc,
+ 0x7c,0xde,0xda,0xda,0x6a,0x30,0x2e,0xd5,0x3e,0x32,0x32,0xc2,0xcb,0x8b,
+ 0x17,0x2f,0x68,0x2f,0x24,0x49,0x49,0x49,0x64,0xe3,0xc6,0x8d,0x5c,0x0e,
+ 0x71,0x56,0xf4,0xf2,0xc5,0xf4,0xf5,0xf5,0x55,0x30,0xf5,0x78,0x11,0x35,
+ 0x70,0x81,0x8f,0x57,0xaf,0x5e,0xe5,0xcc,0x9b,0x37,0x6f,0xcc,0xc9,0xc9,
+ 0xc9,0xa0,0xbe,0xd8,0xd8,0x58,0x42,0xcf,0x78,0xed,0x9a,0xd0,0xc7,0xb6,
+ 0x6d,0xdb,0x5a,0x1f,0x3e,0x7c,0x98,0xc7,0x17,0xf7,0xc0,0x81,0x03,0xf7,
+ 0x99,0x3c,0x66,0x22,0x44,0x06,0x1f,0xe8,0x71,0xf4,0x79,0x88,0x78,0x7a,
+ 0x7a,0x1a,0xd4,0x88,0x99,0x8f,0xde,0x3b,0x35,0xfa,0xff,0x53,0x3e,0x5c,
+ 0x5c,0x5c,0xfe,0xc2,0x5e,0xa8,0x4b,0x48,0x48,0xa8,0xa8,0xaf,0xaf,0xbf,
+ 0x2a,0x14,0x93,0xe2,0xe3,0xe3,0xd3,0xc0,0x68,0x4c,0x83,0x3d,0x95,0x0f,
+ 0x68,0xcc,0x12,0xab,0x71,0xc9,0x92,0x25,0x64,0xd5,0xaa,0x55,0xfd,0x42,
+ 0xbe,0x8c,0xc1,0xdb,0xdb,0xfb,0x1e,0xa3,0xf1,0x3c,0xec,0xc9,0x7c,0x74,
+ 0x75,0x75,0x7d,0x4f,0xaf,0xa1,0xf5,0xd3,0xd4,0xd4,0xa4,0x17,0x7a,0x06,
+ 0x62,0x8e,0xe9,0x13,0xf2,0x65,0x0c,0xfb,0xf7,0xef,0xaf,0x67,0x34,0x7e,
+ 0x0b,0x7b,0x12,0x1f,0x43,0x43,0x43,0xdf,0xa1,0x1e,0xd5,0x62,0x6b,0x0c,
+ 0x75,0xfb,0x58,0xc8,0x97,0x31,0xec,0xdb,0xb7,0x4f,0xce,0x68,0xfc,0x06,
+ 0xf6,0x78,0x21,0x2e,0x5d,0xba,0x74,0x05,0x7d,0xe2,0xde,0x96,0x2d,0x5b,
+ 0x14,0xeb,0xd6,0xad,0x7b,0x82,0x1e,0x38,0x80,0xf9,0xf4,0xf9,0xb2,0x65,
+ 0xcb,0x9e,0xaf,0x5e,0xbd,0xba,0xdb,0xd1,0xd1,0xb1,0x63,0xfb,0xf6,0xed,
+ 0x7f,0xe0,0x7c,0xa9,0xc7,0x9c,0x95,0xa1,0xcf,0x97,0x58,0x70,0x4e,0xd4,
+ 0x32,0x1a,0xbf,0x82,0x3d,0x4e,0x08,0xec,0xb3,0x38,0xd4,0xc7,0x6d,0xec,
+ 0xd9,0x09,0xa1,0xfc,0xe1,0x6c,0x79,0x9d,0x93,0x93,0x73,0x59,0x9f,0x1f,
+ 0x63,0xd8,0xbd,0x7b,0xf7,0x5d,0xa6,0xf7,0xc4,0xc2,0xfe,0x85,0x10,0x7b,
+ 0xf7,0xee,0xfd,0x8d,0x5e,0x87,0xe7,0x1b,0x92,0x95,0x95,0x45,0x6a,0x6a,
+ 0x6a,0x48,0x7b,0x7b,0x3b,0x69,0x6b,0x6b,0x23,0x85,0x85,0x85,0xe4,0xd8,
+ 0xb1,0x63,0xf4,0xfd,0x01,0xa1,0x35,0x81,0x19,0x26,0x55,0x9f,0x2f,0xb1,
+ 0xe0,0x99,0xab,0x86,0xc9,0x63,0x0c,0xec,0xd1,0x7c,0x60,0xcf,0x7c,0x89,
+ 0x99,0x7e,0x0c,0xf7,0x94,0xa0,0x36,0x89,0xd0,0xca,0xcd,0xcd,0xe5,0xf2,
+ 0xe9,0xea,0xea,0xfa,0xbb,0x90,0x2f,0x63,0xf0,0xf0,0xf0,0xb8,0xcd,0xe4,
+ 0xf1,0x0c,0xec,0x9f,0xf2,0x91,0x91,0x91,0x91,0x4e,0xaf,0x89,0x8c,0x8c,
+ 0x14,0xd4,0x47,0x17,0x3d,0x5f,0xe8,0x7c,0x8b,0x5a,0xed,0x12,0xf2,0x65,
+ 0x0c,0x98,0xef,0xaa,0x19,0x8d,0x1f,0xc3,0x1e,0xc9,0x47,0x71,0x71,0x31,
+ 0xf7,0xae,0xe5,0xe0,0xc1,0x83,0x7a,0x35,0xf6,0xf6,0xf6,0x72,0xcf,0x7c,
+ 0x98,0x87,0x5a,0x84,0x7c,0x19,0x03,0xf6,0xe8,0xaf,0x8c,0x46,0x3a,0xd8,
+ 0x7f,0x24,0x04,0x7a,0xf3,0x00,0x8d,0x9f,0x9a,0x9a,0x4a,0xb0,0x7f,0xa6,
+ 0xe9,0x53,0xa9,0x54,0xdc,0x7c,0x40,0x7d,0xf9,0xf9,0xf9,0x15,0xe9,0xf3,
+ 0x25,0x16,0xf4,0x89,0x5b,0x8c,0xc6,0x0f,0x61,0xff,0x40,0x88,0xfc,0xfc,
+ 0xfc,0xaf,0x17,0x2c,0x58,0x30,0x42,0xaf,0x45,0x8f,0x26,0x5e,0x5e,0x5e,
+ 0xe4,0xf8,0xf1,0xe3,0x24,0x3c,0x3c,0x9c,0x60,0xde,0x98,0x7a,0x66,0x46,
+ 0x5f,0x7a,0x00,0xbd,0x27,0xf4,0xf9,0x12,0x0b,0xce,0xf2,0x4a,0x46,0x63,
+ 0x38,0xec,0x32,0x7d,0x54,0x57,0x57,0x9f,0x41,0x7f,0x96,0xe3,0x3c,0x1e,
+ 0x61,0xfb,0x8e,0x8d,0x8d,0x4d,0x57,0x50,0x50,0xd0,0x95,0xe1,0xe1,0xe1,
+ 0x08,0x43,0x7e,0xc4,0xe2,0xe6,0xe6,0x76,0x53,0xe3,0x9f,0x7b,0xef,0x58,
+ 0x57,0x57,0x47,0xf3,0x1b,0x2c,0x96,0xa2,0xa2,0xa2,0xa8,0xbc,0xbc,0xbc,
+ 0x98,0x82,0x82,0x82,0x68,0xfc,0xbe,0x10,0x63,0xbe,0x2b,0x16,0xcc,0x20,
+ 0x77,0x34,0x1a,0x3f,0xa7,0x9f,0x27,0x4f,0x9e,0x4c,0x81,0x3d,0xf0,0x6d,
+ 0x02,0x67,0x7f,0x1f,0xb4,0x0d,0x00,0x57,0xaa,0x11,0xfd,0xa2,0x05,0xbd,
+ 0xef,0x7d,0xfc,0xcf,0xef,0x6d,0x20,0x22,0x22,0xe2,0xbc,0x26,0x87,0x45,
+ 0x92,0xff,0x16,0xf7,0x7e,0x4f,0x2a,0x95,0xde,0x1a,0x1d,0x1d,0xa5,0x0d,
+ 0xc6,0x77,0x2e,0xc1,0x8c,0xfe,0x19,0xce,0x5c,0xfa,0xce,0x59,0x05,0xa4,
+ 0x1a,0x8d,0x96,0x80,0x9b,0xd5,0xd0,0x83,0xfb,0x64,0x32,0xd9,0x39,0xcc,
+ 0xf5,0x3e,0xb8,0xde,0xeb,0x4d,0x81,0xfe,0xef,0x95,0x9c,0x9c,0x1c,0x69,
+ 0x6f,0x6f,0x4f,0x7b,0x22,0x9d,0x09,0xe8,0xbb,0x7b,0x2f,0x89,0xee,0xb2,
+ 0x01,0xa9,0x60,0x6a,0x06,0xc3,0x8c,0xd0,0x8f,0xf3,0xb9,0x11,0x34,0xcc,
+ 0x26,0x98,0x9d,0x14,0x1a,0x5d,0x93,0x7d,0x82,0x3e,0x0f,0xbe,0x27,0x11,
+ 0x5e,0xd6,0x20,0x01,0x54,0x00,0xa5,0x44,0x22,0x6e,0x66,0xfc,0x9f,0xd0,
+ 0xfb,0x5a,0x07,0xae,0x80,0x13,0xc0,0x44,0x5b,0xd0,0xbf,0x6f,0xf5,0xde,
+ 0xd4
+};
+
+// keep_above_lit.png
+static const unsigned char image_3_data[] = {
+ 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x98,0x79,0x4c,0x15,0x57,0x14,0xc6,
+ 0x11,0x31,0xa2,0x28,0xae,0xb8,0xc7,0xdd,0x58,0x97,0x18,0xe3,0x82,0x1a,
+ 0x71,0x89,0x26,0xfd,0x83,0x54,0x6b,0x5d,0x08,0x1a,0xb4,0xb8,0xa0,0x52,
+ 0x45,0x2c,0x2e,0x68,0x5d,0x2a,0xc6,0x82,0x40,0x28,0x34,0x48,0x31,0x96,
+ 0x96,0x1a,0xaa,0x88,0xd5,0x82,0x28,0x60,0x01,0x2b,0x8b,0x20,0x8b,0xec,
+ 0xfb,0xe2,0x82,0x28,0x22,0xa4,0x96,0x36,0x61,0x7f,0xbc,0xe9,0x77,0xa6,
+ 0x33,0xe9,0xf5,0xf0,0xa0,0x56,0xfa,0x8a,0x37,0xf9,0x85,0x97,0xf9,0x66,
+ 0xe6,0x7c,0x33,0x73,0xef,0x39,0xe7,0x62,0x60,0xd0,0x6e,0xf4,0x00,0x1b,
+ 0x80,0x2b,0x08,0x05,0xb9,0x20,0x5f,0xcf,0x64,0x82,0x8b,0xe0,0x08,0x30,
+ 0x6f,0x6f,0xa9,0x9d,0xbf,0xf5,0xa0,0x0c,0x48,0x2a,0x7d,0xfa,0xf4,0x69,
+ 0x33,0x35,0x35,0x6d,0xd5,0x27,0x46,0x46,0x46,0x5a,0x31,0x26,0x08,0x03,
+ 0xd3,0x3a,0xf0,0x49,0xcf,0x23,0x19,0x1a,0x1a,0x6a,0x9d,0x9c,0x9c,0x6a,
+ 0xc2,0xc3,0xc3,0x9f,0x54,0x54,0x54,0x94,0x48,0x92,0x54,0xa0,0x6f,0x34,
+ 0x1a,0x4d,0x41,0x4e,0x4e,0x4e,0xf9,0x85,0x0b,0x17,0x9e,0x8d,0x1f,0x3f,
+ 0xbe,0x99,0x7c,0xf4,0xe8,0xd1,0xa3,0x05,0x7f,0x17,0x32,0x8f,0x0e,0xa4,
+ 0x4d,0x99,0x32,0xa5,0xb1,0xa6,0xa6,0xa6,0xf8,0xff,0xf0,0xd6,0x19,0x5e,
+ 0x5e,0x5e,0x55,0x3d,0x7b,0xf6,0xd4,0xc2,0x6b,0x1d,0x7c,0xbd,0xa7,0x78,
+ 0x34,0x03,0x6d,0x83,0x07,0x0f,0x6e,0x2d,0x29,0x29,0x29,0xed,0x6e,0x8f,
+ 0x2a,0x7e,0x7e,0x7e,0xcf,0x95,0x39,0x10,0xad,0xf8,0xa4,0x35,0x23,0x39,
+ 0x3b,0x3b,0xbf,0xec,0x6e,0x6f,0x9c,0xa9,0x53,0xa7,0x36,0xe2,0x9d,0x36,
+ 0xc1,0x9f,0x31,0xf0,0x25,0x9f,0xd1,0xd1,0xd1,0x8f,0xbb,0xdb,0x17,0x67,
+ 0xfb,0xf6,0xed,0xbf,0x2a,0xef,0x74,0x29,0xb8,0x4c,0xbf,0xcb,0xcb,0xcb,
+ 0x69,0x5e,0xe6,0xe9,0xa2,0xb5,0xb5,0x35,0xcf,0xd2,0xd2,0xb2,0x6e,0xf4,
+ 0xe8,0xd1,0xcd,0xbd,0x7a,0xf5,0xd2,0xd2,0xfa,0xec,0x0a,0xfd,0xfb,0xf7,
+ 0xd7,0x4c,0x9f,0x3e,0xbd,0x01,0xeb,0xa6,0xb2,0xa3,0x98,0xc4,0xa9,0x53,
+ 0xa7,0x5e,0x28,0x3e,0xd7,0xa8,0x3e,0xcb,0xca,0xca,0xf2,0xb5,0x5a,0x6d,
+ 0x26,0x27,0x26,0x26,0xa6,0xa4,0x77,0xef,0xde,0x6d,0x6a,0xce,0xc0,0x6f,
+ 0x69,0xd8,0xb0,0x61,0x5d,0x42,0xcc,0x41,0xd3,0xa6,0x4d,0xab,0xc7,0x7a,
+ 0x6f,0x17,0x97,0x38,0x79,0xf2,0xe4,0x33,0xee,0xb3,0xb4,0xb4,0x34,0x1b,
+ 0x5a,0x9a,0xc8,0x8b,0x17,0x2f,0x32,0xe9,0xfd,0x91,0xbe,0x62,0xc5,0x0a,
+ 0xe9,0xc1,0x83,0x07,0x12,0x8e,0x4b,0x5d,0x1d,0xf0,0x25,0x45,0x46,0x46,
+ 0x4a,0x63,0xc6,0x8c,0x91,0xbd,0xce,0x9f,0x3f,0xff,0x0f,0x1e,0x9b,0x38,
+ 0x71,0xe2,0xc4,0x53,0x1d,0x3e,0x33,0x70,0x8b,0x64,0x11,0x6b,0x6b,0xeb,
+ 0x6a,0xd2,0x56,0xaf,0x5e,0xdd,0x65,0x6f,0xba,0x46,0x55,0x55,0x95,0x84,
+ 0x3c,0x43,0xb9,0x52,0xaa,0xae,0xae,0x4e,0xe3,0xf1,0x8f,0x1f,0x3f,0xfe,
+ 0x84,0xfb,0x44,0x4e,0x4a,0x85,0x96,0x20,0x82,0x9c,0xdb,0x40,0xda,0xfd,
+ 0xfb,0xf7,0xf5,0xe2,0x93,0xc6,0xae,0x5d,0xbb,0xe4,0x77,0x8a,0x6f,0x5c,
+ 0xce,0xe3,0x1f,0x3b,0x76,0xec,0x21,0xf7,0x59,0x5c,0x5c,0x9c,0x04,0xed,
+ 0x8e,0xc8,0xd0,0xa1,0x43,0x29,0x27,0x48,0xb5,0xb5,0xb5,0x7a,0xf3,0xe9,
+ 0xe9,0xe9,0x29,0xfb,0xdc,0xba,0x75,0x6b,0x05,0x8f,0x7f,0xf4,0xe8,0xd1,
+ 0x32,0x1d,0x3e,0xe3,0xa1,0xfd,0x2c,0xa2,0xfa,0x7c,0xf9,0xf2,0xa5,0xde,
+ 0x7c,0xba,0xbb,0xbb,0xcb,0x3e,0xb7,0x6d,0xdb,0xf6,0x88,0xc7,0x3f,0x72,
+ 0xe4,0x48,0x31,0xf7,0x59,0x54,0x54,0xf4,0x0b,0xb4,0x08,0x11,0xf8,0x6c,
+ 0x24,0x0d,0xeb,0x49,0x6f,0x3e,0xcf,0x9e,0x3d,0xab,0xfa,0x7c,0xc8,0xe3,
+ 0x1f,0x3e,0x7c,0xb8,0x90,0xfb,0x2c,0x2c,0x2c,0x8c,0x86,0x76,0x43,0x04,
+ 0x3e,0xe5,0xf9,0x39,0x61,0xc2,0x04,0xaa,0xfd,0x7a,0x61,0xc8,0x90,0x21,
+ 0xaa,0xcf,0x52,0x1e,0xff,0xd0,0xa1,0x43,0xf9,0xdc,0x67,0x41,0x41,0x41,
+ 0x24,0x72,0xc1,0x75,0x11,0xd4,0xad,0x57,0xa4,0x0d,0x18,0x30,0xa0,0x69,
+ 0xd0,0xa0,0x41,0x7a,0xa1,0x6f,0xdf,0xbe,0xad,0xca,0x3a,0xca,0xe2,0xf1,
+ 0x0f,0x1c,0x38,0x90,0xab,0xc3,0x67,0x38,0x9e,0xe1,0x8a,0xc8,0xd2,0xa5,
+ 0x4b,0x9f,0x2a,0xb5,0x2a,0x8c,0x6b,0x1d,0x51,0x5f,0x5f,0x7f,0xb5,0xa9,
+ 0xa9,0x29,0xe4,0x4d,0xcf,0x47,0x5f,0x91,0x41,0x31,0x7c,0x7c,0x7c,0x92,
+ 0xb8,0x86,0xfe,0x32,0x8b,0xfb,0xcc,0xcf,0xcf,0x0f,0x85,0xf6,0x83,0xc8,
+ 0x92,0x25,0x4b,0x2a,0x94,0x5a,0x75,0x9d,0x6b,0xba,0xf0,0xf5,0xf5,0x8d,
+ 0x47,0xbd,0xd2,0xa0,0xb7,0x6e,0x09,0x0a,0x0a,0x8a,0x7d,0x93,0x6b,0xf0,
+ 0x6d,0xd3,0x29,0x86,0xb7,0xb7,0x77,0x22,0xd7,0xf6,0xef,0xdf,0x9f,0xc1,
+ 0x7d,0xe6,0xe5,0xe5,0xfd,0x08,0xed,0x7b,0x11,0x0b,0x0b,0x8b,0x27,0x4a,
+ 0x0d,0x08,0xe1,0x1a,0x27,0x22,0x22,0xe2,0x26,0xf5,0xd8,0xa8,0xdd,0xd4,
+ 0x6b,0x53,0x7d,0x6d,0x45,0xef,0xdb,0xee,0x9e,0x9c,0x83,0x07,0x0f,0xa6,
+ 0x52,0x0c,0xf4,0x9c,0x71,0x5c,0x73,0x74,0x74,0x4c,0xe7,0x3e,0x71,0xcf,
+ 0x60,0xcc,0x89,0x00,0x91,0xc5,0x8b,0x17,0x3f,0x52,0x6a,0xc0,0x25,0xae,
+ 0x89,0xb4,0xb5,0xb5,0x05,0x8c,0x1b,0x37,0x4e,0xee,0x6d,0xd0,0x0f,0x48,
+ 0x81,0x81,0x81,0xf2,0xda,0xa0,0xeb,0x3b,0xbb,0x8e,0xc0,0xb7,0x4d,0xa6,
+ 0x73,0x91,0x47,0xef,0x70,0xcd,0xc1,0xc1,0x21,0x85,0xfb,0xcc,0xce,0xce,
+ 0x0e,0xc2,0x33,0xf8,0x8b,0x2c,0x5a,0xb4,0xe8,0xa1,0xe2,0xf3,0x22,0xd7,
+ 0x44,0xdc,0xdc,0xdc,0x62,0xe8,0xbc,0x8d,0x1b,0x37,0xca,0xb9,0x86,0x7a,
+ 0x80,0xd9,0xb3,0x67,0xcb,0xf5,0x30,0x36,0x36,0x36,0xa4,0xb3,0x6b,0xf1,
+ 0x6d,0xef,0xd1,0xb5,0xc8,0xa3,0xd1,0x5c,0xdb,0xb3,0x67,0x4f,0xb2,0x0e,
+ 0x9f,0x81,0xd0,0x7c,0x45,0x16,0x2e,0x5c,0x58,0xa6,0xd4,0x80,0x6f,0xb9,
+ 0xa6,0xd2,0xd2,0xd2,0x72,0x6e,0xe4,0xc8,0x91,0xaf,0xd0,0xaf,0xd1,0xfc,
+ 0x90,0xd4,0x11,0x1a,0x1a,0x2a,0xbf,0x53,0xac,0xc5,0xe2,0x8e,0xae,0x25,
+ 0xf0,0x6d,0xe3,0xe9,0x3c,0xe4,0xd1,0x28,0xae,0xd9,0xdb,0xdb,0xdf,0xe3,
+ 0x3e,0xb3,0xb2,0xb2,0x02,0xa0,0x79,0x8b,0x2c,0x58,0xb0,0xa0,0x54,0xa9,
+ 0x01,0x17,0xb8,0xa6,0x82,0xf5,0x1a,0xa3,0xd4,0x3d,0x49,0x1c,0x98,0x0b,
+ 0xd2,0x8c,0x19,0x33,0xe4,0x7d,0x61,0x6a,0x6a,0xea,0x77,0x1d,0x5d,0x8f,
+ 0x6f,0x7b,0x97,0xae,0x77,0x75,0x75,0x8d,0xe0,0xda,0xee,0xdd,0xbb,0xe3,
+ 0xb9,0xcf,0x8c,0x8c,0x8c,0xf3,0xd0,0x3c,0x45,0xcc,0xcd,0xcd,0x4b,0x94,
+ 0x1a,0xf0,0x35,0xd7,0x88,0xcb,0x97,0x2f,0x5f,0x42,0xdf,0xa7,0xe9,0xd7,
+ 0xaf,0x9f,0x84,0xbd,0xa9,0xc4,0x47,0x70,0x70,0xb0,0xfc,0x4e,0xd1,0xbf,
+ 0xd5,0xa0,0x47,0xf0,0xd1,0x75,0x0f,0x7c,0xdb,0x3b,0x74,0xce,0x99,0x33,
+ 0x67,0xc2,0xb9,0xb6,0x73,0xe7,0xce,0xbb,0xdc,0x27,0x7a,0xcb,0x73,0xd0,
+ 0x5c,0x45,0xe6,0xcd,0x9b,0x57,0xa4,0xe4,0xd6,0xaf,0xb8,0x96,0x90,0x90,
+ 0xe0,0x0f,0x7f,0x0d,0xd8,0x17,0x4a,0x58,0xeb,0xed,0x3c,0xaa,0x03,0xb1,
+ 0x64,0xaf,0xb8,0x57,0x31,0xde,0xb1,0x1b,0xbf,0x0f,0xbe,0x2d,0xed,0xd3,
+ 0xa4,0xd3,0xa7,0x4f,0x87,0x72,0x6d,0xc7,0x8e,0x1d,0xb1,0xdc,0x67,0x7a,
+ 0x7a,0x3a,0x3d,0xef,0x69,0x91,0xb9,0x73,0xe7,0x16,0x2a,0x39,0xeb,0x4b,
+ 0xf1,0x78,0x5d,0x5d,0x9d,0xab,0x99,0x99,0x99,0xbc,0xbe,0xfd,0xfd,0xfd,
+ 0x3b,0xf4,0x48,0xa3,0xb9,0xb9,0x59,0x42,0x1e,0x96,0xbd,0x6e,0xde,0xbc,
+ 0xf9,0x0e,0x8f,0x81,0xbe,0xee,0x36,0x69,0xd8,0x63,0x5c,0xe3,0x1a,0x6a,
+ 0x69,0x34,0xf7,0x89,0x39,0xe4,0x05,0xed,0xa4,0xc8,0x9c,0x39,0x73,0xe4,
+ 0xfa,0x9a,0x9b,0x9b,0xeb,0x21,0x1e,0x5f,0xb6,0x6c,0x99,0x9c,0xd7,0xf6,
+ 0xee,0xdd,0xdb,0xa9,0x47,0x75,0xa0,0x46,0x49,0x58,0x6b,0x5a,0xbc,0x7b,
+ 0x4d,0x58,0x58,0x98,0x9f,0x78,0x2f,0x3b,0x3b,0xbb,0x08,0xa5,0x6e,0x86,
+ 0xf0,0xf8,0xb6,0xb6,0xb6,0xb7,0xb9,0xcf,0x94,0x94,0x14,0x77,0x68,0x9f,
+ 0x89,0x20,0xb7,0xe4,0x29,0xb9,0xd5,0x4d,0x3d,0x56,0x59,0x59,0xe9,0xa2,
+ 0xf6,0x26,0xf4,0xae,0x68,0x50,0x1e,0xa2,0x9e,0x0a,0x39,0x43,0xde,0x4f,
+ 0x24,0x27,0x27,0x4b,0x38,0xef,0xb5,0x3d,0x4a,0x78,0x78,0xb8,0xfa,0xfd,
+ 0x73,0xc4,0x18,0xd8,0x53,0xde,0xa4,0xe3,0xe8,0xdd,0x83,0x79,0xfc,0x2d,
+ 0x5b,0xb6,0x44,0x72,0x9f,0xb8,0xf7,0x17,0xd0,0x0e,0x89,0xe0,0x9e,0xf4,
+ 0xff,0x29,0x29,0x2a,0x2a,0xca,0x43,0x3d,0x86,0x35,0x75,0x0a,0x6b,0x58,
+ 0xde,0xd7,0x0d,0x1c,0x38,0x50,0x6b,0x62,0x62,0xf2,0xda,0xbe,0x4c,0x84,
+ 0xf2,0xe7,0xc4,0x89,0x13,0xe5,0x75,0x3f,0x73,0xe6,0x4c,0xf9,0xd8,0xe4,
+ 0xc9,0x93,0x4b,0xc5,0x18,0xeb,0xd6,0xad,0x93,0xdf,0x99,0x8b,0x8b,0x4b,
+ 0x20,0x8f,0x6f,0x63,0x63,0x73,0x93,0xfb,0x4c,0x4a,0x4a,0x72,0x81,0xf6,
+ 0xa9,0x08,0x9e,0xe7,0x27,0xd2,0x36,0x6c,0xd8,0x70,0x4b,0x3c,0xee,0xe1,
+ 0xe1,0x71,0x7e,0xec,0xd8,0xb1,0x8f,0xb0,0x77,0xac,0x1a,0x31,0x62,0xc4,
+ 0xb3,0x51,0xa3,0x46,0x3d,0x85,0x8f,0x1c,0xd4,0xd9,0xa4,0xb5,0x6b,0xd7,
+ 0x46,0xae,0x5c,0xb9,0xf2,0xee,0xac,0x59,0xb3,0xb2,0xb1,0xce,0x9f,0xa0,
+ 0x8e,0xd6,0x19,0x1b,0x1b,0xd3,0x7a,0xd3,0x60,0x2f,0x54,0x8b,0xba,0xef,
+ 0xa5,0xde,0x07,0xfb,0x6d,0x27,0xba,0x5e,0xc9,0x37,0x9f,0xf3,0xf8,0x9b,
+ 0x36,0x6d,0xba,0xc1,0x7d,0x26,0x26,0x26,0xd2,0x9c,0x70,0x10,0x49,0x4b,
+ 0x4b,0x3b,0x8e,0xbc,0xd3,0x8c,0xf7,0xa2,0x5d,0xb5,0x6a,0x55,0x64,0x63,
+ 0x63,0xa3,0x23,0x3f,0xe7,0x6d,0x41,0x0f,0x76,0x18,0x7b,0x62,0xb9,0x6f,
+ 0xa3,0xbf,0xba,0xce,0xc1,0x3e,0x32,0x94,0xfb,0x8c,0x8f,0x8f,0xa7,0x39,
+ 0x61,0xcf,0x41,0xbf,0xe5,0x45,0x5e,0xe9,0x1c,0xd4,0x9c,0x96,0x49,0x93,
+ 0x26,0x15,0xa0,0xbf,0xcd,0xeb,0x0a,0xe8,0xbf,0x9f,0xab,0x73,0x07,0xdf,
+ 0xa4,0x12,0xfb,0x1a,0x47,0x5d,0xb1,0xad,0xac,0xac,0xae,0x71,0x9f,0x71,
+ 0x71,0x71,0xce,0xd0,0xec,0x74,0x81,0xbe,0x6e,0x1f,0xe6,0x6a,0x22,0xfa,
+ 0x5a,0xda,0x27,0xf3,0xff,0x55,0xfe,0x6b,0xf0,0x7d,0xda,0x30,0x27,0xca,
+ 0x2c,0x2d,0x2d,0x6f,0xa0,0x57,0xdd,0xd5,0x51,0x5c,0xcc,0xdd,0xab,0x82,
+ 0xcf,0x6f,0xe8,0x77,0x40,0x40,0x00,0xcd,0x0f,0xdb,0x7f,0x02,0xb9,0x73,
+ 0x07,0xea,0xf8,0x27,0x6f,0x0b,0x9e,0xd9,0xfe,0x4d,0xe2,0x10,0xcb,0x97,
+ 0x2f,0xbf,0xa5,0xf8,0x7c,0x1f,0x6c,0xa5,0xdf,0x6b,0xd6,0xac,0xa1,0x7e,
+ 0xc9,0xe6,0x5d,0x02,0x6b,0x8c,0xfa,0x0b,0x0d,0x18,0x00,0xc6,0x93,0x4f,
+ 0x53,0x53,0xd3,0x2a,0xd4,0xe8,0x8f,0xa1,0x5b,0xbf,0x0b,0xf8,0xf9,0xf9,
+ 0x1d,0xc5,0xfc,0x20,0x8f,0x69,0x06,0x7f,0x8f,0x73,0xe4,0x15,0xb9,0x26,
+ 0xb3,0xa1,0xa1,0xc1,0x0a,0xe7,0xad,0xef,0x4e,0x90,0xbb,0x1c,0xb1,0x76,
+ 0xeb,0xe1,0x89,0xf6,0x78,0x16,0x82,0x4f,0x23,0x83,0xbf,0xfe,0x6f,0x4b,
+ 0xfb,0x85,0xdf,0xd1,0xef,0x7a,0xa3,0xd6,0x7d,0x84,0x6b,0x3e,0xfc,0x3f,
+ 0x41,0xaf,0xb0,0x0f,0x79,0x37,0x52,0x79,0x8f,0x34,0x2f,0xed,0x0d,0xda,
+ 0x0f,0x13,0x70,0x06,0x34,0xaa,0xeb,0x12,0x9e,0x7f,0x1b,0x3e,0x7c,0x78,
+ 0x2e,0xc8,0xd1,0x27,0xc8,0x4d,0xf9,0x94,0x03,0x84,0x9c,0x50,0x09,0x3e,
+ 0xd0,0xe1,0x51,0x1c,0xfd,0x14,0xbf,0x54,0x5b,0x1f,0xff,0x17,0x79,0xe8,
+ 0x0d,0xa0,0xf7,0x97,0x03,0xae,0x00,0x27,0x60,0xc8,0x4d,0xfd,0x09,0xc2,
+ 0x58,0x25,0x81
+};
+
+// keep_above.png
+static const unsigned char image_4_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x99,0x6b,0x4c,0x54,0x47,0x14,0xc7,
+ 0x57,0xf1,0x81,0xe2,0x03,0x71,0xf1,0x85,0x8a,0xf8,0x16,0xc5,0xf7,0x03,
+ 0xe5,0x83,0xb1,0xfa,0xc5,0x17,0x35,0xda,0x0f,0x0d,0x41,0xd3,0x10,0x5a,
+ 0x62,0x93,0x26,0x6d,0x08,0x58,0x8c,0xb5,0xd4,0x3e,0x68,0x81,0x60,0xb4,
+ 0xa8,0x24,0x85,0x56,0xa2,0xb5,0x08,0x02,0xb1,0x46,0x2d,0x52,0x8b,0x0a,
+ 0xc5,0xb4,0xe9,0x23,0xed,0xea,0x56,0x40,0x40,0x11,0x76,0x81,0x5d,0x40,
+ 0x14,0x5c,0xd8,0x95,0xbd,0xfd,0x9f,0x75,0x86,0x4e,0x67,0xef,0x22,0xa5,
+ 0xae,0x78,0x93,0x5f,0x80,0x73,0xee,0xcc,0xfc,0x77,0xe6,0x9c,0x33,0x33,
+ 0x8b,0x46,0xe3,0xf4,0xf8,0x81,0x48,0x70,0x04,0xfc,0x04,0x6e,0x3c,0x07,
+ 0x0a,0xc1,0x61,0x10,0x01,0x7c,0x9d,0x25,0x75,0x3f,0xde,0xe0,0x33,0x60,
+ 0x01,0x0a,0x67,0xd4,0xa8,0x51,0x36,0x77,0x23,0x8e,0x07,0x1e,0x80,0x7d,
+ 0xc0,0x4b,0xd2,0xe7,0x33,0x60,0xc0,0x80,0xbb,0x4c,0xd3,0xe3,0xe4,0xe4,
+ 0x64,0x43,0x71,0x71,0x71,0xa5,0xd5,0x6a,0xd5,0x2b,0x8a,0x72,0xd3,0xdd,
+ 0x74,0x76,0x76,0xea,0x8b,0x8a,0x8a,0xaa,0x12,0x12,0x12,0x8c,0xc3,0x87,
+ 0x0f,0x7f,0xcc,0xb4,0xde,0x14,0x74,0x7a,0x82,0x52,0xb2,0x87,0x87,0x87,
+ 0x37,0x3f,0x2f,0x5d,0xae,0xb0,0x58,0x2c,0xfa,0xd0,0xd0,0xd0,0xfb,0x4c,
+ 0xe7,0x39,0xe0,0x01,0xde,0xa6,0xbf,0xb7,0x6e,0xdd,0xda,0x6a,0xb7,0xdb,
+ 0xfb,0x4d,0x9b,0x08,0xcd,0x53,0x48,0x48,0x48,0x1b,0xd3,0x19,0x06,0x2e,
+ 0xd0,0xef,0x55,0x55,0x55,0x65,0xfd,0xad,0x4d,0xa4,0xa4,0xa4,0xa4,0x92,
+ 0x69,0xfc,0x8a,0x72,0xc4,0xdf,0xdf,0xbf,0xb3,0xbf,0x35,0xc9,0xd8,0x6c,
+ 0xb6,0x9b,0x23,0x47,0x8e,0xa4,0xd8,0x74,0x68,0x5d,0xb3,0x66,0xcd,0x43,
+ 0xd8,0x75,0xae,0x30,0x1a,0x8d,0xfa,0x15,0x2b,0x56,0xb4,0xf9,0xf8,0xf8,
+ 0xd8,0x06,0x0d,0x1a,0x64,0xff,0x3f,0x0c,0x1e,0x3c,0xd8,0xae,0xd5,0x6a,
+ 0x6d,0x34,0x66,0x4b,0x4b,0x8b,0xbe,0xa7,0x71,0x67,0xcd,0x9a,0x65,0x41,
+ 0x2e,0x3b,0x62,0x73,0xf5,0xea,0xd5,0x0f,0x10,0x8b,0xbf,0xa9,0xb1,0x73,
+ 0xe7,0x4e,0x93,0x58,0x1b,0x46,0x8f,0x1e,0xad,0x8c,0x1b,0x37,0xae,0xcf,
+ 0x8c,0x18,0x31,0x42,0xac,0x33,0x4a,0x4c,0x4c,0x8c,0xc1,0xd5,0xd8,0xa2,
+ 0xc6,0xe0,0xe0,0x60,0xca,0x97,0x9f,0x65,0x92,0x92,0x92,0xaa,0xf1,0x8e,
+ 0xe2,0xe5,0xe5,0xa5,0x64,0x66,0x66,0x2a,0x98,0x4f,0xe5,0x59,0x3c,0x3a,
+ 0x9d,0x4e,0x89,0x8b,0x8b,0x53,0x30,0xa7,0x0a,0xf5,0x7f,0xfa,0xf4,0xe9,
+ 0x32,0xb5,0xf1,0x67,0xce,0x9c,0xf9,0x88,0x6b,0x5c,0xb5,0x6a,0xd5,0x7d,
+ 0x34,0x2d,0x95,0x41,0x3c,0xd8,0xa8,0x8f,0xab,0x57,0xaf,0x3e,0x13,0x6d,
+ 0xf2,0x73,0xf4,0xe8,0x51,0xc7,0x5c,0xfa,0xf9,0xf9,0x59,0xd4,0xc6,0x87,
+ 0xc6,0x76,0xae,0x71,0xe5,0xca,0x95,0x2d,0xb0,0x5d,0x13,0x69,0x6b,0x6b,
+ 0x2b,0x21,0x7d,0x73,0xe7,0xce,0x75,0x8b,0x3e,0x7a,0x50,0x63,0x14,0xd4,
+ 0x6c,0xc5,0xc3,0xc3,0xc3,0x2e,0x8f,0x4f,0xcc,0x98,0x31,0xa3,0x8d,0x6b,
+ 0x44,0x3e,0x34,0xc3,0xf6,0x83,0x48,0x79,0x79,0xf9,0x8f,0xe4,0xdb,0xb2,
+ 0x65,0x8b,0xdb,0x34,0xd2,0x33,0x7f,0xfe,0x7c,0xc7,0x7a,0xe3,0xb9,0x2c,
+ 0x33,0x7d,0xfa,0xf4,0x6e,0x8d,0xcb,0x97,0x2f,0x6f,0x82,0xad,0x40,0xa4,
+ 0xa2,0xa2,0xe2,0x0a,0xf9,0x36,0x6f,0xde,0xec,0x56,0x8d,0xf3,0xe6,0xcd,
+ 0xe3,0x1a,0x0b,0x64,0x02,0x02,0x02,0x1e,0x72,0x8d,0xcb,0x96,0x2d,0x33,
+ 0xc3,0x76,0x5e,0x04,0x35,0xfd,0x7b,0xf2,0x6d,0xdc,0xb8,0xd1,0xad,0x1a,
+ 0xe7,0xcc,0x99,0xc3,0x35,0x9e,0x97,0x81,0xc6,0x07,0x82,0x46,0x13,0x6c,
+ 0x67,0x45,0xaa,0xab,0xab,0xbf,0x23,0x1f,0xc5,0x0b,0x6a,0x80,0xdb,0xe0,
+ 0xb9,0x2d,0x8f,0x4f,0x4c,0x9b,0x36,0xad,0x5b,0xe3,0x92,0x25,0x4b,0x1a,
+ 0x90,0xeb,0xb9,0x22,0x26,0x93,0xe9,0x2c,0xf9,0xd0,0x47,0xd7,0x98,0x31,
+ 0x63,0x3a,0xdc,0x05,0xd5,0x75,0xca,0x19,0x79,0x7c,0x02,0xfb,0x5f,0x2b,
+ 0xd7,0xb8,0x78,0xf1,0xe2,0x7a,0xe8,0xce,0x12,0x31,0x9b,0xcd,0x67,0x58,
+ 0x3e,0x19,0x64,0x5f,0x4f,0x60,0xef,0x38,0xd3,0xd5,0xd5,0xd5,0xeb,0xf7,
+ 0x91,0xbb,0xcd,0x43,0x87,0x0e,0xb5,0xa9,0xf9,0xa0,0xf1,0x3e,0xd7,0xb8,
+ 0x68,0xd1,0x22,0x2a,0xce,0x27,0x45,0xa0,0x31,0x8b,0xe5,0x53,0x9d,0xec,
+ 0x53,0xa3,0xbd,0xbd,0xfd,0x54,0x58,0x58,0x18,0x9d,0xf9,0x94,0xa9,0x53,
+ 0xa7,0xb6,0x54,0x56,0x56,0x9e,0xe9,0x4d,0x3b,0xe4,0x6e,0x13,0xd3,0xe8,
+ 0xe4,0xa3,0x7e,0xb8,0xc6,0x85,0x0b,0x17,0xd2,0x5c,0x1d,0x17,0x81,0xc6,
+ 0xaf,0x59,0xac,0xd6,0xca,0x3e,0x35,0x76,0xec,0xd8,0xa1,0x67,0x67,0x64,
+ 0x0b,0x9b,0xff,0x7b,0xbd,0x69,0x87,0xbc,0xe0,0x1a,0x9d,0x7c,0x53,0xa6,
+ 0x4c,0xe9,0xd6,0x18,0x14,0x14,0x54,0x87,0xf5,0x4f,0x17,0x69,0x6c,0x6c,
+ 0xcc,0x64,0xb1,0x7a,0x4f,0xf6,0xc9,0x5c,0xba,0x74,0x29,0x0f,0x7d,0xd9,
+ 0xc7,0x8f,0x1f,0xdf,0x8a,0xb5,0x3e,0x8e,0x7a,0x62,0xa4,0xb6,0x69,0x69,
+ 0x69,0x05,0x4f,0x6b,0x8b,0xbc,0x30,0x93,0x46,0x35,0x1f,0x34,0x36,0x73,
+ 0x8d,0x0b,0x16,0x2c,0xa0,0xb9,0x3a,0x26,0x02,0x8d,0xe9,0x2c,0x56,0xef,
+ 0xca,0x3e,0x19,0xc4,0x4a,0x0d,0xbd,0x9b,0x9e,0x9e,0x7e,0x8e,0xfe,0xc6,
+ 0xb9,0xdf,0x11,0x27,0x88,0xb5,0x86,0xa7,0xb5,0x45,0xcc,0x99,0xd8,0x3c,
+ 0x3a,0xf9,0x26,0x4f,0x9e,0xdc,0xc4,0x35,0xa2,0xd6,0xd3,0xba,0x7c,0x2e,
+ 0x02,0x8d,0x69,0x2c,0x56,0xef,0xc8,0x3e,0x91,0xac,0xac,0x2c,0x47,0x6e,
+ 0x61,0xee,0x6a,0x45,0x3b,0xe2,0xb8,0x8a,0xec,0x19,0x19,0x19,0xf9,0x3d,
+ 0xb5,0x87,0xc6,0xc6,0x21,0x43,0x86,0x58,0xd5,0x7c,0xd8,0xc7,0xcd,0x5c,
+ 0x63,0x60,0x60,0x60,0x0d,0x6c,0x07,0x45,0xa0,0x31,0x95,0xc5,0x6a,0xb5,
+ 0xec,0xe3,0x20,0x7f,0x0f,0x62,0xdf,0x37,0xd0,0x7b,0x27,0x4e,0x9c,0xc8,
+ 0x16,0x7d,0xd9,0xd9,0xd9,0xdf,0x90,0x7d,0xf6,0xec,0xd9,0xb5,0xae,0xda,
+ 0x13,0xc8,0x8b,0x06,0xa6,0xd1,0xc9,0x27,0x6a,0xc4,0x1c,0xd0,0x7a,0x26,
+ 0x89,0x34,0x34,0x34,0x1c,0x62,0xb1,0x5a,0x25,0xfb,0x38,0x9b,0x36,0x6d,
+ 0xfa,0x95,0xc5,0xc3,0x6d,0x35,0x3f,0x62,0xa8,0x9a,0xfc,0xbb,0x76,0xed,
+ 0x2a,0x76,0xd5,0x07,0x62,0x8e,0x6b,0x74,0xf2,0x4d,0x9a,0x34,0xc9,0xc4,
+ 0x35,0xe2,0x6c,0x43,0x73,0xf5,0x89,0x48,0x7d,0x7d,0x7d,0x32,0x8b,0xd5,
+ 0x4a,0xd9,0x47,0x44,0x45,0x45,0xd1,0xbd,0x5d,0x99,0x30,0x61,0x82,0xa9,
+ 0xa6,0xa6,0x26,0x45,0xed,0x1d,0xbd,0x5e,0x7f,0xc8,0xdb,0xdb,0x9b,0xea,
+ 0xb0,0x3d,0x31,0x31,0x31,0x47,0xed,0x1d,0xc4,0x5c,0x3d,0xd3,0xe8,0xe4,
+ 0x9b,0x38,0x71,0x62,0x23,0xc6,0x68,0xa1,0x71,0xb0,0x67,0xd2,0x5c,0x1d,
+ 0x10,0xc1,0x79,0xf6,0x53,0x16,0xab,0xb7,0x65,0x5f,0x6a,0x6a,0xea,0x49,
+ 0xf2,0xe1,0x7c,0xf9,0xf0,0xfa,0xf5,0xeb,0x87,0x65,0xbf,0x48,0x4e,0x4e,
+ 0xce,0x17,0xd8,0xab,0xac,0xd8,0x4b,0xba,0x90,0x4b,0xa9,0xb2,0x1f,0x1a,
+ 0x8d,0x4c,0xa3,0x53,0x5b,0x7c,0xfe,0x06,0xae,0x11,0x31,0x43,0x73,0xb5,
+ 0x5f,0x04,0x1a,0x3f,0x62,0xb1,0x5a,0x2e,0xda,0x51,0x9b,0x13,0x70,0x2e,
+ 0x6f,0x1b,0x38,0x70,0x60,0x17,0x62,0xee,0x98,0xdc,0x4e,0x8d,0xd8,0xd8,
+ 0xd8,0x5c,0xea,0x0b,0xb5,0xf0,0x2e,0xee,0xfb,0xef,0x8b,0x3e,0xc4,0x9c,
+ 0x01,0x9f,0xa1,0x53,0xad,0x9d,0xa8,0x11,0x7b,0x3b,0xcd,0xd5,0x5e,0x11,
+ 0x83,0xc1,0x10,0xcf,0x62,0xb5,0x4c,0xb4,0x47,0x46,0x46,0x7e,0x4b,0xf6,
+ 0xed,0xdb,0xb7,0x5f,0xe6,0x36,0x8c,0xbb,0xaf,0xb8,0xb8,0x38,0x09,0xf7,
+ 0x89,0x63,0xb8,0x5f,0x1c,0xcf,0xcb,0xcb,0x3b,0x8c,0xcf,0xf2,0xa1,0xd8,
+ 0x8e,0xfa,0xa1,0x76,0x29,0x29,0x29,0x5f,0x8a,0x76,0xc4,0x5c,0x1d,0xd3,
+ 0xb8,0x57,0x06,0xf5,0xb6,0x9e,0x6b,0x44,0x6e,0x56,0xc0,0x16,0x23,0x82,
+ 0x5a,0x1c,0xc7,0xf6,0xb5,0x3b,0xa2,0x1d,0x77,0x30,0x87,0x46,0xac,0x9d,
+ 0x0d,0x75,0xcd,0x42,0xfd,0x4b,0xdf,0xd7,0x74,0x43,0x71,0x88,0xbb,0xa4,
+ 0x19,0x63,0x19,0x70,0xd7,0xa2,0xef,0x71,0x94,0xe8,0xe8,0xe8,0x53,0x62,
+ 0x7f,0x38,0x57,0x98,0x87,0x0d,0x1b,0xd6,0x2e,0x8f,0x4f,0xe0,0x8e,0x66,
+ 0xe4,0x1a,0x51,0x6b,0x69,0x3d,0xdf,0x91,0xc1,0x5c,0xd7,0x62,0x9c,0x2e,
+ 0xdc,0xc7,0x0f,0x70,0x1b,0xce,0x43,0xb1,0xc8,0xe7,0x42,0xf2,0xa1,0x0f,
+ 0x03,0xfd,0x44,0xfb,0xb2,0xa5,0x4b,0x97,0xfe,0xb2,0x7e,0xfd,0xfa,0x2b,
+ 0x98,0xdf,0x0b,0x21,0x21,0x21,0xa5,0x88,0x71,0x3d,0xf9,0xa1,0xad,0x15,
+ 0xf1,0x66,0xc1,0xe7,0x79,0xb4,0x61,0xc3,0x86,0xa2,0x8e,0x8e,0x8e,0x68,
+ 0xde,0x57,0x6e,0x6e,0x6e,0x22,0x8b,0xb5,0xbf,0xd4,0xc6,0xa7,0xf6,0x5c,
+ 0x23,0xf6,0x75,0x5a,0xcf,0xb7,0x64,0x22,0x22,0x22,0x1c,0xfb,0xc5,0xd8,
+ 0xb1,0x63,0x8d,0x85,0x85,0x85,0x1f,0xa8,0xbd,0xd3,0x57,0xf2,0xf3,0xf3,
+ 0x3f,0xc6,0xde,0xde,0x44,0xfd,0x27,0x24,0x24,0x1c,0x51,0x7b,0xc7,0xd7,
+ 0xd7,0xb7,0x5b,0x23,0x62,0xf9,0x16,0x6c,0xbb,0xd5,0xc0,0x7e,0x51,0xca,
+ 0xd7,0x0e,0x7d,0x9a,0x11,0xbb,0x37,0x80,0xae,0xaf,0x20,0xae,0x6e,0xd0,
+ 0xbc,0xf2,0x3e,0x43,0x43,0x43,0xcf,0xba,0x1a,0x5b,0xab,0xd5,0xd6,0x71,
+ 0x8d,0xd8,0xd7,0x69,0xae,0x5f,0x77,0x05,0xf2,0x77,0x3f,0xfa,0xfe,0x13,
+ 0x71,0xd3,0xea,0x2a,0xf6,0xfe,0x0b,0xa8,0x0b,0x2d,0x88,0x85,0xdf,0x2f,
+ 0x5e,0xbc,0xb8,0xb7,0xa7,0x71,0xb1,0x7e,0xb5,0x4c,0xe3,0x63,0xe8,0xa5,
+ 0xbd,0xf0,0xb5,0xde,0x80,0x7a,0x1d,0x85,0x3b,0xe3,0x9b,0x7d,0xa5,0xae,
+ 0xae,0xee,0x8d,0xde,0x8e,0xe5,0xe9,0xe9,0x49,0x79,0x46,0x3a,0xaf,0x51,
+ 0xfe,0xe9,0x74,0xba,0x28,0xd8,0xc3,0x5f,0x14,0x50,0xfb,0x63,0xd8,0xbc,
+ 0xe7,0x00,0x47,0x1d,0x5c,0xbb,0x76,0x6d,0x2e,0x7c,0xaf,0xbe,0x28,0x60,
+ 0x7f,0x2e,0x61,0x1a,0x77,0x03,0x2d,0x9b,0x4f,0x3b,0xce,0xfa,0xb4,0x57,
+ 0xbd,0xd2,0xdf,0xac,0x5b,0xb7,0x2e,0x8b,0xe9,0xbb,0xa5,0xf9,0xe7,0xfb,
+ 0xe6,0x20,0xcd,0x93,0xef,0xca,0x15,0xc4,0x66,0x59,0x7c,0x7c,0xfc,0xbb,
+ 0x36,0x9b,0x6d,0x1b,0xde,0x7f,0xf9,0x79,0x61,0xb5,0x5a,0xb7,0xed,0xd9,
+ 0xb3,0xe7,0x3d,0x9c,0x41,0xee,0x30,0x7d,0xb4,0x0f,0xfa,0x6b,0xfe,0xfd,
+ 0x04,0x82,0x02,0x21,0xff,0xec,0xa8,0xbf,0xb5,0xd8,0x23,0xfe,0x70,0x37,
+ 0xc8,0x73,0xa3,0x38,0x2e,0xa0,0x73,0x73,0x80,0xc6,0xf5,0xf3,0x12,0xa0,
+ 0xf3,0x2d,0x7d,0xdf,0xd3,0xf1,0x2c,0x6a,0x4d,0x2f,0x78,0x44,0xb9,0xab,
+ 0x79,0xf2,0x3f,0x9a,0x60,0x59,0xd0,0xdf,0x12,0xee,0x16,0x45
+};
+
+// keep_below_lit.png
+static const unsigned char image_5_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x79,0x4c,0x54,0x57,0x14,0xc6,
+ 0xc1,0x05,0x51,0x5c,0x41,0x05,0x94,0x62,0xdc,0x77,0x5c,0xc0,0x7d,0x01,
+ 0x97,0x3f,0x30,0xc6,0x96,0xc4,0xaa,0x98,0x34,0x15,0x1b,0x68,0xda,0x26,
+ 0x35,0x69,0x4c,0x0d,0x45,0x5b,0x1b,0x44,0x25,0xb4,0x0d,0x18,0x0b,0x88,
+ 0x69,0x6d,0x69,0xdd,0xab,0x2d,0x26,0x4a,0x34,0xed,0x34,0x20,0x55,0x42,
+ 0x01,0xed,0x80,0x33,0x30,0x2c,0xca,0x32,0x3a,0x53,0x06,0x65,0x44,0x66,
+ 0x86,0x6d,0xe6,0xf6,0x3b,0xcf,0xf7,0xcc,0xf3,0xf2,0x06,0x0d,0x74,0x94,
+ 0x97,0xfc,0x32,0x70,0xcf,0xbd,0xf7,0x7c,0x73,0xef,0xb9,0xe7,0x9e,0x37,
+ 0x6e,0x6e,0x5d,0x1e,0x6f,0xb0,0x13,0xa4,0x80,0x6b,0xe0,0xce,0x2b,0xa0,
+ 0x00,0xa4,0x83,0x68,0x10,0xd8,0x55,0xd2,0xb3,0xc7,0x13,0xec,0x01,0x4d,
+ 0x80,0x49,0x0c,0x1f,0x3e,0xbc,0xc3,0xd5,0xc8,0xfd,0x81,0x36,0x90,0x0c,
+ 0x7c,0x14,0xf4,0xdd,0xa2,0x3e,0x83,0x07,0x0f,0xb6,0x27,0x24,0x24,0x18,
+ 0x54,0x2a,0xd5,0x5d,0x9b,0xcd,0xa6,0x65,0x8c,0x69,0x5c,0x4d,0x7b,0x7b,
+ 0xbb,0xf6,0xc6,0x8d,0x1b,0xd5,0xc9,0xc9,0xc9,0x0f,0x46,0x8d,0x1a,0x25,
+ 0x68,0x76,0x77,0x77,0x37,0xe0,0xd3,0x57,0xd4,0xe7,0x0e,0xce,0x53,0x7b,
+ 0x78,0x78,0x78,0xb3,0xc5,0x62,0x79,0x25,0xba,0x9c,0xd1,0xd1,0xd1,0xa1,
+ 0x8d,0x8e,0x8e,0x7e,0x28,0xae,0x29,0xad,0x9b,0x17,0x78,0x93,0xfe,0x0f,
+ 0x0e,0x0e,0xb6,0x58,0xad,0xd6,0xd7,0xaa,0x4f,0xce,0xb6,0x6d,0xdb,0xa4,
+ 0x98,0xdb,0x07,0x8e,0xd2,0xdf,0x57,0xaf,0x5e,0xbd,0xf7,0xba,0x75,0xc9,
+ 0x69,0x68,0x68,0x28,0xc7,0x7e,0x3b,0xa0,0x2d,0x17,0xa8,0x07,0x0d,0x1a,
+ 0x64,0xef,0x4b,0x6b,0x28,0x31,0x73,0xe6,0x4c,0x1b,0xf4,0x51,0x7c,0xea,
+ 0x03,0x02,0x02,0xda,0xd0,0x56,0xea,0x0c,0xb3,0xd9,0xac,0x59,0xb9,0x72,
+ 0xe5,0x93,0x31,0x63,0xc6,0x74,0x0c,0x1c,0x38,0xd0,0x31,0x60,0xc0,0x80,
+ 0x5e,0x41,0xe7,0x22,0x24,0x24,0xa4,0x45,0xaf,0xd7,0x6b,0xbb,0xf3,0xbb,
+ 0x7e,0xfd,0xfa,0xc7,0xe2,0x7e,0xeb,0xc7,0x8f,0x1f,0xdf,0xe6,0x70,0x38,
+ 0x6e,0x29,0xb1,0x77,0xef,0x5e,0x3d,0xd6,0xfc,0x59,0x6e,0x18,0x3a,0x74,
+ 0x28,0x1b,0x3b,0x76,0x6c,0x8f,0x19,0x31,0x62,0x84,0x3c,0xcf,0x30,0xc4,
+ 0x9d,0xc9,0x99,0xef,0x75,0xeb,0xd6,0x99,0x25,0x8d,0xe3,0xc6,0x8d,0x6b,
+ 0x45,0xdb,0xdf,0x3c,0x59,0x59,0x59,0x14,0x13,0x0c,0x6b,0xc7,0x62,0x63,
+ 0x63,0x59,0x69,0x29,0x7d,0xbd,0xde,0x3f,0x46,0xa3,0x91,0x65,0x66,0x66,
+ 0x32,0x2f,0x2f,0x2f,0xca,0x31,0x0c,0xb9,0xae,0x56,0xc9,0xff,0xda,0xb5,
+ 0x6b,0x9b,0xe4,0x1a,0x31,0xf4,0x26,0xcf,0x84,0x09,0x13,0xac,0xd4,0x27,
+ 0x35,0x35,0xf5,0x7f,0xd1,0xc6,0x3f,0xb9,0xb9,0xb9,0x82,0x46,0x68,0xed,
+ 0x54,0xf2,0xbf,0x66,0xcd,0x9a,0x87,0x32,0x8d,0x36,0xb4,0x5d,0xe7,0xc1,
+ 0xfa,0xd9,0x87,0x0c,0x19,0xc2,0x90,0x63,0x5d,0xa2,0x91,0x1e,0x9c,0x0b,
+ 0x41,0xa7,0xc9,0x64,0xba,0xc9,0xfb,0x0f,0x0b,0x0b,0x6b,0x94,0x34,0xfa,
+ 0xfb,0xfb,0x93,0x46,0x15,0x4f,0xbf,0x7e,0xfd,0xd8,0xac,0x59,0xb3,0x5c,
+ 0xa6,0x8f,0x9e,0x4d,0x9b,0x36,0x09,0x71,0x59,0x54,0x54,0x94,0xcf,0xfb,
+ 0x0f,0x0d,0x0d,0x35,0xc9,0x34,0x5a,0xd1,0x76,0x8d,0x87,0x34,0xce,0x98,
+ 0x31,0xc3,0xa5,0x1a,0x37,0x6e,0xdc,0x28,0x68,0x2c,0x2e,0x2e,0xce,0xe3,
+ 0xfd,0xaf,0x5e,0xbd,0xba,0x41,0xd2,0xe8,0xe7,0xe7,0x47,0x1a,0xaf,0xf0,
+ 0x40,0xa3,0x63,0xda,0xb4,0x69,0x2e,0xd5,0xb8,0x61,0xc3,0x06,0x41,0xe3,
+ 0xed,0xdb,0xb7,0x73,0x78,0xff,0xab,0x56,0xad,0x32,0xca,0x34,0x5a,0xd0,
+ 0x76,0x89,0x87,0x34,0xd2,0x99,0x9e,0x3a,0x75,0xaa,0xcb,0xa0,0x78,0x27,
+ 0x1d,0x6a,0xb5,0xfa,0x77,0xde,0x3f,0x72,0xb2,0x41,0xd2,0xe8,0xeb,0xeb,
+ 0xdb,0x82,0xb3,0x7e,0x91,0xc7,0xc3,0xc3,0xa3,0xb3,0x7f,0xff,0xfe,0x94,
+ 0x73,0x5b,0x5d,0x05,0x7c,0xd8,0x49,0x47,0x55,0x55,0xd5,0x15,0xde,0xff,
+ 0x8a,0x15,0x2b,0x1e,0x48,0x1a,0x91,0x5b,0x5b,0xa0,0xfb,0x2c,0x0f,0xf2,
+ 0x6d,0x2b,0xce,0x7c,0xb3,0x92,0xad,0xad,0xad,0xed,0x1c,0xee,0xcf,0xf3,
+ 0xa8,0x53,0xce,0x29,0xd9,0x25,0x2a,0x2a,0x2a,0x2e,0x15,0x16,0x16,0x5e,
+ 0xce,0xcf,0xcf,0xcf,0x56,0xb2,0x23,0xe6,0xea,0x49,0x47,0x75,0x75,0x75,
+ 0x16,0x6f,0x5b,0xb6,0x6c,0x99,0x5e,0xa6,0xf1,0x09,0xda,0x4e,0xf2,0x40,
+ 0xa3,0x0d,0x1a,0x1f,0xcb,0xdb,0xa0,0xed,0x54,0x44,0x44,0x84,0x8e,0xd6,
+ 0x57,0xba,0x2b,0x50,0x73,0xb6,0xe3,0xdc,0x35,0x23,0x07,0x34,0xe0,0xbb,
+ 0xd7,0x4d,0x9f,0x3e,0xdd,0xe4,0xed,0xed,0x6d,0x91,0xdf,0x4f,0x04,0xf9,
+ 0xd1,0xe9,0x74,0x17,0xe5,0xf3,0x21,0xe6,0x6a,0xc5,0x75,0xbc,0xc0,0xfb,
+ 0x5f,0xba,0x74,0x69,0xbd,0xa4,0x11,0xf7,0x30,0x69,0xfc,0x91,0x07,0x35,
+ 0xb2,0x0d,0xbe,0x1f,0xcb,0xdb,0x0e,0x1f,0x3e,0x7c,0x9d,0xc6,0x4d,0x9c,
+ 0x38,0x91,0xe1,0x1e,0x60,0xc8,0x0f,0x6c,0xce,0x9c,0x39,0x0c,0x73,0x30,
+ 0x49,0x13,0x7d,0x06,0x06,0x06,0x32,0xe8,0x65,0x5b,0xb7,0x6e,0x65,0x51,
+ 0x51,0x51,0x0c,0xf7,0x9a,0x60,0xdb,0xb1,0x63,0x87,0x5a,0x3e,0x1f,0x62,
+ 0xae,0x86,0xda,0x2b,0x2b,0x2b,0xcf,0xf1,0xfe,0x97,0x2c,0x59,0x52,0x27,
+ 0xd3,0xd8,0x8c,0xfd,0xff,0x8e,0x07,0x1a,0xad,0xd0,0x68,0x96,0xb7,0x9d,
+ 0x39,0x73,0xe6,0x32,0x8d,0xc3,0xdc,0xcc,0x6e,0xb7,0x77,0x39,0xa7,0x74,
+ 0xcf,0x29,0x3d,0x9b,0x37,0x6f,0x16,0x34,0x26,0x26,0x26,0xfe,0x29,0x9f,
+ 0x6f,0xf9,0xf2,0xe5,0xf7,0xa8,0x1d,0x31,0x71,0x8a,0xf7,0xbf,0x78,0xf1,
+ 0xe2,0x5a,0x49,0xe3,0xe8,0xd1,0xa3,0x29,0xe6,0xd2,0x79,0x86,0x0d,0x1b,
+ 0x66,0xc5,0x99,0x6f,0x92,0xb7,0x41,0x57,0x3a,0xea,0x61,0xe1,0xbb,0xc7,
+ 0xc7,0xc7,0x2b,0xea,0xe1,0x9f,0x13,0x27,0x4e,0x08,0xfa,0x10,0x03,0x06,
+ 0xdc,0x59,0xc7,0xe4,0xf3,0x21,0xe6,0xaa,0x45,0x8d,0x99,0xbc,0xff,0x45,
+ 0x8b,0x16,0xdd,0x93,0x69,0xa4,0xfd,0x3c,0xca,0x43,0x1a,0x71,0xe6,0x9b,
+ 0xf8,0xf6,0xc6,0xc6,0xc6,0x63,0x88,0xb7,0x27,0xb4,0xa7,0x58,0xd7,0x6e,
+ 0xf5,0xe1,0xac,0x30,0xd4,0xa7,0x0c,0xe7,0xb7,0xa3,0xa0,0xa0,0xe0,0x27,
+ 0x7e,0x2e,0xc4,0x5c,0x15,0xe9,0x40,0x9c,0x7e,0xcf,0xdb,0x50,0xbf,0xdd,
+ 0x95,0x34,0xfa,0xf8,0xf8,0x90,0xc6,0x64,0x1e,0x68,0xb4,0x40,0xe3,0x23,
+ 0x25,0x5b,0x76,0x76,0xf6,0xcf,0x9e,0x9e,0x9e,0xed,0xe4,0x3f,0x2f,0x2f,
+ 0x4f,0x51,0x1f,0xea,0x43,0x86,0x58,0x61,0x94,0x67,0xd3,0xd2,0xd2,0x7e,
+ 0x53,0x9a,0x07,0xfb,0x59,0x41,0x3a,0xca,0xcb,0xcb,0x33,0x78,0x1b,0xf6,
+ 0xab,0x5a,0xa6,0xd1,0x8c,0xb6,0xaf,0x78,0x50,0x2b,0x5a,0x70,0x16,0x1f,
+ 0x29,0xd9,0x08,0xd4,0x43,0xbf,0xe0,0x7c,0xdb,0x11,0xcf,0x0e,0xe4,0xa1,
+ 0x2e,0x1a,0xa5,0xbb,0x38,0x26,0x26,0x26,0xc7,0xd9,0x1c,0xd8,0x4f,0x1d,
+ 0xf5,0x29,0x2b,0x2b,0x4b,0xe3,0x6d,0x0b,0x17,0x2e,0xac,0x94,0x34,0x62,
+ 0xdf,0x68,0x3f,0x0f,0xf1,0x90,0x46,0xf8,0x7f,0xa8,0x64,0x93,0xd8,0xb2,
+ 0x65,0xcb,0x5f,0x34,0xcf,0xc1,0x83,0x07,0x9f,0xd3,0x87,0x7b,0x43,0x38,
+ 0xdf,0x93,0x26,0x4d,0xd2,0x77,0x37,0x1e,0xfb,0x59,0x46,0xe3,0xb5,0x5a,
+ 0xed,0x11,0xde,0x36,0x7f,0xfe,0xfc,0x0a,0x4e,0x63,0x3c,0x0f,0x34,0xb6,
+ 0x40,0x63,0xa3,0x92,0x4d,0xa2,0xae,0xae,0x2e,0x09,0xf9,0xd1,0x86,0x3b,
+ 0xc3,0x81,0x77,0x8a,0x67,0x1a,0xb7,0x6f,0xdf,0x2e,0xac,0x61,0x52,0x52,
+ 0xd2,0xd9,0xee,0xc6,0x63,0x3f,0xb5,0xd4,0x4f,0xa3,0xd1,0x7c,0xc3,0xdb,
+ 0xe6,0xcd,0x9b,0xa7,0x93,0x34,0x62,0x7e,0xda,0xcf,0x2f,0x78,0x50,0x7b,
+ 0xb6,0xe0,0x3c,0x35,0x2a,0xd9,0xe4,0x44,0x46,0x46,0xfe,0x41,0x73,0xc5,
+ 0xc5,0xc5,0x09,0xfa,0xe0,0x4f,0x58,0x43,0xe4,0x04,0x63,0x67,0x67,0xe7,
+ 0xfe,0xee,0xc6,0x2e,0x58,0xb0,0x40,0x43,0x63,0x51,0xe3,0x27,0xf1,0xb6,
+ 0xa0,0xa0,0xa0,0x32,0x4e,0x63,0x1c,0x8f,0xa8,0xd1,0xa4,0x64,0x93,0x63,
+ 0x30,0x18,0xbe,0x44,0x5f,0x0b,0xde,0xa7,0x58,0x49,0x49,0x09,0x43,0xfd,
+ 0x2c,0xac,0xe1,0x81,0x03,0x07,0x4e,0xbe,0x68,0x2c,0xf6,0xb3,0x94,0xfa,
+ 0x62,0xdc,0x21,0xde,0x36,0x77,0xee,0x5c,0xad,0xa4,0x71,0xe4,0xc8,0x91,
+ 0x14,0x73,0x9f,0xf2,0x20,0x87,0x37,0xa1,0x2e,0x69,0x51,0xb2,0xf1,0x40,
+ 0xcf,0x0f,0xd2,0x1d,0x43,0x9f,0x93,0x27,0x4f,0xae,0x7a,0x99,0x71,0xa8,
+ 0x7d,0x84,0x98,0xab,0xa9,0xa9,0xf9,0x9c,0xb7,0xcd,0x9e,0x3d,0x5b,0xc3,
+ 0x69,0xfc,0x84,0x07,0xdf,0x43,0x4d,0x7d,0x8e,0x1f,0x3f,0x7e,0x44,0xc9,
+ 0xce,0x83,0x3b,0x24,0x03,0x79,0xc0,0x88,0xb9,0x4b,0x10,0xa7,0x9f,0xbd,
+ 0xa8,0x3f,0x72,0x53,0x2c,0x6a,0xbf,0x56,0x9c,0x87,0x06,0x25,0x3b,0xee,
+ 0xff,0x52,0x49,0x23,0x6a,0x07,0x8a,0xb9,0x8f,0x79,0x52,0x52,0x52,0x8e,
+ 0xc0,0xee,0xc0,0xd9,0x31,0x63,0x9d,0xd2,0x95,0xfa,0xf4,0x94,0x9c,0x9c,
+ 0x9c,0xfd,0xf8,0x3e,0x42,0x5d,0x83,0x78,0xfe,0x55,0xa9,0x0f,0xde,0x75,
+ 0x4a,0x38,0x8d,0x1f,0x2a,0x81,0x9a,0xe0,0x82,0x54,0xb7,0xe0,0xae,0xb0,
+ 0x4d,0x99,0x32,0xe5,0x0e,0xf6,0xa7,0xb4,0x37,0xc0,0x1f,0xbd,0xa7,0x08,
+ 0x75,0x13,0xea,0x91,0x22,0x67,0xbe,0x71,0x77,0xaa,0x25,0x8d,0x88,0x3b,
+ 0x3a,0x17,0x31,0xce,0x50,0xa9,0x54,0xb1,0x78,0xaf,0xb9,0x85,0xf5,0x7c,
+ 0x24,0xaf,0xb5,0x7a,0x0a,0x72,0x55,0x33,0xf2,0xe6,0x1d,0xec,0x4d,0x72,
+ 0x77,0x7e,0xf1,0x9e,0xf2,0x8f,0x38,0x46,0x87,0x98,0xb0,0xe2,0xae,0xdf,
+ 0x89,0xf6,0xa8,0x17,0x81,0x33,0xfc,0x3e,0xee,0xff,0x8f,0x7a,0x4a,0x6d,
+ 0x6d,0xed,0x07,0x2f,0xe3,0x87,0x40,0xed,0x5a,0x29,0xae,0xb7,0x70,0x1e,
+ 0x33,0x32,0x32,0xf6,0xa1,0xfd,0x9d,0xbe,0xc2,0xfd,0xfb,0xf7,0xdf,0xc3,
+ 0x3d,0x4f,0xbf,0x47,0x15,0x83,0x77,0xc5,0x5c,0x51,0x08,0x5b,0x64,0x5f,
+ 0x21,0x3c,0x3c,0xfc,0xb4,0xb8,0xcf,0x5f,0xbb,0x3d,0xfd,0x9d,0x59,0x38,
+ 0x3f,0xa8,0x9b,0xe9,0x7c,0xbd,0xfd,0xba,0xd9,0xb5,0x6b,0x57,0xa2,0xb8,
+ 0xc7,0xff,0x02,0x3f,0xb7,0xa7,0x8f,0x3f,0x10,0xde,0x1d,0x70,0x7e,0xea,
+ 0x77,0xef,0xde,0xbd,0x1f,0xef,0x2d,0x11,0xe8,0xff,0xd6,0xab,0x02,0xef,
+ 0x6e,0x11,0x09,0x09,0x09,0x7b,0x02,0x02,0x02,0x8a,0xc5,0xf5,0xa3,0xdf,
+ 0x9a,0x42,0xdc,0x9e,0x7f,0xde,0x00,0xa7,0xa5,0x9c,0x40,0xe0,0x8e,0x31,
+ 0xa2,0x7e,0x54,0xbb,0x1a,0xd4,0xa9,0xf5,0x72,0xbf,0xa0,0x08,0x04,0xb9,
+ 0x39,0x7f,0x82,0x01,0xe5,0xee,0x1c,0x71,0xad,0x7b,0x9d,0x6b,0x5e,0x82,
+ 0x56,0x90,0x0f,0xbe,0x05,0x51,0xbc,0xa0,0xff,0x00,0xbc,0x45,0x33,0x49
+};
+
+// keep_below.png
+static const unsigned char image_6_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x99,0x09,0x4c,0x94,0x47,0x14,0xc7,
+ 0x11,0x0f,0x3c,0x22,0xde,0xe2,0x81,0x07,0xb1,0x1a,0xf1,0x46,0x25,0x31,
+ 0x6a,0x34,0x31,0xda,0x18,0xa3,0x62,0x0d,0xa1,0x78,0x21,0x31,0x80,0x82,
+ 0x80,0x10,0x0b,0x12,0x49,0x94,0x6a,0xe5,0x56,0x42,0x01,0x29,0x02,0x1e,
+ 0xad,0x56,0x4b,0x0a,0x96,0xa2,0x80,0xd6,0x03,0xa1,0x55,0x39,0x5c,0x15,
+ 0xe4,0x58,0xce,0xe5,0x5c,0x0e,0x2b,0x28,0x16,0x58,0x60,0xf7,0xeb,0xff,
+ 0x6d,0xbf,0x35,0xe3,0xb8,0xa8,0x91,0xae,0xfa,0x25,0xbf,0x00,0xef,0xcd,
+ 0x7c,0xf3,0xdf,0x99,0x37,0x6f,0xde,0x2c,0x7a,0x7a,0x6f,0x3c,0x0b,0x81,
+ 0x27,0x38,0x03,0x1e,0x80,0x27,0x3a,0x26,0x17,0x24,0x02,0x7f,0xf0,0x35,
+ 0xd0,0x7f,0x53,0xd2,0xab,0xe7,0x0b,0x10,0x07,0x54,0x40,0x20,0xfa,0xf5,
+ 0xeb,0xa7,0x32,0x34,0x34,0xec,0xd2,0x25,0x83,0x07,0x0f,0xee,0xd6,0x8c,
+ 0x27,0x52,0x01,0xb6,0x6a,0xd1,0x6a,0xd6,0xa7,0x4f,0x9f,0x76,0x6a,0x33,
+ 0x69,0xd2,0x24,0x45,0x54,0x54,0x54,0x8d,0x44,0x22,0x29,0xed,0xee,0xee,
+ 0xce,0x17,0x04,0x41,0xe7,0x54,0x55,0x55,0x49,0xaf,0x5c,0xb9,0x22,0xf3,
+ 0xf0,0xf0,0x68,0xec,0xdb,0xb7,0xaf,0x66,0x8e,0xe2,0x18,0x7d,0x26,0xd0,
+ 0xd7,0xa4,0xaf,0xaf,0xaf,0x0a,0x08,0x08,0x90,0x7f,0x0c,0x4d,0x6f,0xe3,
+ 0xe9,0xd3,0xa7,0x45,0xb3,0x67,0xcf,0x6e,0x13,0x75,0x7a,0x89,0x1a,0x2f,
+ 0xd3,0xdf,0x9f,0x83,0x3e,0x0d,0x32,0x99,0x4c,0x6a,0x64,0x64,0xd4,0x29,
+ 0xc6,0x9d,0x31,0xe6,0xf0,0x39,0xad,0xef,0xa7,0xd6,0xc5,0x73,0xf4,0xe8,
+ 0xd1,0x7a,0x71,0x2e,0x6d,0xe9,0xa7,0xb5,0xb5,0x75,0xf3,0xa7,0xd6,0xc4,
+ 0x73,0xef,0xde,0xbd,0x32,0x51,0xe3,0x69,0xfa,0x89,0x58,0x6d,0x80,0x3d,
+ 0xaf,0x27,0x52,0x52,0x52,0xca,0xe7,0xcc,0x99,0xd3,0x36,0x74,0xe8,0xd0,
+ 0x6e,0xda,0xeb,0xbd,0xa1,0x7f,0xff,0xfe,0xaa,0x09,0x13,0x26,0x74,0xae,
+ 0x5d,0xbb,0xf6,0x79,0x57,0x57,0x57,0x8f,0x63,0x36,0x34,0x34,0x14,0x88,
+ 0x1a,0x29,0x2f,0x09,0xfb,0xf7,0xef,0xaf,0x53,0xa9,0x54,0x12,0x1e,0xa5,
+ 0x52,0x29,0x81,0xb6,0x7f,0xd8,0xdc,0x30,0x76,0xec,0xd8,0x5e,0x61,0x60,
+ 0x60,0xf0,0xea,0x5d,0x03,0x06,0x0c,0x50,0x25,0x27,0x27,0x17,0x6b,0x1b,
+ 0xbb,0xbe,0xbe,0xfe,0x31,0xab,0xd1,0xdd,0xdd,0xbd,0x06,0xf6,0x2c,0x9e,
+ 0x65,0xcb,0x96,0xb5,0x90,0xdf,0xd8,0xd8,0x58,0xc0,0xbb,0x04,0xe4,0x22,
+ 0xa1,0xb7,0x0f,0xde,0x2b,0xe4,0xe4,0xe4,0x08,0xab,0x56,0xad,0x7a,0x95,
+ 0x83,0x91,0x7b,0x24,0xfc,0xd8,0xd0,0x28,0xe1,0x34,0x56,0xa1,0xfb,0x5d,
+ 0x96,0x96,0x96,0x96,0x4c,0xec,0x27,0x61,0xe4,0xc8,0x91,0x42,0x5d,0x5d,
+ 0x5d,0xaf,0xb5,0x69,0x7b,0x2c,0x2c,0x2c,0xd4,0x3a,0x37,0x6d,0xda,0xd4,
+ 0xc8,0x8f,0x0f,0x8d,0x59,0xac,0x46,0x37,0x37,0x37,0x19,0xec,0xe9,0x2c,
+ 0xfe,0xfe,0xfe,0x25,0xe4,0x73,0x70,0x70,0xd0,0x89,0x3e,0x7a,0xb0,0x2f,
+ 0x04,0x71,0x9d,0xda,0xf8,0xf1,0xe5,0x72,0xf9,0x5d,0x56,0xa3,0xab,0xab,
+ 0x6b,0x39,0xec,0x37,0x59,0x9c,0x9c,0x9c,0xe8,0x4c,0x12,0x02,0x03,0x03,
+ 0x75,0xa6,0xb1,0xa9,0xa9,0x49,0xad,0x71,0xc4,0x88,0x11,0x0a,0x7e,0x7c,
+ 0x68,0x4c,0x67,0x35,0xba,0xb8,0xb8,0x94,0xc2,0x7e,0x8d,0xc5,0xd1,0xd1,
+ 0xb1,0x54,0xcc,0xed,0x3a,0xd3,0xd8,0xd8,0xd8,0xc8,0x6a,0x7c,0x6d,0x7c,
+ 0xc4,0xd7,0x2d,0x56,0xe3,0xde,0xbd,0x7b,0x8b,0x61,0xbf,0xca,0x82,0x79,
+ 0x2c,0x26,0x9f,0x9f,0x9f,0x9f,0xce,0x34,0x22,0xe6,0xd4,0x1a,0x11,0xf3,
+ 0x1d,0xfc,0xf8,0xd0,0x78,0x9d,0xd5,0x08,0x3d,0x45,0xb0,0x27,0xb2,0x90,
+ 0x8d,0x7c,0xa3,0x46,0x8d,0x12,0xa6,0x4f,0x9f,0xae,0x13,0x4c,0x4c,0x4c,
+ 0x34,0xf3,0xd8,0xc1,0x8f,0x0f,0x8d,0x29,0xac,0xc6,0x3d,0x7b,0xf6,0xe4,
+ 0x63,0xbf,0xc7,0xb3,0x60,0x8d,0xb3,0xc9,0x37,0x68,0xd0,0xa0,0x2e,0x7a,
+ 0x87,0x2e,0x18,0x3e,0x7c,0x78,0x07,0x8d,0x01,0xad,0x2d,0xfc,0xf8,0x35,
+ 0x35,0x35,0x49,0xac,0xc6,0xdd,0xbb,0x77,0x53,0x6e,0xbf,0xc4,0x12,0x1b,
+ 0x1b,0x7b,0x87,0x7c,0xce,0xce,0xce,0x8f,0x79,0x1f,0xf1,0xf2,0xe5,0xcb,
+ 0xb8,0xf6,0xf6,0xf6,0x38,0xe4,0xf9,0x37,0x7c,0x1a,0x50,0xc3,0xfc,0x9a,
+ 0x97,0x97,0xf7,0x3b,0xf6,0x6f,0x72,0x45,0x45,0xc5,0x65,0x6d,0x7e,0x1a,
+ 0xc3,0xdc,0xdc,0xbc,0x8e,0xf7,0x41,0x63,0x02,0xab,0xd1,0xde,0xde,0x9e,
+ 0x74,0x9c,0x67,0x89,0x8e,0x8e,0xbe,0x2d,0xc6,0xea,0x43,0xd6,0x9e,0x98,
+ 0x98,0x98,0x8a,0x39,0xd0,0xd4,0x4e,0x02,0xe5,0xd0,0x61,0xc3,0x86,0xb5,
+ 0x4f,0x99,0x32,0xa5,0x79,0xc1,0x82,0x05,0xf2,0xa5,0x4b,0x97,0x56,0xd1,
+ 0xef,0x43,0x86,0x0c,0x51,0x70,0xb5,0xab,0xb0,0x7a,0xf5,0xea,0x72,0xf6,
+ 0x5d,0xd8,0xd7,0xbf,0x90,0x7d,0xf1,0xe2,0xc5,0xb5,0xfc,0xf8,0xd0,0x18,
+ 0xc7,0x6a,0xb4,0xb3,0xb3,0x23,0x1d,0x67,0x59,0x4e,0x9d,0x3a,0x75,0x83,
+ 0x7c,0xd8,0xdf,0x0f,0x58,0xfb,0xfc,0xf9,0xf3,0xeb,0xc8,0x3e,0x73,0xe6,
+ 0xcc,0x86,0xb9,0x73,0xe7,0xca,0x67,0xcd,0x9a,0x55,0x3f,0x6e,0xdc,0xb8,
+ 0x17,0x03,0x07,0x0e,0xec,0xd4,0x68,0x41,0x9d,0xaa,0x9c,0x38,0x71,0x62,
+ 0x8b,0x99,0x99,0x59,0xed,0x8a,0x15,0x2b,0x2a,0xd6,0xaf,0x5f,0x2f,0xc5,
+ 0xe7,0x50,0x7f,0xae,0xec,0xec,0xec,0x78,0xcd,0xbb,0xa0,0xf1,0x02,0xd9,
+ 0x16,0x2d,0x5a,0x54,0xc3,0x8f,0x5f,0x5d,0x5d,0x7d,0x91,0xd5,0xb8,0x6b,
+ 0xd7,0xae,0x07,0x88,0x81,0x18,0x96,0xc8,0xc8,0xc8,0x6b,0x62,0x1c,0x64,
+ 0xb3,0xf6,0x35,0x6b,0xd6,0x48,0xc9,0xee,0xe3,0xe3,0x73,0x87,0xef,0x83,
+ 0xb3,0x32,0xa6,0xa4,0xa4,0xe4,0x02,0x6f,0xcf,0xcd,0xcd,0xbd,0x88,0xb8,
+ 0x56,0xd0,0xe7,0x68,0x6d,0x6d,0x3d,0xa3,0xb1,0xa3,0x6e,0x38,0x47,0xef,
+ 0x5a,0xb8,0x70,0x61,0x35,0xdf,0xa7,0xb2,0xb2,0xf2,0x27,0x56,0xa3,0xad,
+ 0xad,0x6d,0x16,0xb4,0x47,0xb2,0x9c,0x3c,0x79,0xf2,0xaa,0x18,0x07,0xf7,
+ 0x59,0x7b,0x56,0x56,0xd6,0x05,0x8c,0xa5,0xc0,0x39,0xab,0x4c,0x4b,0x4b,
+ 0xbb,0xc4,0xf7,0xe3,0xe9,0xec,0xec,0xfc,0x61,0xc6,0x8c,0x19,0x72,0x7a,
+ 0x97,0x97,0x97,0xd7,0x1d,0xd6,0x87,0xfc,0x18,0x43,0x76,0xcc,0x77,0x25,
+ 0xdf,0x0f,0x67,0xf8,0x69,0x56,0xe3,0xce,0x9d,0x3b,0x49,0x47,0x18,0x4b,
+ 0x44,0x44,0x44,0x92,0x18,0x07,0x77,0x79,0x5f,0x70,0x70,0x70,0x32,0xf9,
+ 0x46,0x8f,0x1e,0xfd,0xbc,0xb8,0xb8,0x38,0x96,0xf7,0xb3,0x6c,0xd8,0xb0,
+ 0xe1,0x11,0xb5,0x45,0xac,0xca,0x78,0x1f,0xe6,0x31,0xaa,0x27,0x1f,0xe6,
+ 0x31,0x9a,0xd5,0xb8,0x63,0xc7,0x0e,0xd2,0x11,0xc2,0x12,0x16,0x16,0xf6,
+ 0x9b,0x18,0x07,0x7f,0xf2,0x3e,0x62,0xeb,0xd6,0xad,0xf7,0xc5,0xbc,0x21,
+ 0x7f,0xf6,0xec,0x59,0x98,0xb6,0x36,0x98,0x37,0x75,0x1e,0x1e,0x3f,0x7e,
+ 0xfc,0xdf,0xc8,0x77,0x11,0xbc,0x1f,0x1a,0x23,0xc8,0x8f,0x18,0xaf,0xe0,
+ 0x7d,0xb8,0x2f,0x44,0xb2,0x1a,0xb7,0x6d,0xdb,0x46,0x3a,0x82,0x58,0x42,
+ 0x43,0x43,0xe3,0xc5,0x38,0x48,0xe7,0x7d,0x04,0x72,0x4e,0xd0,0xf2,0xe5,
+ 0xcb,0xf3,0xa9,0x0d,0xea,0x55,0x09,0xef,0x47,0x5c,0x86,0x23,0x1e,0xba,
+ 0x71,0x37,0x6d,0xcf,0xc8,0xc8,0x88,0xd1,0xf6,0x0e,0x9c,0x33,0xa1,0xd4,
+ 0x7f,0xde,0xbc,0x79,0xe5,0xbc,0x0f,0xb9,0x2a,0x8c,0xd5,0xb8,0x65,0xcb,
+ 0x16,0xd2,0xe1,0xcb,0x72,0xe2,0xc4,0x09,0x75,0x5e,0xb0,0xb1,0xb1,0xb9,
+ 0xcd,0xfb,0x34,0x20,0xfe,0x03,0xb0,0x5f,0x5f,0x60,0x1f,0x77,0x67,0x66,
+ 0x66,0x46,0xb0,0x3e,0xec,0xe5,0x4c,0xb1,0xa6,0x4a,0xee,0xa9,0x3f,0xea,
+ 0x86,0x60,0x6a,0x83,0x3a,0xba,0x94,0xf7,0x95,0x97,0x97,0x87,0xb0,0x1a,
+ 0x71,0x9f,0x49,0x83,0xfd,0x08,0xcb,0xf1,0xe3,0xc7,0xd5,0x7b,0x7f,0xfb,
+ 0xf6,0xed,0x37,0x79,0x1f,0x8b,0xa7,0xa7,0xa7,0xfa,0x1d,0x2b,0x57,0xae,
+ 0x94,0x68,0x6c,0xa5,0xa5,0xa5,0x41,0xa8,0xb1,0x15,0xb8,0xe3,0xbf,0xc0,
+ 0x73,0xac,0xa7,0xbe,0x58,0x7f,0xfa,0x6e,0x42,0xc0,0x5d,0xb5,0x84,0xf7,
+ 0x41,0x63,0x10,0xab,0xd1,0xca,0xca,0xea,0x16,0xec,0x87,0x58,0x82,0x82,
+ 0x82,0xce,0x93,0x0f,0x71,0xf7,0x07,0xef,0x63,0xe9,0xe8,0xe8,0xf0,0x19,
+ 0x33,0x66,0x4c,0x13,0x72,0xb9,0x0a,0xf7,0x1e,0x8a,0xcb,0x43,0x1b,0x37,
+ 0x6e,0x4c,0x17,0xe3,0x24,0xf5,0x6d,0x7d,0xa1,0xf1,0x18,0xb5,0x43,0x8e,
+ 0x2d,0xe6,0x7d,0x65,0x65,0x65,0x7e,0xac,0x46,0x4b,0x4b,0xcb,0x1b,0xb0,
+ 0x1f,0x64,0xc1,0x79,0x7d,0x4e,0x8c,0x83,0x6b,0xbc,0x8f,0xe7,0xc8,0x91,
+ 0x23,0xea,0xcf,0x33,0x75,0xea,0x54,0x59,0x6a,0x6a,0x6a,0x08,0xad,0x3d,
+ 0xce,0x99,0x56,0xec,0x09,0x9f,0xb7,0xf5,0xab,0xad,0xad,0xfd,0x96,0xfa,
+ 0x99,0x9a,0x9a,0x4a,0x79,0x1f,0xd6,0xe2,0x28,0xab,0x71,0xf3,0xe6,0xcd,
+ 0xa4,0xc3,0x83,0x25,0x24,0x24,0x44,0x9d,0x17,0xd6,0xad,0x5b,0x77,0x8b,
+ 0xf7,0x69,0x03,0xe7,0x4e,0x21,0x7b,0xee,0x79,0x7b,0x7b,0xff,0xf8,0xae,
+ 0x3e,0x88,0xe1,0xef,0xc4,0x78,0x7c,0xc2,0xfb,0x90,0xd3,0x0e,0xb3,0x1a,
+ 0x71,0x9f,0x48,0x81,0xdd,0x9d,0x05,0x73,0x7d,0x10,0xeb,0xa7,0x44,0x0e,
+ 0xac,0xc7,0x7a,0xee,0xe7,0xfd,0x3c,0x58,0xb7,0x03,0x38,0x1b,0x1f,0xe1,
+ 0xee,0x57,0x87,0x33,0x28,0xe6,0x5d,0xed,0x09,0xe4,0xe5,0x78,0x71,0x1d,
+ 0xaf,0xf0,0x3e,0xa9,0x54,0xea,0xcd,0x6a,0x44,0xfc,0x50,0x5d,0xe9,0xc2,
+ 0x83,0xdc,0x9a,0x43,0x7e,0xd4,0x7a,0xf9,0x45,0x45,0x45,0x07,0xb4,0xb5,
+ 0xf9,0x10,0x14,0x0a,0x85,0x2b,0xe6,0x25,0x89,0xe6,0x00,0xf9,0xa9,0x13,
+ 0xe7,0xd5,0x61,0xbe,0x0d,0x8d,0xc7,0x6a,0x44,0x9e,0x48,0x82,0xdd,0x91,
+ 0xa7,0xb9,0xb9,0xd9,0x05,0xf9,0x57,0x26,0xd6,0x37,0x4a,0xd4,0xbb,0x72,
+ 0xe8,0xcd,0xeb,0x0d,0xd3,0xa6,0x4d,0xcb,0x87,0x2e,0x75,0x4d,0x44,0xfa,
+ 0x7c,0x7d,0x7d,0xbf,0xd7,0x36,0x76,0x61,0x61,0xe1,0x37,0xac,0x46,0xc4,
+ 0x1c,0xd5,0xbe,0xf6,0xda,0xc0,0x79,0xeb,0x80,0xf3,0xf0,0xec,0xe4,0xc9,
+ 0x93,0xa5,0xa4,0x93,0xaf,0xb7,0x3e,0x04,0xd4,0xb6,0x0d,0x38,0xa3,0xff,
+ 0x2a,0x28,0x28,0x70,0xeb,0x69,0xdc,0xfc,0xfc,0x7c,0x37,0x56,0xe3,0x92,
+ 0x25,0x4b,0x28,0xbf,0xd8,0xbe,0x0f,0x38,0x3f,0x1c,0x11,0xcf,0x4e,0x1f,
+ 0x0a,0xce,0x4d,0xbb,0xf7,0x19,0x27,0x21,0x21,0xc1,0x4b,0xd4,0xf8,0x33,
+ 0xe8,0xc0,0x1a,0x52,0xdd,0xb1,0xfd,0x73,0x02,0xe7,0x73,0x8c,0xa8,0xd1,
+ 0x19,0xd0,0x1d,0x51,0x85,0x7b,0x34,0xe5,0x4e,0xeb,0xcf,0x01,0x9c,0xe3,
+ 0x3b,0x50,0xeb,0x57,0x89,0x1a,0x4d,0x81,0x39,0xa0,0x7a,0xb0,0x3d,0x2a,
+ 0x2a,0x8a,0x72,0x8c,0xe5,0xa7,0x04,0x79,0xce,0x0a,0xfb,0xea,0xbe,0xa8,
+ 0x8f,0xfe,0x6f,0xa0,0x79,0x6c,0x34,0x7b,0x17,0xe7,0xd2,0xf5,0xf0,0xf0,
+ 0xf0,0x7d,0x68,0x6f,0xf1,0x31,0x69,0x6b,0x6b,0xfb,0x0a,0xf5,0x4b,0x30,
+ 0xea,0xe7,0x67,0xa2,0xbe,0x0c,0x60,0xa0,0xf7,0xfa,0xf3,0xa5,0xde,0x7f,
+ 0xdf,0xe9,0x6b,0xee,0x52,0x4a,0x9c,0xc3,0x4f,0x8c,0x8c,0x8c,0x1e,0xeb,
+ 0x98,0x5c,0x03,0x03,0x03,0x8d,0x2e,0x82,0xf2,0x52,0x20,0x30,0xd4,0xd3,
+ 0xfe,0xd0,0xff,0x1b,0xf6,0x89,0x7b,0xe9,0x21,0xe8,0xfa,0x3f,0x72,0xcd,
+ 0x7b,0x50,0x09,0x52,0x81,0xaf,0x36,0x6d,0xff,0x02,0x1b,0x15,0xfd,0xbb
+};
+
+// maximize.png
+static const unsigned char image_7_data[] = {
+ 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x99,0x7b,0x2c,0x64,0x57,0x1c,0xc7,
+ 0xbd,0x0d,0x4d,0xf8,0x83,0xec,0x56,0x42,0xb2,0x7f,0x14,0xf1,0xb7,0x84,
+ 0x15,0x99,0x0d,0x09,0xa5,0x95,0xd5,0x6d,0x42,0x23,0x22,0xed,0x24,0xd2,
+ 0x04,0x29,0xeb,0x55,0x15,0xef,0xd7,0xaa,0xdd,0x7a,0x84,0x7a,0xac,0x32,
+ 0x35,0x63,0xad,0xf7,0x60,0xbc,0x16,0xeb,0x51,0xb2,0x6b,0xcb,0x5a,0x16,
+ 0xab,0xb6,0x96,0xb4,0xdb,0xe9,0x23,0xdd,0x86,0x8a,0x46,0x83,0xce,0xce,
+ 0xed,0xf7,0x4c,0x46,0x7b,0x7a,0x66,0xd6,0x1f,0xe5,0x5e,0x4e,0xf2,0x49,
+ 0x46,0x7e,0x67,0xe6,0xfb,0xb9,0x77,0xee,0xef,0xb8,0xe7,0x8e,0x91,0x91,
+ 0xde,0x30,0x06,0xef,0x82,0x3c,0xd0,0x01,0x16,0xc1,0x13,0x9e,0x59,0x00,
+ 0xb7,0x41,0x06,0x78,0x5b,0x5f,0x49,0x6f,0xbc,0xa9,0xf3,0xe2,0x0e,0x11,
+ 0x89,0x44,0x2f,0x6d,0x6c,0x6c,0xfe,0xe2,0x13,0x0b,0x0b,0x8b,0x97,0x74,
+ 0x26,0x98,0x00,0xee,0xaf,0x70,0x24,0xc7,0xc2,0x19,0x1b,0x1b,0x73,0x57,
+ 0xae,0x5c,0xd9,0x96,0xcb,0xe5,0xaa,0xf5,0xf5,0xf5,0x35,0x8e,0xe3,0x56,
+ 0xf8,0x46,0xa3,0xd1,0xac,0x60,0x3c,0x93,0x4a,0xa5,0xaa,0x4b,0x97,0x2e,
+ 0xfd,0x41,0xf9,0x86,0x31,0x8e,0xef,0x01,0x0d,0x8e,0x4d,0x3d,0x3d,0x3d,
+ 0xbd,0x21,0x84,0xdb,0x51,0xf4,0xf6,0xf6,0x7e,0x4f,0xce,0x31,0xce,0xd9,
+ 0x1e,0xbc,0x2e,0xea,0x1c,0xcd,0xf0,0xf7,0x8e,0xb5,0xb5,0xb5,0x7a,0x66,
+ 0x66,0xe6,0xd4,0x1d,0x0f,0xe9,0xe8,0xe8,0x78,0x6e,0x62,0x62,0xa2,0x81,
+ 0xdf,0x92,0xce,0x53,0x4c,0xce,0xb1,0x44,0x22,0xd9,0x3c,0x6d,0x37,0x16,
+ 0xb1,0x58,0x7c,0x78,0x0d,0xbc,0x0e,0xd2,0xc9,0x6b,0x99,0x4c,0xa6,0x3a,
+ 0x6d,0x2f,0x96,0xb4,0xb4,0xb4,0x5f,0x75,0x9e,0xe4,0xba,0x2c,0x25,0xaf,
+ 0x27,0x27,0x27,0xd7,0x51,0x5b,0x7e,0x15,0xa3,0xa3,0xa3,0x1b,0x61,0x61,
+ 0x61,0x5b,0x4e,0x4e,0x4e,0xfb,0x0e,0x0e,0x0e,0x07,0xc7,0xc1,0xcd,0xcd,
+ 0xed,0xcf,0x88,0x88,0x88,0x4d,0xf4,0xce,0xb7,0x47,0x65,0xd6,0xd6,0xd6,
+ 0xaa,0x74,0x9e,0x51,0x87,0x9e,0x13,0x13,0x13,0x4f,0xd1,0x77,0xf3,0x2c,
+ 0x6a,0xb5,0x7a,0xde,0xdb,0xdb,0x7b,0x07,0xd7,0x0a,0x47,0xf0,0xf5,0xf5,
+ 0xe5,0x02,0x03,0x03,0x8f,0x85,0xab,0xab,0xab,0x76,0x5d,0x21,0x9f,0x17,
+ 0x1e,0x1e,0xfe,0x9b,0xa1,0x5c,0x42,0x4d,0x4d,0xcd,0x77,0xac,0xe7,0xf8,
+ 0xf8,0x38,0x59,0x1f,0x66,0x59,0xdc,0xdd,0xdd,0x77,0x48,0x3d,0x21,0x21,
+ 0x81,0xdb,0xdb,0xdb,0xe3,0x4e,0x6a,0x6c,0x6f,0x6f,0x73,0xa1,0xa1,0xa1,
+ 0x5a,0xdf,0xe8,0xe8,0xe8,0x9f,0x0d,0x65,0x57,0x57,0x57,0x6f,0x18,0xf0,
+ 0x5c,0xc2,0xdb,0xa7,0x69,0xe6,0x31,0xc8,0xe7,0x64,0x65,0x65,0x9d,0x98,
+ 0x1f,0x3d,0xe0,0xc2,0xf9,0xf9,0xf9,0x71,0x96,0x96,0x96,0xe4,0xf5,0x7f,
+ 0xb2,0x09,0x55,0x55,0x55,0x6b,0xac,0xe7,0xd8,0xd8,0xd8,0x02,0x6a,0x53,
+ 0x34,0x51,0x51,0x51,0x3f,0x90,0x9a,0x4a,0xa5,0xe2,0xc5,0x93,0x8c,0xfe,
+ 0xfe,0x7e,0xed,0x9a,0x3e,0x30,0x30,0xb0,0xc8,0xe6,0x57,0x56,0x56,0x3e,
+ 0x65,0x3d,0xd1,0x27,0x0f,0x51,0x1b,0xa3,0x09,0x0e,0x0e,0xfe,0xc5,0xdc,
+ 0xdc,0x9c,0x37,0x47,0x32,0x56,0x57,0x57,0xb5,0x9e,0x25,0x25,0x25,0xdf,
+ 0xb0,0xf9,0x15,0x15,0x15,0x4f,0x58,0xcf,0x91,0x91,0x91,0xaf,0x51,0x1b,
+ 0xa6,0x81,0xe7,0x8f,0x66,0x66,0x66,0xbc,0x7a,0xa2,0xe7,0x0f,0x3d,0x97,
+ 0xd9,0xfc,0xf2,0xf2,0xf2,0x25,0xd6,0x73,0x78,0x78,0xf8,0x1e,0x6a,0x03,
+ 0x34,0xf0,0x54,0x99,0x9a,0x9a,0xf2,0xea,0xb9,0xbc,0xbc,0x7c,0xe8,0xf9,
+ 0x98,0xcd,0x2f,0x2b,0x2b,0x5b,0x60,0x3d,0x87,0x86,0x86,0x26,0x51,0x53,
+ 0xd2,0x5c,0xbe,0x7c,0xf9,0x39,0xe9,0x23,0xac,0x9b,0xbc,0x41,0xd6,0x29,
+ 0x9d,0xe7,0x23,0x36,0xbf,0xb4,0xb4,0xf4,0x11,0xeb,0x39,0x38,0x38,0x38,
+ 0x8e,0x9e,0x53,0xd0,0xe0,0xff,0xc1,0x63,0x72,0x3e,0x83,0x82,0x82,0x78,
+ 0xc3,0xc7,0xc7,0x47,0xbb,0x36,0x29,0x95,0xca,0xaf,0xd8,0xfc,0xe2,0xe2,
+ 0xe2,0x59,0x03,0x9e,0x23,0x38,0x86,0x56,0x9a,0xbc,0xbc,0xbc,0x59,0xdc,
+ 0xb7,0x68,0xf8,0xfc,0xde,0xd7,0xd6,0xd6,0xb4,0xe7,0x13,0x7d,0x7f,0x97,
+ 0xcd,0xbf,0x71,0xe3,0xc6,0x03,0xd6,0x13,0xf3,0xee,0xa0,0xd6,0x44,0x93,
+ 0x9b,0x9b,0xfb,0x40,0x28,0xcf,0xbe,0xbe,0xbe,0x21,0x36,0xff,0xfa,0xf5,
+ 0xeb,0xf7,0x58,0x4f,0xcc,0xeb,0x47,0x4d,0x46,0x93,0x9d,0x9d,0x7d,0x5f,
+ 0x28,0x4f,0x7c,0xef,0x7a,0xf9,0x45,0x45,0x45,0x53,0xac,0x27,0xe6,0x29,
+ 0x71,0x4d,0xd4,0xd3,0x64,0x66,0x66,0x4e,0x09,0xe5,0xd9,0xdd,0xdd,0xad,
+ 0x97,0x5f,0x58,0x58,0x38,0xc1,0x7a,0xf6,0xf4,0xf4,0x28,0xf0,0xb6,0x1a,
+ 0x9a,0xf4,0xf4,0xf4,0x09,0xa1,0x3c,0xbb,0xba,0xba,0xf4,0xf2,0x0b,0x0a,
+ 0x0a,0x46,0x59,0x4f,0x1c,0x4f,0x3b,0x6a,0x9f,0xd3,0xa0,0xdf,0xc7,0x84,
+ 0xf2,0xec,0xec,0xec,0xd4,0xcb,0x47,0x1f,0x0f,0xb3,0x9e,0x0a,0x85,0xa2,
+ 0x19,0xb5,0x32,0x9a,0xd4,0xd4,0xd4,0x11,0xa1,0x3c,0xb1,0xcf,0x68,0x61,
+ 0xf3,0x73,0x72,0x72,0xee,0xb0,0x9e,0x38,0x9e,0x5b,0xa8,0x7d,0x46,0x93,
+ 0x92,0x92,0x32,0x24,0x94,0x67,0x5b,0x5b,0x5b,0x13,0x9b,0x8f,0x3e,0xee,
+ 0x67,0x3d,0x31,0xaf,0x01,0xb5,0x42,0x9a,0xe4,0xe4,0xe4,0x01,0xa1,0x3c,
+ 0x5b,0x5a,0x5a,0x64,0x6c,0x7e,0x46,0x46,0x86,0x92,0xf5,0x6c,0x6d,0x6d,
+ 0xad,0x47,0x2d,0x8f,0x26,0x31,0x31,0xb1,0x57,0x28,0xcf,0xe6,0xe6,0x66,
+ 0x29,0x9b,0x8f,0xfe,0xe8,0x62,0x3d,0x31,0xaf,0x16,0xb5,0x2c,0x9a,0xf8,
+ 0xf8,0xf8,0x1e,0xa1,0x3c,0x9b,0x9a,0x9a,0xbe,0x60,0xf3,0xd1,0x1f,0x9d,
+ 0xac,0x27,0xe6,0x55,0xa3,0x96,0x46,0x13,0x17,0x17,0xa7,0x10,0xca,0xb3,
+ 0xb1,0xb1,0xb1,0x86,0xcd,0x47,0x7f,0xb4,0xb1,0x9e,0x72,0xb9,0xbc,0x02,
+ 0xb5,0x8f,0x69,0x92,0x92,0x92,0x9a,0xc9,0x5e,0x6b,0x7f,0x7f,0x9f,0x37,
+ 0xcf,0xb9,0xb9,0x39,0xad,0x67,0x7b,0x7b,0x7b,0x19,0x9b,0x8f,0xfe,0x68,
+ 0x66,0x3d,0x1b,0x1a,0x1a,0xc8,0xbc,0x04,0x1a,0xdc,0x3b,0x5f,0xd3,0xad,
+ 0xc1,0xbc,0x79,0xe6,0xe7,0xe7,0x93,0xfd,0xd1,0xc1,0xee,0xee,0x6e,0x32,
+ 0x9b,0x8f,0x71,0x8b,0xf5,0x94,0x4a,0xa5,0xc5,0xa8,0xc5,0xb2,0x60,0x0f,
+ 0xbb,0x6a,0x6d,0x6d,0xad,0x99,0x9a,0x9a,0x3a,0x71,0x47,0xec,0x27,0xc9,
+ 0xde,0x58,0x13,0x10,0x10,0x70,0xd7,0x50,0xf6,0xd5,0xab,0x57,0xe5,0xac,
+ 0x67,0x5d,0x5d,0x5d,0x11,0x6a,0xd1,0x2c,0x5b,0x5b,0x5b,0xb1,0x17,0x2e,
+ 0x5c,0x58,0x27,0x73,0xbc,0xbc,0xbc,0x5e,0xc6,0xc4,0xc4,0x70,0x58,0xd7,
+ 0x8e,0x45,0x64,0x64,0x24,0xe7,0xe2,0xe2,0xa2,0x26,0x9f,0xe9,0xe9,0xe9,
+ 0x79,0x5f,0xad,0x56,0xc7,0x18,0xca,0x8e,0x8d,0x8d,0xfd,0x92,0xf5,0xbc,
+ 0x79,0xf3,0xe6,0x35,0xd4,0x3e,0x7c,0x15,0x12,0x89,0xa4,0x11,0x9e,0xe3,
+ 0xe7,0xcf,0x9f,0x7f,0x61,0x67,0x67,0xb7,0xf9,0x7f,0xb1,0xb7,0xb7,0xdf,
+ 0x74,0x74,0x74,0x5c,0xf7,0xf6,0xf6,0x1e,0xc3,0x7e,0xf2,0xd3,0xa3,0x32,
+ 0x71,0x4e,0xea,0x29,0x4f,0xf2,0xdc,0x98,0xc3,0x3d,0x47,0x29,0x6a,0x92,
+ 0xb3,0x44,0x48,0x48,0xc8,0x6d,0x9d,0xe7,0xfb,0xe0,0x2d,0xf2,0x5a,0x2c,
+ 0x16,0xf7,0xa1,0x16,0x71,0x96,0x70,0x76,0x76,0x7e,0xa8,0xf3,0x7c,0x03,
+ 0xbc,0x06,0x0e,0xac,0xac,0xac,0xb6,0xe6,0xe7,0xe7,0xc9,0xf9,0x0e,0x3b,
+ 0x0b,0xe0,0xbe,0x24,0x1e,0x7b,0x33,0xf2,0x9c,0xf6,0x27,0xa3,0x7f,0x87,
+ 0xf6,0x99,0xb7,0xad,0xad,0xad,0x6a,0x71,0x71,0xf1,0x03,0xcc,0x0b,0x39,
+ 0x4d,0xb0,0x57,0x8b,0x12,0x89,0x44,0xbf,0xc3,0x89,0x3c,0xa7,0x0d,0xa6,
+ 0x3c,0xc9,0x6f,0x1c,0xda,0x6b,0xc1,0xdc,0xdc,0x7c,0xd7,0xdf,0xdf,0xbf,
+ 0x41,0x26,0x93,0x91,0x1e,0x7c,0x47,0x48,0xea,0xeb,0xeb,0x3f,0xf2,0xf0,
+ 0xf0,0x50,0x60,0xad,0x3a,0xd0,0x7d,0xdf,0xb9,0x46,0xfa,0x83,0xb8,0x46,
+ 0x83,0x7f,0x9e,0xe3,0x63,0xbf,0xaa,0x3e,0x77,0xee,0xdc,0x32,0x7a,0x7c,
+ 0x91,0x4f,0x48,0x06,0xb2,0xe8,0xdf,0x3c,0x5e,0x80,0x70,0x03,0x8e,0xf4,
+ 0x10,0x81,0x1c,0xd0,0x0b,0x9e,0xe9,0xce,0x3d,0xc7,0x33,0xc4,0x71,0x05,
+ 0x90,0xfb,0x8e,0x4f,0x80,0x19,0x2b,0xf5,0x37,0x31,0x12,0xfd,0x45
+};
+
+// minimize.png
+static const unsigned char image_8_data[] = {
+ 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x99,0x6b,0x48,0x5b,0x67,0x18,0xc7,
+ 0xe3,0x25,0xd3,0xa9,0x28,0xec,0x83,0x37,0x10,0x11,0xc9,0x27,0x15,0xe6,
+ 0x05,0x3f,0x08,0xfa,0x45,0x14,0x41,0x71,0x4c,0xc5,0xe5,0xc3,0x06,0x1b,
+ 0xe2,0xc2,0x82,0x73,0x88,0x6e,0x5a,0x75,0x5e,0x9a,0x60,0xd4,0x7a,0x99,
+ 0x8e,0x20,0x95,0xc0,0x0c,0xcd,0x24,0x8b,0x76,0xa6,0xce,0x4b,0xaa,0x8d,
+ 0x51,0x51,0x43,0x2a,0xd5,0x45,0xd3,0x6e,0xb3,0x71,0x32,0x5b,0xdd,0xd8,
+ 0x84,0x52,0x5c,0xa4,0x12,0x93,0xb3,0xe7,0x8d,0xe7,0x94,0xec,0x59,0xec,
+ 0x87,0xc5,0xd4,0xf7,0x85,0x1f,0x1c,0xfc,0x27,0x3e,0xbf,0xf7,0xf5,0x9c,
+ 0xf7,0xe2,0xe1,0xf1,0x3c,0xb6,0x6c,0xa0,0x09,0x50,0x01,0x9b,0x80,0xc5,
+ 0xc7,0x98,0x81,0x71,0x40,0x02,0x94,0x00,0x7e,0x9e,0xb5,0x5e,0xb6,0xb7,
+ 0x81,0xbb,0x00,0xc3,0xc1,0xe7,0xf3,0x1d,0xe1,0xe1,0xe1,0x76,0x5f,0x12,
+ 0x1c,0x1c,0xec,0x70,0xaf,0xc9,0xba,0x17,0x5e,0xe0,0x48,0xfa,0xe1,0x24,
+ 0x9f,0x13,0x08,0x04,0x2f,0x14,0x0a,0xc5,0x93,0xed,0xed,0xed,0xc7,0x4e,
+ 0xa7,0xf3,0x21,0xc3,0x30,0x3e,0x67,0x77,0x77,0x77,0x47,0xa9,0x54,0x3e,
+ 0x29,0x2b,0x2b,0x7b,0xe6,0xe7,0xe7,0xc7,0xf9,0x4a,0x91,0x63,0x1a,0x64,
+ 0x36,0x32,0x76,0x83,0x83,0x83,0x07,0xaf,0xc3,0xeb,0x55,0x1c,0x1e,0x1e,
+ 0xfe,0x1c,0x17,0x17,0xf7,0x82,0x75,0xfd,0xc0,0xcd,0xf3,0x3e,0x78,0x3a,
+ 0x55,0x2a,0xd5,0xfe,0x55,0x3b,0x72,0x6c,0x6c,0x6c,0x58,0xc3,0xc2,0xc2,
+ 0xce,0xc8,0xf8,0x81,0xdf,0x1b,0xc0,0x5b,0x80,0x23,0x33,0x33,0xd3,0x76,
+ 0xd5,0x6e,0x18,0x91,0x48,0x74,0xc4,0x8e,0x69,0x1e,0x50,0x4c,0xae,0x6b,
+ 0x6b,0x6b,0xff,0xbc,0x6a,0x2f,0x8c,0x5a,0xad,0xde,0x67,0x3d,0xaf,0x03,
+ 0x1f,0x91,0xeb,0x81,0x81,0x81,0xa7,0x90,0x6d,0xd3,0x84,0xc9,0x64,0x7a,
+ 0xcc,0x7a,0xca,0x39,0xcf,0xfe,0xfe,0xfe,0xdf,0xe0,0xd9,0xde,0xa0,0x09,
+ 0xa3,0xd1,0xf8,0x13,0xf6,0xec,0xeb,0xeb,0xfb,0x15,0xb2,0xfb,0x34,0x01,
+ 0x9e,0x16,0xec,0xd9,0xdb,0xdb,0x6b,0x85,0xb1,0x5e,0xa3,0x09,0xf0,0xfc,
+ 0x11,0x7b,0xf6,0xf4,0xf4,0xfc,0x02,0xd9,0x32,0x4d,0xac,0xad,0xad,0x3d,
+ 0xc0,0x9e,0xdd,0xdd,0xdd,0x8f,0x20,0xd3,0xd3,0xc4,0xca,0xca,0x8a,0x09,
+ 0x7b,0x76,0x75,0x75,0x59,0x20,0xbb,0x4b,0x13,0xe0,0xb9,0x86,0x3d,0x65,
+ 0x32,0x99,0x19,0xb2,0x69,0x9a,0x58,0x86,0x86,0x3d,0x3b,0x3a,0x3a,0x36,
+ 0x21,0xbb,0x43,0x13,0x4b,0x4b,0x4b,0x06,0xec,0x29,0x95,0x4a,0x1f,0xc0,
+ 0x5c,0x70,0x9b,0x26,0x16,0x17,0x17,0xef,0x61,0x4f,0x89,0x44,0x62,0x82,
+ 0x3e,0xa8,0x69,0xc2,0x60,0x30,0xe8,0xb0,0x67,0x7b,0x7b,0xbb,0x11,0x32,
+ 0x15,0x4d,0x2c,0x2c,0x2c,0x4c,0x61,0xcf,0xd6,0xd6,0xd6,0x55,0xc8,0x46,
+ 0x68,0x42,0xaf,0xd7,0xdf,0xc1,0x9e,0x2d,0x2d,0x2d,0xcb,0x70,0x4f,0x28,
+ 0x68,0x62,0x7e,0x7e,0xfe,0x7b,0xec,0xd9,0xdc,0xdc,0x6c,0x80,0x3e,0x0c,
+ 0xd1,0xc4,0xdc,0xdc,0x9c,0x06,0x7b,0x36,0x36,0x36,0x92,0x35,0xe0,0x6b,
+ 0x9a,0xd0,0xe9,0x74,0xa3,0xd8,0xb3,0xa1,0xa1,0x61,0x0e,0xb2,0x7e,0x9a,
+ 0x98,0x9d,0x9d,0xbd,0x85,0x3d,0xeb,0xeb,0xeb,0x75,0x90,0xdd,0xb8,0x88,
+ 0x99,0x99,0x99,0x91,0xf2,0xf2,0x72,0x63,0x42,0x42,0xc2,0x61,0x6c,0x6c,
+ 0xec,0x5f,0xde,0x10,0x1f,0x1f,0xff,0x7b,0x7e,0x7e,0xfe,0xa6,0x5c,0x2e,
+ 0x1f,0x7b,0x55,0xcd,0xe9,0xe9,0xe9,0x11,0xec,0x59,0x57,0x57,0x47,0xd6,
+ 0xaa,0x0e,0x4f,0xc0,0x59,0x75,0x95,0x9c,0xf3,0xd8,0xef,0x30,0x11,0x11,
+ 0x11,0x5e,0xc1,0xfd,0x1e,0x42,0x4e,0x4e,0x8e,0xf9,0xe0,0xe0,0xa0,0xd7,
+ 0x53,0xdd,0xa9,0xa9,0x29,0x05,0xf6,0x84,0xf3,0xd1,0x24,0x64,0xd7,0x31,
+ 0x42,0xa1,0xd0,0xb5,0x76,0xc1,0x18,0x30,0xd0,0x3f,0xc6,0x6e,0xb7,0x33,
+ 0xde,0x36,0x87,0xc3,0xc1,0xc0,0x9a,0xc8,0xa4,0xa6,0xa6,0xba,0x5c,0x53,
+ 0x52,0x52,0x76,0xe0,0x67,0x12,0x5c,0x7b,0x72,0x72,0xf2,0x26,0xf6,0xac,
+ 0xa9,0xa9,0xd1,0x42,0xd6,0xe2,0xce,0xde,0xde,0x9e,0x8c,0x8c,0x23,0xfc,
+ 0xad,0x98,0xa3,0xa3,0x23,0xaf,0xfd,0x70,0x23,0x7d,0xce,0xca,0xca,0x72,
+ 0xb9,0x0e,0x0d,0x0d,0x7d,0x83,0xeb,0x6b,0xb5,0x5a,0x39,0xf6,0xac,0xae,
+ 0xae,0xbe,0x0d,0x59,0xa3,0x3b,0x9d,0x9d,0x9d,0x4a,0x92,0x35,0x35,0x35,
+ 0x5d,0xba,0x23,0xd7,0x26,0x26,0x26,0x5c,0x9e,0xa5,0xa5,0xa5,0xf7,0x70,
+ 0x7d,0xc8,0x06,0xb1,0x67,0x55,0x55,0x95,0x06,0xb2,0xcf,0xdd,0x69,0x6b,
+ 0x6b,0x1b,0x61,0xd7,0x54,0x9f,0x79,0x92,0x7b,0x89,0xd4,0x28,0x2a,0x2a,
+ 0xd2,0xe3,0xfa,0xe3,0xe3,0xe3,0x7d,0xd8,0x53,0x2c,0x16,0x93,0xb5,0xbf,
+ 0xc6,0x9d,0xad,0xad,0xad,0x2f,0x49,0x96,0x98,0x98,0xc8,0xd8,0x6c,0xb6,
+ 0x4b,0x77,0x84,0x35,0x87,0xc9,0xcb,0xcb,0x63,0xd8,0x7d,0xe5,0x4d,0x5c,
+ 0x5f,0xa3,0xd1,0xdc,0xc0,0x9e,0x22,0x91,0xe8,0x5b,0xc8,0x3e,0xc5,0x64,
+ 0x67,0x67,0x2f,0x91,0x3c,0x2d,0x2d,0x8d,0x31,0x9b,0xcd,0x97,0xe6,0x68,
+ 0xb5,0x5a,0x99,0xc2,0xc2,0x42,0x97,0x63,0x4c,0x4c,0xcc,0xfe,0xc9,0xc9,
+ 0xc9,0x67,0xb8,0xb6,0x5a,0xad,0x96,0x61,0xcf,0xca,0xca,0xca,0x5b,0x90,
+ 0x7d,0x82,0x39,0x3d,0x3d,0x15,0x67,0x64,0x64,0xac,0x72,0xf3,0x88,0xbf,
+ 0xbf,0x3f,0x93,0x94,0x94,0xc4,0x24,0x27,0x27,0xff,0x6f,0x02,0x03,0x03,
+ 0x5f,0xce,0x4b,0x91,0x91,0x91,0x4f,0xd7,0xd7,0xd7,0xeb,0x3d,0xd5,0x1e,
+ 0x1d,0x1d,0x95,0x62,0xcf,0x8a,0x8a,0x0a,0xb2,0x47,0xa9,0xbc,0x08,0xb8,
+ 0x47,0xbf,0x82,0x79,0x64,0x35,0x34,0x34,0xf4,0x59,0x50,0x50,0xd0,0x89,
+ 0x37,0x84,0x84,0x84,0x3c,0x17,0x08,0x04,0xe6,0x92,0x92,0x92,0x31,0x78,
+ 0xe6,0x3f,0xbe,0xa8,0xa6,0x4a,0xa5,0x6a,0x77,0xf3,0x2c,0x27,0xd7,0xc5,
+ 0xc5,0xc5,0xdf,0x41,0xf6,0x21,0x4d,0xc0,0x19,0xa3,0x8b,0xf5,0xec,0x06,
+ 0xe2,0xc8,0x35,0xac,0x87,0xe4,0x7c,0xf4,0x3e,0x4d,0xe4,0xe6,0xe6,0x72,
+ 0xfb,0xba,0x77,0x79,0xe7,0x6d,0x27,0x20,0x20,0xe0,0x14,0xc6,0xb9,0x16,
+ 0x72,0x21,0x0d,0x58,0x2c,0x96,0x0a,0xb8,0xc7,0xc8,0xff,0x15,0xcf,0x80,
+ 0x08,0xd6,0xb3,0x00,0x70,0xc2,0xbd,0xf3,0x1c,0xd6,0x00,0x31,0x7c,0xae,
+ 0xec,0x2a,0x39,0x3e,0x3e,0x7e,0x2f,0x3a,0x3a,0xfa,0x11,0x3b,0x96,0x12,
+ 0xde,0xbf,0xdb,0x35,0xf6,0x79,0xb6,0xa7,0xa7,0xa7,0x6b,0x87,0x87,0x87,
+ 0xc9,0xdc,0xf0,0xce,0xeb,0x44,0xa9,0x54,0x8a,0x0b,0x0a,0x0a,0x14,0x7c,
+ 0x3e,0xff,0x98,0x75,0x24,0xef,0x40,0xfc,0x79,0xff,0x6d,0x42,0xe0,0x0f,
+ 0x6e,0xce,0x80,0xb5,0xdd,0x01,0xf3,0x86,0x25,0x2a,0x2a,0xca,0xec,0x4b,
+ 0xa0,0xc6,0x16,0xd4,0xb2,0xbb,0xed,0xa3,0xfe,0xe6,0x9d,0xbf,0x17,0x0a,
+ 0xf2,0xe0,0xc8,0xb5,0x40,0xe0,0x0b,0x60,0x8c,0x77,0xfe,0x7e,0xe4,0xcc,
+ 0xed,0xfb,0xbe,0x82,0xec,0x19,0xad,0xc0,0x0f,0x00,0x99,0x8b,0xde,0xc4,
+ 0x52,0xff,0x00,0x74,0x7b,0x34,0xdf
+};
+
+// restore.png
+static const unsigned char image_9_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x6b,0x4c,0x54,0x47,0x14,0xc7,
+ 0xd1,0x8a,0xe2,0xb2,0x2a,0xe1,0xe5,0x03,0x14,0x51,0x41,0x45,0xf0,0x2d,
+ 0xa0,0xc6,0x57,0xaa,0x89,0xf1,0x03,0xf5,0x43,0x3f,0xb4,0x01,0x03,0x58,
+ 0x48,0x69,0x42,0x3f,0x68,0x68,0x24,0x84,0x6e,0x00,0x09,0x96,0x20,0x62,
+ 0x2b,0xa5,0xc1,0x54,0xfa,0x08,0x41,0xb1,0x25,0x69,0x63,0x4c,0xb1,0xd6,
+ 0x12,0x24,0x42,0x30,0xa9,0xda,0xd4,0xc5,0xfa,0x80,0x6e,0x51,0x60,0x65,
+ 0x65,0xd1,0x95,0xdd,0x65,0x5f,0x4c,0xff,0x67,0xbb,0xd7,0xdc,0x8e,0x43,
+ 0x21,0xcb,0x2e,0x7a,0x93,0x5f,0x94,0xb9,0x37,0x73,0x7e,0x3b,0x77,0xce,
+ 0x99,0x99,0xeb,0xe3,0xf3,0xd2,0x15,0x02,0x0e,0x82,0x4f,0xc1,0x65,0x70,
+ 0x7b,0x12,0x68,0x07,0x55,0x20,0x03,0x84,0xbd,0xac,0xf4,0xe2,0x52,0x80,
+ 0x7c,0x60,0x00,0x4c,0x62,0xf6,0xec,0xd9,0x36,0x6f,0x23,0x8f,0x07,0xcc,
+ 0xa0,0x14,0x04,0x08,0xfc,0xe8,0xf7,0x30,0x85,0x42,0x61,0x3f,0x76,0xec,
+ 0x58,0x5f,0x53,0x53,0x53,0x97,0xc5,0x62,0xe9,0x60,0x8c,0xa9,0xbd,0x8d,
+ 0xd5,0x6a,0xed,0x68,0x69,0x69,0xe9,0x2c,0x2f,0x2f,0xef,0x9d,0x33,0x67,
+ 0x8e,0x9d,0x3c,0xa6,0x4c,0x99,0xd2,0x8d,0x7f,0x83,0x5c,0x7e,0x6f,0x80,
+ 0x0b,0xd4,0x9e,0x94,0x94,0xf4,0xcc,0x64,0x32,0x4d,0x8a,0xd7,0xff,0xf9,
+ 0x1e,0x38,0x70,0x40,0xef,0x1a,0xd3,0x56,0xe0,0x07,0xde,0xa5,0xbf,0xb7,
+ 0x6e,0xdd,0x3a,0x34,0x59,0xe3,0x36,0x16,0x23,0x23,0x23,0x6a,0x8c,0xd7,
+ 0x53,0x97,0xe7,0x21,0x50,0x43,0xff,0xa7,0xb1,0x7e,0xd5,0x6e,0x72,0x34,
+ 0x1a,0xcd,0x5d,0x97,0xe3,0x4f,0xe0,0x81,0x52,0xa9,0xb4,0xdb,0x6c,0xb6,
+ 0x57,0xee,0xc5,0xb3,0x78,0xf1,0x62,0x0b,0xe5,0x10,0xe6,0xe6,0x60,0x54,
+ 0x54,0xd4,0x30,0xda,0xfe,0x18,0x0b,0xcc,0x85,0xdb,0xd5,0xd5,0xd5,0x0f,
+ 0xab,0xaa,0xaa,0xdc,0xa6,0xa6,0xa6,0xa6,0xdb,0xe1,0x70,0x8c,0x19,0x8b,
+ 0xc0,0xfc,0x7b,0xee,0xca,0x9f,0xc1,0x65,0xcb,0x96,0x99,0x31,0x07,0x6e,
+ 0x88,0xb0,0xdb,0xed,0x37,0x0e,0x1f,0x3e,0xdc,0x3b,0x7d,0xfa,0x74,0x07,
+ 0x57,0x23,0x26,0x44,0x48,0x48,0x88,0xb5,0xb9,0xb9,0xf9,0xce,0x68,0x71,
+ 0x89,0xcd,0x9b,0x37,0x1b,0x24,0xc7,0xa5,0x4b,0x97,0x9a,0xd0,0x76,0x5d,
+ 0xc4,0xda,0xb5,0x6b,0x9d,0xbf,0x25,0x3a,0x3a,0xda,0x98,0x9e,0x9e,0xae,
+ 0xad,0xad,0xad,0xbd,0x77,0xf6,0xec,0x59,0xb7,0x39,0x73,0xe6,0xcc,0xfd,
+ 0xdd,0xbb,0x77,0xeb,0x11,0xd7,0xe9,0x5a,0x5f,0x5f,0x7f,0x77,0xb4,0xd8,
+ 0x70,0x7c,0x26,0x73,0x34,0x62,0x6c,0x5b,0x79,0x8e,0x1e,0x3d,0xda,0x45,
+ 0xcf,0xec,0xdb,0xb7,0x4f,0x27,0xba,0x3f,0x11,0xb4,0x5a,0xed,0xf5,0x19,
+ 0x33,0x66,0x38,0xa6,0x4d,0x9b,0x36,0x82,0x77,0x25,0x7c,0x26,0x31,0x31,
+ 0xf1,0xa9,0xe4,0xb8,0x64,0xc9,0x12,0x72,0xbc,0xca,0x83,0x79,0x3a,0xe4,
+ 0xeb,0xeb,0xeb,0x10,0xdd,0xf3,0x04,0xc5,0xc5,0xc5,0xf7,0xc9,0x01,0x63,
+ 0xab,0x16,0xdd,0x4f,0x48,0x48,0x18,0x94,0x1c,0x23,0x23,0x23,0x87,0xd0,
+ 0x76,0x85,0x07,0xeb,0x94,0x75,0xfe,0xfc,0xf9,0x66,0xd1,0x3d,0x4f,0xd0,
+ 0xd3,0xd3,0x73,0x95,0x1c,0x52,0x53,0x53,0xbb,0x45,0xf7,0xe3,0xe3,0xe3,
+ 0x07,0x64,0x8e,0xcf,0xd1,0x76,0x89,0x67,0xd6,0xac,0x59,0xd6,0x05,0x0b,
+ 0x16,0x18,0x0b,0x0b,0x0b,0x3b,0xd6,0xad,0x5b,0xa7,0x0f,0x0b,0x0b,0x33,
+ 0xe2,0x6f,0xd3,0x78,0xa1,0xe7,0x31,0x16,0x4f,0x4e,0x9f,0x3e,0x7d,0x53,
+ 0xd4,0xff,0xc0,0xc0,0xc0,0x2f,0xe4,0x80,0x75,0x45,0x23,0xba,0xbf,0x69,
+ 0xd3,0xa6,0x27,0x92,0x23,0xea,0x10,0x39,0x5e,0xe4,0x81,0xa3,0x85,0xe6,
+ 0x0c,0x3d,0x87,0x1a,0xca,0x76,0xec,0xd8,0xc1,0x76,0xee,0xdc,0x39,0x6e,
+ 0xb6,0x6f,0xdf,0xce,0x66,0xce,0x9c,0x49,0x31,0x58,0x6c,0x6c,0xec,0x20,
+ 0xdf,0x7f,0x7f,0x7f,0xff,0x25,0x97,0x63,0x97,0x28,0xfe,0xc6,0x8d,0x1b,
+ 0x75,0x92,0x63,0x44,0x44,0x84,0x01,0x6d,0x3f,0xf2,0x60,0x3e,0x3b,0xa8,
+ 0xff,0xca,0xca,0x4a,0xe6,0xee,0x85,0x5a,0xc8,0x30,0xef,0x9c,0x39,0x8c,
+ 0x3c,0xd5,0x9e,0x38,0x71,0xe2,0x37,0x09,0xe4,0xe4,0x2d,0x6a,0x4f,0x49,
+ 0x49,0x79,0x20,0x8a,0xbf,0x61,0xc3,0x86,0x7e,0x99,0xe3,0x33,0xe4,0x7a,
+ 0x03,0x0f,0xc6,0x90,0x65,0x64,0x64,0xb8,0xed,0x27,0xbf,0xb6,0x6c,0xd9,
+ 0xc2,0xa6,0x4e,0x9d,0x2a,0xac,0x95,0xb9,0xb9,0xb9,0xb7,0x44,0xf1,0xd7,
+ 0xaf,0x5f,0xff,0x58,0x72,0x5c,0xb4,0x68,0xd1,0x53,0x74,0x73,0x8e,0x07,
+ 0x39,0xcd,0x2a,0x2a,0x2a,0x3c,0xe2,0x98,0x95,0x95,0xc5,0x30,0x77,0x50,
+ 0x66,0xec,0xf5,0x12,0x46,0xa3,0xf1,0x3b,0x72,0xc0,0x98,0xb6,0x8a,0xe2,
+ 0x23,0x07,0xb4,0x92,0xe3,0xc2,0x85,0x0b,0xc9,0xb1,0x96,0xc7,0x0b,0x8e,
+ 0x36,0x79,0xff,0xc3,0xc3,0xc3,0x75,0xe4,0x80,0x7d,0x63,0x8b,0x28,0x3e,
+ 0xd6,0x8f,0x3e,0x99,0x23,0xcd,0xe7,0xaf,0x79,0xb0,0xfe,0xb1,0xbd,0x7b,
+ 0xf7,0x32,0xe4,0xf5,0x84,0xc1,0xfc,0x97,0x1c,0x5f,0xf4,0x0f,0xc7,0x6f,
+ 0xc9,0xa1,0xac,0xac,0xac,0x59,0x14,0x7f,0xcd,0x9a,0x35,0xbd,0x92,0x63,
+ 0x78,0x78,0xb8,0x1e,0xef,0xff,0x4b,0x1e,0x3f,0x3f,0x3f,0x16,0x1a,0x1a,
+ 0xca,0x50,0xe3,0x27,0x4c,0x60,0x60,0x20,0x9b,0x3b,0x77,0xee,0x90,0xbc,
+ 0x7f,0xb3,0xd9,0xec,0xdc,0x17,0x96,0x96,0x96,0xfe,0x2a,0x8a,0xbf,0x7a,
+ 0xf5,0xea,0x1e,0xc9,0x11,0x75,0x6c,0x00,0xde,0x5f,0xf0,0x50,0xdd,0x39,
+ 0x79,0xf2,0xa4,0x47,0xde,0x75,0x76,0x76,0x36,0xad,0xf9,0x3a,0x79,0xff,
+ 0x70,0xac,0x26,0x07,0x9c,0x4d,0x2e,0x8b,0xe2,0xc7,0xc5,0xc5,0x3d,0xe4,
+ 0x1c,0x4f,0xf1,0x78,0xda,0x11,0x6b,0x6b,0xbf,0xbc,0x7f,0x38,0x7e,0x4e,
+ 0x0e,0x25,0x25,0x25,0x8d,0xa2,0xf8,0xa8,0xa9,0xdd,0xae,0xdc,0xd7,0x63,
+ 0x4d,0x78,0x82,0xb6,0x0a,0x1e,0x2f,0x38,0x3e,0x96,0xf7,0x0f,0x47,0x3a,
+ 0x1f,0x53,0xfd,0xbc,0x28,0x8a,0xbf,0x6a,0xd5,0xaa,0xbf,0x25,0x47,0xac,
+ 0xc9,0xf4,0x0e,0xca,0x78,0x3c,0xed,0x88,0x7d,0xea,0x63,0x79,0xff,0x38,
+ 0xdf,0x95,0x93,0x43,0x51,0x51,0xd1,0x05,0x51,0xfc,0x98,0x98,0x18,0x0d,
+ 0xe7,0x58,0xc2,0xe3,0x69,0x47,0xec,0x01,0xfb,0xe4,0xfd,0xc3,0xf1,0x13,
+ 0x72,0x28,0x28,0x28,0xf8,0x41,0x14,0x7f,0xe5,0xca,0x95,0x7f,0x49,0x8e,
+ 0xf3,0xe6,0xcd,0xa3,0x79,0x52,0xc4,0xe3,0x69,0x47,0xe4,0x77,0x9f,0xbc,
+ 0x7f,0x38,0x16,0x93,0x83,0x4a,0xa5,0x6a,0x10,0xc5,0x5f,0xb1,0x62,0x45,
+ 0x97,0xe4,0x88,0x9a,0x40,0xef,0x40,0xc5,0xe3,0x69,0x47,0xec,0xaf,0x7a,
+ 0xe5,0xfd,0xc3,0xb1,0x80,0x1c,0xf2,0xf3,0xf3,0xcf,0x8b,0xe2,0x2f,0x5f,
+ 0xbe,0xbc,0x93,0x73,0xcc,0xe3,0xf1,0x82,0x63,0x8f,0xbc,0x7f,0xac,0x85,
+ 0xf4,0xed,0x86,0xe5,0xe5,0xe5,0x9d,0x13,0xc5,0x47,0xad,0x7a,0x20,0x39,
+ 0xa2,0x4e,0x6b,0xd1,0xf6,0x11,0x8f,0xa7,0x1d,0xb1,0x07,0x7c,0x24,0xef,
+ 0xbf,0xb3,0xb3,0x53,0xe5,0x7a,0xd7,0xdf,0x88,0xe2,0x23,0xc7,0xee,0x49,
+ 0x8e,0x38,0xa3,0xd1,0x3c,0x39,0xc4,0xa3,0x50,0x28,0x2c,0xb4,0xaf,0xf2,
+ 0xc4,0x95,0x96,0x96,0x46,0xf3,0xb1,0x4b,0xde,0x7f,0x4e,0x4e,0x8e,0x73,
+ 0x2d,0x6c,0x6f,0x6f,0x2f,0x10,0xc5,0x47,0x8e,0x49,0xdf,0x01,0xf4,0xc1,
+ 0xc1,0xc1,0x34,0x4f,0x3e,0xe4,0x41,0x3d,0xeb,0xa0,0x75,0x0c,0xf3,0x66,
+ 0x42,0x7e,0x3a,0x9d,0x8e,0xd6,0x42,0xc7,0x9e,0x3d,0x7b,0x2e,0x4b,0x7d,
+ 0x1f,0x3f,0x7e,0xfc,0x14,0xf6,0xa7,0x56,0xd4,0xe9,0x9b,0xa2,0xd8,0x04,
+ 0x62,0xff,0xc9,0x39,0x7e,0xc0,0xd3,0xd8,0xd8,0xa8,0xc2,0x9a,0x6d,0xc1,
+ 0xb9,0x86,0x1d,0x39,0x72,0x84,0xd5,0xd5,0xd5,0x31,0x9c,0x3f,0xc7,0x0d,
+ 0x3d,0x8f,0xb1,0x62,0xb4,0xee,0xe3,0x9d,0x98,0xb7,0x6d,0xdb,0xd6,0x84,
+ 0xbd,0xfc,0x15,0xd4,0x11,0x67,0xdd,0xc3,0xfc,0xbc,0x63,0x30,0x18,0xb2,
+ 0x45,0xb1,0x09,0xba,0x2f,0x39,0x06,0x05,0x05,0xd1,0x5c,0xce,0x14,0xd1,
+ 0xd6,0xd6,0x96,0x83,0x5a,0x7a,0xc3,0xdf,0xdf,0x7f,0xd8,0x9d,0xb3,0x3e,
+ 0xf6,0x4e,0x76,0xcc,0x6b,0x23,0x62,0xf4,0x62,0x2c,0x1e,0x21,0x3f,0x35,
+ 0xf0,0xfc,0x39,0x33,0x33,0xf3,0xab,0xd1,0x62,0x4a,0x60,0xfe,0x76,0xb8,
+ 0xfa,0x79,0x88,0xdf,0x49,0x67,0x85,0xb4,0xb1,0xc0,0xda,0x75,0x10,0xb9,
+ 0xf8,0xde,0x78,0xc1,0xde,0xeb,0xe0,0x78,0xfa,0x1d,0x0d,0xe4,0x09,0xad,
+ 0x85,0xf4,0x3d,0xf2,0xbc,0xeb,0x7b,0x01,0xe5,0x52,0xca,0xeb,0x82,0x5a,
+ 0xad,0x7e,0x1f,0xfb,0x1d,0x3a,0xef,0xb5,0x80,0x2c,0x72,0x44,0xbd,0xbc,
+ 0x86,0x7b,0xef,0xbc,0x2e,0xe0,0x5c,0xd9,0xe0,0x7a,0xcf,0x85,0xc0,0x1f,
+ 0x38,0xf3,0x67,0xd7,0xae,0x5d,0x54,0x4b,0xdf,0x7e,0xd5,0x24,0x27,0x27,
+ 0x57,0xc2,0x67,0x04,0xd0,0x1e,0x37,0xd8,0xe7,0xdf,0x2b,0x02,0x38,0xcf,
+ 0x37,0x01,0x01,0x01,0x1a,0xe4,0xf0,0xc7,0x56,0xab,0x75,0x3f,0x9e,0x7f,
+ 0x6b,0xb2,0xb0,0xd9,0x6c,0xfb,0xb1,0xb7,0xc8,0x45,0x5e,0x49,0x35,0x91,
+ 0xbe,0x99,0xc5,0xf9,0xfc,0xf7,0x8a,0x04,0xdf,0xbb,0xfc,0x9d,0x39,0x89,
+ 0x5c,0xee,0x43,0x1e,0xfe,0xee,0x6d,0x94,0x4a,0xe5,0x23,0x79,0x5c,0x40,
+ 0xdf,0x06,0x62,0x7c,0x46,0xbf,0x12,0xc0,0x67,0xa0,0x19,0x98,0xdc,0xa9,
+ 0x37,0x6e,0x40,0x75,0xed,0x1a,0xa0,0x77,0xfc,0x26,0x2f,0xf4,0x0f,0x37,
+ 0x76,0x25,0x15
+};
+
+// shade.png
+static const unsigned char image_10_data[] = {
+ 0x00,0x00,0x1f,0xa4,0x78,0x9c,0xd5,0x99,0xd1,0x4b,0x53,0x51,0x1c,0xc7,
+ 0xbd,0xd3,0xa1,0xa0,0xf8,0xa2,0xff,0x81,0xef,0x2a,0xf8,0xe0,0x83,0x0f,
+ 0x03,0xc1,0x27,0x21,0x48,0x16,0x14,0x8d,0x22,0xa5,0x51,0x11,0x16,0x44,
+ 0x41,0x83,0x51,0xd0,0x46,0x52,0x30,0x50,0x0b,0x82,0x60,0x83,0x61,0x61,
+ 0xa0,0x54,0x1b,0x14,0x4b,0x92,0xca,0x32,0xc8,0x32,0x66,0xb9,0x24,0x28,
+ 0x5a,0xe4,0x40,0x14,0x7a,0xf0,0x16,0x38,0x37,0x4f,0xbf,0xef,0xb8,0xa3,
+ 0xdb,0xe9,0xe7,0x86,0xed,0x6e,0x9e,0x0e,0x7c,0x60,0x3b,0xf7,0xf2,0xfd,
+ 0x7e,0xbc,0x5c,0xee,0xae,0xe7,0x08,0x21,0xaa,0x84,0x09,0x1a,0x75,0xc4,
+ 0x09,0x22,0x4c,0xbc,0x26,0x74,0x42,0x54,0x10,0xdd,0xe8,0x0d,0x1b,0x1e,
+ 0x75,0x42,0x72,0x34,0xb9,0x6a,0x84,0x8b,0x48,0xca,0x39,0x76,0xbb,0x7d,
+ 0xab,0x52,0x30,0x7f,0x43,0xd2,0xf0,0xd2,0x18,0xdf,0xf1,0xfc,0x79,0xed,
+ 0xed,0xed,0x3f,0x47,0x46,0x46,0xbe,0x4d,0x4f,0x4f,0x7f,0x5a,0x5d,0x5d,
+ 0xfd,0x40,0xe7,0xbc,0x2f,0xc0,0xa2,0x95,0xac,0xad,0xad,0x2d,0x51,0xef,
+ 0x67,0xea,0x5f,0x86,0x87,0xc9,0x7d,0xdc,0xec,0x4d,0xc3,0x8f,0xf9,0xc6,
+ 0xc6,0xc6,0xcd,0x60,0x30,0xf8,0x85,0xe6,0xe2,0xaa,0x00,0x1f,0x78,0x19,
+ 0xde,0x7e,0xc3,0xd7,0x81,0xef,0xd5,0xd5,0xd5,0x5b,0xd1,0x68,0xf4,0x23,
+ 0xcd,0xcd,0xab,0x06,0xbc,0xe0,0x67,0x78,0xc3,0x37,0x80,0xcf,0x83,0x83,
+ 0x83,0xcb,0x74,0xfc,0x55,0x99,0x99,0xfb,0x57,0xc8,0x2f,0x65,0x38,0xc3,
+ 0x77,0x1e,0x9f,0xa7,0xa6,0xa6,0xde,0xd1,0xb1,0x97,0xaa,0x02,0x3f,0xc3,
+ 0x19,0xbe,0x59,0x5c,0xf7,0x8d,0x8d,0x8d,0xe7,0x74,0x6c,0xa6,0x18,0x99,
+ 0x4c,0x66,0x26,0x91,0x48,0xcc,0xbd,0xb1,0x60,0x20,0x87,0xf2,0xd0,0x5b,
+ 0x14,0xf2,0x7b,0x61,0xdc,0x1f,0x59,0xe3,0x59,0x96,0xa5,0xf9,0x27,0x85,
+ 0xa0,0x7b,0xea,0x6d,0x47,0x47,0xc7,0xf7,0xda,0xda,0xda,0xac,0x95,0xcf,
+ 0x63,0xe4,0x21,0x17,0xf9,0x52,0xe7,0x53,0x19,0x78,0x9a,0x9e,0xbf,0x70,
+ 0x7e,0xbc,0x1d,0x2e,0x97,0xeb,0x6b,0xfe,0x5c,0x9b,0xcd,0x26,0x5a,0x5a,
+ 0x5a,0x44,0x5b,0x5b,0x5b,0xc9,0x20,0x07,0x79,0xf9,0x6c,0xf4,0x14,0xf2,
+ 0x60,0x9c,0x63,0x1c,0x3e,0x9f,0x6f,0x11,0xe7,0x34,0x34,0x34,0x88,0xa1,
+ 0xa1,0x21,0xa1,0xeb,0xba,0xb0,0x72,0x20,0x0f,0xb9,0xc8,0x47,0x8f,0xdf,
+ 0xef,0x4f,0xd0,0xf4,0x23,0x0e,0xc6,0xf9,0x81,0x4c,0x3a,0x9d,0x7e,0x58,
+ 0x5f,0x5f,0x9f,0xd6,0x34,0x4d,0x44,0x22,0x11,0x4b,0x5d,0xe5,0x81,0x7c,
+ 0xf4,0xa0,0x0f,0xbd,0x9c,0x8f,0xd9,0xb9,0xa6,0xa6,0x06,0xce,0x51,0x19,
+ 0xfa,0x3d,0x7a,0x86,0xe3,0xad,0xad,0xad,0x65,0xf5,0xcd,0x0f,0xf4,0xa0,
+ 0x0f,0xbd,0x9c,0x0f,0x3c,0x25,0xe7,0xbb,0x32,0xe1,0x70,0x78,0x16,0xc7,
+ 0x7b,0x7a,0x7a,0x2a,0xe2,0x8c,0x1e,0xf4,0x8d,0x8d,0x8d,0xcd,0xd2,0xd7,
+ 0x7b,0x32,0x8c,0xf3,0x84,0x4c,0x2a,0x95,0x8a,0x18,0xbf,0xe9,0x82,0xde,
+ 0x3b,0xca,0xea,0x8b,0x7c,0xf4,0xa0,0x0f,0xbd,0x9c,0x0f,0xe3,0x3c,0xce,
+ 0xd1,0xd9,0xd9,0xb9,0x8c,0x73,0xba,0xbb,0xbb,0xc5,0xca,0xca,0x4a,0x59,
+ 0x7c,0x91,0x8b,0x7c,0xf4,0xa0,0x8f,0xa6,0xee,0x70,0x30,0xce,0xb7,0x38,
+ 0x92,0xc9,0xe4,0x44,0x53,0x53,0xd3,0x8f,0xfc,0xf5,0x76,0xbb,0xdd,0x62,
+ 0x74,0x74,0x54,0x84,0x42,0xa1,0x92,0x41,0x0e,0xf2,0xf2,0xd7,0x17,0x3d,
+ 0xd4,0x37,0x49,0xbd,0xb7,0x39,0x24,0xe7,0x0c,0xcd,0x85,0xb7,0x63,0x61,
+ 0x61,0x61,0xb2,0xab,0xab,0xeb,0xaf,0xf7,0x6a,0x2b,0x41,0x3e,0x7a,0x0a,
+ 0x79,0xc0,0x53,0x72,0x0e,0x16,0x23,0x16,0x8b,0xdd,0xf7,0x78,0x3c,0xb3,
+ 0x7d,0x7d,0x7d,0x8b,0xbd,0xbd,0xbd,0x4b,0xa5,0x82,0x1c,0xe4,0x21,0x97,
+ 0xf2,0x43,0xc5,0x60,0x9c,0x6f,0xaa,0x0e,0xe3,0x7c,0x43,0x75,0x18,0xe7,
+ 0x6b,0x16,0x73,0xdd,0x6a,0x18,0xe7,0x61,0xd5,0x31,0x3b,0xd3,0x7b,0x29,
+ 0x9c,0x03,0xaa,0x03,0x4f,0xc9,0xf9,0xca,0x2e,0x73,0xb5,0x18,0x8c,0xf3,
+ 0x65,0xd5,0x61,0x9c,0x2f,0x15,0xc0,0xa7,0x02,0x8c,0xf3,0x45,0xd5,0x91,
+ 0x9c,0x37,0x69,0xce,0xab,0x3a,0xf0,0x94,0x9c,0xcf,0x5b,0x84,0xa7,0x5c,
+ 0x30,0xce,0xe7,0x54,0x87,0x71,0x3e,0xa3,0x3a,0x8c,0xf3,0xa9,0x5d,0xe0,
+ 0xf4,0x4e,0x60,0x9c,0x4f,0xaa,0x8e,0xd9,0xd9,0x66,0xb3,0xc1,0xf9,0x98,
+ 0xc4,0x71,0xd5,0x80,0xa7,0xe4,0x7c,0x54,0x71,0xdc,0x8c,0x73,0xbf,0xea,
+ 0x98,0x9c,0xb3,0x9a,0xa6,0x65,0x74,0x5d,0x3f,0x42,0xf3,0x87,0x4a,0xe0,
+ 0x70,0x39,0x21,0xbf,0x7e,0x78,0x1a,0xeb,0xa2,0xb9,0xf5,0xe7,0x40,0x20,
+ 0x70,0x81,0x8e,0x1d,0x54,0x15,0xf8,0x99,0xd6,0x9f,0x73,0xeb,0xfc,0x0e,
+ 0x87,0x03,0xff,0xf3,0xee,0x57,0x15,0xf8,0x55,0xfd,0x5e,0xe7,0xcf,0xed,
+ 0xa7,0xe0,0xba,0x7b,0xbd,0x5e,0xbc,0x8b,0x38,0x2b,0xc0,0xbe,0x9d,0x00,
+ 0x2f,0xe3,0xbe,0xc8,0xed,0xa7,0x08,0xd3,0xbe,0x95,0xdd,0x6e,0x5f,0x1f,
+ 0x18,0x18,0xc0,0xfb,0xf5,0x5e,0x55,0x80,0x0f,0xbc,0x0c,0xdf,0xdc,0xbe,
+ 0x95,0x60,0xf6,0x07,0x9b,0x9b,0x9b,0x97,0x9c,0x4e,0xe7,0xb0,0xcf,0xe7,
+ 0x3b,0x1b,0x8f,0xc7,0x0f,0xd0,0x39,0x7b,0x2a,0x05,0xfa,0xd0,0x8b,0x7e,
+ 0x78,0x98,0xd6,0x6d,0xfe,0xd8,0x1f,0x14,0x45,0xf6,0x61,0xe9,0x19,0x93,
+ 0xae,0x14,0xcc,0x1a,0x13,0xbb,0x0f,0x2b,0xfe,0xb3,0xfd,0xee,0x5f,0x4b,
+ 0xfc,0x3e,0x57
+};
+
+// splat.png
+static const unsigned char image_11_data[] = {
+ 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x59,0x09,0x4c,0x95,0x47,0x10,0xc6,
+ 0x03,0x50,0xf1,0x88,0xf1,0xbe,0xa2,0x36,0xd1,0x78,0xd6,0x98,0xaa,0x69,
+ 0x88,0xda,0xe2,0x81,0x26,0x52,0x89,0x77,0x63,0x8c,0x82,0x82,0x41,0x11,
+ 0x09,0x18,0xad,0xc5,0x70,0x14,0x14,0x0f,0x50,0x6a,0x04,0x41,0x41,0xe4,
+ 0x2a,0x88,0x82,0x02,0xfa,0x12,0x88,0x29,0x86,0xc3,0xa2,0x42,0xb9,0x44,
+ 0x69,0x25,0x4a,0x2d,0xe2,0x85,0x8a,0xa8,0x60,0xb8,0xde,0xf6,0x9b,0xf5,
+ 0xed,0xcb,0xff,0x16,0xde,0x61,0x52,0xd4,0x4d,0xbe,0x04,0xff,0x9d,0xdd,
+ 0xf9,0xd8,0x9d,0xf9,0x66,0x56,0xcc,0xcc,0x3a,0x1d,0xf6,0x80,0x1f,0x70,
+ 0x1e,0x28,0x03,0x2a,0xba,0x18,0xa5,0x40,0x12,0xe0,0x0d,0xd8,0x75,0x4e,
+ 0x49,0x67,0x7c,0x0f,0x14,0x01,0x4c,0xc0,0xd2,0xd2,0xb2,0xbd,0x7f,0xff,
+ 0xfe,0xad,0x5d,0x09,0x0b,0x0b,0x8b,0x76,0xa5,0x4f,0x20,0x1f,0xf8,0x56,
+ 0x0f,0x47,0x77,0x61,0xb7,0x6c,0xd9,0xb2,0x86,0x98,0x98,0x98,0x9a,0x7b,
+ 0x18,0x8c,0xb1,0x3b,0x5d,0x0d,0xb5,0x5a,0x7d,0xa7,0xb2,0xb2,0xb2,0x2a,
+ 0x3a,0x3a,0xba,0x66,0xe1,0xc2,0x85,0x6f,0x14,0x7c,0x1d,0x25,0x8e,0x3f,
+ 0x00,0xed,0x56,0x56,0x56,0x6d,0x39,0x39,0x39,0x0f,0x3e,0x05,0x37,0x43,
+ 0xc8,0xcc,0xcc,0xac,0xee,0xd5,0xab,0x57,0x7b,0xb7,0x6e,0xdd,0x5a,0xc0,
+ 0xeb,0x3b,0x0d,0xc7,0xee,0xf8,0xf7,0x0b,0xba,0xdf,0xdc,0xdc,0xdc,0xcf,
+ 0xce,0x51,0xe0,0xca,0x95,0x2b,0xff,0xf4,0xec,0xd9,0x53,0x0d,0x7e,0x0f,
+ 0x35,0x3c,0xbf,0xa1,0x33,0x5e,0xbb,0x76,0x6d,0xfd,0xe7,0xe6,0x26,0xc3,
+ 0xd6,0xd6,0x56,0xc4,0xc0,0x57,0x80,0x07,0xfd,0x7c,0xf2,0xe4,0xc9,0xda,
+ 0xae,0xf2,0x17,0x19,0x19,0xf9,0xe8,0xe0,0xc1,0x83,0x4f,0x5a,0x5a,0x5a,
+ 0xee,0x7e,0xcc,0xba,0x03,0x07,0x0e,0x3c,0xd1,0xf0,0x74,0x00,0x02,0xe8,
+ 0x67,0x95,0x4a,0x45,0x77,0x7e,0xfb,0xff,0xc6,0xd2,0xa5,0x4b,0x1b,0x44,
+ 0x5e,0x2c,0x58,0xb0,0xe0,0xcd,0xc7,0xac,0x4d,0x48,0x48,0x78,0xa8,0x59,
+ 0xbb,0x4b,0xf0,0xbc,0x7c,0xf9,0xf2,0x3d,0xe4,0x5d,0xb1,0xa9,0xc8,0xcf,
+ 0xcf,0xaf,0xac,0xaf,0xaf,0x2f,0x35,0x64,0xb3,0x77,0xef,0xde,0x5a,0xda,
+ 0x7b,0xe6,0xcc,0x99,0x6c,0xfa,0xf4,0xe9,0x0c,0x79,0xc0,0x1a,0x1b,0x1b,
+ 0x4b,0x4c,0xf5,0x11,0x17,0x17,0x77,0xbf,0x13,0x9e,0x95,0x98,0xbb,0x65,
+ 0x0a,0xac,0xad,0xad,0xf9,0x19,0x51,0x9c,0xbb,0xb9,0xb9,0xd5,0xbe,0x7f,
+ 0xff,0xbe,0x50,0xb6,0x49,0x4c,0x4c,0xfc,0x9b,0x6c,0x46,0x8d,0x1a,0xc5,
+ 0x1e,0x3f,0x7e,0xcc,0x96,0x2f,0x5f,0xce,0xcf,0xb4,0xb6,0xb6,0xb6,0xd8,
+ 0x54,0x3f,0xb1,0xb1,0xb1,0x55,0x32,0xcf,0x8c,0x8c,0x8c,0x0a,0x9c,0xf5,
+ 0x1f,0xc6,0x40,0x76,0xe2,0x8c,0xc6,0x8c,0x19,0xc3,0x7d,0x4f,0x9c,0x38,
+ 0xb1,0xf1,0xfe,0xfd,0xfb,0x45,0xc2,0xa6,0xa2,0xa2,0xa2,0x98,0xf4,0xdb,
+ 0xdc,0xdc,0x9c,0x95,0x96,0x96,0x32,0x1a,0x33,0x66,0xcc,0x60,0xa4,0x35,
+ 0xf0,0x6f,0xd4,0x87,0x00,0x34,0xfc,0x2f,0x99,0x67,0x7a,0x7a,0x7a,0x19,
+ 0xe6,0x72,0x8d,0x21,0x20,0x20,0x80,0xff,0x8e,0x67,0xce,0x9c,0x61,0x38,
+ 0x47,0xb6,0x6e,0xdd,0x3a,0xce,0x95,0x6a,0x8a,0xab,0xab,0xeb,0xc3,0x9b,
+ 0x37,0x6f,0x16,0x8d,0x1e,0x3d,0xba,0x89,0xbe,0x45,0x45,0x45,0x31,0x31,
+ 0xc0,0x9b,0x8d,0x1f,0x3f,0xbe,0xd1,0x14,0x1f,0x02,0xd0,0xfd,0x3b,0x32,
+ 0xcf,0xb4,0xb4,0xb4,0x3f,0x31,0xf7,0xbb,0x31,0x9c,0x3f,0x7f,0xbe,0x84,
+ 0xec,0xbd,0xbc,0xbc,0xb4,0x1c,0x22,0x22,0x22,0xa8,0xbe,0x2a,0xeb,0x1e,
+ 0xf3,0xf0,0xf0,0xd0,0xce,0x3f,0x7b,0xf6,0x8c,0x7f,0x9b,0x3f,0x7f,0x7e,
+ 0x9d,0x29,0x3e,0x04,0x70,0x16,0xe5,0x32,0xcf,0x4b,0x97,0x2e,0xdd,0xc2,
+ 0x5c,0x96,0x31,0x20,0xbe,0xb2,0x29,0x1f,0x6c,0x6c,0x6c,0x98,0x72,0x20,
+ 0xa7,0xd8,0xee,0xdd,0xbb,0x99,0xbd,0xbd,0x3d,0x8b,0x8f,0x8f,0xd7,0x99,
+ 0xbb,0x76,0xed,0x1a,0xe7,0xb9,0x79,0xf3,0xe6,0x6a,0x53,0x7c,0x08,0xe0,
+ 0x3e,0x4a,0x64,0x9e,0xa9,0xa9,0xa9,0x05,0x98,0x53,0x99,0x02,0xc4,0xe5,
+ 0xbb,0x7e,0xfd,0xfa,0x31,0x53,0x47,0x58,0x58,0x18,0xe7,0x19,0x14,0x14,
+ 0x54,0x66,0xaa,0x0f,0x02,0x74,0xb7,0x48,0xe6,0x99,0x92,0x92,0x92,0x8f,
+ 0xb9,0x74,0x63,0x68,0x6e,0x6e,0xce,0x18,0x3e,0x7c,0x78,0xe3,0xa0,0x41,
+ 0x83,0x4c,0xe6,0xb9,0x67,0xcf,0x1e,0xa6,0xb9,0x33,0x93,0x7c,0x08,0x9c,
+ 0x3a,0x75,0xea,0x96,0xcc,0x13,0x71,0x97,0x83,0x5c,0x4c,0x25,0x54,0x57,
+ 0x57,0x5f,0xd9,0xb0,0x61,0xc3,0x3d,0xf4,0x2e,0x35,0xb3,0x67,0xcf,0x7e,
+ 0x3a,0x69,0xd2,0xa4,0x97,0xe3,0xc6,0x8d,0x6b,0x18,0x31,0x62,0xc4,0x3b,
+ 0xe4,0x6c,0x2b,0xd9,0x2f,0x5a,0xb4,0xa8,0x53,0x4e,0x75,0x75,0x75,0x6c,
+ 0xeb,0xd6,0xad,0x2c,0x39,0x39,0x59,0xfb,0xed,0xf0,0xe1,0xc3,0x9c,0x27,
+ 0xe2,0xb8,0x40,0xf8,0x30,0x05,0xe1,0xe1,0xe1,0x05,0x32,0x4f,0xec,0x9b,
+ 0x8d,0x2d,0xcf,0x11,0xa0,0x79,0xca,0xde,0x8a,0xf5,0xe8,0xd1,0x83,0x0d,
+ 0x18,0x30,0x80,0xe1,0x1c,0x49,0x83,0x98,0xa7,0xa7,0x27,0xcf,0x75,0x31,
+ 0xce,0x9d,0x3b,0xc7,0xba,0x77,0xef,0xce,0xb6,0x6f,0xdf,0xce,0x26,0x4f,
+ 0x9e,0xcc,0xd7,0x0c,0x19,0x32,0x44,0x3b,0x8f,0x33,0xe0,0xdf,0xf0,0xbb,
+ 0xd6,0x43,0x0f,0x54,0xc2,0x8f,0x31,0xa0,0x96,0xe7,0xc9,0x3c,0xe1,0xeb,
+ 0x2a,0xe6,0x12,0xda,0xdb,0xdb,0x13,0x90,0xbb,0x6d,0xd0,0x19,0x56,0x56,
+ 0x56,0xc6,0xde,0xbe,0x7d,0x6b,0xf4,0x5e,0x71,0xe6,0x3a,0xb9,0x4e,0x20,
+ 0x6d,0x15,0x03,0x67,0xc3,0x50,0x9b,0x84,0x7e,0xb5,0xad,0x5e,0xbd,0xba,
+ 0xb2,0xaa,0xaa,0x2a,0x95,0xfc,0x19,0x02,0xe2,0x3a,0x47,0xe6,0x89,0xfa,
+ 0x91,0x89,0xb9,0x18,0x82,0xa3,0xa3,0x23,0xbd,0x03,0x18,0xf6,0xe3,0x3e,
+ 0xf4,0x8d,0xc0,0xc0,0x40,0xae,0xdf,0xa8,0x4b,0x54,0x13,0xd5,0xc8,0xe7,
+ 0x52,0xe8,0x55,0x01,0xf4,0xbd,0x0d,0x5a,0xc9,0x5a,0x5b,0x5b,0x75,0xec,
+ 0x91,0xab,0xbc,0x3e,0xd1,0xde,0x38,0x7f,0x35,0x62,0xab,0xbc,0xa8,0xa8,
+ 0x28,0x55,0xf8,0x95,0x71,0xe2,0xc4,0x89,0x6c,0x99,0x27,0x6a,0xbe,0x0a,
+ 0x9c,0xa2,0x08,0xb8,0xd3,0x68,0x9c,0xc7,0x2b,0xfa,0xbe,0x62,0xc5,0x0a,
+ 0xd6,0xd4,0xd4,0xd4,0x81,0x23,0x7a,0x1f,0x7e,0xd7,0x64,0x83,0x98,0x68,
+ 0xf2,0xf3,0xf3,0xcb,0x11,0xeb,0xc7,0x8e,0x1d,0xfb,0x92,0xbe,0x23,0x9e,
+ 0xd9,0x8d,0x1b,0x37,0x74,0xd6,0x21,0x0f,0xb9,0xfe,0x4f,0x98,0x30,0x81,
+ 0x69,0x6a,0x6f,0xbb,0x9d,0x9d,0xdd,0x5d,0xf4,0xf3,0x89,0x62,0xbd,0xc0,
+ 0xf1,0xe3,0xc7,0xaf,0xca,0x3c,0xa1,0x79,0x94,0x63,0xe1,0x02,0x8f,0x1e,
+ 0x3d,0x8a,0x9e,0x32,0x65,0x0a,0xef,0x23,0x66,0xcd,0x9a,0xc5,0x9e,0x3e,
+ 0x7d,0xda,0x81,0xab,0xc8,0x8f,0xde,0xbd,0x7b,0x37,0xe7,0xe5,0xe5,0x25,
+ 0x89,0xb5,0x87,0x0e,0x1d,0xba,0x4a,0xe7,0x25,0x62,0x40,0x99,0x53,0xca,
+ 0x58,0xb8,0x70,0xe1,0x02,0x43,0xed,0x12,0xf1,0xd0,0xba,0x69,0xd3,0xa6,
+ 0x42,0x25,0x87,0x90,0x90,0x90,0x4c,0x99,0x27,0x6a,0xfe,0x45,0xcc,0x9d,
+ 0x50,0x02,0x67,0x16,0x3a,0x77,0xee,0xdc,0x7b,0x34,0x4f,0xfb,0x15,0x17,
+ 0x17,0x77,0xf0,0xe7,0xe3,0xe3,0xc3,0xfd,0xac,0x5a,0xb5,0xaa,0x18,0x67,
+ 0x17,0x97,0x95,0x95,0x95,0x48,0x75,0x40,0x70,0xa4,0x3a,0x95,0x9d,0x9d,
+ 0xad,0x37,0x76,0x28,0x36,0x90,0xd7,0x6c,0xf0,0xe0,0xc1,0xdc,0x7e,0xc7,
+ 0x8e,0x1d,0xb9,0xc2,0xff,0xb1,0x63,0xc7,0x54,0x32,0x4f,0xd4,0xfc,0x0b,
+ 0x98,0x0b,0x91,0x81,0xbc,0x0a,0x71,0x70,0x70,0xb8,0x4e,0xf1,0xd7,0xa7,
+ 0x4f,0x1f,0x35,0x74,0x56,0xc7,0x0f,0xfa,0x2c,0xbe,0x3f,0xb4,0xe0,0x95,
+ 0xe6,0x1e,0xdb,0x44,0xbc,0x90,0x46,0x09,0x5d,0x40,0x6f,0xc2,0xd0,0xa7,
+ 0xb1,0xa3,0x47,0x8f,0x32,0xdc,0x27,0xd7,0x7e,0xaa,0xb7,0xc8,0x69,0x16,
+ 0x1a,0x1a,0xca,0x76,0xee,0xdc,0xc9,0xf7,0x19,0x39,0x72,0xe4,0x0b,0xe1,
+ 0x3b,0x38,0x38,0x38,0x43,0xe6,0x89,0x9a,0x4f,0x5a,0x10,0xa4,0x0f,0xb8,
+ 0xe3,0x34,0x9c,0x4d,0x0b,0x9d,0x55,0x49,0x49,0x89,0x96,0x27,0xf9,0x11,
+ 0x67,0x87,0x38,0xd1,0xc6,0x2c,0xf1,0x14,0xc3,0xc5,0xc5,0xa5,0x83,0x1e,
+ 0xe8,0x03,0xde,0x3f,0x05,0xc2,0xe7,0x91,0x23,0x47,0xd2,0x64,0x9e,0x88,
+ 0x6d,0xd2,0x82,0x40,0x43,0x40,0xaf,0x74,0x91,0x6c,0xbd,0xbd,0xbd,0xb5,
+ 0x1c,0x28,0x6e,0xe7,0xcd,0x9b,0xc7,0x75,0x87,0xee,0x10,0xfd,0x1d,0xdb,
+ 0xb2,0x65,0x0b,0xfb,0xf0,0xa4,0x66,0x3c,0x8f,0x34,0x7a,0xfa,0x0a,0xf7,
+ 0x92,0x8d,0xf7,0x47,0x8a,0xbf,0xbf,0xff,0x45,0x5f,0x5f,0xdf,0x34,0x68,
+ 0x43,0x06,0xf6,0x4a,0x47,0x0e,0xa6,0xd1,0xde,0xa7,0x4f,0x9f,0xfe,0x4d,
+ 0xe9,0x0f,0x71,0x9e,0x22,0xf3,0x84,0x4d,0x2c,0xe6,0xfc,0x0d,0x01,0x71,
+ 0x9d,0x48,0xb6,0xf0,0xa3,0x37,0xde,0xe4,0x41,0xb9,0x42,0x6b,0x9c,0x9c,
+ 0x9c,0xb2,0x8c,0xed,0x2f,0x03,0xba,0x97,0x2c,0xf3,0x44,0xac,0x44,0x63,
+ 0xce,0xc7,0x10,0xd6,0xaf,0x5f,0x7f,0x55,0x53,0x63,0x4d,0xe6,0x89,0xf7,
+ 0x09,0xe7,0xb9,0x78,0xf1,0xe2,0x1b,0xc6,0xf6,0x97,0xb1,0x7f,0xff,0xfe,
+ 0x24,0x99,0x27,0xe2,0x2c,0x12,0x73,0x5e,0x86,0x30,0x6d,0xda,0xb4,0x4a,
+ 0xb2,0xad,0xa9,0xa9,0xd1,0xe1,0x42,0x35,0x8b,0xf2,0x80,0xee,0x9f,0xfa,
+ 0x52,0xa5,0xbe,0x93,0xf6,0x52,0x1d,0x80,0x1e,0xff,0x6b,0x6c,0x7f,0x19,
+ 0xb8,0xb7,0x04,0x99,0x27,0x72,0x8e,0x34,0x6b,0xb7,0x21,0x20,0xdf,0x1b,
+ 0x49,0x9f,0x94,0xa3,0xa0,0xa0,0x80,0x0d,0x1c,0x38,0x50,0xad,0xcc,0x05,
+ 0xea,0x01,0x9e,0x3f,0x7f,0xae,0xb5,0xa1,0x37,0x0a,0x7a,0x84,0x36,0xe4,
+ 0xfe,0x4f,0xc6,0x7c,0x28,0x81,0x18,0x8e,0x91,0x79,0x42,0x2b,0x42,0x31,
+ 0xe7,0xa1,0x0f,0x85,0x85,0x85,0xbe,0x64,0x47,0xef,0x31,0x31,0x28,0xf6,
+ 0xa8,0x0f,0x20,0xcd,0x5a,0xb9,0x72,0xa5,0x0a,0xfd,0x80,0x0f,0x6a,0x3d,
+ 0xef,0xc5,0x50,0x1f,0xd5,0xa8,0xe1,0xdc,0x0e,0xb1,0xc9,0xf9,0x27,0x25,
+ 0x25,0x05,0x1b,0xf2,0x21,0x03,0x39,0x16,0x2d,0xf3,0x44,0x8e,0x1c,0xc7,
+ 0x9c,0x9b,0x3e,0x20,0x56,0xc2,0x45,0xae,0x53,0x2d,0x41,0x8e,0xf2,0x77,
+ 0x2e,0xb4,0xea,0x3d,0xf2,0x32,0x4c,0x69,0xbb,0x66,0xcd,0x9a,0x34,0x51,
+ 0x37,0xcb,0xcb,0xcb,0xb5,0x7d,0x32,0xfa,0xa9,0x04,0x43,0x3e,0x64,0xec,
+ 0xdb,0xb7,0x2f,0x52,0xe6,0x09,0xfd,0x3d,0x86,0xb9,0x6d,0xfa,0xe0,0xec,
+ 0xec,0x1c,0x4f,0x76,0x54,0x2b,0xa1,0x71,0xdc,0xaf,0x95,0x95,0xd5,0x1b,
+ 0xf4,0xbe,0xbf,0x74,0x66,0x8f,0x33,0xe4,0xf6,0x78,0xbf,0xa9,0x6d,0x6d,
+ 0x6d,0xb9,0x3d,0xde,0x79,0x67,0x0d,0xf9,0x90,0x01,0xad,0x8b,0x90,0x79,
+ 0x42,0x53,0x49,0x5b,0x9d,0xf5,0x01,0xbd,0xf5,0x01,0x65,0x0c,0xe2,0xac,
+ 0x1e,0xa0,0xd7,0xd9,0x65,0x68,0x0d,0x6a,0x60,0x24,0x7a,0xa7,0x66,0xb2,
+ 0xef,0xdb,0xb7,0xef,0x2b,0x68,0xaa,0xbb,0x21,0x7b,0x19,0x78,0x07,0x84,
+ 0x29,0x78,0xfe,0x4c,0x3f,0xbb,0xbb,0xbb,0x53,0x7c,0x3a,0x18,0x02,0xd6,
+ 0xfd,0x8a,0x3e,0xf8,0xe6,0x92,0x25,0x4b,0x2e,0xbd,0x7e,0xfd,0xda,0xc9,
+ 0x98,0x3d,0x01,0xba,0xbf,0x0d,0xf5,0x2f,0x10,0x79,0xe5,0x6c,0x8a,0xbd,
+ 0x12,0x1b,0x37,0x6e,0x14,0xf1,0xe9,0x62,0xf6,0xe1,0xff,0x17,0xd9,0x9c,
+ 0x39,0x73,0x48,0x87,0x37,0x7c,0x49,0x98,0x3a,0x75,0x6a,0xbe,0x86,0xe7,
+ 0xd7,0x80,0x05,0xd0,0x84,0x7c,0x68,0xb8,0x7e,0xfd,0xba,0x0b,0xe6,0x7f,
+ 0xfc,0x12,0xa0,0x52,0xa9,0xdc,0x10,0x33,0x8d,0xe0,0x46,0xbd,0x6c,0x37,
+ 0xb3,0x0f,0xc3,0x93,0x78,0xe3,0xad,0xfb,0x04,0xfa,0xe3,0x08,0xbb,0xd5,
+ 0x9f,0x13,0x78,0xef,0x3b,0x43,0xab,0x5f,0x68,0xce,0x72,0x9d,0x99,0xee,
+ 0x88,0xd2,0xf4,0x65,0x4d,0x36,0x36,0x36,0xf1,0x67,0xcf,0x9e,0xdd,0x8e,
+ 0x35,0xf6,0x9f,0x12,0xe8,0xd9,0x5c,0xad,0xad,0xad,0x93,0x51,0x13,0x9a,
+ 0x35,0x1c,0x83,0xcc,0x3a,0x0e,0x3a,0x5b,0x67,0xe0,0xb5,0xc8,0x69,0xe8,
+ 0x63,0xdb,0xd0,0xa1,0x43,0x6f,0x0f,0x1b,0x36,0xac,0xac,0x2b,0x41,0x3e,
+ 0xc8,0x97,0x42,0x4f,0xe8,0x2c,0x37,0x75,0xc2,0x51,0x39,0x2c,0xcd,0x3e,
+ 0xfc,0x1d,0x87,0xb4,0x9a,0x7a,0x79,0x9d,0x9a,0xd8,0x45,0xa0,0xbf,0xcb,
+ 0x50,0xef,0x90,0x0a,0x78,0x01,0xe6,0x32,0xa9,0xff,0x00,0x99,0xf6,0xbe,
+ 0x01
+};
+
+// titlealpha.png
+static const unsigned char image_12_data[] = {
+ 0x00,0x00,0x00,0x78,0x78,0x9c,0xe3,0xe7,0xe7,0xaf,0x64,0x00,0x82,0xff,
+ 0xff,0xff,0x87,0x02,0x71,0x08,0x10,0x7b,0x01,0xb1,0x33,0x10,0x5b,0x01,
+ 0xb1,0x3e,0x10,0x6b,0x00,0xb1,0x02,0x10,0x4b,0x02,0x31,0x27,0x03,0x0e,
+ 0x00,0x94,0x63,0x05,0x62,0x09,0x34,0x0c,0xd2,0xa7,0x07,0xc4,0x36,0x50,
+ 0x73,0x23,0x3f,0x7c,0xf8,0x20,0xc3,0xcf,0xcf,0xcf,0x06,0x00,0x83,0xf5,
+ 0x43,0x25
+};
+
+// window_background.png
+static const unsigned char image_13_data[] = {
+ 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x98,0x69,0x4c,0x54,0x57,0x14,0xc7,
+ 0x59,0x04,0xdc,0xe2,0xbe,0xf3,0xc1,0x15,0xfc,0x60,0x4c,0xda,0xc4,0x2f,
+ 0x96,0x2a,0xa6,0xf1,0x8b,0x24,0x84,0x0f,0xd6,0xa4,0x8d,0x34,0x01,0xa4,
+ 0x09,0x54,0x28,0x21,0x85,0x26,0x1a,0x36,0x6b,0xad,0x10,0x2c,0x8b,0x20,
+ 0x8b,0xac,0xb2,0x14,0x90,0x1d,0x0a,0x08,0x6d,0xa1,0x92,0x40,0x8a,0x24,
+ 0xb6,0x28,0x76,0x18,0x16,0x69,0x3b,0x5a,0x05,0x2d,0x1d,0xc5,0x51,0x96,
+ 0x19,0x5e,0xff,0xe7,0x39,0xb7,0xb9,0xdc,0x62,0x99,0xf7,0xa6,0xb4,0xbd,
+ 0xc9,0x2f,0x19,0xee,0x99,0x73,0xee,0x7f,0xde,0xbb,0xe7,0x9c,0x7b,0xb1,
+ 0xb1,0x99,0x73,0x78,0x81,0x18,0x50,0x06,0x7e,0x00,0xbd,0x0b,0x0c,0xad,
+ 0x51,0x02,0xa2,0x80,0xe7,0xdc,0x92,0x66,0x0d,0x77,0xd0,0x0d,0x24,0x86,
+ 0x93,0x93,0x93,0x69,0xc5,0x8a,0x15,0xd3,0x0b,0x89,0xa3,0xa3,0xa3,0x89,
+ 0x5f,0x13,0x74,0x80,0x37,0x5e,0xa1,0x31,0x88,0x7d,0xcf,0xc3,0xc3,0xe3,
+ 0x49,0x7e,0x7e,0xbe,0x4e,0xab,0xd5,0xf6,0xcf,0xcc,0xcc,0xdc,0x91,0x24,
+ 0x69,0x41,0xa1,0x35,0x34,0x1a,0xcd,0x40,0x5e,0x5e,0x9e,0xee,0xf0,0xe1,
+ 0xc3,0x4f,0x39,0xbd,0x27,0x04,0x8d,0x1e,0xc0,0xb8,0x6c,0xd9,0x32,0x63,
+ 0x5b,0x5b,0xdb,0xdd,0x85,0xd6,0x35,0x1f,0xcd,0xcd,0xcd,0xc3,0x8b,0x17,
+ 0x2f,0x36,0xd9,0xda,0xda,0x4e,0x43,0xd7,0x5b,0x66,0x8d,0xf8,0xd3,0x76,
+ 0x94,0x9e,0xbd,0xb5,0x1a,0x7b,0x7a,0x7a,0x06,0x83,0x83,0x83,0x1f,0x05,
+ 0x04,0x04,0x3c,0x56,0xc2,0xc5,0x8b,0x17,0xef,0x8f,0x8c,0x8c,0xf4,0xf1,
+ 0xb1,0x9a,0x9a,0x9a,0x86,0x17,0x2d,0x5a,0x34,0x03,0x6d,0x3a,0xb3,0xce,
+ 0xd7,0xe8,0x19,0x1f,0x3d,0x7a,0x54,0xaf,0x56,0x1f,0xed,0x8f,0x3d,0x7b,
+ 0xf6,0xbc,0x10,0xf6,0x98,0x22,0xec,0xed,0xed,0x25,0x6f,0x6f,0xef,0x31,
+ 0x3e,0xee,0x91,0x23,0x47,0x9e,0x98,0xed,0x2e,0xe0,0x43,0xfa,0x4c,0xbf,
+ 0x49,0x8d,0x46,0xa3,0xd1,0x78,0x67,0xe5,0xca,0x95,0xa6,0x55,0xab,0x56,
+ 0x49,0x35,0x35,0x35,0xd2,0xf8,0xf8,0xb8,0xf4,0xfc,0xf9,0x73,0x45,0x74,
+ 0x74,0x74,0x48,0x9e,0x9e,0x9e,0xb2,0xde,0xf0,0xf0,0xf0,0x51,0x16,0xfb,
+ 0xfc,0xf9,0xf3,0x0f,0xb8,0x7d,0x1a,0x43,0x9f,0xeb,0xea,0xea,0xe8,0x9d,
+ 0xdf,0x56,0x4a,0x76,0x76,0xf6,0x2f,0xe4,0x5f,0x5f,0x5f,0x2f,0x59,0x3b,
+ 0x0e,0x1c,0x38,0x20,0x21,0xff,0x4d,0x2c,0x76,0x49,0x49,0xc9,0x4f,0x66,
+ 0x9d,0x1f,0x33,0x9d,0xb5,0xb5,0xb5,0x03,0xc8,0xbb,0x9b,0x4a,0xf1,0xf5,
+ 0xf5,0x1d,0x25,0x7f,0x83,0xc1,0x60,0xb5,0xce,0xb8,0xb8,0x38,0x09,0x79,
+ 0x22,0xb1,0xd8,0xc5,0xc5,0xc5,0x43,0xa2,0xce,0xea,0xea,0xea,0x3e,0xd8,
+ 0x6e,0x28,0xc5,0xc7,0xc7,0xe7,0x21,0xf9,0x4f,0x4e,0x4e,0x5a,0xad,0xf3,
+ 0xc2,0x85,0x0b,0x4c,0xa7,0x1c,0xbb,0xa8,0xa8,0xa8,0x7f,0x0e,0x9d,0xb4,
+ 0x27,0x3a,0x95,0x02,0x9d,0xbf,0x92,0x7f,0x61,0x61,0xa1,0x54,0x5a,0x5a,
+ 0x6a,0x15,0xc7,0x8f,0x1f,0xa7,0xbe,0x22,0xb1,0xd8,0x88,0xa9,0x11,0x75,
+ 0x56,0x55,0x55,0xdd,0x82,0xad,0x5d,0x29,0x91,0x91,0x91,0x43,0x76,0x76,
+ 0x76,0xaa,0xf3,0x5c,0x04,0x35,0x7c,0x86,0xc5,0x2e,0x28,0x28,0xb8,0x23,
+ 0xea,0xac,0xac,0xac,0xfc,0x1e,0xb6,0x56,0xa5,0xa4,0xa6,0xa6,0xca,0xb1,
+ 0x28,0x6f,0xe9,0xdd,0x5b,0x03,0xbd,0x77,0xd4,0x8d,0x69,0x16,0xfb,0xca,
+ 0x95,0x2b,0xb7,0x44,0x9d,0xe5,0xe5,0xe5,0xdd,0xb0,0x35,0x2b,0x25,0x25,
+ 0x25,0xa5,0x87,0xfc,0xa7,0xa7,0xa7,0xad,0xde,0x9f,0x89,0x89,0x89,0x4c,
+ 0xa7,0x1c,0x1b,0x7d,0xf4,0xa6,0xa8,0xf3,0xea,0xd5,0xab,0xdf,0xc1,0xd6,
+ 0x20,0x32,0x31,0x31,0xd1,0x88,0xfa,0x70,0xe3,0xd0,0xa1,0x43,0x0f,0xdc,
+ 0xdc,0xdc,0x46,0x44,0x5c,0x5c,0x5c,0xe4,0x5a,0xdc,0xda,0xda,0x2a,0x5d,
+ 0xbf,0x7e,0x7d,0x16,0xc3,0xc3,0xc3,0x94,0x13,0x6a,0x74,0xca,0x6b,0xe7,
+ 0xe6,0xe6,0x76,0x8b,0x3a,0xcb,0xca,0xca,0x3a,0x60,0xab,0xe5,0x49,0x4f,
+ 0x4f,0xef,0xc6,0xde,0x9b,0x99,0x6f,0x4f,0xa1,0xb7,0xbd,0xd2,0xb6,0x61,
+ 0xc3,0x06,0x09,0xfd,0x5a,0x89,0xce,0x29,0xb6,0x7e,0x4e,0x4e,0x4e,0x97,
+ 0xa8,0x13,0xcf,0xac,0x1d,0xbf,0xbd,0x92,0xd1,0xd7,0xd7,0xd7,0xc8,0xd6,
+ 0xda,0xb1,0x63,0x87,0x3e,0x24,0x24,0xe4,0x76,0x58,0x58,0xd8,0xad,0xb9,
+ 0x40,0x8f,0xfe,0xd1,0xdf,0xdf,0x5f,0xc3,0xe3,0xe7,0xe7,0xa7,0xd9,0xb6,
+ 0x6d,0x9b,0x9e,0xfc,0x29,0xcf,0x3a,0x3b,0x3b,0x2d,0xd2,0x89,0xde,0x36,
+ 0xc5,0x34,0x5c,0xbe,0x7c,0xb9,0x53,0xd4,0x89,0x9a,0xda,0x86,0xaf,0x96,
+ 0x32,0xf0,0x9e,0xe5,0x3e,0xb3,0x7f,0xff,0xfe,0xfb,0xfc,0xbc,0x52,0x46,
+ 0x47,0x47,0x2b,0x48,0xa7,0x97,0x97,0x97,0xc5,0x3a,0x99,0x6f,0x66,0x66,
+ 0x66,0xbb,0xa8,0x13,0x35,0xf5,0x6b,0xd8,0x8a,0x18,0x5b,0xb6,0x6c,0x91,
+ 0xcf,0x81,0x2d,0x2d,0x2d,0x0d,0xfc,0xbc,0x1a,0x1c,0x1c,0x1c,0x8c,0xbb,
+ 0x76,0xed,0x52,0xa2,0x53,0xf6,0xcb,0xc8,0xc8,0xf8,0x56,0xd4,0x89,0x9a,
+ 0x4a,0x9b,0x28,0x9f,0xb1,0x79,0xf3,0x66,0x39,0x3f,0x70,0xd6,0xab,0xe1,
+ 0xe7,0xd5,0x80,0x1e,0x63,0xdc,0xb9,0x73,0xa7,0xa5,0x3a,0x27,0x99,0x5f,
+ 0x5a,0x5a,0xda,0x37,0xa2,0x4e,0xd4,0xaa,0x46,0xec,0x89,0x6c,0xc6,0xa6,
+ 0x4d,0x9b,0x64,0x9d,0xa8,0xe3,0x54,0x6f,0x1b,0xac,0x01,0xe7,0x48,0x93,
+ 0xa5,0x3a,0x71,0x0e,0x99,0x64,0x1a,0x50,0x9b,0x5b,0x44,0x9d,0xa8,0x55,
+ 0x75,0xf8,0x6a,0x3a,0x63,0xeb,0xd6,0xad,0x8f,0xfe,0xa9,0x1e,0x43,0x58,
+ 0xa2,0x33,0x3a,0x3a,0x5a,0x5a,0xbf,0x7e,0xbd,0x81,0x69,0x40,0x6d,0x6e,
+ 0x12,0x75,0xa2,0x56,0x55,0xc3,0x96,0xc2,0xd8,0xbd,0x7b,0xf7,0x7d,0x36,
+ 0xdf,0xdb,0xdb,0x9b,0x6b,0x0d,0x4b,0x97,0x2e,0x9d,0x98,0x4f,0x27,0xf2,
+ 0x4d,0xc2,0x5e,0x33,0x1d,0x3c,0x78,0x50,0xcb,0x34,0x24,0x27,0x27,0x7f,
+ 0x29,0xea,0xc4,0x39,0xb2,0x82,0x1e,0x3d,0x03,0x3a,0xef,0x99,0xf3,0xa8,
+ 0x80,0x9f,0x57,0x03,0x7a,0xf6,0x8b,0x35,0x6b,0xd6,0x48,0x67,0xcf,0x9e,
+ 0x9d,0x93,0x63,0xc7,0x8e,0x49,0xc8,0x35,0x69,0xf5,0xea,0xd5,0x86,0xc1,
+ 0xc1,0xc1,0x0c,0xe6,0x87,0x51,0x2b,0xea,0xcc,0xca,0xca,0x2a,0x83,0x2d,
+ 0x9e,0xe1,0xea,0xea,0x4a,0xf7,0x12,0xaa,0xd1,0x79,0xfc,0xbc,0x1a,0xa0,
+ 0xf1,0x09,0x9d,0xd7,0xd6,0xad,0x5b,0xf7,0x0c,0xef,0x55,0x64,0x1c,0x3d,
+ 0xed,0x1e,0xea,0x56,0xf7,0xd8,0xd8,0x58,0x22,0xef,0x97,0x90,0x90,0x50,
+ 0x25,0xea,0x44,0x0d,0xf8,0x02,0xb6,0xcf,0x18,0xf0,0x95,0xeb,0x27,0xee,
+ 0x53,0x59,0xfc,0xbc,0x1a,0xd0,0x93,0x1e,0x53,0xac,0xa1,0xa1,0xa1,0x44,
+ 0x25,0x7e,0xf1,0xf1,0xf1,0xe5,0xa2,0x4e,0xd4,0x80,0x42,0xd8,0x3e,0x61,
+ 0xa0,0xde,0xfd,0x4c,0xf3,0x0d,0x0d,0x0d,0xe9,0xfc,0xbc,0x1a,0x98,0x4e,
+ 0xbc,0xd3,0x78,0x25,0x7e,0x38,0xdf,0x97,0x8a,0x3a,0x2f,0x5d,0xba,0x44,
+ 0x35,0x2b,0x8a,0x81,0x7d,0x3f,0x6c,0xf3,0xf2,0xde,0x93,0xca,0xcf,0xab,
+ 0x01,0xef,0x56,0xae,0x1d,0x03,0x03,0x03,0xb1,0x4a,0xfc,0x70,0x8f,0x2b,
+ 0x16,0x75,0xe2,0xbe,0x99,0x03,0xdb,0x69,0x06,0x7a,0xba,0xac,0x13,0xf7,
+ 0xbb,0x64,0x7e,0x5e,0x0d,0xd8,0x97,0xb2,0xce,0xfe,0xfe,0xfe,0x4f,0x95,
+ 0xf8,0x9d,0x3b,0x77,0xae,0x40,0xd4,0x99,0x94,0x94,0x94,0x09,0x5b,0x38,
+ 0x63,0xfb,0xf6,0xed,0x77,0x69,0x1e,0x77,0xdd,0xcf,0xf9,0x79,0x35,0x40,
+ 0xa7,0x7c,0xd7,0xc3,0xd9,0x26,0x5a,0x89,0x1f,0x6a,0x41,0x9e,0xa8,0x13,
+ 0xb9,0x95,0x06,0x5b,0x28,0x03,0x75,0x5e,0xbe,0xeb,0xe1,0x3e,0x12,0xc7,
+ 0xcf,0xab,0x61,0xed,0xda,0xb5,0x23,0x14,0x4b,0xa3,0xd1,0x44,0x28,0xf1,
+ 0x8b,0x89,0x89,0xc9,0x16,0x75,0x22,0xb7,0xa8,0xb6,0x06,0x33,0xb0,0x3f,
+ 0xe5,0x3b,0x14,0x7a,0x57,0x12,0x3f,0xaf,0x06,0xf4,0xc2,0x31,0x8a,0xa5,
+ 0xd3,0xe9,0xc2,0x94,0xf8,0x45,0x45,0x45,0x65,0x8a,0x3a,0x91,0x5b,0xa4,
+ 0x27,0x90,0x81,0xda,0x5b,0x41,0xf3,0x1b,0x37,0x6e,0xd4,0x4d,0x4d,0x4d,
+ 0x7d,0xc0,0xdb,0x94,0x10,0x1b,0x1b,0x9b,0x4c,0x71,0x70,0x8f,0x34,0x28,
+ 0xf5,0x8d,0x88,0x88,0x48,0x17,0x75,0x22,0xb7,0x68,0x1f,0xbe,0xcf,0xd0,
+ 0xeb,0xf5,0x81,0xe8,0x77,0xf2,0x59,0x04,0xe7,0x88,0x29,0xf4,0xb4,0x21,
+ 0x67,0x67,0xe7,0x41,0x25,0x2c,0x59,0xb2,0xe4,0xcf,0xff,0x11,0x86,0x86,
+ 0x86,0x66,0xf0,0xf1,0x2d,0xe1,0xd4,0xa9,0x53,0xa9,0x9c,0x4e,0x42,0x0a,
+ 0x0a,0x0a,0xa2,0xfd,0xe9,0xc3,0xa3,0xd5,0x6a,0x03,0xa1,0x6f,0x00,0xf7,
+ 0x0a,0xf1,0xff,0xa8,0x16,0x83,0xe7,0xf8,0xec,0xcc,0x99,0x33,0xf1,0x62,
+ 0x6c,0x4b,0xf0,0xf5,0xf5,0xcd,0x31,0xc7,0x39,0x09,0xde,0xa4,0xcf,0xfb,
+ 0xf6,0xed,0xfb,0x0a,0x36,0xef,0x57,0x81,0xbc,0xff,0x08,0x77,0xbd,0x70,
+ 0x4b,0xa9,0xa8,0xa8,0x08,0xc3,0x1d,0xf4,0xbd,0xbf,0x8b,0x39,0x1f,0x7b,
+ 0xf7,0xee,0x65,0xe7,0xf9,0xd7,0x81,0x03,0x30,0xe0,0x77,0x3f,0x6d,0x6f,
+ 0x6f,0x0f,0x80,0xfd,0x9d,0xff,0x03,0xd7,0xae,0x5d,0x0b,0xc2,0xd9,0xc4,
+ 0x00,0x6d,0xbf,0x03,0x3b,0x9b,0x97,0x23,0x84,0x74,0x2f,0x5f,0xbe,0xfc,
+ 0x61,0x57,0x57,0x97,0x1f,0xbe,0xf7,0xf6,0x7f,0x09,0xee,0xd4,0xfe,0xc8,
+ 0x0d,0x76,0xfe,0x7d,0xd7,0x66,0xf6,0xc8,0x34,0xe7,0xcc,0x0b,0x77,0x77,
+ 0xf7,0x22,0x9c,0x9b,0x4f,0xc2,0xc7,0xeb,0xdf,0x04,0x67,0xdd,0x93,0x6e,
+ 0x6e,0x6e,0xa5,0xf6,0xf6,0xf6,0x13,0x66,0x8d,0x09,0x36,0x7f,0x1d,0xb6,
+ 0xc0,0x1f,0xe8,0x59,0x0e,0x20,0x7f,0x8c,0x38,0x43,0xdc,0x46,0x6d,0xea,
+ 0x59,0x48,0x68,0x0d,0x5a,0x8b,0xcb,0xbf,0xdf,0x80,0xcf,0x1c,0x1a,0xf9,
+ 0xe1,0x04,0x22,0x41,0x0d,0xd0,0x02,0xd5,0xb9,0xae,0x00,0x5a,0x83,0xfa,
+ 0x0a,0x9d,0x37,0x4f,0x03,0x47,0x51,0xd4,0x1f,0xb7,0x84,0x65,0x15
+};
+
+// window_foreground.png
+static const unsigned char image_14_data[] = {
+ 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x7b,0x4c,0x14,0x57,0x14,0x87,
+ 0x57,0x79,0xfa,0x42,0xb0,0x44,0xaa,0x86,0x10,0x9b,0xe8,0x1f,0xbc,0x82,
+ 0x8a,0x1a,0x8d,0x12,0x89,0x8f,0xf8,0x88,0x02,0x11,0x48,0x37,0xa1,0x29,
+ 0x49,0x41,0x45,0x8b,0xb4,0x49,0x49,0x84,0x18,0x22,0xb4,0x68,0x68,0x8b,
+ 0x08,0x08,0x08,0x05,0x44,0xd0,0x96,0x05,0x5a,0xd2,0xa6,0x40,0x5a,0x1a,
+ 0x2a,0xe5,0x4d,0x8b,0xa5,0x82,0x40,0x8b,0x62,0xd1,0xb2,0x05,0x59,0x44,
+ 0x60,0xd9,0x45,0xf6,0x31,0xfd,0xdd,0x75,0xee,0xf6,0x76,0x45,0xca,0xce,
+ 0x2e,0xad,0x93,0x7c,0x31,0x9c,0xd9,0x39,0xf3,0x39,0x73,0xef,0xb9,0xe7,
+ 0x8e,0x48,0xf4,0xdc,0xf1,0x1a,0x08,0x07,0xd9,0xe0,0x47,0xd0,0x39,0xcf,
+ 0x74,0x80,0x2a,0x70,0x11,0xbc,0x01,0x2c,0x9f,0x57,0xd2,0x1f,0x4e,0x20,
+ 0x13,0xa8,0x00,0x47,0xb1,0xb3,0xb3,0x53,0xcd,0x37,0xec,0xfd,0x16,0x2c,
+ 0x58,0x30,0x8c,0x7f,0xa3,0x80,0xb5,0x81,0x9f,0x33,0xce,0xc9,0xc8,0x6f,
+ 0x1c,0x1d,0x1d,0x55,0x69,0x69,0x69,0x03,0xcd,0xcd,0xcd,0xf7,0x54,0x2a,
+ 0x55,0x17,0xc7,0x71,0x77,0xe6,0x1b,0xa5,0x52,0xd9,0x55,0x5d,0x5d,0x7d,
+ 0xff,0xdc,0xb9,0x73,0x83,0x36,0x36,0x36,0x1a,0xde,0xb7,0x01,0x58,0xf1,
+ 0x7e,0xf6,0xf0,0xeb,0x26,0xf1,0xd8,0xd8,0xd8,0x21,0xb5,0x5a,0x3d,0xef,
+ 0x4e,0xb3,0x31,0x31,0x31,0xd1,0xbd,0x6b,0xd7,0xae,0x09,0xde,0x33,0x8f,
+ 0x77,0x4c,0x22,0x7f,0x87,0x85,0x85,0x8d,0x98,0x92,0x5b,0x2a,0x95,0xf6,
+ 0x24,0x27,0x27,0x4b,0x8f,0x1d,0x3b,0x26,0x0b,0x0f,0x0f,0x9f,0x33,0xa7,
+ 0x4e,0x9d,0x92,0xb5,0xb7,0xb7,0xdf,0x65,0x73,0x8d,0x8d,0x8d,0x75,0xbb,
+ 0xba,0xba,0x2a,0x79,0x4f,0x5f,0x70,0xcb,0xca,0xca,0x4a,0x23,0x97,0xcb,
+ 0xbb,0x85,0xfa,0x89,0xc5,0xe2,0x51,0x0b,0x0b,0x0b,0xfd,0x98,0x12,0x82,
+ 0xbb,0xbb,0xbb,0xb2,0xb7,0xb7,0xf7,0x37,0x9a,0x53,0x22,0x91,0xf4,0xf3,
+ 0xe7,0xce,0x03,0xed,0xe6,0xcd,0x9b,0x27,0x85,0xfa,0x45,0x45,0x45,0x91,
+ 0x31,0xce,0x05,0x04,0x04,0x70,0x8d,0x8d,0x8d,0x9c,0x42,0xa1,0xe0,0x30,
+ 0xbe,0xe6,0x0c,0xde,0x2d,0x57,0x5e,0x5e,0x4e,0xe6,0x26,0xe7,0xe0,0xe0,
+ 0xa0,0xd6,0x68,0x34,0xba,0xbc,0x23,0x23,0x23,0xdd,0x0b,0x17,0x2e,0xd4,
+ 0x22,0x77,0x1d,0x9f,0x7f,0x14,0xf1,0x0e,0x21,0x2c,0x5b,0xb6,0x4c,0xb3,
+ 0x7b,0xf7,0x6e,0xce,0xd4,0xa3,0xac,0xac,0x4c,0xf7,0x3c,0x4b,0x4a,0x4a,
+ 0x7e,0xa7,0xb9,0x97,0x2f,0x5f,0x4e,0xe6,0x7c,0x17,0x89,0xfb,0xf9,0xf9,
+ 0x8d,0x68,0xb5,0xda,0x5b,0x42,0xc0,0x38,0xe1,0x2e,0x5d,0xba,0x64,0xb2,
+ 0xe3,0xe3,0xc7,0x8f,0x75,0x8e,0x27,0x4f,0x9e,0x1c,0xa4,0xb9,0x59,0xc7,
+ 0x23,0x47,0x8e,0xc8,0x10,0x6b,0x15,0x82,0xa5,0xa5,0x25,0x77,0xf9,0xf2,
+ 0x65,0x93,0x1d,0x31,0x4f,0x74,0x8e,0x11,0x11,0x11,0x52,0x9a,0x1b,0x8e,
+ 0xd3,0x8c,0xe3,0x23,0xfc,0xac,0x51,0x08,0xe4,0x39,0x86,0x86,0x86,0x72,
+ 0xc5,0xc5,0xc5,0x26,0x91,0x9f,0x9f,0x4f,0x1d,0xff,0xa0,0xb9,0x31,0x46,
+ 0xf5,0x8e,0x87,0x0f,0x1f,0x1e,0x42,0xec,0x07,0x21,0x2c,0x5a,0xb4,0x48,
+ 0x6b,0xca,0x7c,0x66,0xc1,0x1c,0xe1,0x12,0x13,0x13,0x7b,0x69,0x6e,0xd6,
+ 0xf1,0xd0,0xa1,0x43,0x83,0x88,0xd5,0x08,0x61,0xe9,0xd2,0xa5,0x6a,0xac,
+ 0x4b,0xdc,0xf4,0xf4,0xb4,0x49,0x3c,0x79,0xf2,0x44,0xe7,0x99,0x9b,0x9b,
+ 0xdb,0x41,0x73,0xb3,0x8e,0x07,0x0f,0x1e,0x94,0x22,0xf6,0x8d,0x10,0x96,
+ 0x2c,0x59,0xa2,0xce,0xc8,0xc8,0x30,0x79,0x3c,0x4e,0x4e,0x4e,0xea,0x1c,
+ 0x73,0x72,0x72,0x7e,0xa6,0xb9,0x51,0x33,0x9e,0x52,0xc7,0x03,0x07,0x0e,
+ 0x90,0x31,0x50,0x31,0x13,0x53,0x53,0x53,0x95,0x85,0x85,0x85,0xad,0x67,
+ 0xce,0x9c,0xb9,0x33,0x13,0xb6,0xb6,0xb6,0x1a,0x73,0x3a,0x66,0x67,0x67,
+ 0xb7,0xd1,0x7b,0xb3,0x8e,0xfb,0xf7,0xef,0x7f,0x88,0xd8,0x97,0x86,0x04,
+ 0x07,0x07,0xf7,0x61,0x2d,0x9f,0x75,0x0c,0x91,0x79,0x6d,0x4e,0xc7,0xac,
+ 0xac,0xac,0x56,0x7a,0x7f,0xd6,0x71,0xdf,0xbe,0x7d,0xfd,0x98,0xeb,0x9f,
+ 0xb3,0xf8,0xfb,0xfb,0xf7,0x91,0x73,0xf6,0xf6,0xf6,0xca,0xe3,0xc7,0x8f,
+ 0x77,0x55,0x56,0x56,0xd6,0x54,0x55,0x55,0x3d,0x07,0xe6,0x8c,0x59,0xdf,
+ 0x75,0x66,0x66,0x66,0x13,0x75,0x80,0xe3,0x14,0x75,0xdc,0xbb,0x77,0x2f,
+ 0xa9,0xed,0xc5,0x2c,0x78,0x3e,0x9a,0x55,0xab,0x56,0x4d,0x18,0xc6,0x0d,
+ 0xc1,0x78,0x54,0x99,0xd3,0x11,0xb5,0xb6,0x9e,0xe6,0xc6,0x7c,0xd4,0x3b,
+ 0xee,0xd9,0xb3,0xa7,0x0f,0xb1,0xeb,0x14,0xac,0x95,0xc5,0xfc,0x1a,0xf9,
+ 0x2b,0x1b,0x9f,0x09,0x73,0x3b,0xa6,0xa7,0xa7,0xd7,0xd2,0xdc,0xac,0x23,
+ 0xd6,0xdb,0x7b,0x88,0x15,0x50,0x86,0x86,0x86,0x6e,0x90,0x78,0x50,0x50,
+ 0xd0,0x1d,0x36,0x3e,0x13,0xe6,0x76,0x4c,0x4d,0x4d,0xfd,0x9e,0xe6,0x86,
+ 0xa3,0x92,0x3a,0xfa,0xfa,0xfa,0xf6,0xe2,0xfd,0xe7,0x52,0x86,0x87,0x87,
+ 0xaf,0x91,0xf8,0xf6,0xed,0xdb,0xef,0x63,0x4e,0x57,0xcc,0x86,0xb9,0xc7,
+ 0x63,0x4a,0x4a,0xca,0x77,0xd4,0x03,0xff,0x7f,0xbd,0x23,0xfa,0x5e,0xf2,
+ 0x4e,0xb3,0x28,0xa8,0xa7,0x9f,0xcc,0x75,0x6d,0x20,0x6b,0x21,0xd6,0x06,
+ 0x93,0x1d,0x07,0x06,0x06,0x68,0xed,0xa9,0xa0,0x1e,0xac,0xa3,0x8f,0x8f,
+ 0x4f,0x0f,0x62,0xe9,0x14,0xf4,0x74,0x64,0xef,0xc5,0x45,0x47,0x47,0xd7,
+ 0x74,0x76,0x76,0xe6,0xcf,0xc6,0xc6,0x8d,0x1b,0xef,0xaf,0x59,0xb3,0x46,
+ 0x2b,0x93,0xc9,0x4c,0x72,0x3c,0x7d,0xfa,0x34,0x87,0x3e,0x59,0xfb,0xe0,
+ 0xc1,0x83,0x1c,0xea,0x01,0x47,0x05,0x75,0xdc,0xb9,0x73,0x27,0xe9,0xc1,
+ 0x53,0x28,0x70,0x4c,0x23,0xf1,0x0b,0x17,0x2e,0x7c,0xcd,0xc6,0x67,0xa2,
+ 0xa7,0xa7,0x27,0x1b,0xf5,0x49,0x41,0x9e,0xe7,0xd1,0xa3,0x47,0xb9,0xf8,
+ 0xf8,0x78,0xa3,0x88,0x8b,0x8b,0xe3,0x3c,0x3c,0x3c,0xb4,0xa4,0x0e,0xc7,
+ 0xc4,0xc4,0x7c,0xcb,0xe6,0x66,0x1d,0x77,0xec,0xd8,0x41,0xe6,0xc6,0x47,
+ 0x94,0xf1,0xf1,0x71,0xb2,0xd7,0x25,0xef,0xf0,0x2b,0x36,0xfe,0x22,0xd0,
+ 0xfb,0xa5,0xa0,0x07,0x6d,0x5d,0xbf,0x7e,0xfd,0x43,0x27,0x27,0xa7,0xf1,
+ 0x95,0x2b,0x57,0xea,0xc1,0x3e,0x53,0x6e,0x6d,0x6d,0xcd,0xad,0x58,0xb1,
+ 0x62,0x92,0x8d,0x53,0x50,0xdf,0xc6,0x30,0xd6,0x3a,0xda,0xda,0xda,0xb2,
+ 0x0d,0xf3,0x2e,0x5e,0xbc,0x58,0xef,0x88,0xb9,0x41,0xd6,0xf1,0xf3,0x14,
+ 0x38,0xea,0xf6,0x61,0x09,0x09,0x09,0x5f,0xb0,0x71,0x21,0xb4,0xb4,0xb4,
+ 0x64,0x90,0x5c,0x05,0x05,0x05,0x45,0xc6,0x5e,0xcb,0x3a,0x6e,0xdb,0xb6,
+ 0xed,0x36,0x62,0x09,0x14,0xf4,0x9b,0x89,0x24,0x8e,0xfd,0x6e,0x19,0x1b,
+ 0x17,0x42,0x53,0x53,0x53,0x2a,0xc9,0x85,0xfe,0xb0,0xc0,0xd8,0x6b,0xe1,
+ 0x38,0x49,0x1d,0xb7,0x6e,0xdd,0xda,0x8e,0x58,0x1c,0x05,0x8e,0x09,0x24,
+ 0x8e,0xb1,0x22,0x61,0xe3,0x42,0xc0,0x3e,0xec,0x22,0xdf,0x73,0xe5,0x19,
+ 0x7b,0x2d,0xea,0x9a,0xde,0x71,0xcb,0x96,0x2d,0xa4,0x1f,0x8a,0xa5,0xa0,
+ 0xf6,0xc4,0x91,0xf8,0xd9,0xb3,0x67,0x3f,0x65,0xe3,0x42,0x68,0x68,0x68,
+ 0xf8,0x90,0xef,0xb9,0x72,0x8c,0xbd,0x96,0x75,0xf4,0xf6,0xf6,0x26,0xfd,
+ 0x50,0x34,0x05,0x8e,0x31,0xa2,0x67,0xdf,0x2d,0x8a,0xd8,0xb8,0x10,0xea,
+ 0xea,0xea,0xc8,0xfe,0x98,0xbb,0x72,0xe5,0x4a,0xa6,0xb1,0xd7,0xc2,0x51,
+ 0x4e,0x1d,0x37,0x6d,0xda,0xf4,0x13,0x62,0xef,0x52,0xe0,0x18,0x4d,0xe2,
+ 0xe8,0x0f,0x0b,0xd8,0xb8,0x10,0x6a,0x6b,0x6b,0xdf,0xe7,0xfb,0x99,0x74,
+ 0x63,0xaf,0x45,0x6f,0xaa,0x77,0xdc,0xb0,0x61,0x03,0xe9,0xd9,0x22,0x29,
+ 0xd8,0xc7,0x47,0xa1,0x5e,0x69,0x4f,0x9c,0x38,0x71,0x83,0x8d,0x0b,0xa1,
+ 0xb4,0xb4,0x54,0xf7,0x1c,0xf3,0xf2,0xf2,0x3e,0x36,0xf6,0x5a,0xd6,0xd1,
+ 0xcb,0xcb,0xab,0x05,0xb1,0x08,0x16,0xac,0x1d,0x7d,0xa8,0x75,0xfd,0xa8,
+ 0x43,0x6f,0x1b,0x9e,0x33,0x06,0xd4,0xb5,0x9b,0xe8,0xf3,0x9e,0x0a,0xc9,
+ 0x03,0xc7,0x09,0xea,0xe8,0xe9,0xe9,0xd9,0x84,0x58,0x38,0x4b,0x51,0x51,
+ 0x51,0x3c,0xc9,0x8d,0xfa,0xab,0xc0,0xbc,0xbf,0x19,0x12,0x12,0x72,0xdd,
+ 0x18,0xc4,0x62,0xf1,0x67,0xab,0x57,0xaf,0xbe,0x2b,0x7a,0xf6,0xbd,0xeb,
+ 0xaa,0x61,0xfe,0xb9,0xc0,0x3a,0xae,0x5d,0xbb,0x96,0xd4,0xc7,0x50,0x43,
+ 0xea,0xeb,0xeb,0xdf,0x71,0x73,0x73,0x6b,0xc2,0x5e,0x7c,0x10,0x6b,0x9d,
+ 0xd2,0x18,0x6c,0x6c,0x6c,0xe4,0xeb,0xd6,0xad,0xbb,0x25,0x91,0x48,0x62,
+ 0x67,0xca,0xfd,0x6f,0x8c,0x8e,0x8e,0x86,0x61,0x2f,0x4b,0xbe,0x53,0x90,
+ 0x6f,0xc9,0xbd,0xc8,0xa9,0x90,0xcb,0xe5,0x6f,0xe2,0x5c,0xc8,0xcb,0x02,
+ 0xd6,0xe1,0x0f,0xf8,0xde,0x8a,0xf4,0x0e,0xe4,0xbb,0x37,0x17,0x18,0x18,
+ 0x48,0x6a,0xec,0xeb,0x2f,0x03,0xd8,0x6f,0x8b,0x9d,0x9d,0x9d,0x6f,0xf3,
+ 0x8e,0xfe,0xc0,0x05,0x8c,0x62,0x1e,0xab,0xd1,0x77,0xc4,0xe3,0x37,0x81,
+ 0xff,0x27,0x1a,0x8d,0x26,0x08,0xb5,0xb0,0x82,0xf7,0x6b,0x11,0xfd,0xfd,
+ 0xbd,0xd9,0x07,0x90,0x7d,0x22,0xe7,0xe2,0xe2,0xd2,0x9c,0x94,0x94,0xf4,
+ 0x9e,0x5a,0xad,0xf6,0xc7,0x35,0x7e,0xff,0x15,0xd8,0xc7,0xfb,0x47,0x46,
+ 0x46,0x26,0x60,0x7f,0x20,0xe5,0xfd,0xc8,0x7c,0x7b,0x45,0xf4,0xcf,0xc3,
+ 0x1b,0xd0,0xe7,0x4b,0xd0,0xda,0xd9,0xd9,0xf5,0xa3,0xfe,0xfc,0x32,0xcf,
+ 0xdc,0x46,0xef,0xf0,0x88,0xb9,0x2f,0xf9,0x66,0x7f,0x15,0xbc,0x2a,0x7a,
+ 0xf1,0xf1,0x16,0xc8,0xe0,0x9f,0xf3,0xd3,0xb9,0xee,0x19,0x4c,0xe4,0x4f,
+ 0x50,0x03,0x92,0x81,0xa3,0xa1,0xd0,0x5f,0x5b,0xa8,0xfc,0xc8
+};
+
+static struct EmbedImage {
+ int width, height, depth;
+ const unsigned char *data;
+ ulong compressed;
+ int numColors;
+ const TQRgb *colorTable;
+ bool alpha;
+ const char *name;
+} embed_image_vec[] = {
+ { 41, 41, 32, (const unsigned char*)image_0_data, 1781, 0, 0, TRUE, "circle.png" },
+ { 41, 41, 32, (const unsigned char*)image_1_data, 1724, 0, 0, TRUE, "close.png" },
+ { 41, 41, 32, (const unsigned char*)image_2_data, 1555, 0, 0, TRUE, "help.png" },
+ { 42, 41, 32, (const unsigned char*)image_3_data, 1879, 0, 0, TRUE, "keep_above_lit.png" },
+ { 41, 41, 32, (const unsigned char*)image_4_data, 1734, 0, 0, TRUE, "keep_above.png" },
+ { 41, 41, 32, (const unsigned char*)image_5_data, 1750, 0, 0, TRUE, "keep_below_lit.png" },
+ { 41, 41, 32, (const unsigned char*)image_6_data, 1848, 0, 0, TRUE, "keep_below.png" },
+ { 42, 41, 32, (const unsigned char*)image_7_data, 1343, 0, 0, TRUE, "maximize.png" },
+ { 42, 41, 32, (const unsigned char*)image_8_data, 1141, 0, 0, TRUE, "minimize.png" },
+ { 41, 41, 32, (const unsigned char*)image_9_data, 1529, 0, 0, TRUE, "restore.png" },
+ { 45, 45, 32, (const unsigned char*)image_10_data, 885, 0, 0, TRUE, "shade.png" },
+ { 42, 41, 32, (const unsigned char*)image_11_data, 2017, 0, 0, TRUE, "splat.png" },
+ { 1, 30, 32, (const unsigned char*)image_12_data, 72, 0, 0, TRUE, "titlealpha.png" },
+ { 42, 41, 32, (const unsigned char*)image_13_data, 1609, 0, 0, TRUE, "window_background.png" },
+ { 41, 41, 32, (const unsigned char*)image_14_data, 1566, 0, 0, TRUE, "window_foreground.png" },
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static TQImage uic_findImage( const TQString& name )
+{
+ for ( int i=0; embed_image_vec[i].data; i++ ) {
+ if ( TQString::fromUtf8(embed_image_vec[i].name) == name ) {
+ TQByteArray baunzip;
+ baunzip = tqUncompress( embed_image_vec[i].data,
+ embed_image_vec[i].compressed );
+ TQImage img((uchar*)baunzip.data(),
+ embed_image_vec[i].width,
+ embed_image_vec[i].height,
+ embed_image_vec[i].depth,
+ (TQRgb*)embed_image_vec[i].colorTable,
+ embed_image_vec[i].numColors,
+ TQImage::BigEndian
+ );
+ img = img.copy();
+ if ( embed_image_vec[i].alpha )
+ img.setAlphaBuffer(TRUE);
+ return img;
+ }
+ }
+ return TQImage();
+}
+
+class MimeSourceFactory_smoothblend : public TQMimeSourceFactory
+{
+public:
+ MimeSourceFactory_smoothblend() {}
+ ~MimeSourceFactory_smoothblend() {}
+ const TQMimeSource* data( const TQString& abs_name ) const {
+ const TQMimeSource* d = TQMimeSourceFactory::data( abs_name );
+ if ( d || abs_name.isNull() ) return d;
+ TQImage img = uic_findImage( abs_name );
+ if ( !img.isNull() )
+ ((TQMimeSourceFactory*)this)->setImage( abs_name, img );
+ return TQMimeSourceFactory::data( abs_name );
+ };
+};
+
+static TQMimeSourceFactory* bfactory = 0;
+
+void qInitImages_smoothblend()
+{
+ if ( !bfactory ) {
+ bfactory = new MimeSourceFactory_smoothblend;
+ TQMimeSourceFactory::defaultFactory()->addFactory( bfactory );
+ }
+}
+
+void qCleanupImages_smoothblend()
+{
+ if ( bfactory ) {
+ TQMimeSourceFactory::defaultFactory()->removeFactory( bfactory );
+ delete bfactory;
+ bfactory = 0;
+ }
+}
+
+class StaticInitImages_smoothblend
+{
+public:
+ StaticInitImages_smoothblend() { qInitImages_smoothblend(); }
+#if defined(Q_OS_SCO) || defined(Q_OS_UNIXWARE)
+ ~StaticInitImages_smoothblend() { }
+#else
+ ~StaticInitImages_smoothblend() { qCleanupImages_smoothblend(); }
+#endif
+};
+
+static StaticInitImages_smoothblend staticImages;
diff --git a/twin-styles/smooth-blend/client/config/CMakeLists.txt b/twin-styles/smooth-blend/client/config/CMakeLists.txt
new file mode 100644
index 00000000..7a38efbb
--- /dev/null
+++ b/twin-styles/smooth-blend/client/config/CMakeLists.txt
@@ -0,0 +1,32 @@
+#################################################
+#
+# (C) 2011 Golubev Alexander
+# fatzer2 (AT) gmail.com
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+add_definitions(
+ -DQT_PLUGIN
+)
+
+include_directories(
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+)
+
+##### twin_smoothblend_config (module) ##########
+
+tde_add_kpart( twin_smoothblend_config AUTOMOC
+ SOURCES configdialog.ui smoothblendconfig.cc
+ LINK tdeui-shared
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
diff --git a/twin-styles/smooth-blend/client/config/Makefile.am b/twin-styles/smooth-blend/client/config/Makefile.am
new file mode 100644
index 00000000..ba5cd314
--- /dev/null
+++ b/twin-styles/smooth-blend/client/config/Makefile.am
@@ -0,0 +1,15 @@
+AUTOMAKE_OPTIONS = foreign
+
+KDE_CXXFLAGS = -DQT_PLUGIN
+
+INCLUDES = $(all_includes)
+
+noinst_HEADERS = smoothblendconfig.h
+
+kde_module_LTLIBRARIES = twin_smoothblend_config.la
+twin_smoothblend_config_la_SOURCES = configdialog.ui smoothblendconfig.cc
+twin_smoothblend_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
+twin_smoothblend_config_la_LIBADD = $(LIB_TDEUI)
+twin_smoothblend_config_la_METASOURCES = AUTO
+
+DISTCLEANFILES = $(twin_smoothblend_config_la_METASOURCES)
diff --git a/twin-styles/smooth-blend/client/config/configdialog.ui b/twin-styles/smooth-blend/client/config/configdialog.ui
new file mode 100644
index 00000000..09af45f6
--- /dev/null
+++ b/twin-styles/smooth-blend/client/config/configdialog.ui
@@ -0,0 +1,421 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>ConfigDialog</class>
+<widget class="TQWidget">
+ <property name="name">
+ <cstring>ConfigDialog</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>634</width>
+ <height>371</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="caption">
+ <string>Config Dialog</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="TQGroupBox" row="1" column="0">
+ <property name="name">
+ <cstring>buttongroup</cstring>
+ </property>
+ <property name="title">
+ <string>Buttons</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="TQSpinBox" row="0" column="2" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>buttonsize</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="suffix">
+ <string> pixels</string>
+ </property>
+ <property name="specialValueText">
+ <string>1 pixel</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>UpDownArrows</enum>
+ </property>
+ <property name="maxValue">
+ <number>64</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>16</number>
+ </property>
+ </widget>
+ <widget class="TQCheckBox" row="1" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>animatebuttons</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Animate buttons</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Check this option if you want to use button animations when hovering with the mouse.</string>
+ </property>
+ </widget>
+ <widget class="TQLabel" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>textLabel4</cstring>
+ </property>
+ <property name="text">
+ <string>Button size:</string>
+ </property>
+ </widget>
+ <widget class="TQCheckBox" row="3" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>menuClose</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Close window when menu double clicked</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ </widget>
+ <spacer row="2" column="0">
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="tqsizeHint">
+ <size>
+ <width>30</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="TQComboBox" row="2" column="3">
+ <item>
+ <property name="text">
+ <string>Intensify</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Fade</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>btnComboBox</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget class="TQLabel" row="2" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>Animation style:</string>
+ </property>
+ </widget>
+ <spacer row="0" column="4" rowspan="4" colspan="1">
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="tqsizeHint">
+ <size>
+ <width>180</width>
+ <height>140</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="TQGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>titlegroup</cstring>
+ </property>
+ <property name="title">
+ <string>Title Bar</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="TQLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel1_3</cstring>
+ </property>
+ <property name="text">
+ <string>Text tqalignment:</string>
+ </property>
+ </widget>
+ <widget class="TQLabel" row="3" column="0">
+ <property name="name">
+ <cstring>textLabel1_2</cstring>
+ </property>
+ <property name="text">
+ <string>Frame width:</string>
+ </property>
+ </widget>
+ <widget class="TQLabel" row="1" column="0" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Title height:</string>
+ </property>
+ </widget>
+ <widget class="TQSpinBox" row="2" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>titlesize</cstring>
+ </property>
+ <property name="suffix">
+ <string> pixels</string>
+ </property>
+ <property name="maxValue">
+ <number>64</number>
+ </property>
+ <property name="minValue">
+ <number>16</number>
+ </property>
+ </widget>
+ <widget class="TQSpinBox" row="3" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>framesize</cstring>
+ </property>
+ <property name="suffix">
+ <string> pixels</string>
+ </property>
+ <property name="specialValueText">
+ <string>1 pixel</string>
+ </property>
+ <property name="maxValue">
+ <number>64</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>4</number>
+ </property>
+ </widget>
+ <widget class="TQButtonGroup" row="0" column="1" rowspan="2" colspan="2">
+ <property name="name">
+ <cstring>titlealign</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>GroupBoxPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ <property name="title">
+ <string></string>
+ </property>
+ <property name="tqalignment">
+ <set>AlignTop</set>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Use these buttons to set the tqalignment of the window title</string>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="TQLayoutWidget">
+ <property name="name">
+ <cstring>tqlayout14</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="TQRadioButton">
+ <property name="name">
+ <cstring>AlignLeft</cstring>
+ </property>
+ <property name="text">
+ <string>Left</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="TQRadioButton">
+ <property name="name">
+ <cstring>AlignHCenter</cstring>
+ </property>
+ <property name="text">
+ <string>Center</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="TQRadioButton">
+ <property name="name">
+ <cstring>AlignRight</cstring>
+ </property>
+ <property name="text">
+ <string>Right</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </hbox>
+ </widget>
+ <spacer row="0" column="3" rowspan="4" colspan="1">
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="tqsizeHint">
+ <size>
+ <width>231</width>
+ <height>71</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="TQCheckBox" row="4" column="2" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>roundCorners</cstring>
+ </property>
+ <property name="text">
+ <string>Round top corners</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="TQCheckBox" row="4" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>titleshadow</cstring>
+ </property>
+ <property name="text">
+ <string>Use shadowed text</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Check this option if you want the titlebar text to have a 3D look with a shadow behind it.</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>animatebuttons</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>textLabel2</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>animatebuttons</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>btnComboBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>AlignLeft</tabstop>
+ <tabstop>AlignHCenter</tabstop>
+ <tabstop>AlignRight</tabstop>
+ <tabstop>titlesize</tabstop>
+ <tabstop>framesize</tabstop>
+ <tabstop>titleshadow</tabstop>
+ <tabstop>roundCorners</tabstop>
+ <tabstop>buttonsize</tabstop>
+ <tabstop>animatebuttons</tabstop>
+ <tabstop>btnComboBox</tabstop>
+ <tabstop>menuClose</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/twin-styles/smooth-blend/client/config/smoothblendconfig.cc b/twin-styles/smooth-blend/client/config/smoothblendconfig.cc
new file mode 100644
index 00000000..f2ec3e68
--- /dev/null
+++ b/twin-styles/smooth-blend/client/config/smoothblendconfig.cc
@@ -0,0 +1,180 @@
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendconfig.cc
+// -------------------
+// Config module for Smooth Blend window decoration
+// -------------------
+// Copyright (c) 2005 Ryan Nickell <p0z3r@users.sourceforge.net>
+// Please see the header file for copyright and license information.
+//////////////////////////////////////////////////////////////////////////////
+
+#include <kconfig.h>
+#include <klocale.h>
+#include <kglobal.h>
+#include <tqbuttongroup.h>
+#include <tqgroupbox.h>
+#include <tqradiobutton.h>
+#include <tqcheckbox.h>
+#include <tqspinbox.h>
+#include <tqwhatsthis.h>
+#include <tqcombobox.h>
+
+#include "smoothblendconfig.h"
+#include "configdialog.h"
+
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendConfig()
+// -------------
+// Constructor
+
+smoothblendConfig::smoothblendConfig(KConfig* config, TQWidget* parent)
+ : TQObject(parent), config_(0), dialog_(0) {
+ // create the configuration object
+ config_ = new KConfig("twinsmoothblendrc");
+ KGlobal::locale()->insertCatalogue("twin_smoothblend_config");
+
+ // create and show the configuration dialog
+ dialog_ = new ConfigDialog(parent);
+ dialog_->show();
+
+ // load the configuration
+ load(config_);
+
+ // setup the connections for title align
+ connect(dialog_->titlealign, TQT_SIGNAL(clicked(int)),this, TQT_SLOT(selectionChanged(int)));
+ // setup the connections for corner rounding
+ connect(dialog_->roundCorners, TQT_SIGNAL(stateChanged(int)),this,TQT_SLOT(selectionChanged(int)));
+ // setup title shadow
+ connect(dialog_->titleshadow, TQT_SIGNAL(stateChanged(int)),this,TQT_SLOT(selectionChanged(int)));
+ // setup button actions
+ connect(dialog_->animatebuttons, TQT_SIGNAL(stateChanged(int)),this,TQT_SLOT(selectionChanged(int)));
+ connect(dialog_->btnComboBox, TQT_SIGNAL(activated(int)),this,TQT_SLOT(selectionChanged(int)));
+ // setup the connections for spin boxes
+ connect(dialog_->titlesize, TQT_SIGNAL(valueChanged(int)),this,TQT_SLOT(selectionChanged(int)));
+ connect(dialog_->buttonsize, TQT_SIGNAL(valueChanged(int)),this,TQT_SLOT(selectionChanged(int)));
+ connect(dialog_->framesize, TQT_SIGNAL(valueChanged(int)),this,TQT_SLOT(selectionChanged(int)));
+ // double click the menu
+ connect(dialog_->menuClose, TQT_SIGNAL(stateChanged(int)),this, TQT_SLOT(selectionChanged(int)));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// ~smoothblendConfig()
+// --------------
+// Destructor
+
+smoothblendConfig::~smoothblendConfig() {
+ if (dialog_)
+ {
+ delete dialog_;
+ }
+ if (config_)
+ {
+ delete config_;
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// selectionChanged()
+// ------------------
+// Selection has changed
+
+void smoothblendConfig::selectionChanged(int) {
+
+ if(dialog_->buttonsize->value() + dialog_->framesize->value() > dialog_->titlesize->value())
+ {
+ dialog_->buttonsize->setValue(dialog_->titlesize->value()- dialog_->framesize->value());
+ }
+ // setting the framesize to less than 2 will lose the top gradient and look flat
+ if(dialog_->framesize->value() < 2)
+ {
+ dialog_->framesize->setValue(2);
+ }
+ emit changed();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// load()
+// ------
+// Load configuration data
+
+void smoothblendConfig::load(KConfig*) {
+ config_->setGroup("General");
+
+ TQString value = config_->readEntry("TitleAlignment", "AlignHCenter");
+ TQRadioButton *button = (TQRadioButton*)dialog_->titlealign->child(value.latin1());
+ if (button)
+ {
+ button->setChecked(true);
+ }
+
+ dialog_->titlesize->setValue( config_->readNumEntry("TitleSize",30 ) );
+ dialog_->buttonsize->setValue( config_->readNumEntry("ButtonSize",26 ) );
+ dialog_->framesize->setValue( config_->readNumEntry("FrameSize",4 ) );
+
+ bool cornersFlag = config_->readBoolEntry("RoundCorners", true);
+ dialog_->roundCorners->setChecked( cornersFlag );
+ bool titleshadow = config_->readBoolEntry("TitleShadow", true);
+ dialog_->titleshadow->setChecked(titleshadow);
+ bool animatebuttons = config_->readBoolEntry("AnimateButtons", true);
+ dialog_->animatebuttons->setChecked(animatebuttons);
+ dialog_->btnComboBox->setCurrentItem(config_->readNumEntry("ButtonComboBox",0));
+ bool menuClose = config_->readBoolEntry("CloseOnMenuDoubleClick");
+ dialog_->menuClose->setChecked(menuClose);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// save()
+// ------
+// Save configuration data
+
+void smoothblendConfig::save(KConfig*) {
+ config_->setGroup("General");
+
+ TQRadioButton *button = (TQRadioButton*)dialog_->titlealign->selected();
+ if (button)
+ {
+ config_->writeEntry("TitleAlignment", TQString(button->name()));
+ }
+ config_->writeEntry("RoundCorners", dialog_->roundCorners->isChecked() );
+ config_->writeEntry("TitleSize", dialog_->titlesize->value() );
+ config_->writeEntry("ButtonSize", dialog_->buttonsize->value() );
+ config_->writeEntry("FrameSize", dialog_->framesize->value() );
+ config_->writeEntry("TitleShadow", dialog_->titleshadow->isChecked() );
+ config_->writeEntry("AnimateButtons", dialog_->animatebuttons->isChecked() );
+ config_->writeEntry("ButtonComboBox", dialog_->btnComboBox->currentItem());
+ config_->writeEntry("CloseOnMenuDoubleClick", dialog_->menuClose->isChecked() );
+
+ config_->sync();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// defaults()
+// ----------
+// Set configuration defaults
+
+void smoothblendConfig::defaults() {
+ TQRadioButton *button = (TQRadioButton*)dialog_->titlealign->child("AlignHCenter");
+ if (button)
+ {
+ button->setChecked(true);
+ }
+ dialog_->roundCorners->setChecked( true );
+ dialog_->titlesize->setValue( 30 );
+ dialog_->buttonsize->setValue( 26 );
+ dialog_->framesize->setValue( 4 );
+ dialog_->titleshadow->setChecked( true );
+ dialog_->animatebuttons->setChecked( true );
+ dialog_->btnComboBox->setCurrentItem( 0 );
+ dialog_->menuClose->setChecked( false );
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// Plugin Stuff //
+//////////////////////////////////////////////////////////////////////////////
+
+extern "C" {
+ TQObject* allocate_config(KConfig* config, TQWidget* parent) {
+ return (new smoothblendConfig(config, parent));
+ }
+}
+
+#include "smoothblendconfig.moc"
diff --git a/twin-styles/smooth-blend/client/config/smoothblendconfig.h b/twin-styles/smooth-blend/client/config/smoothblendconfig.h
new file mode 100644
index 00000000..4f2add87
--- /dev/null
+++ b/twin-styles/smooth-blend/client/config/smoothblendconfig.h
@@ -0,0 +1,56 @@
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendconfig.h
+// -------------------
+// Config module for Smooth Blend window decoration
+// -------------------
+// Copyright (c) 2005 Ryan Nickell <p0z3r@users.sourceforge.net>
+//
+// 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; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#ifndef SMOOTHBLENDCONFIG_H
+#define SMOOTHBLENDCONFIG_H
+
+#include <tqobject.h>
+
+class KConfig;
+class ConfigDialog;
+
+class smoothblendConfig : public TQObject {
+ Q_OBJECT
+ TQ_OBJECT
+public:
+ smoothblendConfig(KConfig* config, TQWidget* parent);
+ ~smoothblendConfig();
+
+signals:
+ void changed();
+
+public slots:
+ void load(KConfig*);
+ void save(KConfig*);
+ void defaults();
+
+protected slots:
+ void selectionChanged(int);
+
+private:
+ KConfig *config_;
+ ConfigDialog *dialog_;
+};
+
+#endif // SMOOTHBLENDCONFIG_H
diff --git a/twin-styles/smooth-blend/client/smoothblend.cc b/twin-styles/smooth-blend/client/smoothblend.cc
new file mode 100644
index 00000000..02efd047
--- /dev/null
+++ b/twin-styles/smooth-blend/client/smoothblend.cc
@@ -0,0 +1,1396 @@
+//////////////////////////////////////////////////////////////////////////////
+// smoothblend.cc
+// -------------------
+// Smooth Blend window decoration for KDE
+// -------------------
+// Copyright (c) 2005 Ryan Nickell
+// Please see the header file for copyright and license information.
+//////////////////////////////////////////////////////////////////////////////
+
+#include <kconfig.h>
+#include <kdeversion.h>
+#include <kglobal.h>
+#include <kglobalsettings.h>
+#include <klocale.h>
+#include <kpixmap.h>
+#include <kimageeffect.h>
+#include <kpixmapeffect.h>
+#include <kpixmap.h>
+
+#include <tqbitmap.h>
+#include <tqlabel.h>
+#include <tqlayout.h>
+#include <tqpainter.h>
+#include <tqtooltip.h>
+#include <tqtimer.h>
+#include <tqapplication.h>
+
+#include "smoothblend.h"
+#include "buttons.h"
+
+using namespace smoothblend;
+
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendFactory Class
+//////////////////////////////////////////////////////////////////////////////
+smoothblendFactory* factory=NULL;
+
+bool smoothblendFactory::initialized_ = false;
+TQt::AlignmentFlags smoothblendFactory::titlealign_ = TQt::AlignHCenter;
+bool smoothblendFactory::cornerflags_ = true;
+int smoothblendFactory::titlesize_ = 30;
+int smoothblendFactory::buttonsize_ = 26;
+int smoothblendFactory::framesize_ = 4;
+int smoothblendFactory::roundsize_ = 50;
+bool smoothblendFactory::titleshadow_ = true;
+bool smoothblendFactory::animatebuttons = true;
+int smoothblendFactory::btnComboBox = 0;
+bool smoothblendFactory::menuClose = false;
+
+// global constants
+static const int TOPMARGIN = 4; // do not change
+static const int DECOHEIGHT = 4; // do not change
+static const int SIDETITLEMARGIN = 2;
+// Default button tqlayout
+const char default_left[] = "M";
+const char default_right[] = "HIAX";
+
+static const uint TIMERINTERVAL = 50; // msec
+static const uint ANIMATIONSTEPS = 4;
+
+extern "C" KDecorationFactory* create_factory() {
+ return new smoothblend::smoothblendFactory();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendFactory()
+// ----------------
+// Constructor
+
+smoothblendFactory::smoothblendFactory() {
+ readConfig();
+ initialized_ = true;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// ~smoothblendFactory()
+// -----------------
+// Destructor
+
+smoothblendFactory::~smoothblendFactory() {
+ initialized_ = false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// createDecoration()
+// -----------------
+// Create the decoration
+
+KDecoration* smoothblendFactory::createDecoration(KDecorationBridge* b) {
+ return new smoothblendClient(b, this);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// reset()
+// -------
+// Reset the handler. Returns true if decorations need to be remade, false if
+// only a tqrepaint is necessary
+
+bool smoothblendFactory::reset(unsigned long changed) {
+ // read in the configuration
+ initialized_ = false;
+ bool confchange = readConfig();
+ initialized_ = true;
+
+ if (confchange ||
+ (changed & (SettingDecoration | SettingButtons | SettingBorder))) {
+ return true;
+ } else {
+ resetDecorations(changed);
+ return false;
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// readConfig()
+// ------------
+// Read in the configuration file
+
+bool smoothblendFactory::readConfig() {
+ // create a config object
+ KConfig config("twinsmoothblendrc");
+ config.setGroup("General");
+
+ // grab settings
+ TQString value = config.readEntry("TitleAlignment", "AlignHCenter");
+ if (value == "AlignLeft")
+ titlealign_ = TQt::AlignLeft;
+ else if (value == "AlignHCenter")
+ titlealign_ = TQt::AlignHCenter;
+ else if (value == "AlignRight")
+ titlealign_ = TQt::AlignRight;
+
+ cornerflags_ = config.readBoolEntry("RoundCorners", true);
+ titlesize_ = config.readNumEntry("TitleSize",30);
+ buttonsize_ = config.readNumEntry("ButtonSize",26);
+ framesize_ = config.readNumEntry("FrameSize",4);
+ roundsize_ = config.readNumEntry("RoundPercent",50);
+ titleshadow_ = config.readBoolEntry("TitleShadow", true);
+ animatebuttons = config.readBoolEntry("AnimateButtons", true);
+ btnComboBox = config.readNumEntry("ButtonComboBox", 0);
+ menuClose = config.readBoolEntry("CloseOnMenuDoubleClick");
+
+ if(buttonsize_ > titlesize_ - framesize_)
+ {
+ buttonsize_ = titlesize_-framesize_;
+ }
+
+ return true;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendButton Class
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendButton()
+// ---------------
+// Constructor
+smoothblendButton::smoothblendButton(smoothblendClient *parent, const char *name, const TQString& tip, ButtonType type, int button_size, bool toggle): TQButton(parent->widget(), name),
+ client_(parent),
+ type_(type),
+ size_(button_size),
+ deco_(0),
+ lastmouse_(Qt::NoButton),
+ hover_(false)
+{
+ setBackgroundMode(NoBackground);
+ setFixedSize( ::factory->buttonSize(), ::factory->buttonSize());
+ setCursor(arrowCursor);
+ TQToolTip::add(this, tip);
+ setToggleButton(toggle);
+ //button animation setup
+ animTmr = new TQTimer(this);
+ connect(animTmr, TQT_SIGNAL(timeout() ), this, TQT_SLOT(animate() ) );
+ connect(this, TQT_SIGNAL(pressed() ), this, TQT_SLOT(buttonClicked() ) );
+ connect(this, TQT_SIGNAL(released() ), this, TQT_SLOT(buttonReleased() ) );
+ animProgress = 0;
+ m_clicked=false;
+}
+
+smoothblendButton::~smoothblendButton() {
+ if ( deco_ )
+ delete deco_;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// tqsizeHint()
+// ----------
+// Return size hint
+
+TQSize smoothblendButton::tqsizeHint() const {
+ return TQSize(::factory->buttonSize(), ::factory->buttonSize());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// buttonClicked()
+// ----------
+// Button animation progress reset so we don't get any leave event animation
+// when the mouse is still pressed
+void smoothblendButton::buttonClicked() {
+ m_clicked=true;
+ animProgress=0;
+}
+void smoothblendButton::buttonReleased() {
+ //This doesn't work b/c a released() signal is thrown when a leaveEvent occurs
+ //m_clicked=false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// animate()
+// ----------
+// Button animation timing
+void smoothblendButton::animate() {
+ animTmr->stop();
+
+ if(hover_) {
+ if(animProgress < ANIMATIONSTEPS) {
+ if (::factory->animateButtons() ) {
+ animProgress++;
+ } else {
+ animProgress = ANIMATIONSTEPS;
+ }
+ animTmr->start(TIMERINTERVAL, true); // single-shot
+ }
+ } else {
+ if(animProgress > 0) {
+ if (::factory->animateButtons() ) {
+ animProgress--;
+ } else {
+ animProgress = 0;
+ }
+ animTmr->start(TIMERINTERVAL, true); // single-shot
+ }
+ }
+ tqrepaint(false);
+}
+//////////////////////////////////////////////////////////////////////////////
+// enterEvent()
+// ------------
+// Mouse has entered the button
+
+void smoothblendButton::enterEvent(TQEvent *e) {
+ // we wanted to pass on the event
+ TQButton::enterEvent(e);
+ // we want to do mouseovers, so keep track of it here
+ hover_=true;
+ if(!m_clicked)
+ {
+ animate();
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// leaveEvent()
+// ------------
+// Mouse has left the button
+
+void smoothblendButton::leaveEvent(TQEvent *e) {
+ // we wanted to pass on the event
+ TQButton::leaveEvent(e);
+ // we want to do mouseovers, so keep track of it here
+ hover_=false;
+ if(!m_clicked)
+ {
+ animate();
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// mousePressEvent()
+// -----------------
+// Button has been pressed
+
+void smoothblendButton::mousePressEvent(TQMouseEvent* e) {
+ lastmouse_ = e->button();
+
+ // translate and pass on mouse event
+ int button = Qt::LeftButton;
+ if ((type_ != ButtonMax) && (e->button() != Qt::LeftButton)) {
+ button = Qt::NoButton; // middle & right buttons inappropriate
+ }
+ TQMouseEvent me(e->type(), e->pos(), e->globalPos(),
+ button, e->state());
+ TQButton::mousePressEvent(&me);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// mouseReleaseEvent()
+// -----------------
+// Button has been released
+
+void smoothblendButton::mouseReleaseEvent(TQMouseEvent* e) {
+ lastmouse_ = e->button();
+
+ // translate and pass on mouse event
+ int button = Qt::LeftButton;
+ if ((type_ != ButtonMax) && (e->button() != Qt::LeftButton)) {
+ button = Qt::NoButton; // middle & right buttons inappropriate
+ }
+ TQMouseEvent me(e->type(), e->pos(), e->globalPos(), button, e->state());
+ TQButton::mouseReleaseEvent(&me);
+ if(m_clicked)
+ {
+ m_clicked=false;
+ }
+}
+
+void smoothblendButton::setOn(bool on)
+{
+ TQButton::setOn(on);
+}
+
+void smoothblendButton::setDown(bool on)
+{
+ TQButton::setDown(on);
+}
+
+//////////////////////////////////////////////////////////
+// getButtonImage()
+// ----------------
+// get the button TQImage based on type and window mode
+TQImage smoothblendButton::getButtonImage(ButtonType type)
+{
+ TQImage finalImage;
+ switch(type) {
+ case ButtonClose:
+ finalImage = uic_findImage( "close.png" );
+ break;
+ case ButtonHelp:
+ finalImage = uic_findImage( "help.png" );
+ break;
+ case ButtonMin:
+ finalImage = uic_findImage( "minimize.png" );
+ break;
+ case ButtonMax:
+ if(client_->maximizeMode() == KDecorationDefines::MaximizeFull)
+ {
+ finalImage = uic_findImage( "restore.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "maximize.png" );
+ }
+ break;
+ case ButtonSticky:
+ if(client_->isOnAllDesktops())
+ {
+ finalImage = uic_findImage( "splat.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "circle.png" );
+ }
+ break;
+ case ButtonShade:
+ if(client_->isShade())
+ {
+ finalImage = uic_findImage( "shade.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "shade.png" );
+ }
+ break;
+ case ButtonAbove:
+ if(client_->keepAbove())
+ {
+ finalImage = uic_findImage( "keep_above_lit.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "keep_above.png" );
+ }
+ break;
+ case ButtonBelow:
+ if(client_->keepBelow())
+ {
+ finalImage = uic_findImage( "keep_below_lit.png" );
+ }
+ else
+ {
+ finalImage = uic_findImage( "keep_below.png" );
+ }
+ break;
+ default:
+ finalImage = uic_findImage( "splat.png" );
+ break;
+ }
+ return finalImage;
+}
+
+//////////////////////////////////////////////////////////
+// drawButton()
+// -------------------------
+// draw the pixmap button
+
+void smoothblendButton::drawButton( TQPainter *painter ) {
+ if ( !smoothblendFactory::initialized() )
+ return ;
+
+ int newWidth = width() - 2;
+ int newHeight = height() - 2;
+ int dx = (width() - newWidth) / 2;
+ int dy = (height() - newHeight) / 2;
+ TQImage tmpResult;
+ TQColorGroup group;
+ TQColor redColor(red);
+ bool active = client_->isActive();
+ TQPixmap backgroundTile = client_->getTitleBarTile(active);
+ group = KDecoration::options()->tqcolorGroup(KDecoration::ColorTitleBar, active);
+
+ //draw the titlebar behind the buttons and app icons
+ if ((client_->maximizeMode()==client_->MaximizeFull) && !KDecoration::options()->moveResizeMaximizedWindows())
+ {
+ painter->drawTiledPixmap(0, 0, width(), height(), backgroundTile);
+ }
+ else
+ {
+ painter->drawTiledPixmap(0, 0, width(), height(), backgroundTile, 0, y()-::factory->frameSize());
+ }
+
+ TQImage buttonImage = getButtonImage(type_).smoothScale( width(),height());
+ buttonImage = KImageEffect::blend( group.background(), buttonImage, .50);
+ if (type_ == ButtonMenu) {
+ //slight movement to show the menu button is depressed
+ if (isDown()) {
+ dx++;
+ dy++;
+ }
+ TQPixmap menuButtonPixmap(client_->icon().pixmap(TQIconSet::Large, TQIconSet::Normal));
+ TQImage menuButtonImage(menuButtonPixmap.convertToImage());
+ //draw the menu button the same size as the other buttons
+ //using TQIconSet::Large gives us a 32x32 icon to resize, resizing larger than
+ //that may produce pixilation of the image
+ painter->drawImage( dx, dy, menuButtonImage.smoothScale(newWidth, newHeight) );
+ } else {
+ //highlight on a mouse over tqrepaint
+ double factor = animProgress * 0.13;
+
+ if(!isDown())
+ {
+ switch(::factory->getBtnComboBox())
+ {
+ case 0:
+ tmpResult = KImageEffect::intensity( buttonImage, factor);
+ break;
+ case 1:
+ tmpResult = KImageEffect::fade( buttonImage, factor, group.background());
+ break;
+ }
+ }
+ else
+ {
+ tmpResult = buttonImage;
+ }
+ painter->drawPixmap( 0, 0, TQPixmap( tmpResult ) );
+ }
+}
+
+
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendClient Class
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+// smoothblendClient()
+// ---------------
+// Constructor
+
+smoothblendClient::smoothblendClient(KDecorationBridge *b, KDecorationFactory *f)
+ : KDecoration(b, f),
+ mainLayout_(0),
+ titleLayout_(0),
+ topSpacer_(0),
+ titleSpacer_(0),
+ leftTitleSpacer_(0), rightTitleSpacer_(0),
+ decoSpacer_(0),
+ leftSpacer_(0), rightSpacer_(0),
+ bottomSpacer_(0), windowSpacer_(0),
+ aCaptionBuffer(0), iCaptionBuffer(0),
+ aTitleBarTile(0), iTitleBarTile(0), aTitleBarTopTile(0), iTitleBarTopTile(0),
+ pixmaps_created(false),
+ //captionBufferDirty(true),
+ s_titleHeight(0),
+ s_titleFont(TQFont()),
+ closing(false)
+ {
+ aCaptionBuffer = new TQPixmap();
+ iCaptionBuffer = new TQPixmap();
+ //s_titleFont = isTool()?smoothblendFactory::titleFontTool():smoothblendFactory::titleFont();
+ s_titleFont = options()->font();
+ s_titleHeight = smoothblendFactory::titleSize();
+ }
+//////////////////////////////////////////////////////////////////////////////////
+// ~smoothblendClient()
+// --------------------
+// Destructor
+smoothblendClient::~smoothblendClient() {
+ delete aCaptionBuffer;
+ delete iCaptionBuffer;
+}
+
+void smoothblendClient::create_pixmaps() {
+ if(pixmaps_created)
+ return;
+ KPixmap tempPixmap;
+ TQPainter painter;
+ TQColorGroup group,widgetGroup;
+ int FRAMESIZE = ::factory->frameSize();
+ // Get the color groups we need for the gradients
+ group = options()->tqcolorGroup(KDecoration::ColorTitleBar, true);
+ widgetGroup = widget()->tqcolorGroup();
+
+ // active top title bar tile
+ tempPixmap.resize(1, TOPMARGIN);
+ tempPixmap = KPixmapEffect::unbalancedGradient(tempPixmap,
+ group.background(),
+ widgetGroup.background(),
+ KPixmapEffect::VerticalGradient,
+ 100,
+ -100);
+ aTitleBarTopTile = new TQPixmap(1, TOPMARGIN);
+ painter.begin(aTitleBarTopTile);
+ painter.drawPixmap(0, 0, tempPixmap);
+ painter.end();
+
+ // inactive top title bar tile
+ group = options()->tqcolorGroup(KDecoration::ColorTitleBar, false);
+ tempPixmap = KPixmapEffect::unbalancedGradient(tempPixmap,
+ group.background(),
+ widgetGroup.background(),
+ KPixmapEffect::VerticalGradient,
+ 100,
+ -100);
+ iTitleBarTopTile = new TQPixmap(1, TOPMARGIN);
+ painter.begin(iTitleBarTopTile);
+ painter.drawPixmap(0, 0, tempPixmap);
+ painter.end();
+
+ // active title bar tile
+ tempPixmap.resize(1, s_titleHeight+FRAMESIZE);
+ group = options()->tqcolorGroup(KDecoration::ColorTitleBar, true);
+ tempPixmap = KPixmapEffect::unbalancedGradient(tempPixmap,
+ group.background(),
+ widgetGroup.background(),
+ KPixmapEffect::VerticalGradient,
+ 100,
+ 200);
+ aTitleBarTile = new TQPixmap(1, s_titleHeight+FRAMESIZE);
+ painter.begin(aTitleBarTile);
+ painter.drawPixmap(0, 0, tempPixmap);
+ painter.end();
+
+ // inactive title bar tile
+ group = options()->tqcolorGroup(KDecoration::ColorTitleBar, false);
+ tempPixmap = KPixmapEffect::unbalancedGradient(tempPixmap,
+ group.background(),
+ widgetGroup.background(),
+ KPixmapEffect::VerticalGradient,
+ 100,
+ 200);
+ iTitleBarTile = new TQPixmap(1, s_titleHeight+FRAMESIZE);
+ painter.begin(iTitleBarTile);
+ painter.drawPixmap(0, 0, tempPixmap);
+ painter.end();
+
+ pixmaps_created = true;
+}
+
+void smoothblendClient::delete_pixmaps() {
+ delete aTitleBarTopTile;
+ aTitleBarTopTile = 0;
+
+ delete iTitleBarTopTile;
+ iTitleBarTopTile = 0;
+
+ delete aTitleBarTile;
+ aTitleBarTile = 0;
+
+ delete iTitleBarTile;
+ iTitleBarTile = 0;
+
+ pixmaps_created = false;
+}
+//////////////////////////////////////////////////////////////////////////////
+// init()
+// ------
+// Actual initializer for class
+
+void smoothblendClient::init() {
+ createMainWidget(WResizeNoErase | WRepaintNoErase);
+ widget()->installEventFilter(this);
+ handlebar = ::factory->frameSize() < 4 ? 4 - ::factory->frameSize() : 0;
+ // for flicker-free redraws
+ widget()->setBackgroundMode(NoBackground);
+
+ _resetLayout();
+
+ create_pixmaps();
+}
+void smoothblendClient::_resetLayout()
+{
+ // basic tqlayout:
+ // _______________________________________________________________
+ // | topSpacer |
+ // |_______________________________________________________________|
+ // | leftTitleSpacer | btns | titlebar | bts | rightTitleSpacer |
+ // |_________________|______|_____________|_____|__________________|
+ // | decoSpacer |
+ // |_______________________________________________________________|
+ // | | | |
+ // | | windowWrapper | |
+ // | | | |
+ // |leftSpacer rightSpacer|
+ // |_|___________________________________________________________|_|
+ // | bottomSpacer |
+ // |_______________________________________________________________|
+ //
+ if (!::factory->initialized()) return;
+
+ delete mainLayout_;
+ delete titleLayout_;
+ delete topSpacer_;
+ delete titleSpacer_;
+ delete leftTitleSpacer_;
+ delete rightTitleSpacer_;
+ delete decoSpacer_;
+ delete leftSpacer_;
+ delete rightSpacer_;
+ delete bottomSpacer_;
+ delete windowSpacer_;
+
+ mainLayout_ = new TQVBoxLayout(widget());
+ // title
+ titleLayout_ = new TQHBoxLayout();
+ TQHBoxLayout *windowLayout_ = new TQHBoxLayout();
+ int FRAMESIZE = ::factory->frameSize();
+
+ topSpacer_ = new TQSpacerItem(1, FRAMESIZE, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
+ titlebar_ = new TQSpacerItem(1, ::factory->buttonSize(),
+ TQSizePolicy::Expanding, TQSizePolicy::Fixed);
+ leftTitleSpacer_ = new TQSpacerItem(FRAMESIZE, s_titleHeight,
+ TQSizePolicy::Fixed, TQSizePolicy::Fixed);
+ rightTitleSpacer_ = new TQSpacerItem(FRAMESIZE, s_titleHeight,
+ TQSizePolicy::Fixed, TQSizePolicy::Fixed);
+ decoSpacer_ = new TQSpacerItem(1, FRAMESIZE, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
+ leftSpacer_ = new TQSpacerItem(::factory->frameSize(), 1,
+ TQSizePolicy::Fixed, TQSizePolicy::Expanding);
+ rightSpacer_ = new TQSpacerItem(::factory->frameSize(), 1,
+ TQSizePolicy::Fixed, TQSizePolicy::Expanding);
+ bottomSpacer_ = new TQSpacerItem(1, ::factory->frameSize(),
+ TQSizePolicy::Expanding, TQSizePolicy::Fixed);
+
+ // sizeof(...) is calculated at compile time
+ memset(button, 0, sizeof(smoothblendButton *) * ButtonTypeCount);
+
+ // message in preview widget
+ if (isPreview()) {
+ windowLayout_->addWidget(
+ new TQLabel( i18n("<b><center>Smooth Blend</center></b>"), widget() ), 1 );
+ } else {
+ windowLayout_->addItem(new TQSpacerItem(0, 0));
+ }
+
+ // setup titlebar buttons
+ for (int n=0; n<ButtonTypeCount; n++)
+ button[n] = 0;
+ //Deal with the title and buttons
+ titleLayout_->addItem(leftTitleSpacer_);
+ addButtons(titleLayout_,
+ options()->customButtonPositions() ? options()->titleButtonsLeft() : TQString(default_left),
+ ::factory->titleSize()-1);
+ titleLayout_->addItem(titlebar_);
+ addButtons(titleLayout_,
+ options()->customButtonPositions() ? options()->titleButtonsRight() : TQString(default_right),
+ ::factory->titleSize()-1);
+ titleLayout_->addItem(rightTitleSpacer_);
+
+ //Mid - left side, middle contents and right side
+ TQHBoxLayout * midLayout_ = new TQHBoxLayout();
+ midLayout_->addItem(leftSpacer_);
+ midLayout_->addLayout(windowLayout_);
+ midLayout_->addItem(rightSpacer_);
+
+ //Layout order
+ mainLayout_->addItem( topSpacer_ );
+ mainLayout_->addLayout( titleLayout_ );
+ mainLayout_->addItem( decoSpacer_ );
+ mainLayout_->addLayout( midLayout_ );
+ mainLayout_->addItem( bottomSpacer_ );
+
+ // connections
+ connect(this, TQT_SIGNAL(keepAboveChanged(bool)), TQT_SLOT(keepAboveChange(bool)));
+ connect(this, TQT_SIGNAL(keepBelowChanged(bool)), TQT_SLOT(keepBelowChange(bool)));
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// addButtons()
+// ------------
+// Add buttons to title tqlayout
+
+void smoothblendClient::addButtons(TQBoxLayout *tqlayout, const TQString& s, int button_size) {
+ TQString tip;
+ if (s.length() > 0) {
+ for (unsigned n=0; n < s.length(); n++) {
+ switch (s[n]) {
+ case 'M': // Menu button
+ if (!button[ButtonMenu]) {
+ button[ButtonMenu] =
+ new smoothblendButton(this, "splat.png", i18n("Menu"),ButtonMenu,button_size);
+ connect(button[ButtonMenu], TQT_SIGNAL(pressed()), this, TQT_SLOT(menuButtonPressed()));
+ connect(button[ButtonMenu], TQT_SIGNAL(released()), this, TQT_SLOT(menuButtonReleased()));
+ tqlayout->addWidget(button[ButtonMenu]);
+ if (n < s.length()-1) tqlayout->addSpacing(1);
+ }
+ break;
+
+ case 'S': // Sticky button
+ if (!button[ButtonSticky]) {
+ if (isOnAllDesktops()) {
+ tip = i18n("Un-Sticky");
+ } else {
+ tip = i18n("Sticky");
+ }
+ button[ButtonSticky] =
+ new smoothblendButton(this, "circle.png", tip, ButtonSticky, button_size, true);
+ connect(button[ButtonSticky], TQT_SIGNAL(clicked()),
+ this, TQT_SLOT(toggleOnAllDesktops()));
+ tqlayout->addWidget(button[ButtonSticky]);
+ if (n < s.length()-1) tqlayout->addSpacing(1);
+ }
+ break;
+
+ case 'H': // Help button
+ if ((!button[ButtonHelp]) && providesContextHelp()) {
+ button[ButtonHelp] =
+ new smoothblendButton(this, "help.png", i18n("Help"), ButtonHelp, button_size);
+ connect(button[ButtonHelp], TQT_SIGNAL(clicked()),
+ this, TQT_SLOT(showContextHelp()));
+ tqlayout->addWidget(button[ButtonHelp]);
+ if (n < s.length()-1) tqlayout->addSpacing(1);
+ }
+ break;
+
+ case 'I': // Minimize button
+ if ((!button[ButtonMin]) && isMinimizable()) {
+ button[ButtonMin] =
+ new smoothblendButton(this, "minimize.png", i18n("Minimize"), ButtonMin, button_size);
+ connect(button[ButtonMin], TQT_SIGNAL(clicked()),
+ this, TQT_SLOT(minimize()));
+ tqlayout->addWidget(button[ButtonMin]);
+ if (n < s.length()-1) tqlayout->addSpacing(1);
+ }
+ break;
+
+ case 'A': // Maximize button
+ if ((!button[ButtonMax]) && isMaximizable()) {
+ if (maximizeMode() == MaximizeFull) {
+ tip = i18n("Restore");
+ } else {
+ tip = i18n("Maximize");
+ }
+ button[ButtonMax] =
+ new smoothblendButton(this, "maximize.png", tip, ButtonMax, button_size, true);
+ connect(button[ButtonMax], TQT_SIGNAL(clicked()),
+ this, TQT_SLOT(maxButtonPressed()));
+ tqlayout->addWidget(button[ButtonMax]);
+ if (n < s.length()-1) tqlayout->addSpacing(1);
+ }
+ break;
+
+ case 'X': // Close button
+ if ((!button[ButtonClose]) && isCloseable()) {
+ button[ButtonClose] =
+ new smoothblendButton(this, "close.png", i18n("Close"), ButtonClose, button_size);
+ connect(button[ButtonClose], TQT_SIGNAL(clicked()),
+ this, TQT_SLOT(closeWindow()));
+ tqlayout->addWidget(button[ButtonClose]);
+ if (n < s.length()-1) tqlayout->addSpacing(1);
+ }
+ break;
+
+ case 'F': // Above button
+ if ((!button[ButtonAbove])) {
+ button[ButtonAbove] =
+ new smoothblendButton(this, "keep_above.png",
+ i18n("Keep Above Others"), ButtonAbove, button_size, true);
+ connect(button[ButtonAbove], TQT_SIGNAL(clicked()),
+ this, TQT_SLOT(aboveButtonPressed()));
+ tqlayout->addWidget(button[ButtonAbove]);
+ if (n < s.length()-1) tqlayout->addSpacing(1);
+ }
+ break;
+
+ case 'B': // Below button
+ if ((!button[ButtonBelow])) {
+ button[ButtonBelow] =
+ new smoothblendButton(this, "keep_below.png",
+ i18n("Keep Below Others"), ButtonBelow, button_size, true);
+ connect(button[ButtonBelow], TQT_SIGNAL(clicked()),
+ this, TQT_SLOT(belowButtonPressed()));
+ tqlayout->addWidget(button[ButtonBelow]);
+ if (n < s.length()-1) tqlayout->addSpacing(1);
+ }
+ break;
+
+ case 'L': // Shade button
+ if ((!button[ButtonShade]) && isShadeable()) {
+ if ( isSetShade()) {
+ tip = i18n("Unshade");
+ } else {
+ tip = i18n("Shade");
+ }
+ button[ButtonShade] =
+ new smoothblendButton(this, "shade.png", tip, ButtonShade, button_size, true);
+ connect(button[ButtonShade], TQT_SIGNAL(clicked()),
+ this, TQT_SLOT(shadeButtonPressed()));
+ tqlayout->addWidget(button[ButtonShade]);
+ if (n < s.length()-1) tqlayout->addSpacing(1);
+ }
+ break;
+
+ case '_': // Spacer item
+ tqlayout->addSpacing(::factory->frameSize());
+ }
+ }
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// activeChange()
+// --------------
+// window active state has changed
+
+void smoothblendClient::activeChange() {
+ for (int n=0; n<ButtonTypeCount; n++)
+ if (button[n])
+ button[n]->reset();
+ widget()->tqrepaint(false);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// captionChange()
+// ---------------
+// The title has changed
+
+void smoothblendClient::captionChange() {
+ widget()->tqrepaint(titlebar_->tqgeometry(), false);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// desktopChange()
+// ---------------
+// Called when desktop/sticky changes
+
+void smoothblendClient::desktopChange() {
+ bool d = isOnAllDesktops();
+ if (button[ButtonSticky]) {
+ TQToolTip::remove(button[ButtonSticky]);
+ TQToolTip::add(button[ButtonSticky], d ? i18n("Un-Sticky") : i18n("Sticky"));
+ button[ButtonSticky]->tqrepaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// iconChange()
+// ------------
+// The title has changed
+
+void smoothblendClient::iconChange() {
+ if (button[ButtonMenu]) {
+ button[ButtonMenu]->tqrepaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// maximizeChange()
+// ----------------
+// Maximized state has changed
+
+void smoothblendClient::maximizeChange() {
+ bool m = (maximizeMode() == MaximizeFull);
+ if (button[ButtonMax]) {
+ TQToolTip::remove(button[ButtonMax]);
+ TQToolTip::add(button[ButtonMax], m ? i18n("Restore") : i18n("Maximize"));
+ button[ButtonMax]->tqrepaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// shadeChange()
+// -------------
+// Called when window shading changes
+
+void smoothblendClient::shadeChange() {
+ bool s = isSetShade();
+ if (button[ButtonShade]) {
+ TQToolTip::remove(button[ButtonShade]);
+ TQToolTip::add(button[ButtonShade], s ? i18n("Unshade") : i18n("Shade"));
+ button[ButtonShade]->tqrepaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// keepAboveChange()
+// ------------
+// The above state has changed
+
+void smoothblendClient::keepAboveChange(bool a) {
+ if (button[ButtonAbove]) {
+ button[ButtonAbove]->setOn(a);
+ button[ButtonAbove]->tqrepaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// keepBelowChange()
+// ------------
+// The below state has changed
+
+void smoothblendClient::keepBelowChange(bool b) {
+ if (button[ButtonBelow]) {
+ button[ButtonBelow]->setOn(b);
+ button[ButtonBelow]->tqrepaint(false);
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// borders()
+// ----------
+// Get the size of the borders
+
+void smoothblendClient::borders(int &left, int &right, int &top, int &bottom) const {
+ int FRAMESIZE = ::factory->frameSize();
+
+ if ((maximizeMode()==MaximizeFull) && !options()->moveResizeMaximizedWindows()) {
+ left = right = bottom = 0;
+ top = ::factory->buttonSize();
+
+ // update tqlayout etc.
+ topSpacer_->changeSize(1, 0, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
+ decoSpacer_->changeSize(1, 0, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
+ leftSpacer_->changeSize(left, 1, TQSizePolicy::Fixed, TQSizePolicy::Expanding);
+ leftTitleSpacer_->changeSize(left, top, TQSizePolicy::Fixed, TQSizePolicy::Fixed);
+ rightSpacer_->changeSize(right, 1, TQSizePolicy::Fixed, TQSizePolicy::Expanding);
+ rightTitleSpacer_->changeSize(right, top, TQSizePolicy::Fixed, TQSizePolicy::Fixed);
+ bottomSpacer_->changeSize(1, bottom, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
+ } else {
+ left = right = bottom = ::factory->frameSize();
+ top = ::factory->titleSize() + (FRAMESIZE*2);
+
+ // update tqlayout etc.
+ topSpacer_->changeSize(1, FRAMESIZE, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
+ decoSpacer_->changeSize(1, FRAMESIZE, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
+ leftSpacer_->changeSize(left, 1, TQSizePolicy::Fixed, TQSizePolicy::Expanding);
+ leftTitleSpacer_->changeSize(left, s_titleHeight, TQSizePolicy::Fixed, TQSizePolicy::Fixed);
+ rightSpacer_->changeSize(right, 1, TQSizePolicy::Fixed, TQSizePolicy::Expanding);
+ rightTitleSpacer_->changeSize(right,s_titleHeight,TQSizePolicy::Fixed, TQSizePolicy::Fixed);
+ bottomSpacer_->changeSize(1, bottom, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
+ }
+ widget()->tqlayout()->activate();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// resize()
+// --------
+// Called to resize the window
+
+void smoothblendClient::resize(const TQSize &size) {
+ widget()->resize(size);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// tqminimumSize()
+// -------------
+// Return the minimum allowable size for this window
+
+TQSize smoothblendClient::tqminimumSize() const {
+ return widget()->tqminimumSize();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// mousePosition()
+// ---------------
+// Return logical mouse position
+
+KDecoration::Position smoothblendClient::mousePosition(const TQPoint &point) const {
+ const int corner = 24;
+ Position pos;
+ int fs = ::factory->frameSize() + handlebar;
+ //int fs = ::factory->frameSize();
+
+ if (point.y() <= fs) {
+ // inside top frame
+ if (point.x() <= corner)
+ pos = PositionTopLeft;
+ else if (point.x() >= (width()-corner))
+ pos = PositionTopRight;
+ else
+ pos = PositionTop;
+ } else if (point.y() >= (height()-fs*2)) {
+ // inside handle
+ if (point.x() <= corner)
+ pos = PositionBottomLeft;
+ else if (point.x() >= (width()-corner))
+ pos = PositionBottomRight;
+ else
+ pos = PositionBottom;
+ } else if (point.x() <= fs ) {
+ // on left frame
+ if (point.y() <= corner)
+ pos = PositionTopLeft;
+ else if (point.y() >= (height()-corner))
+ pos = PositionBottomLeft;
+ else
+ pos = PositionLeft;
+ } else if (point.x() >= width()-fs) {
+ // on right frame
+ if (point.y() <= corner)
+ pos = PositionTopRight;
+ else if (point.y() >= (height()-corner))
+ pos = PositionBottomRight;
+ else
+ pos = PositionRight;
+ } else {
+ // inside the frame
+ pos = PositionCenter;
+ }
+ return pos;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// eventFilter()
+// -------------
+// Event filter
+
+bool smoothblendClient::eventFilter(TQObject *obj, TQEvent *e) {
+ if (TQT_BASE_OBJECT(obj) != TQT_BASE_OBJECT(widget()))
+ return false;
+
+ switch (e->type()) {
+ case TQEvent::MouseButtonDblClick: {
+ mouseDoubleClickEvent(TQT_TQMOUSEEVENT(e));
+ return true;
+ }
+ case TQEvent::MouseButtonPress: {
+ processMousePressEvent(TQT_TQMOUSEEVENT(e));
+ return true;
+ }
+ case TQEvent::Paint: {
+ paintEvent(TQT_TQPAINTEVENT(e));
+ return true;
+ }
+ case TQEvent::Resize: {
+ resizeEvent(TQT_TQRESIZEEVENT(e));
+ return true;
+ }
+ case TQEvent::Show: {
+ showEvent(TQT_TQSHOWEVENT(e));
+ return true;
+ }
+ case TQEvent::Wheel: {
+ wheelEvent(TQT_TQWHEELEVENT( e ));
+ return true;
+ }
+ default: {
+ return false;
+ }
+ }
+
+ return false;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// mouseDoubleClickEvent()
+// -----------------------
+// Doubleclick on title
+
+void smoothblendClient::mouseDoubleClickEvent(TQMouseEvent *e) {
+ if (titlebar_->tqgeometry().contains(e->pos()))
+ titlebarDblClickOperation();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// wheelEvent()
+// ------------
+// Mouse wheel on titlebar
+
+void smoothblendClient::wheelEvent(TQWheelEvent *e)
+{
+ if (titleLayout_->tqgeometry().contains(e->pos()) )
+ titlebarMouseWheelOperation( e->delta());
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// paintEvent()
+// ------------
+// Repaint the window
+
+void smoothblendClient::paintEvent(TQPaintEvent*) {
+ if (!::factory->initialized())
+ {
+ return;
+ }
+
+ //int FRAMESIZE = ::factory->frameSize();
+ const uint maxCaptionLength = 300; // truncate captions longer than this!
+ TQString captionText(caption());
+ if (captionText.length() > maxCaptionLength) {
+ captionText.truncate(maxCaptionLength);
+ captionText.append(" [...]");
+ }
+
+ TQColor blackColor(black);
+ TQColor redColor(red);
+ TQColorGroup group,widgetGroup;
+ TQPainter painter(widget());
+ bool active = isActive();
+ //get group information first
+ group = options()->tqcolorGroup(KDecoration::ColorTitleBar, isActive());
+ widgetGroup = widget()->tqcolorGroup();
+
+ TQRect topRect( topSpacer_->tqgeometry() );
+ TQRect titleRect( titleLayout_->tqgeometry() );
+ TQRect textRect( titlebar_->tqgeometry() );
+ TQRect Rltitle( leftTitleSpacer_->tqgeometry() );
+ TQRect Rrtitle( rightTitleSpacer_->tqgeometry() );
+ TQRect Rdeco( decoSpacer_->tqgeometry() );
+ TQRect Rleft( leftSpacer_->tqgeometry() );
+ TQRect Rright( rightSpacer_->tqgeometry() );
+ TQRect Rbottom( bottomSpacer_->tqgeometry() );
+ TQRect tempRect;
+
+
+ /*
+ if(active)
+ {
+ qDebug("paintEvent() topRect.y() = %i\tbottom() = %i",topRect.top(),topRect.bottom());
+ qDebug("paintEvent() titleRect.y() = %i\tbottom() = %i",titleRect.top(),titleRect.bottom());
+ qDebug("paintEvent() textRect.y() = %i\tbottom() = %i",textRect.top(),textRect.bottom());
+ qDebug("paintEvent() Rltitle.y() = %i\tbottom() = %i",Rltitle.top(),Rltitle.bottom());
+ qDebug("paintEvent() Rrtitle.y() = %i\tbottom() = %i",Rrtitle.top(),Rrtitle.bottom());
+ qDebug("paintEvent() Rdeco.y() = %i\tbottom() = %i",Rdeco.top(),Rdeco.bottom());
+ qDebug("paintEvent() Rleft.y() = %i\tbottom() = %i",Rleft.top(),Rleft.bottom());
+ qDebug("paintEvent() Rright.y() = %i\tbottom() = %i",Rright.top(),Rright.bottom());
+ qDebug("paintEvent() Rbottom.y() = %i\tbottom() = %i",Rbottom.top(),Rbottom.bottom());
+ }
+ */
+
+ // top
+ painter.drawTiledPixmap(topRect, active ? *aTitleBarTopTile:*iTitleBarTopTile);
+ painter.drawTiledPixmap(titleRect.x(),
+ titleRect.y(),
+ titleRect.width(),
+ titleRect.height() + Rdeco.height(),
+ active ? *aTitleBarTile:*iTitleBarTile);
+
+ textRect.setRect(textRect.x()+SIDETITLEMARGIN,
+ textRect.y(),
+ textRect.width()-SIDETITLEMARGIN*2,
+ textRect.height());
+ TQRect shadowRect(textRect.x()+1,textRect.y()+1,textRect.width(),textRect.height());
+ //if we are shadowing title bar text
+ if(::factory->titleShadow())
+ {
+ //shadow text
+ painter.setFont(options()->font(isActive(), false));
+ painter.setPen(blackColor);
+ painter.drawText(shadowRect,
+ ::factory->titleAlign() | AlignVCenter | TQt::SingleLine,
+ captionText);
+ }
+ // draw title text
+ painter.setFont(options()->font(isActive(), false));
+ painter.setPen(options()->color(KDecoration::ColorFont, isActive()));
+ painter.drawText(textRect,
+ ::factory->titleAlign() | AlignVCenter | TQt::SingleLine,
+ captionText);
+
+ //left of buttons and title
+ painter.drawTiledPixmap(Rltitle.x(),
+ Rltitle.y(),
+ Rltitle.width(),
+ Rltitle.height()+Rdeco.height(),
+ active ? *aTitleBarTile:*iTitleBarTile);
+ // left mid tqlayout
+ painter.fillRect(Rleft,widgetGroup.background());
+
+ // right of buttons and title
+ painter.drawTiledPixmap(Rrtitle.x(),
+ Rrtitle.y(),
+ Rrtitle.width(),
+ Rrtitle.height()+Rdeco.height(),
+ active ? *aTitleBarTile:*iTitleBarTile);
+ // right mid tqlayout
+ painter.fillRect(Rright,widgetGroup.background());
+
+ // bottom
+ /*
+ if(isShade())
+ {
+ frame.setRect(0,::factory->titleSize()+FRAMESIZE, width(), FRAMESIZE);
+ }
+ else
+ {
+ frame.setRect(0, height() - (FRAMESIZE*2), width(), (FRAMESIZE*2));
+ }
+ */
+ painter.fillRect(Rbottom, widgetGroup.background());
+
+ //draw a line between title bar and window contents
+ painter.setPen(group.background());
+
+ // outline outside the frame but not the corners if they are rounded
+ tempRect = widget()->rect();
+ painter.drawRect(tempRect);
+
+ bool cornersFlag = ::factory->roundedCorners();
+ if(cornersFlag) {
+ // local temp right and bottom
+ int r(width());
+ painter.setPen(group.background());
+ painter.drawPoint(4, 1);
+ painter.drawPoint(3, 1);
+ painter.drawPoint(2, 2);
+ painter.drawPoint(1, 3);
+ painter.drawPoint(1, 4);
+ painter.drawPoint(r - 5, 1);
+ painter.drawPoint(r - 4, 1);
+ painter.drawPoint(r - 3, 2);
+ painter.drawPoint(r - 2, 3);
+ painter.drawPoint(r - 2, 4);
+ }
+
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// updateMask()
+// ------------
+// update the frame mask
+void smoothblendClient::updateMask() {
+ bool cornersFlag = ::factory->roundedCorners();
+ if ( (!options()->moveResizeMaximizedWindows() && maximizeMode() == MaximizeFull ) )
+ {
+ setMask(TQRegion(widget()->rect()));
+ return;
+ }
+
+ int r(width());
+ int b(height());
+ TQRegion mask;
+
+ mask=TQRegion(widget()->rect());
+
+ // Remove top-left corner.
+ if(cornersFlag) {
+ mask -= TQRegion(0, 0, 5, 1);
+ mask -= TQRegion(0, 1, 3, 1);
+ mask -= TQRegion(0, 2, 2, 1);
+ mask -= TQRegion(0, 3, 1, 2);
+ mask -= TQRegion(r - 5, 0, 5, 1);
+ mask -= TQRegion(r - 3, 1, 3, 1);
+ mask -= TQRegion(r - 2, 2, 2, 1);
+ mask -= TQRegion(r - 1, 3, 1, 2);
+ }
+ //always remove one corner pixel so it simulates a soft corner like plastik
+ mask -= TQRegion(0,0,1,1);
+ mask -= TQRegion(r-1,0,1,1);
+ mask -= TQRegion(0, b-1, 1,1);
+ mask -= TQRegion(r-1,b-1,1,1);
+
+ setMask(mask);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// resizeEvent()
+// -------------
+// Window is being resized
+
+void smoothblendClient::resizeEvent(TQResizeEvent *) {
+ if (widget()->isShown()) {
+ TQRegion region = widget()->rect();
+ region = region.subtract(titlebar_->tqgeometry());
+ widget()->erase(region);
+ updateMask();
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// showEvent()
+// -----------
+// Window is being shown
+
+void smoothblendClient::showEvent(TQShowEvent *) {
+ updateMask();
+ widget()->tqrepaint();
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// maxButtonPressed()
+// -----------------
+// Max button was pressed
+
+void smoothblendClient::maxButtonPressed() {
+ if (button[ButtonMax]) {
+#if KDE_IS_VERSION(3, 3, 0)
+ maximize(button[ButtonMax]->lastMousePress());
+#else
+
+ switch (button[ButtonMax]->lastMousePress()) {
+ case MidButton:
+ maximize(maximizeMode() ^ MaximizeVertical);
+ break;
+ case RightButton:
+ maximize(maximizeMode() ^ MaximizeHorizontal);
+ break;
+ default:
+ (maximizeMode() == MaximizeFull) ? maximize(MaximizeRestore)
+ : maximize(MaximizeFull);
+ }
+#endif
+
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// shadeButtonPressed()
+// -----------------
+// Shade button was pressed
+
+void smoothblendClient::shadeButtonPressed() {
+ if (button[ButtonShade]) {
+ setShade( !isSetShade());
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// aboveButtonPressed()
+// -----------------
+// Above button was pressed
+
+void smoothblendClient::aboveButtonPressed() {
+ if (button[ButtonAbove]) {
+ setKeepAbove( !keepAbove());
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// belowButtonPressed()
+// -----------------
+// Below button was pressed
+
+void smoothblendClient::belowButtonPressed() {
+ if (button[ButtonBelow]) {
+ setKeepBelow( !keepBelow());
+ }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// menuButtonPressed()
+// -------------------
+// Menu button was pressed (popup the menu)
+
+void smoothblendClient::menuButtonPressed() {
+ static TQTime* t = NULL;
+ static smoothblendClient* lastClient = NULL;
+ if (t == NULL)
+ t = new TQTime;
+ bool dbl = (lastClient==this && t->elapsed() <= TQApplication::doubleClickInterval());
+ lastClient = this;
+ t->start();
+ //if (button[ButtonMenu] && !dbl && !::factory->menuClosed()) {
+ if ( !dbl || !::factory->menuClosed()) {
+ TQPoint p(button[ButtonMenu]->rect().bottomLeft().x(),
+ button[ButtonMenu]->rect().bottomLeft().y());
+ KDecorationFactory* f = factory();
+ showWindowMenu(button[ButtonMenu]->mapToGlobal(p));
+ if (!f->exists(this))
+ return; // decoration was destroyed
+ button[ButtonMenu]->setDown(false);
+ }
+ else
+ {
+ closing = true;
+ }
+}
+
+void smoothblendClient::menuButtonReleased()
+{
+ if(closing)
+ {
+ closeWindow();
+ }
+}
+
+#include "smoothblend.moc"
diff --git a/twin-styles/smooth-blend/client/smoothblend.desktop b/twin-styles/smooth-blend/client/smoothblend.desktop
new file mode 100644
index 00000000..6f26b6e0
--- /dev/null
+++ b/twin-styles/smooth-blend/client/smoothblend.desktop
@@ -0,0 +1,40 @@
+# KDE Desktop Entry
+[Desktop Entry]
+Name=Smooth Blend
+Name[ca]=Barreja suau
+Name[cs]=Jemný přechod
+Name[cy]=Cymysgedd Llyfn
+Name[da]=Glat blanding
+Name[el]=Ομαλή μείξη
+Name[eo]=Glata Miksaĵo
+Name[es]=Mezcla suave
+Name[et]=Mahe ühtesulamine
+Name[fa]=ترکیب یکدست
+Name[fi]=Pehmeä sekoitus
+Name[fr]=Fusion douce
+Name[fy]=Sêfte ferminging
+Name[gl]=Mistura Suave
+Name[hu]=Sima színátmenet
+Name[is]=Mjúk blöndun
+Name[it]=Mistura scorrevole
+Name[ja]=綺麗なブレンド
+Name[ka]=გლუვი და რბილი
+Name[mk]=Рамномерно мешање
+Name[nb]=Jevn overgang
+Name[nds]=Week Mischen
+Name[ne]=महिन मिश्रण
+Name[nl]=Zachte vermenging
+Name[nn]=Jamn overgang
+Name[pl]=Gładkie łączenie kolorów
+Name[pt]=Mistura Suave
+Name[pt_BR]=Mistura Suave
+Name[ru]=Полутона
+Name[sl]=Enakomeren preliv
+Name[sr]=Глатко претапање
+Name[sr@Latn]=Glatko pretapanje
+Name[sv]=Jämn blandning
+Name[tr]=Düz Karışım
+Name[uk]=Гладке змішання
+Name[vi]=Trộn màu Mượt mà
+Name[zh_TW]=平順混合
+X-KDE-Library=twin3_smoothblend
diff --git a/twin-styles/smooth-blend/client/smoothblend.h b/twin-styles/smooth-blend/client/smoothblend.h
new file mode 100644
index 00000000..4abd32cb
--- /dev/null
+++ b/twin-styles/smooth-blend/client/smoothblend.h
@@ -0,0 +1,256 @@
+//////////////////////////////////////////////////////////////////////////////
+// smoothblend.h
+// -------------------
+// Smooth Blend window decoration for KDE
+// -------------------
+// Copyright (c) 2005 Ryan Nickell <p0z3r@users.sourceforge.net>
+//
+// 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; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+// Boston, MA 02110-1301, USA.
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#ifndef SMOOTHBLEND_H
+#define SMOOTHBLEND_H
+
+#include <tqbutton.h>
+#include <kdecoration.h>
+#include <kdecorationfactory.h>
+
+class TQSpacerItem;
+class TQPoint;
+
+namespace smoothblend {
+
+class smoothblendClient;
+
+enum ButtonType {
+ ButtonHelp=0,
+ ButtonMax,
+ ButtonMin,
+ ButtonClose,
+ ButtonMenu,
+ ButtonSticky,
+ ButtonAbove,
+ ButtonBelow,
+ ButtonShade,
+ ButtonTypeCount
+};
+
+// smoothblendFactory /////////////////////////////////////////////////////////
+//
+// add variables and flags for config like...
+//
+// public: type function()
+// private: type var_
+// inline type function(){ return var_ };
+//
+
+class smoothblendFactory: public KDecorationFactory {
+public:
+ smoothblendFactory();
+ virtual ~smoothblendFactory();
+ virtual KDecoration *createDecoration(KDecorationBridge *b);
+ virtual bool reset(unsigned long changed);
+ static bool initialized();
+ static TQt::AlignmentFlags titleAlign();
+ static bool roundedCorners();
+ static int titleSize();
+ static int buttonSize();
+ static int frameSize();
+ static int roundSize();
+ static TQFont titleFontTool() { return m_titleFontTool; }
+ static bool titleShadow();
+ static bool animateButtons() { return animatebuttons; }
+ static int getBtnComboBox() { return btnComboBox; }
+ static bool menuClosed() { return menuClose; }
+
+private:
+ bool readConfig();
+
+private:
+ static bool initialized_;
+ static TQt::AlignmentFlags titlealign_;
+ static bool cornerflags_;
+ static int titlesize_;
+ static int buttonsize_;
+ static int framesize_;
+ static int roundsize_;
+ static TQFont m_titleFontTool;
+ static bool titleshadow_;
+ static bool animatebuttons;
+ static int btnComboBox;
+ static bool menuClose;
+};
+
+inline bool smoothblendFactory::initialized() {
+ return initialized_;
+}
+inline TQt::AlignmentFlags smoothblendFactory::titleAlign() {
+ return titlealign_;
+}
+inline bool smoothblendFactory::roundedCorners() {
+ return cornerflags_;
+}
+inline int smoothblendFactory::titleSize() {
+ return titlesize_;
+}
+inline int smoothblendFactory::buttonSize() {
+ return buttonsize_;
+}
+inline int smoothblendFactory::frameSize() {
+ return framesize_;
+}
+inline int smoothblendFactory::roundSize() {
+ return roundsize_;
+}
+inline bool smoothblendFactory::titleShadow() {
+ return titleshadow_;
+}
+
+// smoothblendButton //////////////////////////////////////////////////////////
+
+class smoothblendButton : public TQButton {
+ Q_OBJECT
+ TQ_OBJECT
+public:
+ smoothblendButton(smoothblendClient *parent=0, const char *name=0,
+ const TQString &tip=NULL,
+ ButtonType type=ButtonHelp,
+ int button_size=18,
+ bool toggle=false);
+ //const unsigned char *bitmap=0);
+ ~smoothblendButton();
+
+ void setBitmap(const unsigned char *bitmap);
+ TQSize tqsizeHint() const;
+ ButtonState lastMousePress() const;
+ void reset();
+ TQImage getButtonImage(ButtonType type);
+ virtual void setOn(bool on);
+ virtual void setDown(bool on);
+
+protected slots:
+ void animate();
+ void buttonClicked();
+ void buttonReleased();
+
+private:
+ void enterEvent(TQEvent *e);
+ void leaveEvent(TQEvent *e);
+ void mousePressEvent(TQMouseEvent *e);
+ void mouseReleaseEvent(TQMouseEvent *e);
+ void drawButton(TQPainter *painter);
+
+private:
+ smoothblendClient *client_;
+ ButtonType type_;
+ int size_;
+ TQBitmap *deco_;
+ TQPixmap *pixmap[2][4];
+ ButtonState lastmouse_;
+ bool hover_;
+ bool m_clicked;
+ TQTimer *animTmr;
+ uint animProgress;
+};
+
+inline TQt::ButtonState smoothblendButton::lastMousePress() const {
+ return lastmouse_;
+}
+inline void smoothblendButton::reset() {
+ tqrepaint(false);
+}
+
+// smoothblendClient //////////////////////////////////////////////////////////
+
+class smoothblendClient : public KDecoration {
+ Q_OBJECT
+ TQ_OBJECT
+public:
+ smoothblendClient(KDecorationBridge *b, KDecorationFactory *f);
+ virtual ~smoothblendClient();
+
+ virtual void init();
+
+ virtual void activeChange();
+ virtual void desktopChange();
+ virtual void captionChange();
+ virtual void iconChange();
+ virtual void maximizeChange();
+ virtual void shadeChange();
+
+
+ virtual void borders(int &l, int &r, int &t, int &b) const;
+ virtual void resize(const TQSize &size);
+ virtual TQSize tqminimumSize() const;
+ virtual Position mousePosition(const TQPoint &point) const;
+
+ TQPixmap getTitleBarTile(bool active) const
+ {
+ return active ? *aTitleBarTile : *iTitleBarTile;
+ }
+
+private:
+ void addButtons(TQBoxLayout* tqlayout, const TQString& buttons, int buttonSize = 18);
+ bool eventFilter(TQObject *obj, TQEvent *e);
+ void mouseDoubleClickEvent(TQMouseEvent *e);
+ void wheelEvent(TQWheelEvent *e);
+ void paintEvent(TQPaintEvent *e);
+ void resizeEvent(TQResizeEvent *);
+ void showEvent(TQShowEvent *);
+ void updateMask();
+ void _resetLayout();
+ TQVBoxLayout *mainLayout_;
+ TQHBoxLayout *titleLayout_;
+ TQSpacerItem *topSpacer_,
+ *titleSpacer_,
+ *leftTitleSpacer_, *rightTitleSpacer_,
+ *decoSpacer_,
+ *leftSpacer_, *rightSpacer_,
+ *bottomSpacer_, *windowSpacer_;
+ TQPixmap *aCaptionBuffer, *iCaptionBuffer;
+
+private slots:
+ void maxButtonPressed();
+ void menuButtonPressed();
+ void menuButtonReleased();
+ void aboveButtonPressed();
+ void belowButtonPressed();
+ void shadeButtonPressed();
+ void keepAboveChange(bool);
+ void keepBelowChange(bool);
+
+signals:
+ void keepAboveChanged(bool);
+ void keepBelowChanged(bool);
+
+private:
+ TQPixmap *aTitleBarTile, *iTitleBarTile, *aTitleBarTopTile, *iTitleBarTopTile;
+ smoothblendButton *button[ButtonTypeCount];
+ TQSpacerItem *titlebar_;
+ bool pixmaps_created;
+ int s_titleHeight;
+ TQFont s_titleFont;
+ int handlebar;
+ bool closing;
+
+ void create_pixmaps();
+ void delete_pixmaps();
+};
+
+} // namespace smoothblend
+
+#endif // SMOOTHBLEND_H