summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Schmelzer2011-11-02 17:01:15 +0100
committerSebastian Schmelzer2011-11-02 17:01:15 +0100
commitec9a8dfe2de934f38e75bab8ed48ae7b42c31d9b (patch)
treea8ba70ee50db2a22f713b681b3e6b9b0fee7dfad
downloademuchooser-ec9a8dfe2de934f38e75bab8ed48ae7b42c31d9b.tar.gz
emuchooser-ec9a8dfe2de934f38e75bab8ed48ae7b42c31d9b.tar.xz
emuchooser-ec9a8dfe2de934f38e75bab8ed48ae7b42c31d9b.zip
initial commit
-rw-r--r--.gitignore7
-rw-r--r--CMakeLists.txt19
-rw-r--r--COPYING340
-rw-r--r--INSTALL0
-rw-r--r--README0
-rw-r--r--src/CMakeLists.txt55
-rw-r--r--src/Config.h.in17
-rw-r--r--src/Dialog.cpp103
-rw-r--r--src/Dialog.h60
-rw-r--r--src/Globals.cpp40
-rw-r--r--src/Globals.h45
-rw-r--r--src/JavaScriptInterface.cpp143
-rw-r--r--src/JavaScriptInterface.h60
-rw-r--r--src/Version.h.in9
-rw-r--r--src/gui.qrc72
-rw-r--r--src/html/about.html25
-rw-r--r--src/html/css/icons.css34
-rw-r--r--src/html/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.pngbin0 -> 180 bytes
-rw-r--r--src/html/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.pngbin0 -> 178 bytes
-rw-r--r--src/html/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.pngbin0 -> 120 bytes
-rw-r--r--src/html/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.pngbin0 -> 105 bytes
-rw-r--r--src/html/css/smoothness/images/ui-bg_glass_75_dadada_1x400.pngbin0 -> 111 bytes
-rw-r--r--src/html/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.pngbin0 -> 110 bytes
-rw-r--r--src/html/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.pngbin0 -> 119 bytes
-rw-r--r--src/html/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.pngbin0 -> 101 bytes
-rw-r--r--src/html/css/smoothness/images/ui-icons_222222_256x240.pngbin0 -> 4369 bytes
-rw-r--r--src/html/css/smoothness/images/ui-icons_2e83ff_256x240.pngbin0 -> 4369 bytes
-rw-r--r--src/html/css/smoothness/images/ui-icons_454545_256x240.pngbin0 -> 4369 bytes
-rw-r--r--src/html/css/smoothness/images/ui-icons_888888_256x240.pngbin0 -> 4369 bytes
-rw-r--r--src/html/css/smoothness/images/ui-icons_cd0a0a_256x240.pngbin0 -> 4369 bytes
-rw-r--r--src/html/css/smoothness/jquery-ui.css568
-rw-r--r--src/html/css/style.css166
-rw-r--r--src/html/detail.html30
-rw-r--r--src/html/help.html14
-rw-r--r--src/html/img/bg.pngbin0 -> 1240 bytes
-rw-r--r--src/html/img/help.pngbin0 -> 11223 bytes
-rw-r--r--src/html/img/icons/Atari.svg58
-rw-r--r--src/html/img/icons/LICENSE56
-rw-r--r--src/html/img/icons/amiga.pngbin0 -> 2382 bytes
-rw-r--r--src/html/img/icons/amiga2.pngbin0 -> 4380 bytes
-rw-r--r--src/html/img/icons/atari.pngbin0 -> 1726 bytes
-rw-r--r--src/html/img/icons/beos.pngbin0 -> 2474 bytes
-rw-r--r--src/html/img/icons/bsd.pngbin0 -> 7697 bytes
-rw-r--r--src/html/img/icons/debian.pngbin0 -> 1823 bytes
-rw-r--r--src/html/img/icons/debian.svg18
-rw-r--r--src/html/img/icons/dosbox.pngbin0 -> 9743 bytes
-rw-r--r--src/html/img/icons/fedora.pngbin0 -> 2069 bytes
-rw-r--r--src/html/img/icons/fedora.svg31
-rw-r--r--src/html/img/icons/gentoo.pngbin0 -> 4315 bytes
-rw-r--r--src/html/img/icons/gentoo.svg268
-rw-r--r--src/html/img/icons/gnome.pngbin0 -> 1304 bytes
-rw-r--r--src/html/img/icons/gnome.svg42
-rw-r--r--src/html/img/icons/kde.pngbin0 -> 6568 bytes
-rw-r--r--src/html/img/icons/kde.svg323
-rw-r--r--src/html/img/icons/linux.pngbin0 -> 4896 bytes
-rw-r--r--src/html/img/icons/linux.svg933
-rw-r--r--src/html/img/icons/locked.pngbin0 -> 1901 bytes
-rw-r--r--src/html/img/icons/lxde.pngbin0 -> 8685 bytes
-rw-r--r--src/html/img/icons/macos.pngbin0 -> 1437 bytes
-rw-r--r--src/html/img/icons/macos.svg33
-rw-r--r--src/html/img/icons/mess.pngbin0 -> 2341 bytes
-rw-r--r--src/html/img/icons/none.pngbin0 -> 187 bytes
-rw-r--r--src/html/img/icons/opensolaris.pngbin0 -> 3725 bytes
-rw-r--r--src/html/img/icons/opensolaris.svg164
-rw-r--r--src/html/img/icons/os2.pngbin0 -> 4715 bytes
-rw-r--r--src/html/img/icons/osx.pngbin0 -> 3061 bytes
-rw-r--r--src/html/img/icons/osx.svg143
-rw-r--r--src/html/img/icons/qemu.pngbin0 -> 3653 bytes
-rw-r--r--src/html/img/icons/redhat.pngbin0 -> 1947 bytes
-rw-r--r--src/html/img/icons/redhat.svg101
-rw-r--r--src/html/img/icons/riscos.pngbin0 -> 2802 bytes
-rw-r--r--src/html/img/icons/riscos_orig.pngbin0 -> 6048 bytes
-rw-r--r--src/html/img/icons/solaris.pngbin0 -> 3683 bytes
-rw-r--r--src/html/img/icons/suse.pngbin0 -> 1559 bytes
-rw-r--r--src/html/img/icons/suse.svg23
-rw-r--r--src/html/img/icons/term.pngbin0 -> 18052 bytes
-rw-r--r--src/html/img/icons/ubuntu.pngbin0 -> 1232 bytes
-rw-r--r--src/html/img/icons/ubuntu.svg4
-rw-r--r--src/html/img/icons/unknown.pngbin0 -> 6276 bytes
-rw-r--r--src/html/img/icons/virtualbox.pngbin0 -> 8688 bytes
-rw-r--r--src/html/img/icons/vmware.pngbin0 -> 1140 bytes
-rw-r--r--src/html/img/icons/vmware.svg86
-rw-r--r--src/html/img/icons/win311.pngbin0 -> 2872 bytes
-rw-r--r--src/html/img/icons/win311.svg322
-rw-r--r--src/html/img/icons/win7.pngbin0 -> 7619 bytes
-rw-r--r--src/html/img/icons/win7_orig.pngbin0 -> 83573 bytes
-rw-r--r--src/html/img/icons/windows.pngbin0 -> 5636 bytes
-rw-r--r--src/html/img/icons/xfce.pngbin0 -> 5326 bytes
-rw-r--r--src/html/img/icons/xfce.svg226
-rw-r--r--src/html/img/noscreenshot.pngbin0 -> 3866 bytes
-rw-r--r--src/html/img/planets.pngbin0 -> 9078 bytes
-rw-r--r--src/html/index.html43
-rw-r--r--src/html/js/emuchooser.js57
-rw-r--r--src/html/js/jquery-ui.js791
-rw-r--r--src/html/js/jquery.js4
-rw-r--r--src/html/welcome.html18
-rw-r--r--src/main.cpp81
97 files changed, 5632 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d758817
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+/educhooser
+Makefile*
+moc_*
+debug
+release
+.project
+.cproject
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..b849b6d
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,19 @@
+cmake_minimum_required(VERSION 2.6)
+project(emuchooser)
+
+
+set(emuchooser_VERSION_MAJOR 0)
+set(emuchooser_VERSION_MINOR 1)
+set(emuchooser_VERSION_PATCH 0)
+
+#
+# Qt4
+#
+find_package(Qt4 4.5.0 REQUIRED)
+if(QT4_FOUND)
+message(STATUS "Qt4 found")
+else(QT4_FOUND)
+message(FATAL_ERROR "Qt4 not found")
+endif(QT4_FOUND)
+
+add_subdirectory (src)
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..d60c31a
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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/INSTALL b/INSTALL
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/INSTALL
diff --git a/README b/README
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/README
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..56e280e
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,55 @@
+set(QT_USE_QTXML TRUE)
+set(QT_USE_QTWEBKIT TRUE)
+
+include(${QT_USE_FILE})
+
+file(GLOB_RECURSE EMUCHOOSER_RESOURCES "*.qrc")
+
+include_directories("/usr/include" "${CMAKE_CURRENT_BINARY_DIR}")
+
+################
+
+set(EMUCHOOSER_PLUGIN_PATH "/opt/openslx/plugin-repo/emuchooser")
+set(EMUCHOOSER_BIN_PATH "/var/opt/openslx/bin")
+set(EMUCHOOSER_ETC_BASE_PATH "/etc/emuchooser")
+set(EMUCHOOSER_VMPATH "/var/lib/virt")
+set(EMUCHOOSER_THEME_BASE "/usr/local/share/emuchooser/themes")
+set(EMUCHOOSER_X_SESSIONS_PATH "/usr/share/xsessions")
+set(EMUCHOOSER_DEFAULT_WIDTH "500")
+set(EMUCHOOSER_DEFAULT_HEIGHT "580")
+
+configure_file("Version.h.in" "Version.h")
+configure_file("Config.h.in" "Config.h")
+
+set(LCHOOSER_CONFIG_HEADERS "Version.h" "Config.h")
+#######
+
+set(EMUCHOOSER_HEADERS "Globals.h")
+set(EMUCHOOSER_SOURCES "main.cpp" "Globals.cpp")
+
+set(EMUCHOOSER_MOC_HEADERS "Dialog.h" "JavaScriptInterface.h")
+set(EMUCHOOSER_MOC_SOURCES "Dialog.cpp" "JavaScriptInterface.cpp")
+
+QT4_WRAP_CPP(EMUCHOOSER_MOC_SOURCES ${EMUCHOOSER_MOC_HEADERS})
+QT4_ADD_RESOURCES(EMUCHOOSER_RC_SOURCES ${EMUCHOOSER_RESOURCES})
+
+add_executable (emuchooser ${EMUCHOOSER_SOURCES} ${EMUCHOOSER_MOC_SOURCES} ${EMUCHOOSER_RC_SOURCES} ${EMUCHOOSER_HEADERS} ${EMUCHOOSER_MOC_HEADERS})
+
+target_link_libraries(emuchooser "-lchooser" ${QT_LIBRARIES})
+
+INSTALL(TARGETS emuchooser RUNTIME DESTINATION bin)
+
+set(CPACK_GENERATOR "DEB")
+set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Sebastian Schmelzer <ssc@xss.nu>") #required
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "emuchooser")
+set(CPACK_PACKAGE_DESCRIPTION "emuchooser")
+set(CPACK_PACKAGE_VERSION "${emuchooser_VERSION_MAJOR}.${emuchooser_VERSION_MINOR}.${emuchooser_VERSION_PATCH}")
+set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqtcore4")
+set(CPACK_DEBIAN_PACKAGE_SECTION "misc")
+set(CPACK_DEBIAN_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}")
+set(CPACK_PACKAGE_NAME "emuchooser")
+set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
+set(CPACK_PACKAGE_FILE_NAME "emuchooser_${CPACK_PACKAGE_VERSION}_ubuntu_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
+set(CPACK_SOURCE_PACKAGE_FILE_NAME "emuchooser_${CPACK_PACKAGE_VERSION}")
+
+INCLUDE(CPack)
diff --git a/src/Config.h.in b/src/Config.h.in
new file mode 100644
index 0000000..5df8d14
--- /dev/null
+++ b/src/Config.h.in
@@ -0,0 +1,17 @@
+#ifndef CONFIG_H
+#define CONFIG_H
+
+#cmakedefine DEBUG @DEBUG@
+
+#cmakedefine EMUCHOOSER_PLUGIN_PATH "@EMUCHOOSER_PLUGIN_PATH@"
+#cmakedefine EMUCHOOSER_BIN_PATH "@EMUCHOOSER_BIN_PATH@"
+#cmakedefine EMUCHOOSER_ETC_BASE_PATH "@EMUCHOOSER_ETC_BASE_PATH@"
+#cmakedefine EMUCHOOSER_VMPATH "@EMUCHOOSER_VMPATH@"
+#cmakedefine EMUCHOOSER_THEME_BASE "@EMUCHOOSER_THEME_BASE@"
+
+#cmakedefine EMUCHOOSER_X_SESSIONS_PATH "@EMUCHOOSER_X_SESSIONS_PATH@"
+
+#cmakedefine EMUCHOOSER_DEFAULT_WIDTH @EMUCHOOSER_DEFAULT_WIDTH@
+#cmakedefine EMUCHOOSER_DEFAULT_HEIGHT @EMUCHOOSER_DEFAULT_HEIGHT@
+
+#endif //CONFIG_H
diff --git a/src/Dialog.cpp b/src/Dialog.cpp
new file mode 100644
index 0000000..43f5cc5
--- /dev/null
+++ b/src/Dialog.cpp
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2010,2011 - RZ Uni Freiburg
+ * Copyright (c) 2010,2011 - OpenSLX Project
+ *
+ * This program/file is free software distributed under the GPL version 2.
+ * See http://gpl.openslx.org/
+ *
+ * If you have any feedback please consult http://feedback.openslx.org/ and
+ * send your feedback to feedback@openslx.org
+ *
+ * General information about OpenSLX - libChooser can be found under
+ * http://openslx.org
+ *
+ */
+
+#include <QtGui>
+#include <QSizeGrip>
+//#include <QSettings>
+#include <QRect>
+#include <QWebView>
+
+#include <SessionTreeItem.h>
+#include <VSession.h>
+
+//#include "QChooserTreeView.h"
+//#include "QWebViewCustom.h"
+#include "JavaScriptInterface.h"
+#include "Dialog.h"
+#include "Globals.h"
+
+void
+Dialog::setTheme()
+{
+
+}
+
+void
+Dialog::showSettingsPVS()
+{
+
+}
+
+void
+Dialog::addItems(const QList<Session *> entries) {
+ jsi->addItems(entries);
+}
+
+void
+Dialog::center()
+{
+ QRect desktopRect = QApplication::desktop()->availableGeometry(this);
+ QPoint center = desktopRect.center();
+ move(center.x() - width() * 0.5, center.y() - height() * 0.5);
+}
+
+void
+Dialog::createLayout()
+{
+ layout = new QVBoxLayout(this);
+ layout->setSpacing(0);
+ layout->setContentsMargins(0, 0, 0, 0);
+ layout->setMargin(0);
+}
+
+Dialog::Dialog(QWidget *parent) :
+ QDialog(parent)
+{
+ setMinimumSize(940, 740);
+ //setStyleSheet("border-color:lightgray");
+ setWindowFlags(Qt::FramelessWindowHint);
+
+ createLayout();
+ QWebView *webView = new QWebView(parent);
+
+#ifdef DEBUG
+ QWebSettings::globalSettings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
+#else
+ webView->setContextMenuPolicy(Qt::NoContextMenu);
+#endif
+
+#if QT_VERSION >= 0x040700
+ QWebSettings::globalSettings()->setAttribute(QWebSettings::LocalContentCanAccessFileUrls, true);
+#endif
+ QWebSettings::globalSettings()->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, true);
+
+ //QWebSettings::globalSettings()->setAttribute(, true);
+ webView->setUrl(QUrl("qrc:/html/index.html"));
+ webView->show();
+ layout->addWidget(webView);
+
+ setLayout(layout);
+
+ jsi = new JavaScriptInterface(webView);
+ QObject::connect(
+ webView->page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()),
+ jsi, SLOT(attachToDOM())
+ );
+ QObject::connect(
+ jsi, SIGNAL(hideMainWindow()),
+ this, SLOT(hide())
+ );
+}
+
diff --git a/src/Dialog.h b/src/Dialog.h
new file mode 100644
index 0000000..e547fca
--- /dev/null
+++ b/src/Dialog.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2010,2011 - RZ Uni Freiburg
+ * Copyright (c) 2010,2011 - OpenSLX Project
+ *
+ * This program/file is free software distributed under the GPL version 2.
+ * See http://gpl.openslx.org/
+ *
+ * If you have any feedback please consult http://feedback.openslx.org/ and
+ * send your feedback to feedback@openslx.org
+ *
+ * General information about OpenSLX - libChooser can be found under
+ * http://openslx.org
+ *
+ */
+
+#ifndef DIALOG_H_
+#define DIALOG_H_
+
+#include <QDialog>
+#include <Session.h>
+#include <SessionTreeModel.h>
+
+class QTextEdit;
+class QTextBrowser;
+class QTreeView;
+class QChooserTreeView;
+class QPushButton;
+class QSplitter;
+class QHBoxLayout;
+class QVBoxLayout;
+class QGroupBox;
+class QSettings;
+class QSizeGrip;
+
+class JavaScriptInterface;
+
+class Dialog : public QDialog
+{
+ Q_OBJECT
+
+ public:
+ explicit Dialog(QWidget *parent = 0);
+ void setTheme();
+ void showSettingsPVS();
+ void center();
+
+ void addItems(const QList<Session *> entries);
+
+ private:
+//void createHeader();
+
+ void createLayout();
+ QString readStyle(const QString &filename);
+ QVBoxLayout *layout;
+ JavaScriptInterface* jsi;
+
+
+};
+
+#endif /* DIALOG_H_ */
diff --git a/src/Globals.cpp b/src/Globals.cpp
new file mode 100644
index 0000000..9100ebb
--- /dev/null
+++ b/src/Globals.cpp
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2010,2011 - RZ Uni Freiburg
+ * Copyright (c) 2010,2011 - OpenSLX Project
+ *
+ * This program/file is free software distributed under the GPL version 2.
+ * See http://gpl.openslx.org/
+ *
+ * If you have any feedback please consult http://feedback.openslx.org/ and
+ * send your feedback to feedback@openslx.org
+ *
+ * General information about OpenSLX - libChooser can be found under
+ * http://openslx.org
+ *
+ */
+
+#include <QDir>
+#include <QString>
+#include "Globals.h"
+
+//QString binPath(QApplication::applicationDirPath());
+QString binPath(EMUCHOOSER_BIN_PATH);
+QString etcPath(EMUCHOOSER_ETC_BASE_PATH);
+QString vSessionPath(EMUCHOOSER_VMPATH);
+QString xSessionPath(EMUCHOOSER_X_SESSIONS_PATH);
+QString userPath(QDir::homePath() + "/.openslx");
+
+QString runVmScript(binPath + "/run-virt.sh");
+QString filterScript(binPath + "/xmlfilter.sh");
+QString printerScript(etcPath + "/printer.sh");
+QString scannerScript(etcPath + "/scanner.sh");
+
+const QString globalConfFile(etcPath + "/emuchooser.conf");
+const QString userConfFile(userPath + "/emuchooser.conf");
+const QString previousSessionFile(userPath + "/emuchooser_prev_session");
+
+bool debugMode = false;
+bool pvsEnabled = false;
+
+QString pool;
+QString theme;
diff --git a/src/Globals.h b/src/Globals.h
new file mode 100644
index 0000000..2e06df1
--- /dev/null
+++ b/src/Globals.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2010,2011 - RZ Uni Freiburg
+ * Copyright (c) 2010,2011 - OpenSLX Project
+ *
+ * This program/file is free software distributed under the GPL version 2.
+ * See http://gpl.openslx.org/
+ *
+ * If you have any feedback please consult http://feedback.openslx.org/ and
+ * send your feedback to feedback@openslx.org
+ *
+ * General information about OpenSLX - libChooser can be found under
+ * http://openslx.org
+ *
+ */
+
+#ifndef VMCHOOSER_GLOBALS_H
+#define VMCHOOSER_GLOBALS_H
+
+#include "Config.h"
+#include "Version.h"
+
+class QString;
+
+extern bool debugMode;
+extern bool pvsEnabled;
+
+extern QString binPath;
+extern QString etcPath;
+extern QString vSessionPath;
+extern QString xSessionPath;
+extern QString userPath;
+
+extern QString runVmScript;
+extern QString filterScript;
+extern QString printerScript;
+extern QString scannerScript;
+
+extern const QString globalConfFile;
+extern const QString userConfFile;
+extern const QString previousSessionFile;
+
+extern QString pool;
+extern QString theme;
+
+#endif
diff --git a/src/JavaScriptInterface.cpp b/src/JavaScriptInterface.cpp
new file mode 100644
index 0000000..dcae24b
--- /dev/null
+++ b/src/JavaScriptInterface.cpp
@@ -0,0 +1,143 @@
+/*
+ * JavaScriptInterface.cpp
+ *
+ * Created on: Oct 26, 2011
+ * Author: ssc
+ */
+
+#include "JavaScriptInterface.h"
+#include <QDebug>
+#include <QString>
+#include <QFile>
+
+#include <VSession.h>
+#include <VSessionHandler.h>
+#include <XSession.h>
+#include <XSessionHandler.h>
+
+
+
+JavaScriptInterface::JavaScriptInterface(QWebView* parent) {
+ // TODO Auto-generated constructor stub
+
+ index = 1;
+ m_dom = parent->page()->mainFrame();
+}
+
+JavaScriptInterface::~JavaScriptInterface() {
+ // TODO Auto-generated destructor stub
+}
+
+void JavaScriptInterface::addItems(const QList<Session *> entries) {
+ int i;
+ for(i=0; i<entries.size(); i++) {
+ m_data.insert(index + i, entries.at(i));
+ }
+ index = index + i;
+}
+
+
+void JavaScriptInterface::attachToDOM() {
+ m_dom->addToJavaScriptWindowObject(QString("emuchooser"), this);
+}
+
+QVariantList JavaScriptInterface::getList() {
+ QVariantMap elem;
+ QVariantList list;
+// qDebug() << "getList was called";
+
+ QHashIterator<int, Session *> i(m_data);
+ while (i.hasNext()) {
+ i.next();
+ elem.insert("title", i.value()->shortDescription());
+ elem.insert("icon", i.value()->icon());
+ elem.insert("id", i.key());
+ list << elem;
+ elem.clear();
+ }
+
+ return list;
+}
+
+QString JavaScriptInterface::getDetails(int id) {
+// qDebug() << "getDetails was called";
+
+ QString tpl, ret;
+ QFile file(":/html/detail");
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
+ return QString();
+
+ while (!file.atEnd()) {
+ QByteArray line = file.readLine();
+ tpl.append(line);
+ }
+
+
+ ret = tpl.arg(m_data.value(id)->title())
+ .arg(m_data.value(id)->screenshot())
+ .arg(m_data.value(id)->author())
+ .arg(m_data.value(id)->creationDate())
+ .arg(m_data.value(id)->changeDate())
+ .arg(m_data.value(id)->os())
+ .arg(m_data.value(id)->emulator())
+ .arg(m_data.value(id)->description());
+
+ return ret;
+}
+
+
+
+QString JavaScriptInterface::getFoo() {
+// qDebug() << "getFoo was called";
+ return QString("foobar");
+}
+
+QString JavaScriptInterface::getAbout() {
+// qDebug() << "getAbout was called";
+ QString ret;
+ QFile file(":/html/about");
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
+ return QString();
+
+ while (!file.atEnd()) {
+ QByteArray line = file.readLine();
+ ret.append(line);
+ }
+ return ret;
+}
+
+QString JavaScriptInterface::getHelp() {
+// qDebug() << "getHelp was called";
+ QString ret;
+ QFile file(":/html/help");
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
+ return QString();
+
+ while (!file.atEnd()) {
+ QByteArray line = file.readLine();
+ ret.append(line);
+ }
+ return ret;
+}
+
+QString JavaScriptInterface::getWelcome() {
+// qDebug() << "getWelcome was called";
+ QString ret;
+ QFile file(":/html/welcome");
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
+ return QString();
+
+ while (!file.atEnd()) {
+ QByteArray line = file.readLine();
+ ret.append(line);
+ }
+ return ret;
+}
+
+void JavaScriptInterface::run(int id) {
+ qDebug() << "start system: " << m_data.value(id)->title();
+ emit hideMainWindow();
+ m_data.value(id)->run();
+}
+
+
diff --git a/src/JavaScriptInterface.h b/src/JavaScriptInterface.h
new file mode 100644
index 0000000..0953fd6
--- /dev/null
+++ b/src/JavaScriptInterface.h
@@ -0,0 +1,60 @@
+/*
+ * JavaScriptInterface.h
+ *
+ * Created on: Oct 26, 2011
+ * Author: ssc
+ */
+
+#ifndef JAVASCRIPTINTERFACE_H_
+#define JAVASCRIPTINTERFACE_H_
+
+#include <QObject>
+#include <QWebFrame>
+#include <QWebView>
+#include <QVariantList>
+#include <QVariantMap>
+
+//#include "QWebViewCustom.h"
+
+class Session;
+
+class JavaScriptInterface: public QObject {
+
+ Q_OBJECT
+
+public:
+ JavaScriptInterface(QWebView* parent = 0);
+ virtual ~JavaScriptInterface();
+
+ void addItems(const QList<Session *> entries);
+
+
+private:
+
+ QWebFrame* m_dom;
+ QHash<int, Session*> m_data;
+ int index;
+
+ signals:
+ void quit();
+ void start();
+ void help();
+
+signals:
+ void hideMainWindow();
+
+public slots:
+ void attachToDOM();
+ QVariantList getList();
+ QString getDetails(int id);
+ QString getFoo();
+ QString getAbout();
+ QString getHelp();
+ QString getWelcome();
+
+ void run(int id);
+
+
+};
+
+#endif /* JAVASCRIPTINTERFACE_H_ */
diff --git a/src/Version.h.in b/src/Version.h.in
new file mode 100644
index 0000000..4458a38
--- /dev/null
+++ b/src/Version.h.in
@@ -0,0 +1,9 @@
+#ifndef VERSION_H
+#define VERSION_H
+
+
+#define VERSION_MAJOR @libChooser_VERSION_MAJOR@
+#define VERSION_MINOR @libChooser_VERSION_MINOR@
+#define VERSION_PATCH @libChooser_VERSION_PATCH@
+
+#endif //VERSION_H
diff --git a/src/gui.qrc b/src/gui.qrc
new file mode 100644
index 0000000..a471aaf
--- /dev/null
+++ b/src/gui.qrc
@@ -0,0 +1,72 @@
+<RCC>
+ <qresource prefix="/html">
+ <file alias="index.html">html/index.html</file>
+ <file alias="about">html/about.html</file>
+ <file alias="help">html/help.html</file>
+ <file alias="welcome">html/welcome.html</file>
+ <file alias="detail">html/detail.html</file>
+ </qresource>
+ <qresource prefix="/js">
+ <file alias="jquery">html/js/jquery.js</file>
+ <file alias="emuchooser">html/js/emuchooser.js</file>
+ <file alias="jquery-ui">html/js/jquery-ui.js</file>
+ </qresource>
+ <qresource prefix="/img">
+ <file alias="bg">html/img/bg.png</file>
+ <file alias="planets">html/img/planets.png</file>
+ <file alias="amiga">html/img/icons/amiga.png</file>
+ <file alias="amiga2">html/img/icons/amiga2.png</file>
+ <file alias="atari">html/img/icons/atari.png</file>
+ <file alias="beos">html/img/icons/beos.png</file>
+ <file alias="bsd">html/img/icons/bsd.png</file>
+ <file alias="debian">html/img/icons/debian.png</file>
+ <file alias="dosbox">html/img/icons/dosbox.png</file>
+ <file alias="fedora">html/img/icons/fedora.png</file>
+ <file alias="gentoo">html/img/icons/gentoo.png</file>
+ <file alias="gnome">html/img/icons/gnome.png</file>
+ <file alias="kde">html/img/icons/kde.png</file>
+ <file alias="linux">html/img/icons/linux.png</file>
+ <file alias="locked">html/img/icons/locked.png</file>
+ <file alias="lxde">html/img/icons/lxde.png</file>
+ <file alias="macos">html/img/icons/macos.png</file>
+ <file alias="mess">html/img/icons/mess.png</file>
+ <file alias="none">html/img/icons/none.png</file>
+ <file alias="opensolaris">html/img/icons/opensolaris.png</file>
+ <file alias="os2">html/img/icons/os2.png</file>
+ <file alias="osx">html/img/icons/osx.png</file>
+ <file alias="qemu">html/img/icons/qemu.png</file>
+ <file alias="redhat">html/img/icons/redhat.png</file>
+ <file alias="riscos">html/img/icons/riscos.png</file>
+ <file alias="solaris">html/img/icons/solaris.png</file>
+ <file alias="suse">html/img/icons/suse.png</file>
+ <file alias="term">html/img/icons/term.png</file>
+ <file alias="ubuntu">html/img/icons/ubuntu.png</file>
+ <file alias="unknown">html/img/icons/unknown.png</file>
+ <file alias="virtualbox">html/img/icons/virtualbox.png</file>
+ <file alias="vmware">html/img/icons/vmware.png</file>
+ <file alias="win7">html/img/icons/win7.png</file>
+ <file alias="win311">html/img/icons/win311.png</file>
+ <file alias="windows">html/img/icons/windows.png</file>
+ <file alias="xfce">html/img/icons/xfce.png</file>
+ <file alias="ui-bg_flat_0_aaaaaa_40x100">html/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png</file>
+ <file alias="ui-bg_flat_75_ffffff_40x100">html/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png</file>
+ <file alias="ui-bg_glass_55_fbf9ee_1x400">html/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png</file>
+ <file alias="ui-bg_glass_65_ffffff_1x400">html/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png</file>
+ <file alias="ui-bg_glass_75_dadada_1x400">html/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png</file>
+ <file alias="ui-bg_glass_75_e6e6e6_1x400">html/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png</file>
+ <file alias="ui-bg_glass_95_fef1ec_1x400">html/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png</file>
+ <file alias="ui-bg_highlight-soft_75_cccccc_1x100">html/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png</file>
+ <file alias="ui-icons_2e83ff_256x240">html/css/smoothness/images/ui-icons_2e83ff_256x240.png</file>
+ <file alias="ui-icons_222222_256x240">html/css/smoothness/images/ui-icons_222222_256x240.png</file>
+ <file alias="ui-icons_454545_256x240">html/css/smoothness/images/ui-icons_454545_256x240.png</file>
+ <file alias="ui-icons_888888_256x240">html/css/smoothness/images/ui-icons_888888_256x240.png</file>
+ <file alias="ui-icons_cd0a0a_256x240">html/css/smoothness/images/ui-icons_cd0a0a_256x240.png</file>
+ <file alias="help">html/img/help.png</file>
+ <file alias="noscreenshot">html/img/noscreenshot.png</file>
+ </qresource>
+ <qresource prefix="/css">
+ <file alias="style">html/css/style.css</file>
+ <file alias="icons">html/css/icons.css</file>
+ <file alias="jquery-ui">html/css/smoothness/jquery-ui.css</file>
+ </qresource>
+</RCC>
diff --git a/src/html/about.html b/src/html/about.html
new file mode 100644
index 0000000..2d8a50e
--- /dev/null
+++ b/src/html/about.html
@@ -0,0 +1,25 @@
+<h3>About</h3>
+
+<p align="justify">The electronic collections of today's libraries, museums and archives are
+growing and increasingly have a more relevant role in the holdings. Memory
+institutions must address users' need to access a widening range of digital
+artefacts. Often the formats of those artefacts are outdated and they cannot
+be run or rendered on today's systems any longer. This is where emulation
+can provide the required digital environments suitable for a given object type.</p>
+
+<p align="justify">This project aims on a practical demonstration to access a wide range of
+different original computer environments from the last 30 years.</p>
+<br/>
+
+<h4>Contact</h4>
+<p>
+<i>University of Freiburg</i><br/>
+<b>Chair in Communication Systems</b><br/>
+<br/>
+Hermann-Herder-Str. 10 <br/>
+79104 Freiburg <br/>
+Germany<br/>
+<br/>
+email: fla@uni-freiburg.de<br/>
+web: http://www.ks.uni-freiburg.de<br/>
+</p> \ No newline at end of file
diff --git a/src/html/css/icons.css b/src/html/css/icons.css
new file mode 100644
index 0000000..1ef61fc
--- /dev/null
+++ b/src/html/css/icons.css
@@ -0,0 +1,34 @@
+
+ .amiga2 { background-image:url(qrc:/img/amiga2);}
+ .amiga { background-image:url(qrc:/img/amiga);}
+ .atari { background-image:url(qrc:/img/atari);}
+ .beos { background-image:url(qrc:/img/beos);}
+ .bds { background-image:url(qrc:/img/bsd);}
+ .debian { background-image:url(qrc:/img/debian);}
+ .dosbox { background-image:url(qrc:/img/dosbox);}
+ .fedora { background-image:url(qrc:/img/fedora);}
+ .gentoo { background-image:url(qrc:/img/gentoo);}
+ .gnome { background-image:url(qrc:/img/gnome);}
+ .kde { background-image:url(qrc:/img/kde);}
+ .linux { background-image:url(qrc:/img/linux);}
+ .lxde { background-image:url(qrc:/img/lxde);}
+ .macos { background-image:url(qrc:/img/macos);}
+ .mess { background-image:url(qrc:/img/mess);}
+ .none { background-image:url(qrc:/img/none);}
+ .opensolaris { background-image:url(qrc:/img/opensolaris);}
+ .os2 { background-image:url(qrc:/img/os2);}
+ .osx { background-image:url(qrc:/img/osx);}
+ .qemu { background-image:url(qrc:/img/qemu);}
+ .redhat { background-image:url(qrc:/img/redhat);}
+ .riscos { background-image:url(qrc:/img/riscos);}
+ .solaris { background-image:url(qrc:/img/solaris);}
+ .suse { background-image:url(qrc:/img/suse);}
+ .term { background-image:url(qrc:/img/term);}
+ .ubnutu { background-image:url(qrc:/img/ubuntu);}
+ .unknown { background-image:url(qrc:/img/unknown);}
+ .virtualbox { background-image:url(qrc:/img/virtualbox);}
+ .vmware { background-image:url(qrc:/img/vmware);}
+ .win311 { background-image:url(qrc:/img/win311);}
+ .win7 { background-image:url(qrc:/img/win7);}
+ .windows { background-image:url(qrc:/img/windows);}
+ .xfce { background-image:url(qrc:/img/xfce);}
diff --git a/src/html/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png b/src/html/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100644
index 0000000..5b5dab2
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png b/src/html/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
new file mode 100644
index 0000000..ac8b229
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png b/src/html/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
new file mode 100644
index 0000000..ad3d634
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png b/src/html/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
new file mode 100644
index 0000000..42ccba2
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png b/src/html/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
new file mode 100644
index 0000000..5a46b47
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png b/src/html/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
new file mode 100644
index 0000000..86c2baa
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png b/src/html/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
new file mode 100644
index 0000000..4443fdc
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/src/html/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
new file mode 100644
index 0000000..7c9fa6c
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-icons_222222_256x240.png b/src/html/css/smoothness/images/ui-icons_222222_256x240.png
new file mode 100644
index 0000000..b273ff1
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-icons_222222_256x240.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-icons_2e83ff_256x240.png b/src/html/css/smoothness/images/ui-icons_2e83ff_256x240.png
new file mode 100644
index 0000000..09d1cdc
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-icons_2e83ff_256x240.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-icons_454545_256x240.png b/src/html/css/smoothness/images/ui-icons_454545_256x240.png
new file mode 100644
index 0000000..59bd45b
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-icons_454545_256x240.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-icons_888888_256x240.png b/src/html/css/smoothness/images/ui-icons_888888_256x240.png
new file mode 100644
index 0000000..6d02426
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-icons_888888_256x240.png
Binary files differ
diff --git a/src/html/css/smoothness/images/ui-icons_cd0a0a_256x240.png b/src/html/css/smoothness/images/ui-icons_cd0a0a_256x240.png
new file mode 100644
index 0000000..2ab019b
--- /dev/null
+++ b/src/html/css/smoothness/images/ui-icons_cd0a0a_256x240.png
Binary files differ
diff --git a/src/html/css/smoothness/jquery-ui.css b/src/html/css/smoothness/jquery-ui.css
new file mode 100644
index 0000000..b088484
--- /dev/null
+++ b/src/html/css/smoothness/jquery-ui.css
@@ -0,0 +1,568 @@
+/*
+ * jQuery UI CSS Framework 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+ * jQuery UI CSS Framework 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(qrc:/img/ui-bg_flat_75_ffffff_40x100) 50% 50% repeat-x; color: #222222; }
+.ui-widget-content a { color: #222222; }
+.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(qrc:/img/ui-bg_highlight-soft_75_cccccc_1x100) 50% 50% repeat-x; color: #222222; font-weight: bold; }
+.ui-widget-header a { color: #222222; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(qrc:/img/ui-bg_glass_75_e6e6e6_1x400) 50% 50% repeat-x; font-weight: normal; color: #555555; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(qrc:/img/ui-bg_glass_75_dadada_1x400) 50% 50% repeat-x; font-weight: normal; color: #212121; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(qrc:/img/ui-bg_glass_65_ffffff_1x400) 50% 50% repeat-x; font-weight: normal; color: #212121; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(qrc:/img/ui-bg_glass_55_fbf9ee_1x400) 50% 50% repeat-x; color: #363636; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(qrc:/img/ui-bg_glass_95_fef1ec_1x400) 50% 50% repeat-x; color: #cd0a0a; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(qrc:/img/ui-icons_222222_256x240); }
+.ui-widget-content .ui-icon {background-image: url(qrc:/img/ui-icons_222222_256x240); }
+.ui-widget-header .ui-icon {background-image: url(qrc:/img/ui-icons_222222_256x240); }
+.ui-state-default .ui-icon { background-image: url(qrc:/img/ui-icons_888888_256x240); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(qrc:/img/ui-icons_454545_256x240); }
+.ui-state-active .ui-icon {background-image: url(qrc:/img/ui-icons_454545_256x240); }
+.ui-state-highlight .ui-icon {background-image: url(qrc:/img/ui-icons_2e83ff_256x240); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(qrc:/img/ui-icons_cd0a0a_256x240); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
+.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(qrc:/img/ui-bg_flat_0_aaaaaa_40x100) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(qrc:/img/ui-bg_flat_0_aaaaaa_40x100) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
+ * jQuery UI Resizable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizable#theming
+ */
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
+ * jQuery UI Selectable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectable#theming
+ */
+.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
+/*
+ * jQuery UI Accordion 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion#theming
+ */
+/* IE/Win - Fix animation bug - #4615 */
+.ui-accordion { width: 100%; }
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
+.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
+.ui-accordion .ui-accordion-content-active { display: block; }
+/*
+ * jQuery UI Autocomplete 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete#theming
+ */
+.ui-autocomplete { position: absolute; cursor: default; }
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu 1.8.16
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Menu#theming
+ */
+.ui-menu {
+ list-style:none;
+ padding: 2px;
+ margin: 0;
+ display:block;
+ float: left;
+}
+.ui-menu .ui-menu {
+ margin-top: -3px;
+}
+.ui-menu .ui-menu-item {
+ margin:0;
+ padding: 0;
+ zoom: 1;
+ float: left;
+ clear: left;
+ width: 100%;
+}
+.ui-menu .ui-menu-item a {
+ text-decoration:none;
+ display:block;
+ padding:.2em .4em;
+ line-height:1.5;
+ zoom:1;
+}
+.ui-menu .ui-menu-item a.ui-state-hover,
+.ui-menu .ui-menu-item a.ui-state-active {
+ font-weight: normal;
+ margin: -1px;
+}
+/*
+ * jQuery UI Button 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button#theming
+ */
+.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
+.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
+button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
+.ui-button-icons-only { width: 3.4em; }
+button.ui-button-icons-only { width: 3.7em; }
+
+/*button text element */
+.ui-button .ui-button-text { display: block; line-height: 1.4; }
+.ui-button-text-only .ui-button-text { padding: .4em 1em; }
+.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
+.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
+.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
+/* no icon support for input elements, provide padding by default */
+input.ui-button { padding: .4em 1em; }
+
+/*button icon element(s) */
+.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
+.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
+.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
+.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+
+/*button sets*/
+.ui-buttonset { margin-right: 7px; }
+.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
+
+/* workarounds */
+button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+/*
+ * jQuery UI Dialog 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog#theming
+ */
+.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
+.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
+.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/*
+ * jQuery UI Slider 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider#theming
+ */
+.ui-slider { position: relative; text-align: left; }
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
+
+.ui-slider-horizontal { height: .8em; }
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: .8em; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
+ * jQuery UI Tabs 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs#theming
+ */
+.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
+.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
+.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
+/*
+ * jQuery UI Datepicker 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker#theming
+ */
+.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+ display: none; /*sorry for IE5*/
+ display/**/: block; /*sorry for IE5*/
+ position: absolute; /*must have*/
+ z-index: -1; /*must have*/
+ filter: mask(); /*must have*/
+ top: -4px; /*must have*/
+ left: -4px; /*must have*/
+ width: 200px; /*must have*/
+ height: 200px; /*must have*/
+}/*
+ * jQuery UI Progressbar 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar#theming
+ */
+.ui-progressbar { height:2em; text-align: left; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file
diff --git a/src/html/css/style.css b/src/html/css/style.css
new file mode 100644
index 0000000..61f33c5
--- /dev/null
+++ b/src/html/css/style.css
@@ -0,0 +1,166 @@
+html,body {
+ padding: 0;
+ margin: 0;
+ height: 100%;
+ width: 100%
+}
+
+html {
+ font: 0.9em/1.2 Verdana, sans-serif;
+}
+
+body {
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ height: 100%;
+ border:1px solid #aaa;
+ -webkit-box-sizing: border-box;
+}
+
+ul {
+ margin: 0;
+ padding: 0;
+}
+
+button .ui-button-text {
+ font-size: 0.7em;
+ font-weight:bold;
+}
+
+p {
+ font-size: 0.8em;
+ line-height: 1.3em;
+}
+
+#head {
+ height: 120px;
+ display: -webkit-box;
+ -webkit-box-orient: horizontal;
+ -webkit-box-pack: center;
+ -webkit-box-align: center;
+ border-bottom: 1px solid #aaa;
+ background-image: -webkit-linear-gradient(bottom, rgb(250, 250, 250) 5%,
+ rgb(255, 255, 255) 50% );
+}
+
+#middle {
+ display: -webkit-box;
+ -webkit-box-flex: 1;
+ -webkit-box-orient: horizontal;
+}
+
+#menu {
+ width: 350px;
+ border-right: 1px solid #aaa;
+ background-color: #fafafa;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+}
+
+#content {
+ -webkit-box-flex: 1;
+ padding: 10px;
+}
+
+#foot {
+ height: 40px;
+ padding: 4px 10px;
+ border-top: 1px solid #aaa;
+ display: -webkit-box;
+ -webkit-box-orient: horizontal;
+ -webkit-box-pack: end;
+ -webkit-box-align: center;
+}
+
+.listhead {
+ -webkit-box-sizing: border-box;
+ display: block;
+ margin: 0;
+ width: 100%;
+ font-size: 0.8em;
+ padding: 8px;
+ border-top: 0px solid #bbb;
+ border-bottom: 1px solid #ccc;
+ border-left: 0px solid #bbb;
+ border-right: 0px solid #999;
+ background-color: #fff;
+ background-image: -webkit-linear-gradient(bottom, rgb(250, 250, 250) 5%,
+ rgb(255, 255, 255) 50% );
+}
+
+.listhead input {
+ border: 1px solid #333;
+}
+
+.listcontent {
+ -webkit-box-flex: 1;
+ overflow-y: auto;
+ scroll: auto;
+}
+
+.list {
+ -webkit-box-sizing: border-box;
+ display: block;
+ margin: 0;
+ width: 100%;
+ font-size: 0.8em;
+ padding: 8px;
+ padding-left: 50px;
+ cursor: pointer;
+ border-top: 0px solid #bbb;
+ border-bottom: 1px solid #ccc;
+ border-left: 0px solid #bbb;
+ border-right: 0px solid #999;
+ background-color: #fff;
+ background-repeat: no-repeat;
+ background-position: 16px 0.25em;
+ background-size: 24px 24px;
+ border-left: 0px solid #fff;
+}
+
+.list.selected {
+ background-position: 8px 0.25em;
+ padding-left: 42px;
+ font-style: italic;
+ border-left: 8px solid #ace;
+ background-color: #f0f8ff;
+}
+
+.list:hover {
+ background-position: 8px 0.25em;
+ padding-left: 42px;
+ background-color: #eefeff;
+ border-left: 8px solid #7af;
+}
+
+.titlebg {
+ height: 100%;
+ width: 360px;
+ text-align: right;
+ padding-right: 20px;
+ padding-top: 60px;
+ background-position: right;
+ background-repeat: repeat-y;
+ background-image: url(qrc:/img/bg);
+}
+
+div {
+ -webkit-box-sizing: border-box;
+}
+
+.title_font {
+ font-size: 1.6em;
+ font-style: italic;
+ display: block;
+}
+
+.subtitle_font {
+ font-size: 1.2em:
+ font-style:italic;
+}
+
+h1,h2,h3,h4,h5,h6 {
+ margin: 0;
+ padding: 0;
+ display: block;
+}
diff --git a/src/html/detail.html b/src/html/detail.html
new file mode 100644
index 0000000..c0ad88a
--- /dev/null
+++ b/src/html/detail.html
@@ -0,0 +1,30 @@
+<h3>%1</h3>
+
+<div style="margin:10px;float:right;"><img style="max-width:200px;" src="%2" /></div>
+
+<p>
+<b><i>Author</i></b><br/>
+%3<br/><br/>
+
+<!--
+<b><i>Created</i></b><br/>
+%4<br/><br/>
+ -->
+
+<b><i>Last Update</i></b><br/>
+%6<br/><br/>
+
+<b><i>Operating System</i></b><br/>
+%7<br/><br/>
+
+<b><i>Emulator</i></b><br/>
+%8<br/><br/>
+<br/>
+</p>
+
+<p>
+<b><i>Description</i></b><br/>
+
+%9
+
+</p> \ No newline at end of file
diff --git a/src/html/help.html b/src/html/help.html
new file mode 100644
index 0000000..1ddc0e0
--- /dev/null
+++ b/src/html/help.html
@@ -0,0 +1,14 @@
+<h3>Help</h3>
+
+<p align="justify">The project incorporates practical research being done at Freiburg University
+for the Open Planets Foundation. It looks into on how to integrate different
+emulators for a number of original environments into a single graphical
+desktop. This case study looks into options for future reading room systems
+based on a stateless Linux workstations. It is a prototypical implementation to
+demonstrate the different emulators and experience a wide range of different
+original environments.</p>
+
+<p align="justify">If possible a full screen experience is offered for the original environment.
+Unfortunately sometimes it is difficult to simply close a session conveniently.
+Here the key combination of <i>CTRL-ALT-BACKSPACE</i> might help to restart the
+environment chooser.</p> \ No newline at end of file
diff --git a/src/html/img/bg.png b/src/html/img/bg.png
new file mode 100644
index 0000000..bbd5668
--- /dev/null
+++ b/src/html/img/bg.png
Binary files differ
diff --git a/src/html/img/help.png b/src/html/img/help.png
new file mode 100644
index 0000000..2d23f89
--- /dev/null
+++ b/src/html/img/help.png
Binary files differ
diff --git a/src/html/img/icons/Atari.svg b/src/html/img/icons/Atari.svg
new file mode 100644
index 0000000..ab14ef7
--- /dev/null
+++ b/src/html/img/icons/Atari.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg2816"
+ version="1.1"
+ inkscape:version="0.48.1 r9760"
+ width="1024"
+ height="1346"
+ sodipodi:docname="Atari.svg">
+ <title
+ id="title2830">Atari Games Logo</title>
+ <metadata
+ id="metadata2822">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Atari Games Logo</dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs2820" />
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1048"
+ inkscape:window-height="816"
+ id="namedview2818"
+ showgrid="false"
+ inkscape:zoom="0.35066865"
+ inkscape:cx="783.74363"
+ inkscape:cy="891.66253"
+ inkscape:window-x="1888"
+ inkscape:window-y="174"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2816" />
+ <path
+ style="fill:#000000"
+ d="M 361 12 L 361 48.75 C 360.96433 178.83197 347.08864 298.45645 322.5 380.875 C 312.58541 414.10766 298.91205 445.41113 285.25 466.09375 C 234.94071 542.25569 174.61693 595.91086 106.6875 624.9375 C 85.347206 634.05633 53.880219 643.47066 32.75 647.0625 L 26 648.21875 L 26 705.09375 L 26 762 L 28.5625 762 C 34.570343 762 59.653214 757.54709 74.28125 753.875 C 140.24952 737.31492 205.77178 703.04494 265 654.15625 C 280.18583 641.62142 312.38004 609.30091 323.40625 595.5 C 356.63248 553.91257 382.48551 498.13083 395.53125 439.875 C 411.00923 370.75803 416.20376 290.53547 417.65625 99.25 L 418.3125 12 L 389.65625 12 L 361 12 z M 441 12 L 441 387 L 441 762 L 495.5 762 L 550 762 L 550 387 L 550 12 L 495.5 12 L 441 12 z M 573 12 L 573 72.25 C 573.04288 263.39686 579.37457 368.63888 595.0625 439 C 606.89639 492.07554 630.84441 546.75673 658.46875 583.875 C 723.57423 671.35592 843.46863 744.4281 948 760.34375 C 953.225 761.13929 959.1875 761.85225 961.25 761.90625 L 965 762 L 965 705.09375 L 965 648.21875 L 958.25 647.03125 C 904.34726 637.74724 848.79844 612.58819 805.25 577.71875 C 768.75451 548.49664 731.7098 506.91037 704.59375 464.71875 C 657.75011 391.83166 630 238.58979 630 52.75 L 630 12 L 601.5 12 L 573 12 z M 995 778.5 C 988.54668 778.5 986.80712 778.87572 983.84375 780.90625 C 970.40371 790.11552 971.86371 810.47448 986.4375 817.09375 C 994.71237 820.85211 1004.5871 818.63972 1010.7188 811.65625 C 1018.7139 802.55032 1016.8049 788.28305 1006.6562 781.25 C 1003.1488 778.8194 1001.7356 778.5 995 778.5 z M 994.65625 780.125 C 1003.8233 779.83278 1012.0804 786.81613 1012.8125 796.9375 C 1013.4858 806.2468 1009.0563 812.80379 1000.0938 815.84375 C 996.52444 817.05438 993.51117 817.22081 991 816.3125 C 981.88875 813.01689 977 806.86634 977 798.75 C 977 790.71991 981.03379 784.54637 988.25 781.53125 C 990.38433 780.63947 992.54078 780.19243 994.65625 780.125 z M 987 786 L 987 798.5 C 987 810.33333 987.10667 811 989 811 C 990.75758 811 991 810.33333 991 805.5 C 991 800.75856 991.26438 800 992.90625 800 C 994.17188 800 995.84354 801.84508 997.90625 805.5 C 999.61346 808.525 1001.6798 811 1002.5 811 C 1003.3203 811 1004 810.73981 1004 810.4375 C 1004 809.40102 1000.766 803.5109 999.25 801.78125 C 997.87881 800.21678 997.94896 799.86769 1000.0625 798.15625 C 1001.7584 796.78297 1002.4062 795.21925 1002.4062 792.5 C 1002.4062 787.51258 1000.1585 786 992.8125 786 L 987 786 z M 993.0625 788 C 998.39241 788 1000.9495 792.92549 997.4375 796.4375 C 996.57322 797.30179 994.77322 798 993.4375 798 C 991.18988 798 991 797.62745 991 793 C 991 788.61363 991.25028 788 993.0625 788 z M 231 831 L 231 856 L 231 881 L 266 881 L 301 881 L 301 1025.5 L 301 1170 L 326 1170 L 351 1170 L 351.25 1025.75 L 351.5 881.5 L 386.75 881.25 L 422 880.96875 L 422 856 L 422 831 L 326.5 831 L 231 831 z M 913 831 L 913 1000.5 L 913 1170 L 938 1170 L 963 1170 L 963 1000.5 L 963 831 L 938 831 L 913 831 z M 747.625 831.03125 C 711.57411 831.06811 702.62671 831.87209 693.71875 835.8125 C 687.57127 838.53183 680.37494 845.36199 677.34375 851.34375 C 671.89741 862.09159 672.05005 857.35354 672.03125 1019.75 L 672 1170 L 697 1170 L 722 1170 L 722 1030.25 C 722.0037 891.84433 722.03251 890.46584 724.03125 887.1875 C 727.44095 881.59494 730.36789 881.01175 754.21875 881.03125 C 768.62649 881.04301 777.63585 881.48598 782.125 882.4375 C 804.23682 887.12433 816.2298 904.30461 816.375 931.5 C 816.44409 944.4398 813.90946 952.94411 807.15625 962.53125 C 798.82545 974.35801 787.25943 982.64343 765.84375 992.0625 C 756.94634 995.97576 752.34118 998.64157 749.375 1001.5938 C 739.50781 1011.4144 737.57671 1031.2386 745.03125 1046.125 C 746.23234 1048.5236 764.81502 1077.1023 786.34375 1109.625 L 825.5 1168.75 L 854.5 1169.2188 C 870.45 1169.464 883.63692 1169.5648 883.8125 1169.4375 C 883.98808 1169.3103 866.5891 1142.8922 845.15625 1110.75 C 823.72341 1078.6077 805.25927 1050.4408 804.09375 1048.1562 C 800.88819 1041.8728 800.47146 1036.179 802.9375 1032.25 C 805.1781 1028.6802 808.16185 1026.4543 821.25 1018.6875 C 837.38482 1009.1127 846.76196 999.85957 854.40625 985.90625 C 869.83108 957.75088 870.92421 913.04466 856.9375 883.15625 C 844.29604 856.14254 819.99409 837.68148 790.28125 832.5 C 783.78764 831.3676 773.51553 831.00475 747.625 831.03125 z M 139.1875 831.1875 C 133.15945 831.24464 126.88043 832.07331 122.71875 833.53125 C 115.99037 835.88837 108.00585 843.52126 103.71875 851.71875 C 100.94048 857.03116 90.905775 891.52523 57.15625 1011.5 C 33.484418 1095.65 13.804264 1165.7594 13.4375 1167.2812 L 12.78125 1170.0312 L 38.59375 1169.7812 L 64.40625 1169.5 L 70.65625 1147 C 74.095252 1134.625 79.47269 1115.3924 82.59375 1104.25 L 88.28125 1083.9688 L 139.28125 1084.25 L 190.3125 1084.5 L 202.09375 1126.8438 C 208.57919 1150.1403 214.05577 1169.3995 214.28125 1169.625 C 214.50673 1169.8508 226.18692 1169.9281 240.21875 1169.7812 L 265.71875 1169.5 L 249.96875 1113.5 C 188.87587 896.33347 177.75893 857.46859 175.40625 852.78125 C 169.37484 840.76461 161.1372 834.18046 149.25 831.9375 C 146.32725 831.38602 142.80433 831.15322 139.1875 831.1875 z M 517.1875 831.1875 C 511.15945 831.24464 504.88043 832.07331 500.71875 833.53125 C 493.63026 836.01452 485.72656 843.72865 481.46875 852.34375 C 478.83387 857.67505 466.77705 899.16311 434.46875 1013.9688 C 410.56329 1098.9153 391 1168.7764 391 1169.2188 C 391 1169.6611 402.57988 1169.928 416.71875 1169.7812 L 442.40625 1169.5 L 454.09375 1127.6562 C 460.52005 1104.6435 466.18253 1085.4113 466.6875 1084.9062 C 467.22765 1084.3661 488.35375 1084.0975 517.96875 1084.25 L 568.28125 1084.5 L 579.53125 1124.7188 C 585.70995 1146.836 591.05608 1166.0736 591.40625 1167.4688 L 592.03125 1170 L 618.125 1170 C 640.63715 1170 644.1418 1169.7966 643.65625 1168.5312 C 643.34677 1167.7248 627.28808 1110.9123 607.96875 1042.2812 C 588.64941 973.6502 569.06438 904.09329 564.4375 887.71875 C 559.81063 871.34421 554.81814 855.59421 553.375 852.71875 C 547.36592 840.7457 539.12258 834.1777 527.25 831.9375 C 524.32725 831.38602 520.80433 831.15322 517.1875 831.1875 z M 139.0625 907.9375 C 139.22898 907.95995 139.38261 908.07011 139.53125 908.21875 C 140.08642 908.77392 174.65353 1028.306 175.6875 1033.25 L 176.25 1036 L 139.0625 1036 C 104.10822 1036 101.88251 1035.8947 102.375 1034.25 C 102.66322 1033.2875 110.87778 1004.6 120.59375 970.5 C 130.30971 936.4 138.41711 908.32292 138.625 908.09375 C 138.72894 907.97917 138.89602 907.91505 139.0625 907.9375 z M 516.84375 907.96875 C 517.06475 907.91177 517.34348 908.03098 517.59375 908.28125 C 518.18471 908.87221 552.49703 1027.7754 553.65625 1033.25 L 554.25 1036 L 517.0625 1036 C 482.11086 1036 479.88906 1035.8946 480.375 1034.25 C 480.6594 1033.2875 488.86328 1004.6 498.59375 970.5 C 508.32423 936.4 516.45906 908.32292 516.65625 908.09375 C 516.70555 908.03646 516.77008 907.98774 516.84375 907.96875 z M 49.5625 1334.5938 C 55.572913 1336.1194 65.377043 1336.0181 72.65625 1334.5938 L 49.5625 1334.5938 z M 914.03125 1334.5938 C 920.51867 1336.2899 933.95173 1336.2749 940.90625 1334.5938 L 914.03125 1334.5938 z "
+ id="path2828" />
+</svg>
diff --git a/src/html/img/icons/LICENSE b/src/html/img/icons/LICENSE
new file mode 100644
index 0000000..0c3439e
--- /dev/null
+++ b/src/html/img/icons/LICENSE
@@ -0,0 +1,56 @@
+linux.svg / linux.png
+Source: https://secure.wikimedia.org/wikipedia/commons/wiki/File:Tux-G2.svg
+License: public domain
+
+fedora.svg / fedora.png
+Source: https://secure.wikimedia.org/wikipedia/de/w/index.php?title=Datei:Fedora_%28Linux-Distribution%29_logo.svg&filetimestamp=20080912041413
+License: registered trademark
+
+xfce.svg / xfce.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Xfce_logo.svg
+License: Creative Commons Attribution-Share Alike 3.0 Unported license
+
+ubuntu.svg / ubuntu.png
+Source: https://secure.wikimedia.org/wikipedia/commons/wiki/File:UbuntuCoF.svg
+License: registered trademark
+
+suse.svg / suse.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Suse_logo.svg
+License: GPL / registered trademark
+
+redhat.svg / redhat.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:RedHat.svg
+License: registered trademark
+
+macos.svg / macos.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Mac_OS_Logo_with_Text.svg
+License: registered trademark
+
+osx.svg / osx.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:OSXLeopard.svg
+License: registered trademark
+
+kde.svg / kde.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:KDE_logo.svg
+License: registered trademark
+
+gnome.svg / gnome.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Gnomelogo.svg
+License: GPL / registered trademark
+
+gentoo.svg / gentoo.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Gentoo_Linux_logo_matte.svg
+License: Creative Commons Attribution-Share Alike 2.5 Generic / registered trademark
+
+bsd.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Freebsd_logo.svg
+License: registered trademark
+
+windows.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Windows_logo.svg
+License: registered trademark
+
+vmware.svg / vmware.png
+Source: https://secure.wikimedia.org/wikipedia/en/wiki/File:Vmware.svg
+License: registered trademark
+
diff --git a/src/html/img/icons/amiga.png b/src/html/img/icons/amiga.png
new file mode 100644
index 0000000..0291875
--- /dev/null
+++ b/src/html/img/icons/amiga.png
Binary files differ
diff --git a/src/html/img/icons/amiga2.png b/src/html/img/icons/amiga2.png
new file mode 100644
index 0000000..d90af56
--- /dev/null
+++ b/src/html/img/icons/amiga2.png
Binary files differ
diff --git a/src/html/img/icons/atari.png b/src/html/img/icons/atari.png
new file mode 100644
index 0000000..419dd16
--- /dev/null
+++ b/src/html/img/icons/atari.png
Binary files differ
diff --git a/src/html/img/icons/beos.png b/src/html/img/icons/beos.png
new file mode 100644
index 0000000..11834fa
--- /dev/null
+++ b/src/html/img/icons/beos.png
Binary files differ
diff --git a/src/html/img/icons/bsd.png b/src/html/img/icons/bsd.png
new file mode 100644
index 0000000..8b26986
--- /dev/null
+++ b/src/html/img/icons/bsd.png
Binary files differ
diff --git a/src/html/img/icons/debian.png b/src/html/img/icons/debian.png
new file mode 100644
index 0000000..b1ebf06
--- /dev/null
+++ b/src/html/img/icons/debian.png
Binary files differ
diff --git a/src/html/img/icons/debian.svg b/src/html/img/icons/debian.svg
new file mode 100644
index 0000000..0146264
--- /dev/null
+++ b/src/html/img/icons/debian.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Debian_Logo" xmlns="http://www.w3.org/2000/svg" width="210" height="260" viewBox="-60 -75 210 260" xml:space="preserve">
+ <title>Debian Logo</title>
+ <desc>For more information see: http://www.debian.org/logos/</desc>
+ <path fill="#D70751" d="M64.525,62.053c-4.125,0.058,0.78,2.125,6.165,2.954c1.488-1.161,2.838-2.336,4.04-3.479 C71.376,62.349,67.965,62.366,64.525,62.053"/>
+ <path fill="#D70751" d="M86.665,56.533c2.457-3.389,4.246-7.102,4.878-10.939c-0.551,2.736-2.035,5.099-3.435,7.592 c-7.711,4.854-0.726-2.883-0.004-5.824C79.814,57.798,86.966,53.619,86.665,56.533"/>
+ <path fill="#D70751" d="M94.839,35.268c0.497-7.428-1.462-5.08-2.121-2.245C93.484,33.423,94.095,38.26,94.839,35.268"/>
+ <path fill="#D70751" d="M48.883-66.264c2.201,0.395,4.757,0.698,4.398,1.224C55.688-65.568,56.235-66.055,48.883-66.264"/>
+ <path fill="#D70751" d="M53.281-65.04l-1.556,0.32l1.448-0.127L53.281-65.04"/>
+ <path fill="#D70751" d="M121.928,38.085c0.247,6.671-1.95,9.907-3.932,15.637l-3.564,1.781c-2.919,5.666,0.282,3.598-1.807,8.105 c-4.556,4.049-13.823,12.67-16.789,13.457c-2.163-0.047,1.469-2.554,1.943-3.537c-6.097,4.188-4.894,6.285-14.217,8.83l-0.273-0.607 C60.293,92.569,28.347,71.129,28.768,41.875c-0.246,1.857-0.698,1.393-1.208,2.144c-1.186-15.052,6.952-30.17,20.675-36.343 c13.427-6.646,29.163-3.918,38.78,5.044C81.733,5.8,71.22-1.534,58.76-0.848C46.552-0.655,35.135,7.102,31.324,15.521 c-6.253,3.938-6.979,15.177-9.704,17.233c-3.665,26.943,6.896,38.583,24.762,52.275c2.812,1.896,0.792,2.184,1.173,3.627 c-5.936-2.779-11.372-6.976-15.841-12.114c2.372,3.473,4.931,6.847,8.239,9.499c-5.596-1.897-13.074-13.563-15.256-14.038 c9.647,17.274,39.142,30.295,54.587,23.836c-7.146,0.263-16.226,0.146-24.256-2.822c-3.371-1.734-7.958-5.331-7.14-6.003 c21.079,7.875,42.854,5.965,61.09-8.655c4.641-3.614,9.709-9.761,11.173-9.846c-2.206,3.317,0.377,1.596-1.318,4.523 c4.625-7.456-2.008-3.035,4.779-12.877l2.507,3.453c-0.931-6.188,7.687-13.704,6.813-23.492c1.975-2.994,2.206,3.22,0.107,10.107 c2.912-7.64,0.767-8.867,1.516-15.171c0.81,2.118,1.867,4.37,2.412,6.606c-1.895-7.382,1.948-12.433,2.898-16.724 c-0.937-0.415-2.928,3.264-3.383-5.457c0.065-3.788,1.054-1.985,1.435-2.917c-0.744-0.427-2.694-3.33-3.88-8.9 c0.86-1.308,2.3,3.393,3.47,3.586c-0.753-4.429-2.049-7.805-2.103-11.202c-3.421-7.149-1.211,0.953-3.985-3.069 c-3.641-11.357,3.021-2.637,3.47-7.796c5.52,7.995,8.667,20.387,10.11,25.519c-1.103-6.258-2.883-12.32-5.058-18.185 c1.677,0.705-2.699-12.875,2.18-3.882c-5.21-19.172-22.302-37.087-38.025-45.493c1.924,1.76,4.354,3.971,3.481,4.317 c-7.819-4.656-6.444-5.018-7.565-6.985c-6.369-2.591-6.788,0.208-11.007,0.004c-12.005-6.368-14.318-5.69-25.368-9.681l0.502,2.349 c-7.953-2.649-9.265,1.005-17.862,0.009c-0.523-0.409,2.753-1.479,5.452-1.871c-7.69,1.015-7.329-1.515-14.854,0.279 c1.855-1.301,3.815-2.162,5.793-3.269c-6.271,0.381-14.971,3.649-12.286,0.677C20.155-62.46,1.987-56.053-8.207-46.494l-0.321-2.142 C-13.2-43.028-28.899-31.888-30.15-24.625l-1.249,0.291c-2.431,4.116-4.004,8.781-5.932,13.016c-3.18,5.417-4.661,2.085-4.208,2.934 c-6.253,12.679-9.359,23.332-12.043,32.069c1.912,2.858,0.046,17.206,0.769,28.688c-3.141,56.709,39.8,111.769,86.737,124.485 c6.88,2.459,17.11,2.364,25.813,2.618c-10.268-2.937-11.595-1.556-21.595-5.044c-7.215-3.398-8.797-7.277-13.907-11.711l2.022,3.573 c-10.021-3.547-5.829-4.39-13.982-6.972l2.16-2.82c-3.249-0.246-8.604-5.475-10.069-8.371l-3.553,0.14 c-4.27-5.269-6.545-9.063-6.379-12.005l-1.148,2.047c-1.301-2.235-15.709-19.759-8.234-15.679c-1.389-1.271-3.235-2.067-5.237-5.703 l1.522-1.739c-3.597-4.627-6.621-10.562-6.391-12.536c1.919,2.592,3.25,3.075,4.568,3.52c-9.083-22.539-9.593-1.242-16.474-22.942 l1.456-0.116c-1.116-1.682-1.793-3.506-2.69-5.298l0.633-6.313c-6.541-7.562-1.829-32.151-0.887-45.637 c0.655-5.485,5.459-11.322,9.114-20.477l-2.227-0.384c4.256-7.423,24.301-29.814,33.583-28.662c4.499-5.649-0.892-0.02-1.772-1.443 c9.878-10.223,12.984-7.222,19.65-9.061c7.19-4.268-6.17,1.664-2.761-1.628c12.427-3.174,8.808-7.216,25.021-8.828 c1.71,0.973-3.969,1.503-5.395,2.766c10.354-5.066,32.769-3.914,47.326,2.811c16.895,7.896,35.873,31.232,36.622,53.189l0.852,0.229 c-0.431,8.729,1.336,18.822-1.727,28.094L121.928,38.085"/>
+ <path fill="#D70751" d="M19.5,67.715l-0.578,2.893c2.71,3.683,4.861,7.673,8.323,10.552C24.755,76.297,22.904,74.288,19.5,67.715"/>
+ <path fill="#D70751" d="M25.909,67.464c-1.435-1.587-2.284-3.497-3.235-5.4c0.909,3.345,2.771,6.219,4.504,9.143L25.909,67.464"/>
+ <path fill="#D70751" d="M139.319,42.814l-0.605,1.52c-1.111,7.892-3.511,15.701-7.189,22.941 C135.589,59.636,138.217,51.28,139.319,42.814"/>
+ <path fill="#D70751" d="M49.698-68.243c2.789-1.022,6.855-0.56,9.814-1.233c-3.855,0.324-7.693,0.517-11.484,1.005L49.698-68.243"/>
+ <path fill="#D70751" d="M-48.219-16.176c0.642,5.951-4.477,8.26,1.134,4.337C-44.078-18.612-48.26-13.709-48.219-16.176"/>
+ <path fill="#D70751" d="M-54.812,11.362c1.292-3.967,1.526-6.349,2.02-8.645C-56.363,7.283-54.435,8.256-54.812,11.362"/>
+</svg> \ No newline at end of file
diff --git a/src/html/img/icons/dosbox.png b/src/html/img/icons/dosbox.png
new file mode 100644
index 0000000..73a0f4c
--- /dev/null
+++ b/src/html/img/icons/dosbox.png
Binary files differ
diff --git a/src/html/img/icons/fedora.png b/src/html/img/icons/fedora.png
new file mode 100644
index 0000000..870716f
--- /dev/null
+++ b/src/html/img/icons/fedora.png
Binary files differ
diff --git a/src/html/img/icons/fedora.svg b/src/html/img/icons/fedora.svg
new file mode 100644
index 0000000..7589d1f
--- /dev/null
+++ b/src/html/img/icons/fedora.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="170.22992"
+ height="170.22435"
+ viewBox="-1.7718431 -1.7718431 32.899101 32.891717"
+ id="svg2870">
+ <defs
+ id="defs2872" />
+ <g
+ transform="translate(-163.23009,-1.7778457)"
+ id="g2886">
+ <path
+ d="M 194.35735,16.449737 C 194.35735,7.3649623 186.99244,-2e-7 177.90778,-2e-7 c -9.08069,0 -16.44241,7.3587875 -16.44903,16.4381502 l -5e-4,-5.38e-4 0,12.729488 5e-4,5.37e-4 c 0.005,2.0615 1.67683,3.730388 3.73966,3.730388 l 0.0179,-5.25e-4 0.001,5.25e-4 12.69701,0 c 9.08175,-0.0034 16.44297,-7.365788 16.44297,-16.448288"
+ id="path3584"
+ style="fill:#072b61;fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ <path
+ d="m 954.78125,29.40625 c -22.06307,1e-6 -39.9375,17.874724 -39.9375,39.9375 l 0,21.1875 -21.1875,0 c -22.06302,0 -39.9375,17.72003 -39.9375,39.78125 -5e-5,22.06239 17.87448,39.9375 39.9375,39.9375 22.06183,1e-5 39.9375,-17.87511 39.9375,-39.9375 l 0,-21.1875 21.1875,0 c 22.06162,1e-5 39.9375,-17.718865 39.9375,-39.78125 0,-22.062773 -17.87588,-39.9375 -39.9375,-39.9375 z m 0,18.75 c 11.64586,10e-7 21.1875,9.540273 21.1875,21.1875 0,11.64406 -9.54164,21.1875 -21.1875,21.1875 l -0.15625,0 -17.96875,0 c -1.64677,0 -3.0625,-1.418691 -3.0625,-3.0625 l 0,-18.125 c 0.0207,-11.632222 9.55686,-21.1875 21.1875,-21.1875 z m -61.125,60.96875 18.09375,0 c 1.64403,1e-5 3.09375,1.26167 3.09375,2.90625 l 0,18.28125 c -0.0155,11.62835 -9.55546,21.1875 -21.1875,21.1875 -11.6443,1e-5 -21.1875,-9.54344 -21.1875,-21.1875 0,-11.64606 9.5432,-21.1875 21.1875,-21.1875 z M 991,159.09375 l 0,0.96875 1.59375,0 0,4.6875 1,0 0,-4.6875 1.59375,0 0,-0.96875 -4.1875,0 z m 5,0 0,5.65625 0.96875,0 0,-3.0625 0,-0.5 0.15625,0.5 1.46875,3.21875 1.28125,-3.21875 0.3438,-0.65625 0,0.65625 0,3.0625 0.8124,0 0,-5.65625 -1,0 -1.12495,2.90625 -0.3125,0.8125 -0.3125,-0.8125 -1.3125,-2.90625 -0.96875,0 z"
+ transform="matrix(0.19326274,0,0,0.19326274,-1.7718431,-1.7778459)"
+ id="path3562"
+ style="fill:#0a57a4;fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ <path
+ d="m 175.01712,15.7113 0,-4.086388 0,-0.0053 c 0,-4.2639122 3.45636,-7.7203372 7.72033,-7.7203372 0.64712,0 1.10663,0.072625 1.7058,0.2295625 0.87288,0.2287375 1.58589,0.9440625 1.58643,1.7769625 2.4e-4,1.00655 -0.73035,1.7381375 -1.82225,1.7381375 -0.5204,0 -0.70824,-0.099563 -1.47026,-0.099563 -2.24777,0 -4.07055,1.82045 -4.07449,4.0685247 l 0,3.522563 0,5.37e-4 c 0,0.317688 0.25716,0.575338 0.57542,0.575338 l 0.002,0 2.67567,0 c 0.99728,0 1.8022,0.797875 1.80304,1.797475 0,1.00045 -0.80603,1.7968 -1.80304,1.7968 l -3.25271,0 0,4.10385 0,0.0054 c 0,4.2633 -3.45661,7.720225 -7.72034,7.720225 -0.64685,0 -1.10663,-0.07299 -1.70525,-0.2295 -0.8732,-0.228425 -1.58673,-0.944325 -1.58698,-1.776925 0,-1.0065 0.73065,-1.738475 1.82252,-1.738475 0.51985,0 0.70848,0.09988 1.46971,0.09988 2.24804,0 4.07135,-1.82095 4.07505,-4.0688 l 0,-3.5408 c 0,-0.3173 -0.25771,-0.574338 -0.57545,-0.574338 l -0.002,0 -2.6757,-5.37e-4 c -0.99726,0 -1.80297,-0.795588 -1.80297,-1.795725 -5.6e-4,-1.006325 0.81415,-1.79855 1.82221,-1.79855 l 3.23323,0"
+ id="path3588"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" />
+ </g>
+</svg>
diff --git a/src/html/img/icons/gentoo.png b/src/html/img/icons/gentoo.png
new file mode 100644
index 0000000..9505c79
--- /dev/null
+++ b/src/html/img/icons/gentoo.png
Binary files differ
diff --git a/src/html/img/icons/gentoo.svg b/src/html/img/icons/gentoo.svg
new file mode 100644
index 0000000..293ecda
--- /dev/null
+++ b/src/html/img/icons/gentoo.svg
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.0"
+ width="594.6626"
+ height="622.50458"
+ id="svg2">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient2096">
+ <stop
+ id="stop2098"
+ style="stop-color:#7e3615;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2100"
+ style="stop-color:#7e3615;stop-opacity:1"
+ offset="0.5" />
+ <stop
+ id="stop2102"
+ style="stop-color:#ed5b1a;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2085">
+ <stop
+ id="stop2087"
+ style="stop-color:#7f3615;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2089"
+ style="stop-color:#ef743d;stop-opacity:1"
+ offset="0.5" />
+ <stop
+ id="stop2091"
+ style="stop-color:#ef743d;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2077">
+ <stop
+ id="stop2079"
+ style="stop-color:#ed5b1a;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2083"
+ style="stop-color:#ed5b1a;stop-opacity:1"
+ offset="0.5" />
+ <stop
+ id="stop2081"
+ style="stop-color:#7e3615;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3560">
+ <stop
+ id="stop3562"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3564"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3539">
+ <stop
+ id="stop3541"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3543"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3004">
+ <stop
+ id="stop3006"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop7609"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0.34214258" />
+ <stop
+ id="stop7599"
+ style="stop-color:#bebdf3;stop-opacity:1"
+ offset="0.51998252" />
+ <stop
+ id="stop7611"
+ style="stop-color:#8f82f9;stop-opacity:1"
+ offset="0.75408828" />
+ <stop
+ id="stop7613"
+ style="stop-color:#9f99c7;stop-opacity:1"
+ offset="0.8711412" />
+ <stop
+ id="stop3008"
+ style="stop-color:#524c76;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2988">
+ <stop
+ id="stop2990"
+ style="stop-color:#c9491c;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2992"
+ style="stop-color:#6b2e26;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2980">
+ <stop
+ id="stop2982"
+ style="stop-color:#e76226;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2984"
+ style="stop-color:#7e3615;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2127">
+ <stop
+ id="stop2129"
+ style="stop-color:#cc0045;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2131"
+ style="stop-color:#ff794d;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="464.01675"
+ y1="697.43707"
+ x2="368.62137"
+ y2="269.70941"
+ id="linearGradient2986"
+ xlink:href="#linearGradient3004"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.23712,0,0,1.23712,-161.09,-377.341)" />
+ <linearGradient
+ x1="783.86316"
+ y1="-313.5238"
+ x2="1099.6853"
+ y2="1340.5599"
+ id="linearGradient2994"
+ xlink:href="#linearGradient3004"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.23712,0,0,1.23712,-1037.43,-1010.41)" />
+ <linearGradient
+ x1="142.8909"
+ y1="560.31262"
+ x2="305.19791"
+ y2="560.31262"
+ id="linearGradient2786"
+ xlink:href="#linearGradient3004"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="298.04648"
+ cy="512.46417"
+ r="218.02184"
+ fx="298.04648"
+ fy="512.46417"
+ id="radialGradient2788"
+ xlink:href="#linearGradient3004"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.0218286,-1.02088,1.91803,-0.0410152,-759.031,896.871)" />
+ <linearGradient
+ x1="34.285702"
+ y1="185.21933"
+ x2="-32.857155"
+ y2="205.21933"
+ id="linearGradient2801"
+ xlink:href="#linearGradient3004"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.413051,0,0,0.413051,209.755,299.535)" />
+ <radialGradient
+ cx="278.19101"
+ cy="365.99103"
+ r="22.023195"
+ fx="278.19101"
+ fy="365.99103"
+ id="radialGradient3553"
+ xlink:href="#linearGradient3539"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.33531,0.232165,-0.156016,-0.897333,707.436,624.669)" />
+ <radialGradient
+ cx="281.96429"
+ cy="374.32648"
+ r="30.535715"
+ fx="281.96429"
+ fy="374.32648"
+ id="radialGradient3566"
+ xlink:href="#linearGradient3560"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.58698,0.0649146,-0.00379132,0.906694,-164.089,16.6235)" />
+ <radialGradient
+ cx="616.66583"
+ cy="357.7851"
+ r="77.994896"
+ fx="616.66583"
+ fy="357.7851"
+ id="radialGradient2075"
+ xlink:href="#linearGradient2085"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.784367,2.0826,-1.36893,-0.515577,1619.59,-726.359)" />
+ <radialGradient
+ cx="332.72311"
+ cy="590.5899"
+ r="218.02184"
+ fx="332.72311"
+ fy="590.5899"
+ id="radialGradient3228"
+ xlink:href="#linearGradient3004"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.0660395,4.19027,-3.57375,-0.0562683,2168.15,-1171.42)" />
+ <radialGradient
+ cx="49.529819"
+ cy="320.08572"
+ r="31.94874"
+ fx="49.529819"
+ fy="320.08572"
+ id="radialGradient5851"
+ xlink:href="#linearGradient3004"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.28737,0,0,2.51965,111.689,-642.721)" />
+ </defs>
+ <g
+ transform="translate(-25.691,-25.5213)"
+ id="layer2"
+ style="display:inline">
+ <path
+ d="M 25.756851,521.91391 C 25.825031,495.65357 48.148853,458.98977 79.868697,425.68116 101.06675,403.42137 122.59556,383.88231 169.52585,343.86782 137.06358,326.05537 86.575337,304.5643 61.242464,276.41883 51.868932,266.00461 34.879101,242.4107 38.174477,210.88878 44.890902,146.64282 124.18914,49.142619 236.90525,28.529375 c 37.50415,-6.858661 80.56354,-1.907781 116.00271,14.024919 111.18036,49.984243 247.14797,174.162266 263.8771,234.794926 5.88837,21.34165 4.75656,55.36025 -5.39475,74.31982 -12.58141,23.49823 -56.1358,71.22495 -115.72484,120.47315 -93.4994,77.2739 -224.52102,160.24847 -322.35291,174.21052 -31.611,4.51135 -63.90775,-0.19399 -86.572466,-12.98278 C 51.279241,613.36083 39.508186,586.6468 35.370326,578.63961 24.367104,557.34729 25.73287,530.37254 25.756851,521.91391 z M 288.89937,226.87362 c 1.20738,-14.88942 59.59326,-0.0658 55.90415,11.72547 -3.89197,12.43966 -57.28926,5.35537 -55.90415,-11.72547 z"
+ id="path2973"
+ style="fill:url(#linearGradient2994) #000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ <g
+ transform="translate(-25.691,-25.5213)"
+ id="layer4"
+ style="display:inline">
+ <path
+ d="M 201.12502,319.26488 C 170.40092,345.206 149.97273,362.69737 124.3619,386.10521 62.686019,442.47585 20.779962,485.38384 42.384986,544.03745 67.307886,611.6985 121.94112,608.26771 186.00654,595.69143 351.14346,563.12161 622.59855,354.43165 608.76251,277.34931 597.56708,214.97818 445.90819,90.975251 356.11423,46.84913 328.062,33.063819 295.73224,25.934162 263.30502,27.459889 139.83437,33.287522 43.410732,145.70192 48.3364,206.6102 53.12843,265.866 202.89233,317.49757 201.12502,319.26488 z M 182.59146,112.40184 c -37.15326,41.33629 -13.39873,121.3113 48.21486,164.90276 72.09526,51.00721 188.8443,60.24272 212.0774,20.90556 43.33515,-73.37278 -3.98029,-150.9555 -74.61054,-185.56335 -69.7954,-34.198724 -162.52227,-26.01189 -185.68172,-0.24497 z"
+ id="path2975"
+ style="fill:url(#linearGradient2986) #000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="m 309.29559,275.57053 c 52.15894,7.24994 97.11719,-13.63858 104.1475,-65.14342 5.35537,-39.2337 -54.68938,-82.09994 -90.78995,-91.98681 -30.14631,-8.25614 -95.59547,2.36034 -100.00778,59.37779 -4.58678,59.27202 56.23678,93.52508 86.65023,97.75244 z m -25.54268,-98.581 c -34.27878,53.10396 49.77027,69.43027 62.63837,59.7456 55.47708,-41.75261 -47.53597,-83.14191 -62.63837,-59.7456 z"
+ id="path4976"
+ style="fill:url(#radialGradient5851) #000000;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" />
+ </g>
+ <g
+ transform="translate(-25.691,-25.5213)"
+ id="layer5"
+ style="display:inline">
+ <path
+ d="M 253.35285,41.570018 C 192.71898,47.959829 181.10644,55.76371 126.17687,97.322591 107.767,111.25125 73.883463,145.14202 65.201668,185.34831 c -3.306505,15.31275 0.601944,28.53259 11.630184,37.80412 35.312998,29.68796 94.416058,53.77395 142.904478,77.05704 14.20232,6.81964 4.79874,19.18504 -18.10392,39.01252 -57.79173,50.03186 -135.926941,110.93446 -141.3817,157.34203 -2.570415,21.86837 4.916125,51.5832 31.459397,66.7898 31.006723,17.76369 95.372133,6.16955 138.351373,-9.835 62.80599,-23.38762 145.30781,-75.00368 210.80628,-125.74104 68.11013,-52.76042 131.43764,-119.77326 134.57017,-130.70294 3.84668,-13.42147 3.46325,-25.81795 -3.96035,-40.07068 C 559.81983,234.62227 544.23417,217.99109 527.49924,199.37578 482.59667,152.03725 435.087,110.44129 378.2447,78.565883 337.19672,55.547464 301.08129,36.540217 253.35285,41.570018 z m 89.06787,106.129442 c 43.80514,21.17863 88.78971,76.80693 -0.39035,108.8248 -24.25015,8.70642 -101.15792,-21.38222 -98.80358,-62.4438 3.43316,-60.65568 45.70723,-72.24041 99.19393,-46.381 z"
+ id="path2977"
+ style="fill:url(#radialGradient3228) #000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+</svg>
diff --git a/src/html/img/icons/gnome.png b/src/html/img/icons/gnome.png
new file mode 100644
index 0000000..d2f09cd
--- /dev/null
+++ b/src/html/img/icons/gnome.png
Binary files differ
diff --git a/src/html/img/icons/gnome.svg b/src/html/img/icons/gnome.svg
new file mode 100644
index 0000000..27c9120
--- /dev/null
+++ b/src/html/img/icons/gnome.svg
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="280.45767"
+ height="344.71606"
+ id="svg1903">
+ <defs
+ id="defs1905" />
+ <g
+ transform="matrix(2.9149,0,0,2.9149,0.00770872,0)"
+ id="g3771"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none">
+ <g
+ id="g3773"
+ style="fill:#000000;fill-opacity:1">
+ <path
+ d="M 86.068,0 C 61.466,0 56.851,35.041 70.691,35.041 84.529,35.041 110.671,0 86.068,0 z"
+ id="path3775"
+ style="fill:#000000;fill-opacity:1" />
+ <path
+ d="M 45.217,30.699 C 52.586,31.149 60.671,2.577 46.821,4.374 32.976,6.171 37.845,30.249 45.217,30.699 z"
+ id="path3777"
+ style="fill:#000000;fill-opacity:1" />
+ <path
+ d="M 11.445,48.453 C 16.686,46.146 12.12,23.581 3.208,29.735 -5.7,35.89 6.204,50.759 11.445,48.453 z"
+ id="path3779"
+ style="fill:#000000;fill-opacity:1" />
+ <path
+ d="M 26.212,36.642 C 32.451,35.37 32.793,9.778 21.667,14.369 10.539,18.961 19.978,37.916 26.212,36.642 l 0,0 z"
+ id="path3781"
+ style="fill:#000000;fill-opacity:1" />
+ <path
+ d="m 58.791,93.913 c 1.107,8.454 -6.202,12.629 -13.36,7.179 C 22.644,83.743 83.16,75.088 79.171,51.386 75.86,31.712 15.495,37.769 8.621,68.553 3.968,89.374 27.774,118.26 52.614,118.26 c 12.22,0 26.315,-11.034 28.952,-25.012 C 83.58,82.589 57.867,86.86 58.791,93.913 l 0,0 z"
+ id="path3783"
+ style="fill:#000000;fill-opacity:1" />
+ </g>
+ </g>
+</svg>
diff --git a/src/html/img/icons/kde.png b/src/html/img/icons/kde.png
new file mode 100644
index 0000000..6e29013
--- /dev/null
+++ b/src/html/img/icons/kde.png
Binary files differ
diff --git a/src/html/img/icons/kde.svg b/src/html/img/icons/kde.svg
new file mode 100644
index 0000000..2503826
--- /dev/null
+++ b/src/html/img/icons/kde.svg
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.0"
+ width="128"
+ height="128"
+ id="svg2250">
+ <defs
+ id="defs2252">
+ <radialGradient
+ cx="76.764198"
+ cy="58.0625"
+ r="66.164497"
+ id="XMLID_27_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9397,0,0,0.9397,4.2153,4.1331)">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop107" />
+ <stop
+ style="stop-color:#fdfdfc;stop-opacity:1"
+ offset="0.32780001"
+ id="stop109" />
+ <stop
+ style="stop-color:#f4f5f4;stop-opacity:1"
+ offset="0.6773591"
+ id="stop111" />
+ <stop
+ style="stop-color:#cacfd0;stop-opacity:1"
+ offset="1"
+ id="stop113" />
+ </radialGradient>
+ <radialGradient
+ cx="66.136703"
+ cy="0.75440001"
+ r="81.971497"
+ id="XMLID_25_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9459,0,0,1,1051.1319,-330.17143)">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0.1302"
+ id="stop95" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.16862746"
+ offset="0.5"
+ id="stop97" />
+ </radialGradient>
+ <filter
+ x="-0.29221493"
+ width="1.5844299"
+ y="-0.057434313"
+ height="1.1148686"
+ id="filter4446">
+ <feGaussianBlur
+ collect="always"
+ stdDeviation="2.4087233"
+ id="feGaussianBlur4448" />
+ </filter>
+ <filter
+ x="-0.29221493"
+ width="1.5844299"
+ y="-0.057434313"
+ height="1.1148686"
+ id="filter4442">
+ <feGaussianBlur
+ collect="always"
+ stdDeviation="2.4087233"
+ id="feGaussianBlur4444" />
+ </filter>
+ <linearGradient
+ x1="115.9771"
+ y1="72.399902"
+ x2="115.9771"
+ y2="120.3999"
+ id="XMLID_23_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#00316e;stop-opacity:0"
+ offset="0"
+ id="stop79" />
+ <stop
+ style="stop-color:#00316e;stop-opacity:1"
+ offset="1"
+ id="stop81" />
+ </linearGradient>
+ <clipPath
+ id="clipPath4458">
+ <use
+ id="use4460"
+ x="0"
+ y="0"
+ width="1"
+ height="1"
+ xlink:href="#XMLID_10_" />
+ </clipPath>
+ <filter
+ id="AI_Sfocatura_4">
+ <feGaussianBlur
+ stdDeviation="4"
+ id="feGaussianBlur6" />
+ </filter>
+ <radialGradient
+ cx="69.600098"
+ cy="145.3999"
+ r="141"
+ id="XMLID_21_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(1047.3429,-330.17143)">
+ <stop
+ style="stop-color:#2c72c7;stop-opacity:0"
+ offset="0.3373"
+ id="stop58" />
+ <stop
+ style="stop-color:#2c72c7;stop-opacity:1"
+ offset="0.57990003"
+ id="stop60" />
+ <stop
+ style="stop-color:#2c72c7;stop-opacity:0"
+ offset="1"
+ id="stop62" />
+ </radialGradient>
+ <radialGradient
+ cx="69.600098"
+ cy="68.399902"
+ r="85"
+ id="XMLID_20_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(1047.3429,-330.17143)">
+ <stop
+ style="stop-color:#6193ff;stop-opacity:1"
+ offset="0.5"
+ id="stop47" />
+ <stop
+ style="stop-color:#003685;stop-opacity:1"
+ offset="0.78109998"
+ id="stop49" />
+ <stop
+ style="stop-color:#709dff;stop-opacity:1"
+ offset="1"
+ id="stop51" />
+ </radialGradient>
+ <linearGradient
+ x1="9.5995998"
+ y1="68.399902"
+ x2="129.6001"
+ y2="68.399902"
+ id="XMLID_18_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,-4.371139e-8,4.371139e-8,-1,1186.5436,-193.37143)">
+ <stop
+ style="stop-color:#003685;stop-opacity:1"
+ offset="0"
+ id="stop13" />
+ <stop
+ style="stop-color:#083c8f;stop-opacity:1"
+ offset="0.0105"
+ id="stop15" />
+ <stop
+ style="stop-color:#2451b1;stop-opacity:1"
+ offset="0.0533"
+ id="stop17" />
+ <stop
+ style="stop-color:#3b63cd;stop-opacity:1"
+ offset="0.099"
+ id="stop19" />
+ <stop
+ style="stop-color:#4d71e3;stop-opacity:1"
+ offset="0.1477"
+ id="stop21" />
+ <stop
+ style="stop-color:#597bf3;stop-opacity:1"
+ offset="0.20100001"
+ id="stop23" />
+ <stop
+ style="stop-color:#6180fc;stop-opacity:1"
+ offset="0.2622"
+ id="stop25" />
+ <stop
+ style="stop-color:#6382ff;stop-opacity:1"
+ offset="0.34909999"
+ id="stop27" />
+ <stop
+ style="stop-color:#6382ff;stop-opacity:1"
+ offset="0.58579999"
+ id="stop31" />
+ <stop
+ style="stop-color:#003685;stop-opacity:1"
+ offset="1"
+ id="stop33" />
+ </linearGradient>
+ <filter
+ id="filter2904">
+ <feGaussianBlur
+ collect="always"
+ stdDeviation="2.32"
+ id="feGaussianBlur2906" />
+ </filter>
+ <linearGradient
+ x1="9.5995998"
+ y1="68.399902"
+ x2="129.6001"
+ y2="68.399902"
+ id="linearGradient2235"
+ xlink:href="#XMLID_18_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,-4.371139e-8,4.371139e-8,-1,133.6007,132.4)" />
+ <radialGradient
+ cx="69.600098"
+ cy="68.399902"
+ r="85"
+ id="radialGradient2237"
+ xlink:href="#XMLID_20_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9824561,0,0,0.9824561,-4.3789474,-3.2)" />
+ <radialGradient
+ cx="69.600098"
+ cy="145.3999"
+ r="141"
+ id="radialGradient2239"
+ xlink:href="#XMLID_21_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-5.5999998,-4.4)" />
+ <linearGradient
+ x1="108.00493"
+ y1="72.341148"
+ x2="115.9771"
+ y2="102.0937"
+ id="linearGradient2241"
+ xlink:href="#XMLID_23_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="108.00493"
+ y1="72.341148"
+ x2="115.9771"
+ y2="102.0937"
+ id="linearGradient2243"
+ xlink:href="#XMLID_23_"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="110.74259"
+ cy="123.17536"
+ r="81.292717"
+ fx="110.74259"
+ fy="123.17536"
+ id="radialGradient2247"
+ xlink:href="#XMLID_27_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.4136693,-0.5587442,-0.4989925,-0.3694316,79.652783,167.07706)" />
+ <linearGradient
+ x1="67.629204"
+ y1="-2.1941743"
+ x2="67.629204"
+ y2="78.850853"
+ id="linearGradient2802"
+ xlink:href="#XMLID_25_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,2)" />
+ </defs>
+ <g
+ transform="matrix(1.0517241,0,0,1.0172414,-7.5172423,-7.0379241)"
+ style="opacity:0.8;filter:url(#filter2904)"
+ id="g8">
+ <path
+ d="M 126,113.8 C 126,122.6 118.8,129.8 110,129.8 L 26,129.8 C 17.2,129.8 10,122.6 10,113.8 L 10,29.800002 C 10,21.000002 17.2,13.800002 26,13.800002 L 110,13.800002 C 118.8,13.800002 126,21.000002 126,29.800002 L 126,113.8 z "
+ id="path10" />
+ </g>
+ <g
+ transform="translate(0,-4)"
+ id="g2221">
+ <path
+ d="M 4.000002,20 C 4.000002,11.2 11.200002,4 20.000002,4 L 108,4 C 116.8,4 124,11.2 124,20 L 124,108 C 124,116.8 116.8,124 108,124 L 20.000002,124 C 11.200002,124 4.000002,116.8 4.000002,108 L 4.000002,20 z "
+ style="fill:url(#linearGradient2235)"
+ id="path35" />
+ <path
+ d="M 20.77193,8 C 13.729684,8 8,13.729684 8,20.77193 L 8,107.22807 C 8,114.27032 13.729684,120 20.77193,120 L 107.22807,120 C 114.27032,120 120,114.27032 120,107.22807 L 120,20.77193 C 120,13.729684 114.27032,8 107.22807,8 L 20.77193,8 L 20.77193,8 z "
+ style="fill:url(#radialGradient2237)"
+ id="path53" />
+ <path
+ d="M 64.026001,7.014 L 63.973001,7.014 C 40.952001,6.718 16.897001,11.145 16.657001,11.19 C 14.202001,11.648 11.647001,14.202 11.190001,16.657 C 11.145001,16.898 6.7180002,40.952 7.0140002,63.973 C 6.7180002,87.047 11.145001,111.102 11.190001,111.342 C 11.647001,113.796 14.203001,116.352 16.658001,116.811 C 16.898001,116.855 40.952001,121.281 63.974001,120.985 C 87.049001,121.281 111.103,116.855 111.343,116.811 C 113.797,116.353 116.354,113.796 116.812,111.341 C 116.856,111.102 121.282,87.048 120.986,64.026 C 121.282,40.952 116.856,16.898 116.812,16.657 C 116.353,14.202 113.797,11.647 111.343,11.19 C 111.103,11.145 87.048001,6.718 64.026001,7.014 z "
+ style="fill:url(#radialGradient2239);filter:url(#AI_Sfocatura_4)"
+ id="path64" />
+ <g
+ transform="translate(-5.5999858,-4.4)"
+ style="opacity:0.6"
+ id="g66">
+ <defs
+ id="defs68">
+ <path
+ d="M 69.626,12.145 L 69.574,12.145 C 46.847,11.853 23.102,16.222 22.865,16.267 C 20.441,16.718 17.919,19.241 17.468,21.664 C 17.424,21.901 13.054,45.647 13.346,68.374 C 13.054,91.151 17.424,114.897 17.468,115.135 C 17.919,117.558 20.442,120.08 22.866,120.533 C 23.103,120.577 46.848,124.946 69.575,124.654 C 92.354,124.946 116.099,120.577 116.336,120.533 C 118.759,120.081 121.282,117.557 121.734,115.134 C 121.778,114.898 126.147,91.153 125.855,68.425 C 126.147,45.648 121.778,21.902 121.734,21.664 C 121.281,19.241 118.758,16.718 116.336,16.267 C 116.098,16.222 92.352,11.853 69.626,12.145 z "
+ id="XMLID_10_" />
+ </defs>
+ <g
+ clip-path="url(#clipPath4458)"
+ id="g4450">
+ <path
+ d="M 119.344,21.665 C 118.967,20.387 117.669,19.089 115.977,18.074 C 114.284,19.089 112.988,20.386 112.612,21.665 C 112.542,21.902 105.647,45.648 106.108,68.375 C 105.647,91.152 112.542,114.898 112.612,115.136 C 112.988,116.414 114.286,117.712 115.977,118.727 C 117.671,117.711 118.968,116.415 119.344,115.135 C 119.413,114.899 126.307,91.154 125.847,68.426 C 126.307,45.648 119.414,21.902 119.344,21.665 z "
+ style="opacity:0.8;fill:url(#linearGradient2241);filter:url(#filter4442)"
+ id="path83" />
+ <path
+ d="M 119.344,21.665 C 118.967,20.387 117.669,19.089 115.977,18.074 C 114.284,19.089 112.988,20.386 112.612,21.665 C 112.542,21.902 105.647,45.648 106.108,68.375 C 105.647,91.152 112.542,114.898 112.612,115.136 C 112.988,116.414 114.286,117.712 115.977,118.727 C 117.671,117.711 118.968,116.415 119.344,115.135 C 119.413,114.899 126.307,91.154 125.847,68.426 C 126.307,45.648 119.414,21.902 119.344,21.665 z "
+ transform="matrix(-1,0,0,1,139.2,0)"
+ style="opacity:0.8;fill:url(#linearGradient2243);filter:url(#filter4446)"
+ id="path4438" />
+ </g>
+ </g>
+ <path
+ d=""
+ style="fill:url(#XMLID_29_);stroke:#2c72c7;stroke-width:2;stroke-linejoin:round"
+ id="path159" />
+ <path
+ d="M 70.906252,21.510199 L 56.281252,22.916449 L 56.281252,83.166449 L 70.750002,80.978949 L 70.750002,55.291449 L 90.218752,83.791449 L 105.46875,78.947699 L 85.531252,51.541449 L 105.625,25.697699 L 90.062502,22.135199 L 70.750002,47.978949 L 70.906252,21.510199 z M 37.750002,36.197699 C 37.584628,36.214762 37.405752,36.260447 37.281252,36.385199 L 31.531252,42.135199 C 31.289753,42.377445 31.260254,42.748202 31.437502,43.041449 L 38.156252,54.135199 C 36.963258,56.140686 35.994498,58.291961 35.312502,60.572699 L 22.968752,63.135199 C 22.625253,63.206197 22.375002,63.533201 22.375002,63.885199 L 22.375002,72.010199 C 22.375002,72.353697 22.636251,72.647946 22.968752,72.728949 L 34.937502,75.635199 C 35.577498,78.275685 36.566261,80.802462 37.875002,83.103949 L 30.937502,93.666449 C 30.744003,93.961449 30.781756,94.35495 31.031252,94.603949 L 36.781252,100.35395 C 37.023498,100.59544 37.395003,100.62569 37.687502,100.4477 L 48.562502,93.853949 C 50.695492,95.085442 53.004768,96.071949 55.437502,96.728949 L 57.968752,108.91645 C 58.03975,109.26095 58.335755,109.5102 58.687502,109.5102 L 66.812502,109.5102 C 67.153501,109.5102 67.450254,109.2812 67.531252,108.9477 L 70.531252,96.697699 C 73.040237,96.021203 75.405763,95.016938 77.593752,93.728949 L 88.312502,100.7602 C 88.608,100.9527 88.999503,100.91545 89.250002,100.66645 L 94.968752,94.916449 C 95.21175,94.673953 95.271748,94.302698 95.093752,94.010199 L 91.187502,87.572699 L 89.906252,87.978949 C 89.72125,88.035951 89.516249,87.952445 89.406252,87.791449 C 89.406251,87.791448 86.938738,84.16167 83.718752,79.447699 C 79.867775,86.983153 72.014199,92.135199 62.968752,92.135199 C 50.115326,92.135197 39.687502,81.707375 39.687502,68.853949 C 39.687502,59.399254 45.341297,51.278678 53.437502,47.635199 L 53.437502,41.635199 C 51.964011,42.150945 50.540496,42.7732 49.187502,43.510199 C 49.185004,43.508699 49.190001,43.480449 49.187502,43.478949 L 38.218752,36.291449 C 38.071253,36.194951 37.915376,36.180636 37.750002,36.197699 z "
+ style="fill:url(#radialGradient2247);fill-opacity:1"
+ id="path5692_1_" />
+ <path
+ d="M 118,45.413803 C 116.80377,31.931381 114.92663,22.614985 114.8968,22.458943 C 114.4504,20.049615 110.93474,16.560752 108.54743,16.112254 C 108.31292,16.068091 85.938401,11.723449 63.538173,12.013943 L 63.486744,12.013943 C 41.087544,11.723449 18.712001,16.068091 18.477486,16.112254 C 16.089144,16.561733 12.574515,20.049615 12.130172,22.458943 C 12.108572,22.57573 11.03783,27.464065 10.000001,36.102315 C 10.000001,41.887646 10.000001,47.671996 10.000001,53.457327 C 10.000001,57.06494 12.396572,61.237837 15.328001,62.747224 C 15.325943,62.645159 19.962744,76 59.337487,76 C 98.71326,76 112.9744,55.324924 112.97029,55.554571 C 115.73714,53.696788 118,49.2491 118,45.640505 C 118,45.564938 118,45.48937 118,45.413803 z "
+ style="opacity:0.7;fill:url(#linearGradient2802);fill-opacity:1"
+ id="path99" />
+ </g>
+</svg> \ No newline at end of file
diff --git a/src/html/img/icons/linux.png b/src/html/img/icons/linux.png
new file mode 100644
index 0000000..fd76d28
--- /dev/null
+++ b/src/html/img/icons/linux.png
Binary files differ
diff --git a/src/html/img/icons/linux.svg b/src/html/img/icons/linux.svg
new file mode 100644
index 0000000..57f4a1e
--- /dev/null
+++ b/src/html/img/icons/linux.svg
@@ -0,0 +1,933 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.1"
+ width="386"
+ height="423"
+ id="svg8945">
+ <defs
+ id="defs8949">
+ <linearGradient
+ id="linearGradient11799">
+ <stop
+ id="stop11801"
+ style="stop-color:#c3c3c3;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop11803"
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11769">
+ <stop
+ id="stop11771"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11773"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.6422714" />
+ <stop
+ id="stop11775"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11687">
+ <stop
+ id="stop11689"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11691"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.49164602" />
+ <stop
+ id="stop11693"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11633">
+ <stop
+ id="stop11635"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11637"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.3093777" />
+ <stop
+ id="stop11639"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11532">
+ <stop
+ id="stop11534"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11536"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.17569453" />
+ <stop
+ id="stop11538"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11524">
+ <stop
+ id="stop11526"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11528"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.23175907" />
+ <stop
+ id="stop11530"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11360">
+ <stop
+ id="stop11362"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11364"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.31528139" />
+ <stop
+ id="stop11366"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11291">
+ <stop
+ id="stop11293"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11295"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.32802752" />
+ <stop
+ id="stop11297"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11121">
+ <stop
+ id="stop11123"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11125"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.45320001" />
+ <stop
+ id="stop11127"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10995">
+ <stop
+ id="stop10997"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop11001"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10762">
+ <stop
+ id="stop10764"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10766"
+ style="stop-color:#ffffff;stop-opacity:0.19607843"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10656">
+ <stop
+ id="stop10658"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10660"
+ style="stop-color:#deae00;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10433">
+ <stop
+ id="stop10435"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10437"
+ style="stop-color:#dfa800;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10047">
+ <stop
+ id="stop10049"
+ style="stop-color:#c3c3c3;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10051"
+ style="stop-color:#a0a0a0;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10039">
+ <stop
+ id="stop10041"
+ style="stop-color:#efefef;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10043"
+ style="stop-color:#bcbcbc;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10031">
+ <stop
+ id="stop10033"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop10370"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.5" />
+ <stop
+ id="stop10035"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="202"
+ y1="29.969534"
+ x2="202"
+ y2="103.63979"
+ id="linearGradient10037"
+ xlink:href="#linearGradient10031"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="187"
+ y1="188.04417"
+ x2="187"
+ y2="358.56845"
+ id="linearGradient10045"
+ xlink:href="#linearGradient10039"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="193.53125"
+ y1="221.91426"
+ x2="193.53125"
+ y2="347.07217"
+ id="linearGradient10061"
+ xlink:href="#linearGradient10047"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="283.625"
+ y1="324.5"
+ x2="283.625"
+ y2="380.875"
+ id="linearGradient10175"
+ xlink:href="#linearGradient10031"
+ gradientUnits="userSpaceOnUse" />
+ <filter
+ x="-0.086304188"
+ y="-0.19686034"
+ width="1.1726084"
+ height="1.3937207"
+ color-interpolation-filters="sRGB"
+ id="filter10358">
+ <feGaussianBlur
+ id="feGaussianBlur10360"
+ stdDeviation="4.5870333" />
+ </filter>
+ <filter
+ x="-0.086304188"
+ y="-0.19686034"
+ width="1.1726084"
+ height="1.3937207"
+ color-interpolation-filters="sRGB"
+ id="filter10358-3">
+ <feGaussianBlur
+ id="feGaussianBlur10360-3"
+ stdDeviation="4.5870333" />
+ </filter>
+ <linearGradient
+ x1="283.625"
+ y1="324.5"
+ x2="283.625"
+ y2="380.875"
+ id="linearGradient10175-3"
+ xlink:href="#linearGradient10031-1"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10031-1">
+ <stop
+ id="stop10033-9"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10035-9"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="283.625"
+ y1="324.5"
+ x2="283.625"
+ y2="380.875"
+ id="linearGradient10400"
+ xlink:href="#linearGradient10031"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="156.37009"
+ y1="169.46875"
+ x2="228.69044"
+ y2="169.46875"
+ id="linearGradient10439-9"
+ xlink:href="#linearGradient10433-5"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10433-5">
+ <stop
+ id="stop10435-0"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10437-2"
+ style="stop-color:#dcae00;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <filter
+ color-interpolation-filters="sRGB"
+ id="filter10487">
+ <feGaussianBlur
+ id="feGaussianBlur10489"
+ stdDeviation="1.3416777" />
+ </filter>
+ <linearGradient
+ x1="156.37009"
+ y1="169.46875"
+ x2="228.69044"
+ y2="169.46875"
+ id="linearGradient10497-9"
+ xlink:href="#linearGradient10433-8"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10433-8">
+ <stop
+ id="stop10435-5"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10437-9"
+ style="stop-color:#dfa800;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="156.37009"
+ y1="169.46875"
+ x2="228.69044"
+ y2="169.46875"
+ id="linearGradient10439-6"
+ xlink:href="#linearGradient10433-8"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10516">
+ <stop
+ id="stop10518"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10520"
+ style="stop-color:#dfa800;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="156.37009"
+ y1="169.46875"
+ x2="228.69044"
+ y2="169.46875"
+ id="linearGradient10497-3"
+ xlink:href="#linearGradient10433-2"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10433-2">
+ <stop
+ id="stop10435-9"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10437-8"
+ style="stop-color:#dfa800;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="157.37009"
+ y1="169.46875"
+ x2="227.69044"
+ y2="169.46875"
+ id="linearGradient10652-9"
+ xlink:href="#linearGradient10656-9"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10656-9">
+ <stop
+ id="stop10658-7"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10660-2"
+ style="stop-color:#deae00;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="157.37009"
+ y1="169.46875"
+ x2="227.69044"
+ y2="169.46875"
+ id="linearGradient10652-3"
+ xlink:href="#linearGradient10656-95"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10656-95">
+ <stop
+ id="stop10658-3"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10660-1"
+ style="stop-color:#deae00;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <filter
+ x="-0.13610192"
+ y="-0.18271257"
+ width="1.2722038"
+ height="1.3654251"
+ color-interpolation-filters="sRGB"
+ id="filter10857">
+ <feGaussianBlur
+ id="feGaussianBlur10859"
+ stdDeviation="3.20761" />
+ </filter>
+ <linearGradient
+ x1="155.01221"
+ y1="55.221191"
+ x2="155.01221"
+ y2="88.420464"
+ id="linearGradient10993"
+ xlink:href="#linearGradient10031"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="233.84886"
+ y1="72.522697"
+ x2="233.84886"
+ y2="91.96846"
+ id="linearGradient11049"
+ xlink:href="#linearGradient10031"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="128.40625"
+ y1="94.96875"
+ x2="179.78125"
+ y2="130.46875"
+ id="linearGradient11084"
+ xlink:href="#linearGradient10031"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="113.13426"
+ cy="125.41722"
+ r="35.125"
+ fx="113.13426"
+ fy="125.41722"
+ id="radialGradient11119"
+ xlink:href="#linearGradient11121"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.6234988,1.7990923,-1.5502345,-1.3989298,565.72444,62.067149)" />
+ <filter
+ x="-0.1693299"
+ y="-0.12526216"
+ width="1.3386598"
+ height="1.2505243"
+ color-interpolation-filters="sRGB"
+ id="filter11182">
+ <feGaussianBlur
+ id="feGaussianBlur11184"
+ stdDeviation="4.0317543" />
+ </filter>
+ <filter
+ x="-0.18606396"
+ y="-0.19982085"
+ width="1.3721279"
+ height="1.3996418"
+ color-interpolation-filters="sRGB"
+ id="filter11252">
+ <feGaussianBlur
+ id="feGaussianBlur11254"
+ stdDeviation="5.2752828" />
+ </filter>
+ <radialGradient
+ cx="232.90625"
+ cy="51.545879"
+ r="36.125"
+ fx="232.90625"
+ fy="51.545879"
+ id="radialGradient11289"
+ xlink:href="#linearGradient11291"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.7732536,-0.02936049,0.0269662,-1.6286481,644.51809,203.20689)" />
+ <linearGradient
+ x1="223.03125"
+ y1="91.015617"
+ x2="258.875"
+ y2="130.01561"
+ id="linearGradient11358"
+ xlink:href="#linearGradient11360"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="173.5625"
+ y1="158.78125"
+ x2="183.0625"
+ y2="99.135406"
+ id="linearGradient11468"
+ xlink:href="#linearGradient11532"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="204.4375"
+ y1="154.97546"
+ x2="204.4375"
+ y2="109.71875"
+ id="linearGradient11522"
+ xlink:href="#linearGradient11524"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="183.1875"
+ y1="105.875"
+ x2="183.1875"
+ y2="127.13049"
+ id="linearGradient11585"
+ xlink:href="#linearGradient10031"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="208.34375"
+ y1="108.34375"
+ x2="207.0625"
+ y2="140.17188"
+ id="linearGradient11631"
+ xlink:href="#linearGradient11633"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="33.107048"
+ y1="202.29688"
+ x2="47.912899"
+ y2="218.04688"
+ id="linearGradient11685"
+ xlink:href="#linearGradient11687"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="24.75"
+ y1="217.84068"
+ x2="36.84375"
+ y2="240.07658"
+ id="linearGradient11767"
+ xlink:href="#linearGradient11799"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="33.107048"
+ y1="202.29688"
+ x2="47.912899"
+ y2="218.04688"
+ id="linearGradient11685-4"
+ xlink:href="#linearGradient11687-2"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient11687-2">
+ <stop
+ id="stop11689-5"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop11691-9"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.49164602" />
+ <stop
+ id="stop11693-8"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="24.75"
+ y1="217.84068"
+ x2="36.84375"
+ y2="240.07658"
+ id="linearGradient11767-9"
+ xlink:href="#linearGradient11799-9"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient11799-9">
+ <stop
+ id="stop11801-1"
+ style="stop-color:#c3c3c3;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop11803-2"
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="24.75"
+ y1="217.84068"
+ x2="36.84375"
+ y2="240.07658"
+ id="linearGradient11839"
+ xlink:href="#linearGradient11799-9"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="157.37009"
+ y1="169.46875"
+ x2="227.69044"
+ y2="169.46875"
+ id="linearGradient11988"
+ xlink:href="#linearGradient10656"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="177.01546"
+ y1="182.03799"
+ x2="183.34375"
+ y2="176.04688"
+ id="linearGradient11991"
+ xlink:href="#linearGradient10762"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="215.9375"
+ y1="142.375"
+ x2="196.81396"
+ y2="174.625"
+ id="linearGradient11994"
+ xlink:href="#linearGradient10762"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="156.37009"
+ y1="169.46875"
+ x2="228.69044"
+ y2="169.46875"
+ id="linearGradient11999"
+ xlink:href="#linearGradient10433"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10656-94">
+ <stop
+ id="stop10658-0"
+ style="stop-color:#d99600;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop10660-0"
+ style="stop-color:#deae00;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <filter
+ x="-0.14571542"
+ y="-0.33999386"
+ width="1.2914308"
+ height="1.6799877"
+ color-interpolation-filters="sRGB"
+ id="filter12102">
+ <feGaussianBlur
+ id="feGaussianBlur12104"
+ stdDeviation="9.3045363" />
+ </filter>
+ <linearGradient
+ x1="283.625"
+ y1="324.5"
+ x2="283.625"
+ y2="380.875"
+ id="linearGradient10175-0"
+ xlink:href="#linearGradient10031-5"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient10031-5">
+ <stop
+ id="stop10033-5"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop10370-3"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.5" />
+ <stop
+ id="stop10035-3"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient12128">
+ <stop
+ id="stop12130"
+ style="stop-color:#ffffff;stop-opacity:0.90196079"
+ offset="0" />
+ <stop
+ id="stop12132"
+ style="stop-color:#ffffff;stop-opacity:0.50196081"
+ offset="0.5" />
+ <stop
+ id="stop12134"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <filter
+ x="-0.24816568"
+ y="-0.51026446"
+ width="1.4963315"
+ height="2.020529"
+ color-interpolation-filters="sRGB"
+ id="filter12301">
+ <feGaussianBlur
+ id="feGaussianBlur12303"
+ stdDeviation="14.42017" />
+ </filter>
+ <filter
+ x="-0.14137566"
+ y="-1.1730359"
+ width="1.2827513"
+ height="3.3460717"
+ color-interpolation-filters="sRGB"
+ id="filter12321">
+ <feGaussianBlur
+ id="feGaussianBlur12323"
+ stdDeviation="18.084303" />
+ </filter>
+ </defs>
+ <path
+ d="m 341,385.5 a 153.5,18.5 0 1 1 -307,0 153.5,18.5 0 1 1 307,0 z"
+ transform="matrix(1.1534598,0,0,0.94538548,-21.773696,13.053897)"
+ id="path12311"
+ style="color:#000000;fill:#000000;fill-opacity:0.78431373;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter12321);enable-background:accumulate" />
+ <g
+ id="g11807">
+ <path
+ d="M 87.75,107.75 C 78,181 56.5,185.25 44.5,197 c -12,11.75 -30,24.375 -38.25,37.75 -4.8401202,7.84686 -6.98464702,16.66188 -1,17.75 12.375,2.25 31.125,-14.75 44.625,-18.75 13.5,-4 30.375,3.25 30.375,3.25 l 7.5,-129.25 z"
+ id="path8982"
+ style="fill:#000000;stroke:none" />
+ <path
+ d="m 87.71875,108.5 -0.09375,0.0312 C 77.825038,181.00727 56.455869,185.29321 44.5,197 c -12,11.75 -30,24.375 -38.25,37.75 -4.8401202,7.84686 -6.984647,16.66188 -1,17.75 0.2240284,0.0407 0.4593621,0.0654 0.6875,0.0937 4.609563,-7.0319 10.587837,-14.64199 18.3125,-21.9375 C 42.283941,213.62419 69.115042,193.44983 83.375,183 l 4.34375,-74.5 z"
+ id="path11641"
+ style="fill:url(#linearGradient11685);fill-opacity:1;stroke:none" />
+ <path
+ d="M 87.75,107.75 C 78,181 56.5,185.25 44.5,197 c -12,11.75 -30,24.375 -38.25,37.75 -4.8401202,7.84686 -6.984647,16.66188 -1,17.75 12.375,2.25 31.125,-14.75 44.625,-18.75 13.5,-4 30.375,3.25 30.375,3.25 l 7.5,-129.25 z"
+ id="path8982-4"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 61.78125,227.84375 c -3.083925,0.0483 -16.260059,0.84737 -29.5625,10.4375 -15.2028,10.96016 -19.09375,9.875 -19.09375,9.875 l -1.875,4.15625 c 11.915492,-2.40245 27.164334,-15.16675 38.625,-18.5625 3.873147,-1.1476 8.018207,-1.36128 11.96875,-1.09375 l 0.59375,-4.8125 c 0,0 -0.215689,-0.007 -0.65625,0 z"
+ id="path11695"
+ style="fill:url(#linearGradient11767);fill-opacity:1;stroke:none" />
+ </g>
+ <g
+ transform="matrix(-1,0,0,1,385.83713,0)"
+ id="g11807-7">
+ <path
+ d="M 87.75,107.75 C 78,181 56.5,185.25 44.5,197 c -12,11.75 -30,24.375 -38.25,37.75 -4.8401202,7.84686 -6.98464702,16.66188 -1,17.75 12.375,2.25 31.125,-14.75 44.625,-18.75 13.5,-4 30.375,3.25 30.375,3.25 l 7.5,-129.25 z"
+ id="path8982-6"
+ style="fill:#000000;stroke:none" />
+ <path
+ d="M 87.71875,108.5 87.625,108.5312 C 77.825038,181.00727 56.455869,185.29321 44.5,197 c -12,11.75 -30,24.375 -38.25,37.75 -4.8401202,7.84686 -6.984647,16.66188 -1,17.75 0.2240284,0.0407 0.4593621,0.0654 0.6875,0.0937 C 10.547063,245.5618 16.525337,237.95171 24.25,230.6562 42.283941,213.62419 69.115042,193.44983 83.375,183 l 4.34375,-74.5 z"
+ id="path11641-3"
+ style="fill:url(#linearGradient11685-4);fill-opacity:1;stroke:none" />
+ <path
+ d="M 87.75,107.75 C 78,181 56.5,185.25 44.5,197 c -12,11.75 -30,24.375 -38.25,37.75 -4.8401202,7.84686 -6.984647,16.66188 -1,17.75 12.375,2.25 31.125,-14.75 44.625,-18.75 13.5,-4 30.375,3.25 30.375,3.25 l 7.5,-129.25 z"
+ id="path8982-4-5"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 61.78125,227.84375 c -3.083925,0.0483 -16.260059,0.84737 -29.5625,10.4375 -15.2028,10.96016 -19.09375,9.875 -19.09375,9.875 l -1.875,4.15625 c 11.915492,-2.40245 27.164334,-15.16675 38.625,-18.5625 3.873147,-1.1476 8.018207,-1.36128 11.96875,-1.09375 l 0.59375,-4.8125 c 0,0 -0.215689,-0.007 -0.65625,0 z"
+ id="path11695-2"
+ style="fill:url(#linearGradient11839);fill-opacity:1;stroke:none" />
+ </g>
+ <path
+ d="M 192.21875,11.6875 C 132.36927,12.731027 89.377748,58.331194 84.0625,102.625 c -5.37712,44.80932 -2.23517,53.76695 -13.4375,90.0625 -11.20233,36.29556 -16.12818,41.22616 -8.0625,75.28125 8.06568,34.05508 43.92479,102.59375 129.0625,102.59375 1.22836,0 2.01527,0 3.28125,0 85.13771,0 120.99682,-68.53867 129.0625,-102.59375 8.06568,-34.05509 3.13983,-38.98569 -8.0625,-75.28125 -11.20233,-36.29555 -8.06038,-45.25318 -13.4375,-90.0625 C 297.1535,58.331189 254.16198,12.731027 194.3125,11.6875 c -0.77662,0 -1.13125,0 -2.09375,0 z"
+ id="path8957"
+ style="fill:#000000;stroke:#000000;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 62.5625,267.96875 c 8.06568,34.05508 43.92479,102.59375 129.0625,102.59375 l 3.28125,0 c 85.13771,0 121.31525,-68.4634 129.0625,-101.17401 -0.35775,0.46825 -0.44457,0.58584 -0.71875,0.86151 -1.0973,1.15403 -78.7735,65.5 -128.375,65.5 -51.82746,0 -98.757039,-27.1094 -132.96875,-70.90625 -0.03337,0.12453 0.231631,0.91416 0.65625,3.125 z"
+ id="path8957-8"
+ style="fill:#ffffff;fill-opacity:0.42352941;stroke:none" />
+ <path
+ d="m 193.03125,142.625 c -78.1353,0 -107.8125,77.78746 -107.8125,129.40625 0,67.87923 47.84855,98.46875 107.46875,98.46875 0.70951,0 0.98817,0 1.6875,0 59.6202,0 107.46875,-30.58952 107.46875,-98.46875 C 301.84375,220.41246 272.1353,142.625 194,142.625 c -0.33085,0 -0.55954,0 -0.96875,0 z"
+ id="path9052"
+ style="fill:url(#linearGradient10061);fill-opacity:1;stroke:none" />
+ <path
+ d="m 245,68.5 a 43,43 0 1 1 -86,0 43,43 0 1 1 86,0 z"
+ transform="matrix(1.8837209,0,0,1.622093,-186.51163,-28.863371)"
+ id="path9077"
+ style="color:#000000;fill:url(#linearGradient10037);fill-opacity:1;stroke:none;stroke-width:1.14415216;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 193.03125,142.625 c -42.24056,0 -70.30405,22.7381 -87.1875,51.78125 C 100.18077,212.40079 97,232.41018 97,253.5 c 0,38.62853 10.59817,73.64939 27.78125,99.25 18.47363,12.01737 42.08751,17.75 67.90625,17.75 l 1.6875,0 c 27.48119,0 52.46025,-6.50178 71.40625,-20.15625 C 282.03497,324.97506 292,290.93507 292,253.5 c 0,-18.02665 -2.29354,-35.25923 -6.5,-51.125 -16.24196,-32.74841 -45.45933,-59.75 -91.5,-59.75 l -0.96875,0 z"
+ id="path9105"
+ style="color:#000000;fill:url(#linearGradient10045);fill-opacity:1;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 274.8125,314.75 c -0.82555,-0.006 -1.64296,0.01 -2.46875,0.0312 -23.05348,0.43753 -48.99825,5.35414 -64.46875,23.84375 -7.30827,9.08909 -10.89393,23.23382 -5.15625,33.875 l 61.375,0 29.6875,-55.25 c -6.18698,-1.59975 -12.57296,-2.45489 -18.96875,-2.5 z m -164.6875,0.0312 c -5.09231,0.18523 -10.24916,0.82574 -15.3125,1.9375 L 130.5,372.5 l 53.09375,0 c 1.22765,-2.0619 2.02806,-4.39115 2.21875,-6.96875 2.93232,-17.98462 -10.31419,-34.10669 -25.9375,-41.15625 -15.36333,-7.45375 -32.78297,-9.73348 -49.75,-9.59375 z"
+ id="path9006-2"
+ style="fill:#000000;fill-opacity:0.78431373;stroke:#c28f00;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter12301)" />
+ <path
+ d="m 117.21875,133 c 3.86328,15.28234 13.55573,28.89702 28.4375,33.9375 4.88727,1.71766 9.86999,2.04823 14.6875,1.3125 1.40518,1.76541 2.91584,3.38972 4.1875,4.78125 7.82566,7.97672 13.86312,18.16465 23.03125,24.59375 6.38583,2.99458 13.20452,-0.8042 16.875,-6.125 7.67576,-9.63597 17.21378,-18.03335 23.65625,-28.5 1.00969,-1.75724 1.28581,-3.57044 1.0625,-5.3125 3.50296,0.2916 7.036,0.11556 10.5,-0.5625 13.59576,-1.77777 25.78588,-11.56212 30.8125,-24.125 l -75.84375,0 c 1.0648,2.75486 2.48586,5.33579 4.1875,7.71875 -2.22604,-0.27085 -4.47175,-0.39284 -6.71875,-0.375 0.9466,-2.37615 1.71886,-4.83848 2.34375,-7.34375 l -77.21875,0 z"
+ id="path9132-9-0"
+ style="color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.96890533;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter12102);enable-background:accumulate" />
+ <path
+ d="m 318.19805,380.47004 c 15.99508,0 20.10787,-11.05183 18.86333,-23.44696 -2.01597,-20.0782 -32.07139,-40.26587 -62.52717,-40.26587 -46.3155,0 -72.56684,19.88738 -72.56684,43.92901 0,17.79268 12.75333,19.88737 27.13523,19.88737 21.31482,0 55.06799,-0.10355 89.09545,-0.10355 z"
+ id="path9006"
+ style="fill:#c28f00;fill-opacity:1;stroke:#c28f00;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ d="m 272.53125,322.78125 c -21.61134,0.45858 -46.24978,4.58942 -60,23.0625 -4.81292,7.26521 -7.81348,19.84539 0.34375,25.875 11.65274,5.52978 25.02393,1.56997 37.49965,2.75952 24.7764,-0.36533 49.75809,1.10579 74.4066,-0.97827 9.29453,-4.73321 7.65604,-18.60878 2.3125,-25.78125 -11.91531,-17.0176 -34.34004,-25.15428 -54.5625,-24.9375 z"
+ id="path9006-0"
+ style="fill:#cbaf00;fill-opacity:1;stroke:none;filter:url(#filter10358)" />
+ <path
+ d="m 324.5,352.6875 a 40.875,28.1875 0 1 1 -81.75,0 40.875,28.1875 0 1 1 81.75,0 z"
+ transform="matrix(0.95718654,0,0,0.98891353,13.892966,4.222561)"
+ id="path9134"
+ style="color:#000000;fill:url(#linearGradient10175);fill-opacity:1;stroke:none;stroke-width:2.05566597;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 67.93252,380.47004 c -15.99508,0 -20.10787,-11.05183 -18.86333,-23.44696 2.01597,-20.0782 32.07139,-40.26587 62.52717,-40.26587 46.3155,0 72.56684,19.88738 72.56684,43.92901 0,17.79268 -12.75333,19.88737 -27.13523,19.88737 -21.31482,0 -55.06799,-0.10355 -89.09545,-0.10355 z"
+ id="path9006-1"
+ style="fill:#c28f00;fill-opacity:1;stroke:#c28f00;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ d="m 272.53125,322.78125 c -21.61134,0.45858 -46.24978,4.58942 -60,23.0625 -4.81292,7.26521 -7.81348,19.84539 0.34375,25.875 11.65274,5.52978 25.02393,1.56997 37.49965,2.75952 24.7764,-0.36533 49.75809,1.10579 74.4066,-0.97827 9.29453,-4.73321 7.65604,-18.60878 2.3125,-25.78125 -11.91531,-17.0176 -34.34004,-25.15428 -54.5625,-24.9375 z"
+ transform="matrix(-1,0,0,1,386.13057,-2.0684079e-6)"
+ id="path9006-0-3"
+ style="fill:#cbaf00;fill-opacity:1;stroke:none;filter:url(#filter10358-3)" />
+ <path
+ d="m 324.5,352.6875 a 40.875,28.1875 0 1 1 -81.75,0 40.875,28.1875 0 1 1 81.75,0 z"
+ transform="matrix(-0.95718654,0,0,0.98891353,379.66223,4.2225589)"
+ id="path9134-8"
+ style="color:#000000;fill:url(#linearGradient10400);fill-opacity:1;stroke:none;stroke-width:2.05566597;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 155.9375,58.03125 c -0.49716,0.0043 -1.00227,0.01014 -1.5,0.03125 a 6.50065,6.50065 0 0 0 -0.0312,0 c -27.33027,1.295641 -45.7686,25.603985 -48.53125,49.21875 -0.004,0.0306 0.004,0.0632 0,0.0937 -0.005,0.0421 -0.0267,0.0829 -0.0312,0.125 l 0.0312,0 c -1.18008,8.441 -0.60513,17.30219 1.65625,25.75 l 11.84375,0 c -1.28378,-4.85912 -2,-10.06242 -2,-15.46875 0,-26.897361 17.23399,-48.6875 38.46875,-48.6875 15.8772,0 29.47696,12.199476 35.34375,29.59375 0.0181,0.05353 0.0446,0.102618 0.0625,0.15625 0.0377,0.105796 0.088,0.206435 0.125,0.3125 -0.007,0.01215 -0.0242,0.01909 -0.0312,0.03125 1.87557,5.73666 2.9375,11.99827 2.9375,18.59375 0,5.40633 -0.71622,10.60963 -2,15.46875 l 4.59375,0 c -1.67333,-3.96291 -2.59375,-8.27337 -2.59375,-12.78125 0,-19.48132 17.13022,-35.28125 38.28125,-35.28125 10.8482,0 20.65683,4.168024 27.625,10.84375 3.9304,3.201614 7.17954,7.1677 9.3125,11.75 a 6.50065,6.50065 0 0 0 0.125,0.25 c 4.04082,7.81311 3.53816,17.05725 0.0625,25.21875 l 14.15625,0 c 2.95376,-10.01345 2.51826,-20.95292 -2.5625,-30.9375 -0.041,-0.0806 -0.0521,-0.1695 -0.0937,-0.25 l -0.0312,0.0312 c -8.88421,-18.812209 -29.42046,-29.229694 -49.5,-27.8125 l 0,-0.03125 c -0.0738,0.003 -0.14503,0.02789 -0.21875,0.03125 -11.52603,0.525789 -22.41367,5.55124 -30.71875,13.25 -4.97801,-9.933272 -12.74536,-18.539569 -23.3125,-24.3125 a 6.50065,6.50065 0 0 0 -0.125,-0.03125 C 170.7555,59.774757 163.39492,57.966495 155.9375,58.03125 z"
+ id="path9130-9"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:13;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:AlArabiya;-inkscape-font-specification:AlArabiya" />
+ <path
+ d="m 270.75,120.125 a 39.375,36.125 0 1 1 -78.75,0 39.375,36.125 0 1 1 78.75,0 z"
+ transform="matrix(0.97263073,0,0,0.97644424,7.5352301,3.180586)"
+ id="path9130"
+ style="color:#000000;fill:#838383;fill-opacity:1;stroke:#838383;stroke-width:2.05225968;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 269.03125,131.3125 c -8.32201,6.61101 -21.91038,10.9375 -37.28125,10.9375 -14.01184,0 -26.55603,-3.57792 -34.96875,-9.21875 5.49656,13.27756 19.43531,22.71875 35.78125,22.71875 17.04547,0 31.50341,-10.25918 36.46875,-24.4375 z"
+ id="path9130-6"
+ style="color:#000000;fill:url(#radialGradient11289);fill-opacity:1;stroke:none;stroke-width:2.00000024;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="M 230.5625,89.15625 C 209.8308,88.739692 191.20134,112.31236 200.59375,132 c 9.83037,23.32855 46.5842,26.90158 60.65625,5.78125 9.87539,-13.04031 6.23537,-33.71256 -7.875,-42.25 -6.64233,-4.600103 -14.80406,-6.737157 -22.8125,-6.375 z"
+ transform="matrix(0.9732787,-0.22962704,0.2050059,0.86892152,-18.477273,64.539175)"
+ id="path9130-97"
+ style="color:#000000;fill:#d7d7d7;fill-opacity:1;stroke:#838383;stroke-width:2.1166954;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter11252);enable-background:accumulate" />
+ <path
+ d="m 215.75596,123.49609 a 9.2365828,14.451495 0 1 1 -18.47316,0 9.2365828,14.451495 0 1 1 18.47316,0 z"
+ transform="matrix(1.0334928,0,0,1.0244648,-7.2262759,-3.3748645)"
+ id="path9255"
+ style="color:#000000;fill:#000000;stroke:#000000;stroke-width:1.94369328;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 193.21692,118.41376 a 38.448933,47.199379 0 1 1 -76.89786,0 38.448933,47.199379 0 1 1 76.89786,0 z"
+ transform="matrix(1,0,0,1.0318352,1.0606602,-4.3884447)"
+ id="path9132"
+ style="color:#000000;fill:#bababa;fill-opacity:1;stroke:none;stroke-width:1.96890533;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 155.3125,79.1875 c -16.57248,1.28785 -26.6628,18.248439 -27.75,33.5 -2.08524,17.82731 6.52494,39.67223 25.625,43.625 16.19611,1.48155 28.44978,-14.64357 30.34375,-29.5 3.55413,-17.92454 -3.7612,-40.379181 -22.25,-46.9375 -1.94311,-0.505938 -3.95464,-0.811933 -5.96875,-0.6875 z"
+ id="path9132-5"
+ style="color:#000000;fill:#d7d7d7;fill-opacity:1;stroke:none;stroke-width:1.96890533;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter11182);enable-background:accumulate" />
+ <path
+ d="m 155.84375,69.09375 c -10.74894,0 -19.48798,4.172975 -26.46523,13.179536 1.41432,-0.175568 2.86119,-0.28125 4.3125,-0.28125 29.47094,0 41.96523,25.439434 41.96523,55.070464 0,9.3482 -1.88439,18.12797 -5.25,25.78125 13.99969,-7.27851 23.875,-24.70676 23.875,-45.0625 0,-26.897361 -17.20274,-48.6875 -38.4375,-48.6875 z"
+ id="path9132-2"
+ style="color:#000000;fill:url(#linearGradient11084);fill-opacity:1;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 130.84375,80.8125 c -8.2331,8.932268 -13.46875,22.16107 -13.46875,36.96875 0,26.89736 17.23399,48.71875 38.46875,48.71875 13.20853,0 24.85926,-8.43027 31.78125,-21.28125 -5.52385,5.00007 -11.86725,7.84375 -18.625,7.84375 -21.30798,0 -38.59375,-28.28439 -38.59375,-63.1875 0,-3.078142 0.17789,-6.102031 0.4375,-9.0625 z"
+ id="path9132-7"
+ style="color:#000000;fill:url(#radialGradient11119);fill-opacity:1;stroke:none;stroke-width:1.96890533;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 190.65367,120.88863 a 10.827573,18.384777 0 1 1 -21.65515,0 10.827573,18.384777 0 1 1 21.65515,0 z"
+ transform="matrix(0.91428572,0,0,0.90865385,16.341743,12.72209)"
+ id="path9257"
+ style="color:#000000;fill:#000000;stroke:#000000;stroke-width:2.1942687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 156.77998,60.03401 c -20.7421,0 -40.05788,15.725141 -45.98652,35.21599 l 0.0612,0 c 6.48869,-15.331362 24.09092,-28.90165 43.84505,-28.90165 19.75413,0 37.97508,13.570288 44.46377,28.90165 l 0.0675,0 c -5.92866,-19.490849 -21.7089,-35.21599 -42.451,-35.21599 z"
+ id="path10978"
+ style="color:#000000;fill:url(#linearGradient10993);fill-opacity:1;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 235.48188,76.75 c -15.23681,0 -28.56402,6.087669 -35.78125,15.15625 8.64544,-5.136623 19.55654,-9.783852 32.32414,-9.783852 18.85042,0 35.88002,8.345328 43.86336,18.346352 C 271.5954,86.87553 255.13569,76.75 235.48188,76.75 z"
+ id="path11003"
+ style="color:#000000;fill:url(#linearGradient11049);fill-opacity:1;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 193.21692,118.41376 a 38.448933,47.199379 0 1 1 -76.89786,0 38.448933,47.199379 0 1 1 76.89786,0 z"
+ transform="matrix(1,0,0,1.0318352,1.0606625,-4.3884423)"
+ id="path9132-9"
+ style="color:#000000;fill:none;stroke:#878787;stroke-width:1.96890533;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 232.5625,85.1875 c -7.56287,0 -14.59319,2.04631 -20.53125,5.53125 21.90101,0.799585 39.40625,17.74003 39.40625,38.5625 0,9.80583 -3.88861,18.75087 -10.28125,25.5625 17.01668,-3.59035 29.71875,-17.61281 29.71875,-34.375 0,-19.48132 -17.16147,-35.28125 -38.3125,-35.28125 z"
+ id="path9130-5"
+ style="color:#000000;fill:url(#linearGradient11358);fill-opacity:1;stroke:none;stroke-width:2.00000024;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 177.25,106.96875 c -3.73431,2.39081 -6.40625,8.45389 -6.40625,15.59375 0,9.22614 4.43891,16.71875 9.90625,16.71875 2.2676,0 4.36216,-1.30456 6.03125,-3.46875 -0.52386,0.10842 -1.04963,0.1875 -1.59375,0.1875 -6.31676,0 -11.4375,-7.55519 -11.4375,-16.875 0,-4.77481 1.33959,-9.0865 3.5,-12.15625 z"
+ id="path9257-8"
+ style="color:#000000;fill:url(#linearGradient11468);fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 270.75,120.125 a 39.375,36.125 0 1 1 -78.75,0 39.375,36.125 0 1 1 78.75,0 z"
+ transform="matrix(0.97263073,0,0,0.97644424,7.5352299,3.1805839)"
+ id="path9130-2"
+ style="color:#000000;fill:none;stroke:#838383;stroke-width:2.05225968;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 191.65625,142.375 c -15.46796,0 -32.28241,9.4537 -33.53125,13.96875 -1.14905,4.15426 1.87803,8.25617 3.28125,9.96875 1.41617,1.72838 21.49832,25.01884 23.53125,26.875 2.03293,1.85615 3.56331,3.375 7.09884,3.375 1.62108,0 -0.57482,0 1.03954,0 3.53553,0 5.01619,-1.51885 7.04912,-3.375 2.03293,-1.85616 22.08383,-25.14662 23.5,-26.875 1.40322,-1.71258 4.46155,-5.81449 3.3125,-9.96875 C 225.68866,151.8287 208.87421,142.375 193.40625,142.375 l -1.75,0 z"
+ id="path9079"
+ style="fill:url(#linearGradient11999);fill-opacity:1;stroke:none" />
+ <path
+ d="m 190.46875,146.40625 c -10.0719,1.02056 -21.93918,3.59082 -28.46875,11.78125 1.07068,6.92565 8.09176,10.76871 11.80545,16.20154 6.01442,6.00067 10.15503,14.78691 18.13205,18.20471 6.97769,-0.23548 9.5786,-8.39931 14.28125,-12.28125 5.24669,-7.49453 14.34439,-13.17431 16.875,-22.1875 -1.91389,-4.69162 -8.20296,-5.61012 -12.125,-8.0625 -6.54536,-2.58051 -13.39616,-4.00879 -20.5,-3.65625 z"
+ id="path9079-2"
+ style="fill:none;stroke:none;filter:url(#filter10487)" />
+ <path
+ d="m 191.875,148.375 c -9.70584,0.82299 -21.16815,2.70516 -27.65625,10.5625 2.80676,7.24924 10.01313,11.52765 14.375,17.8125 4.28562,4.91679 7.76716,11.61396 14.1875,13.75 6.28769,-2.10329 8.86169,-9.26767 13.4375,-13.53125 4.85666,-6.18905 12.59902,-11.22248 14.5625,-18.9375 -4.08056,-4.29524 -10.90995,-5.9918 -16.5625,-8.09375 -4.00816,-1.11091 -8.18402,-1.64444 -12.34375,-1.5625 z"
+ id="path9079-4"
+ style="fill:#ecd000;fill-opacity:1;stroke:none;filter:url(#filter10857)" />
+ <path
+ d="m 191.65625,142.375 c -9.09536,0 -18.63068,3.26371 -25.21875,6.875 29.18664,6.1952 41.50184,12.95164 50.03125,25.375 3.56077,-4.12578 6.65341,-7.69881 7.15625,-8.3125 1.40322,-1.71258 4.46155,-5.81449 3.3125,-9.96875 C 225.68866,151.8287 208.87421,142.375 193.40625,142.375 l -1.75,0 z"
+ id="path10692"
+ style="fill:url(#linearGradient11994);fill-opacity:1;stroke:none" />
+ <path
+ d="m 162,152.03125 c -2.14814,1.59644 -3.54886,3.13337 -3.875,4.3125 -1.14905,4.15426 1.87803,8.25617 3.28125,9.96875 1.41617,1.72838 21.49832,25.01884 23.53125,26.875 2.03293,1.85615 3.55822,3.375 7.09375,3.375 l 1.03125,0 c 3.53553,0 5.02957,-1.51885 7.0625,-3.375 0.0981,-0.0896 0.41582,-0.4404 0.59375,-0.625 -3.86376,-1.513 -7.46031,-3.64781 -10.4375,-6.625 -2.91681,-2.91681 -15.12363,-16.52989 -23.34375,-24.75 -2.68224,-2.68224 -4.16392,-5.94806 -4.9375,-9.15625 z"
+ id="path10768-6"
+ style="fill:url(#linearGradient11991);fill-opacity:1;stroke:none" />
+ <path
+ d="m 191.65625,142.375 c -15.46796,0 -32.28241,9.4537 -33.53125,13.96875 -1.14905,4.15426 1.87803,8.25617 3.28125,9.96875 1.41617,1.72838 21.49832,25.01884 23.53125,26.875 2.03293,1.85615 3.56331,3.375 7.09884,3.375 1.62108,0 -0.57482,0 1.03954,0 3.53553,0 5.01619,-1.51885 7.04912,-3.375 2.03293,-1.85616 22.08383,-25.14662 23.5,-26.875 1.40322,-1.71258 4.46155,-5.81449 3.3125,-9.96875 C 225.68866,151.8287 208.87421,142.375 193.40625,142.375 l -1.75,0 z"
+ id="path9079-5"
+ style="fill:none;stroke:url(#linearGradient11988);stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 201.03125,110.71875 c -2.62691,2.63751 -4.375,7.22287 -4.375,12.4375 0,8.1766 4.29042,14.78125 9.5625,14.78125 2.27327,0 4.36052,-1.22374 6,-3.28125 -0.60161,0.13086 -1.21452,0.21875 -1.84375,0.21875 -6.31676,0 -11.4375,-6.85564 -11.4375,-15.3125 0,-3.29524 0.77098,-6.34559 2.09375,-8.84375 z"
+ id="path9255-4"
+ style="color:#000000;fill:url(#linearGradient11522);fill-opacity:1;stroke:#000000;stroke-width:1.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ d="m 180.75,105.875 c -1.46277,0 -2.84424,0.53903 -4.09375,1.5 4.8366,6.75684 4.6875,11.3125 4.6875,11.3125 l 8.375,-3.15625 c -1.5744,-5.70709 -4.9924,-9.65625 -8.96875,-9.65625 z"
+ id="path11540"
+ style="fill:url(#linearGradient11585);fill-opacity:1;stroke:none" />
+ <path
+ d="m 206.21875,108.34375 c -1.56318,0 -2.41647,0.27947 -3.71875,1.3125 3.91745,4.93849 3.75,10.59375 3.75,10.59375 l 8.5625,-3.46875 c -1.53548,-4.98789 -4.79233,-8.4375 -8.59375,-8.4375 z"
+ id="path11587"
+ style="fill:url(#linearGradient11631);fill-opacity:1;stroke:none" />
+</svg>
diff --git a/src/html/img/icons/locked.png b/src/html/img/icons/locked.png
new file mode 100644
index 0000000..414a9be
--- /dev/null
+++ b/src/html/img/icons/locked.png
Binary files differ
diff --git a/src/html/img/icons/lxde.png b/src/html/img/icons/lxde.png
new file mode 100644
index 0000000..69b0f9e
--- /dev/null
+++ b/src/html/img/icons/lxde.png
Binary files differ
diff --git a/src/html/img/icons/macos.png b/src/html/img/icons/macos.png
new file mode 100644
index 0000000..f4dd5f0
--- /dev/null
+++ b/src/html/img/icons/macos.png
Binary files differ
diff --git a/src/html/img/icons/macos.svg b/src/html/img/icons/macos.svg
new file mode 100644
index 0000000..b6d11f6
--- /dev/null
+++ b/src/html/img/icons/macos.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="109.99999"
+ height="119.54903"
+ id="svg2">
+ <title
+ id="title3043">Mac-OS Logo</title>
+ <defs
+ id="defs4" />
+ <g
+ transform="translate(999.92314,-1189.2216)"
+ id="layer1">
+ <path
+ d="m -999.92314,1293.9676 0,-89.5 109.99999,0 0,89.5 -109.99999,0 z"
+ id="path2844"
+ style="fill:#b0a7d2" />
+ <path
+ d="m -937.92315,1293.9676 -61.99999,0 0,-89.5 58.49999,0 0.62177,6.072 c -7.52781,13.0601 -11.07484,27.4848 -12.58788,41.1171 -0.10085,0.9087 -0.16402,1.6853 -0.14037,1.7258 0.0236,0.041 5.58175,0.074 11.12913,0.075 5.54738,8e-4 8.74334,0.038 8.81325,0.082 0.0996,0.063 0.0105,-0.4648 -0.4124,1.1852 -1.26244,4.9255 -2.01915,9.2769 -2.32301,13.3581 -0.11511,1.5459 -0.16313,3.3173 -0.0919,3.3883 l -0.0444,5.4715 0.0626,1.4915 c 0.17968,4.2806 0.87616,8.82 2.09866,13.6783 l -3.62554,1.8551 z"
+ id="path2838"
+ style="fill:#5972ba" />
+ <path
+ d="m -939.95948,1277.3212 -4.66946,0 c -2.23819,0 -4.89111,-0.045 -5.89537,-0.1 -12.03348,-0.6554 -22.7469,-3.1525 -30.59668,-7.1316 -1.93418,-0.9805 -2.46748,-1.2972 -2.46748,-1.4656 0,-0.2014 2.76817,-4.0797 2.91187,-4.0797 0.0651,0 0.80235,0.3257 1.63827,0.7239 10.00248,4.7641 21.36206,6.9774 35.05241,6.8294 1.97172,-0.021 3.85996,-0.073 3.91821,-0.1332 l 0.10823,5.3563 z m -33.12095,-46.5097 c -0.0263,-0.068 -0.0362,-3.0212 -0.0222,-6.5618 l 0.0256,-6.4374 2.81292,0 2.81292,0 0,6.5357 0,6.5357 -2.79075,0.026 c -2.17936,0.02 -2.80121,0 -2.83849,-0.098 z"
+ id="path2834"
+ style="fill:#28277a" />
+ <path
+ d="m -932.93392,1307.1248 c -2.8956,-5.954 -5.16226,-13.0344 -6.33186,-19.779 -0.50039,-2.8855 -0.74388,-5.0078 -1.0881,-9.484 -0.38893,-5.0577 0.12593,-12.2602 1.28425,-17.9655 0.21727,-1.0701 0.36889,-1.9878 0.33694,-2.0393 -0.0361,-0.058 -3.69076,-0.094 -9.67542,-0.094 -7.62469,0 -9.61863,-0.025 -9.62364,-0.1229 -0.12027,-2.3401 0.4788,-8.7105 1.25003,-13.2924 2.08558,-12.3906 6.93104,-25.3577 13.93709,-37.2975 1.99245,-3.3956 5.49543,-8.6395 8.10808,-12.1377 1.24323,-1.6646 4.36829,-5.592 4.52765,-5.6901 0.0946,-0.058 3.76714,2.9548 3.76714,3.0906 0,0.048 -0.57009,0.8074 -1.26685,1.6874 -12.30027,15.5357 -20.22862,31.8608 -23.59216,48.5782 -0.64423,3.202 -1.29997,7.7577 -1.32975,9.2384 l -0.0158,0.7863 10.20208,0.025 10.20209,0.025 -0.0475,0.2207 c -0.0261,0.1214 -0.22731,0.9062 -0.44706,1.744 -1.49867,5.714 -2.48343,12.1279 -2.48826,16.2063 l -9.9e-4,0.8254 0.76492,-0.059 c 0.4207,-0.033 1.87522,-0.2184 3.23225,-0.4131 8.5878,-1.232 13.80018,-2.709 20.29099,-5.7497 0.93061,-0.436 1.73846,-0.8021 1.79521,-0.8135 0.0568,-0.012 0.73547,0.8636 1.50827,1.9447 1.29551,1.8124 1.39316,1.979 1.25237,2.1373 -0.25081,0.2821 -4.4935,2.3488 -6.19259,3.0167 -6.0181,2.3654 -13.22087,4.0411 -20.92419,4.868 -0.81426,0.087 -1.5424,0.1801 -1.61809,0.206 -0.11313,0.039 -0.12572,0.287 -0.0708,1.3961 0.43453,8.7762 2.63714,17.7456 6.28052,25.5751 1.21569,2.6125 1.31861,2.8455 1.27453,2.8859 -0.0542,0.05 -4.41383,2.1264 -4.46383,2.1264 -0.0203,0 -0.39717,-0.7408 -0.83749,-1.6462 l 10e-6,0 z m 6.95426,-76.2561 c -0.037,-0.037 -0.0673,-3.0013 -0.0673,-6.5877 l 0,-6.5208 2.8376,0.026 2.83759,0.026 0,6.5357 0,6.5357 -2.77029,0.026 c -1.52366,0.014 -2.80057,0 -2.83759,-0.041 l 0,-10e-5 z"
+ id="path2832"
+ style="fill:#020202" />
+ </g>
+</svg>
diff --git a/src/html/img/icons/mess.png b/src/html/img/icons/mess.png
new file mode 100644
index 0000000..cb98f10
--- /dev/null
+++ b/src/html/img/icons/mess.png
Binary files differ
diff --git a/src/html/img/icons/none.png b/src/html/img/icons/none.png
new file mode 100644
index 0000000..e6fc91a
--- /dev/null
+++ b/src/html/img/icons/none.png
Binary files differ
diff --git a/src/html/img/icons/opensolaris.png b/src/html/img/icons/opensolaris.png
new file mode 100644
index 0000000..e70051b
--- /dev/null
+++ b/src/html/img/icons/opensolaris.png
Binary files differ
diff --git a/src/html/img/icons/opensolaris.svg b/src/html/img/icons/opensolaris.svg
new file mode 100644
index 0000000..f063aed
--- /dev/null
+++ b/src/html/img/icons/opensolaris.svg
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="167.25003"
+ height="158"
+ id="svg3912"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="OpenSolaris_Logo2.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <defs
+ id="defs3914">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3920" />
+ <inkscape:perspective
+ id="perspective3929"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3939"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.9730807"
+ inkscape:cx="67.54343"
+ inkscape:cy="67.227874"
+ inkscape:document-units="px"
+ inkscape:current-layer="g4622"
+ showgrid="false"
+ inkscape:window-width="1280"
+ inkscape:window-height="975"
+ inkscape:window-x="-4"
+ inkscape:window-y="-4" />
+ <metadata
+ id="metadata3917">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Kreise"
+ transform="translate(-509.07121,-262.63987)"
+ sodipodi:insensitive="true">
+ <g
+ id="g4622"
+ transform="translate(205.32123,-327.72231)">
+ <path
+ transform="matrix(0.8287353,0,0,0.8287353,197.3685,300.41994)"
+ d="M 330.17962,437.94714 A 26.546474,26.546474 0 1 1 277.08667,437.94714 A 26.546474,26.546474 0 1 1 330.17962,437.94714 z"
+ sodipodi:ry="26.546474"
+ sodipodi:rx="26.546474"
+ sodipodi:cy="437.94714"
+ sodipodi:cx="303.63315"
+ id="path4624"
+ style="fill:#73b1e4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.7722306,0,0,0.7722306,136.02519,389.666)"
+ d="M 330.17962,437.94714 A 26.546474,26.546474 0 1 1 277.08667,437.94714 A 26.546474,26.546474 0 1 1 330.17962,437.94714 z"
+ sodipodi:ry="26.546474"
+ sodipodi:rx="26.546474"
+ sodipodi:cy="437.94714"
+ sodipodi:cx="303.63315"
+ id="path4626"
+ style="fill:#73b1e4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.5838817,0,0,0.5838817,228.71417,418.15287)"
+ d="M 330.17962,437.94714 A 26.546474,26.546474 0 1 1 277.08667,437.94714 A 26.546474,26.546474 0 1 1 330.17962,437.94714 z"
+ sodipodi:ry="26.546474"
+ sodipodi:rx="26.546474"
+ sodipodi:cy="437.94714"
+ sodipodi:cx="303.63315"
+ id="path4628"
+ style="fill:#135194;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.5085421,0,0,0.5085421,219.08976,435.14762)"
+ d="M 330.17962,437.94714 A 26.546474,26.546474 0 1 1 277.08667,437.94714 A 26.546474,26.546474 0 1 1 330.17962,437.94714 z"
+ sodipodi:ry="26.546474"
+ sodipodi:rx="26.546474"
+ sodipodi:cy="437.94714"
+ sodipodi:cx="303.63315"
+ id="path4630"
+ style="fill:#73b1e4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.4143676,0,0,0.4143676,251.18425,507.89106)"
+ d="M 330.17962,437.94714 A 26.546474,26.546474 0 1 1 277.08667,437.94714 A 26.546474,26.546474 0 1 1 330.17962,437.94714 z"
+ sodipodi:ry="26.546474"
+ sodipodi:rx="26.546474"
+ sodipodi:cy="437.94714"
+ sodipodi:cx="303.63315"
+ id="path4632"
+ style="fill:#918f90;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
+ <g
+ id="g4634">
+ <path
+ style="fill:#135194;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 27.75,65.25 C 12.432001,65.25 1.8136938e-14,77.681998 0,93 C 0,108.318 12.432,120.75 27.75,120.75 C 43.067999,120.75 55.5,108.318 55.5,93 C 55.5,77.682001 43.067999,65.249998 27.75,65.25 z M 27.75,73 C 38.79,72.999998 47.75,81.96 47.75,93 C 47.750002,104.04 38.79,113 27.75,113 C 16.71,113 7.75,104.04 7.75,93 C 7.75,81.959998 16.71,73 27.75,73 z"
+ transform="translate(303.74998,590.36218)"
+ id="path4636" />
+ </g>
+ <g
+ id="g4640">
+ <path
+ style="fill:#60ba52;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 42.75,11 C 30.33,11 20.249999,21.080001 20.25,33.5 C 20.25,45.92 30.330002,55.999999 42.75,56 C 55.17,56 65.250003,45.920002 65.25,33.5 C 65.25,21.08 55.170002,11 42.75,11 z M 42.75,17 C 51.858,17.000001 59.25,24.391999 59.25,33.5 C 59.250001,42.608002 51.858001,50 42.75,50 C 33.641999,49.999999 26.25,42.608001 26.25,33.5 C 26.250001,24.392001 33.641999,17 42.75,17 z"
+ transform="translate(303.74998,590.36218)"
+ id="path4642" />
+ </g>
+ <g
+ id="g4646">
+ <path
+ style="fill:#918f90;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 102.75,0 C 87.57,0 75.250001,12.320001 75.25,27.5 C 75.25,42.68 87.570001,55.000001 102.75,55 C 117.93,55 130.25,42.680001 130.25,27.5 C 130.25,12.32 117.93,1.3041202e-14 102.75,0 z M 102.75,15 C 109.65,15 115.25,20.6 115.25,27.5 C 115.25,34.4 109.65,40 102.75,40 C 95.850004,39.999998 90.25,34.4 90.25,27.5 C 90.249996,20.600001 95.85,15 102.75,15 z"
+ transform="translate(303.74998,590.36218)"
+ id="path4648" />
+ </g>
+ <g
+ id="g4652">
+ <path
+ style="fill:#60ba52;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="M 119.75,103 C 106.778,103 96.250002,113.528 96.25,126.5 C 96.25,139.472 106.778,150 119.75,150 C 132.722,150 143.25,139.472 143.25,126.5 C 143.25,113.528 132.722,103 119.75,103 z M 119.75,116.5 C 125.27,116.5 129.75,120.98 129.75,126.5 C 129.75001,132.02 125.27,136.5 119.75,136.5 C 114.23,136.5 109.75,132.02 109.75,126.5 C 109.75,120.98 114.23,116.5 119.75,116.5 z"
+ transform="translate(303.74998,590.36218)"
+ id="path4654" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/html/img/icons/os2.png b/src/html/img/icons/os2.png
new file mode 100644
index 0000000..5a74de3
--- /dev/null
+++ b/src/html/img/icons/os2.png
Binary files differ
diff --git a/src/html/img/icons/osx.png b/src/html/img/icons/osx.png
new file mode 100644
index 0000000..12a7ea3
--- /dev/null
+++ b/src/html/img/icons/osx.png
Binary files differ
diff --git a/src/html/img/icons/osx.svg b/src/html/img/icons/osx.svg
new file mode 100644
index 0000000..ceb8e0a
--- /dev/null
+++ b/src/html/img/icons/osx.svg
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.0"
+ width="800"
+ height="950"
+ id="svg2">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient3784">
+ <stop
+ id="stop3786"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3788"
+ style="stop-color:#888888;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3776">
+ <stop
+ id="stop3778"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3780"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3754">
+ <stop
+ id="stop3756"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3758"
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3734">
+ <stop
+ id="stop3736"
+ style="stop-color:#6c6d6f;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3738"
+ style="stop-color:#010101;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="581.96649"
+ y1="409.16061"
+ x2="544.40381"
+ y2="311.21347"
+ id="linearGradient3760"
+ xlink:href="#linearGradient3754"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="591.31964"
+ y1="593.75946"
+ x2="587.03571"
+ y2="434.31064"
+ id="linearGradient3764"
+ xlink:href="#linearGradient3734"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="591.31964"
+ y1="593.75946"
+ x2="587.03571"
+ y2="434.31064"
+ id="linearGradient3773"
+ xlink:href="#linearGradient3734"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-2.8e-6,-5e-6)" />
+ <linearGradient
+ x1="592.88464"
+ y1="409.21036"
+ x2="572.06653"
+ y2="317.52728"
+ id="linearGradient3782"
+ xlink:href="#linearGradient3776"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(4.10748,0,0,4.10748,-2012.14,-1474.67)" />
+ <linearGradient
+ x1="621.8504"
+ y1="527.79108"
+ x2="575.15466"
+ y2="358.30902"
+ id="linearGradient3790"
+ xlink:href="#linearGradient3784"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="591.31964"
+ y1="593.75946"
+ x2="587.03571"
+ y2="434.31064"
+ id="linearGradient3796"
+ xlink:href="#linearGradient3734"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="591.31964"
+ y1="593.75946"
+ x2="587.03571"
+ y2="434.31064"
+ id="linearGradient3813"
+ xlink:href="#linearGradient3734"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(4.10748,0,0,4.10748,-2012.14,-1474.67)" />
+ <linearGradient
+ x1="621.8504"
+ y1="527.79108"
+ x2="575.15466"
+ y2="358.30902"
+ id="linearGradient3815"
+ xlink:href="#linearGradient3784"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(4.10748,0,0,4.10748,-2012.14,-1474.67)" />
+ </defs>
+ <path
+ d="m -1763.2143,1058.9693 0,-108.92855 38.9286,90.53575 38.9286,-90.53575 0,108.92855"
+ id="path3199"
+ style="fill:none;stroke:#000000;stroke-width:0pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="M 9.2490229,7.8722656 C 9.0747426,10.220019 9.5551534,12.587324 10.789328,14.675279 L 283.03823,474.32796 15.153526,926.66418 c -2.099826,3.60325 -2.063434,8.05645 0,11.68065 2.063392,3.62427 5.841657,5.87111 10.011982,5.9045 l 205.245632,0 c 4.12198,-0.0267 7.92563,-2.22104 10.01198,-5.77614 l 158.6514,-267.88471 158.65141,267.88471 c 2.08635,3.5551 5.89,5.74948 10.01198,5.77614 l 205.37399,0 c 4.17033,-0.0334 7.94859,-2.28027 10.01199,-5.9045 2.06355,-3.62416 2.09982,-8.0774 0,-11.68065 L 515.23918,474.32796 787.35972,14.675279 c 1.2249,-2.101879 1.60254,-4.457232 1.41195,-6.8030134 l -229.6338,0 L 399.07452,278.19578 239.01118,7.8722656 l -229.7621571,0 z"
+ id="path3762"
+ style="fill:url(#linearGradient3815) #000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="M 20.80131,8.7707768 296.51589,474.32796 25.165508,932.56868 l 205.245632,0 168.66338,-284.82805 168.66339,284.82805 205.37399,0 L 501.76152,474.32796 777.34774,8.7707768 l -205.24563,0 L 399.07452,301.04364 226.04694,8.7707768 l -205.24563,0 z"
+ id="path3705"
+ style="fill:url(#linearGradient3813) #000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="M 20.80131,8.7707768 201.9155,314.64967 c 49.70108,-29.3714 101.49706,-57.52505 155.69916,-83.6899 L 226.04694,8.7707768 l -205.24563,0 z m 551.3008,0 -102.0452,172.3857932 c 78.84426,-31.77986 162.67756,-58.92944 252.48165,-79.83914 l 54.80918,-92.5466532 -205.24563,0 z"
+ id="path3771"
+ style="opacity:0.47619001;fill:url(#linearGradient3782) #000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+</svg>
diff --git a/src/html/img/icons/qemu.png b/src/html/img/icons/qemu.png
new file mode 100644
index 0000000..a154cec
--- /dev/null
+++ b/src/html/img/icons/qemu.png
Binary files differ
diff --git a/src/html/img/icons/redhat.png b/src/html/img/icons/redhat.png
new file mode 100644
index 0000000..437ca10
--- /dev/null
+++ b/src/html/img/icons/redhat.png
Binary files differ
diff --git a/src/html/img/icons/redhat.svg b/src/html/img/icons/redhat.svg
new file mode 100644
index 0000000..d7a6788
--- /dev/null
+++ b/src/html/img/icons/redhat.svg
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="61.139999"
+ height="61.139999"
+ viewBox="0 0 61.14 61.139999"
+ enable-background="new 0 0 187.086 53.867"
+ xml:space="preserve"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="RedHat.svg"
+ inkscape:export-filename="/home/zwerg/data/studium/ss10/projekt/git/vmchooser/src/img/RedHat.png"
+ inkscape:export-xdpi="88.548141"
+ inkscape:export-ydpi="88.548141"><metadata
+ id="metadata39"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs37"><inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 26.9335 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="187.086 : 26.9335 : 1"
+ inkscape:persp3d-origin="93.542999 : 17.955667 : 1"
+ id="perspective41" /></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="900"
+ inkscape:window-height="489"
+ id="namedview35"
+ showgrid="false"
+ inkscape:zoom="2.8917183"
+ inkscape:cx="93.542999"
+ inkscape:cy="26.935504"
+ inkscape:window-x="187"
+ inkscape:window-y="94"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" />
+<g
+ id="g3">
+ <path
+ clip-rule="evenodd"
+ d="m 56.02,47.007 c -1.174,-0.271 -2.419,-0.441 -3.679,-0.441 -2.154,0 -4.114,0.375 -5.56,0.975 -0.157,0.08 -0.271,0.246 -0.271,0.436 0,0.068 0.018,0.139 0.044,0.197 0.171,0.496 -0.111,1.035 -1.51,1.342 -2.074,0.455 -3.385,2.596 -4.133,3.307 -0.88,0.836 -3.364,1.348 -2.991,0.85 0.292,-0.389 1.412,-1.604 2.092,-2.916 0.608,-1.174 1.15,-1.506 1.897,-2.627 0.218,-0.328 1.066,-1.482 1.313,-2.393 0.279,-0.893 0.185,-2.01 0.292,-2.471 0.15,-0.662 0.779,-2.104 0.824,-2.918 0.028,-0.457 -1.919,0.658 -2.843,0.658 -0.924,0 -1.825,-0.553 -2.65,-0.594 -1.021,-0.049 -1.678,0.789 -2.604,0.643 -0.526,-0.086 -0.972,-0.549 -1.894,-0.584 -1.313,-0.051 -2.919,0.73 -5.934,0.633 -2.966,-0.098 -5.704,-3.746 -6.079,-4.328 -0.438,-0.682 -0.974,-0.682 -1.556,-0.148 -0.584,0.535 -1.303,0.117 -1.508,-0.24 -0.389,-0.682 -1.431,-2.674 -3.04,-3.088 -2.227,-0.578 -3.354,1.23 -3.21,2.672 0.15,1.461 1.095,1.871 1.532,2.65 0.438,0.777 0.663,1.279 1.485,1.625 0.584,0.242 0.802,0.604 0.628,1.084 -0.154,0.416 -0.76,0.51 -1.161,0.531 -0.849,0.041 -1.442,-0.189 -1.876,-0.469 -0.504,-0.32 -0.914,-0.768 -1.355,-1.525 -0.509,-0.838 -1.313,-1.203 -2.246,-1.203 -0.446,0 -0.864,0.119 -1.233,0.311 -1.467,0.76 -3.21,1.213 -5.088,1.213 H 1.589 C 0.56,37.132 0,33.858 0,30.452 0,13.634 13.634,0 30.454,0 47.273,0 60.906,13.634 60.906,30.452 60.905,36.556 59.111,42.239 56.02,47.007 l 0,0 z"
+ id="path5"
+ style="fill:#020001;fill-rule:evenodd" />
+ <path
+ clip-rule="evenodd"
+ d="m 37.159,44.214 c 0.158,0.152 0.428,0.664 0.098,1.318 -0.184,0.344 -0.384,0.588 -0.742,0.873 -0.427,0.344 -1.264,0.738 -2.414,0.012 -0.616,-0.393 -0.653,-0.523 -1.505,-0.414 -0.61,0.08 -0.851,-0.533 -0.633,-1.047 0.22,-0.508 1.118,-0.92 2.238,-0.268 0.503,0.297 1.287,0.922 1.973,0.367 0.287,-0.229 0.456,-0.379 0.851,-0.836 0.02,-0.02 0.044,-0.031 0.072,-0.031 0.024,0 0.047,0.01 0.062,0.026 l 0,0 z"
+ id="path7"
+ style="fill:#020001;fill-rule:evenodd" />
+ <path
+ clip-rule="evenodd"
+ d="m 47.639,22.349 c -0.301,1.014 -0.729,2.305 -2.632,3.284 -0.278,0.141 -0.383,-0.09 -0.257,-0.31 0.722,-1.223 0.847,-1.53 1.058,-2.013 C 46.1,22.605 46.253,21.602 45.671,19.506 44.527,15.385 42.136,9.877 40.4,8.088 38.723,6.364 35.688,5.879 32.942,6.582 31.93,6.841 29.954,7.87 26.286,7.044 c -6.349,-1.429 -7.287,1.749 -7.652,3.133 -0.364,1.385 -1.24,5.321 -1.24,5.321 -0.291,1.601 -0.673,4.387 9.183,6.266 4.592,0.874 4.825,2.063 5.028,2.914 0.363,1.531 0.946,2.406 1.603,2.844 0.656,0.438 0,0.799 -0.729,0.874 -1.955,0.203 -9.182,-1.87 -13.457,-4.299 -3.499,-2.138 -3.558,-4.063 -2.755,-5.696 -5.285,-0.57 -9.25,0.496 -9.969,2.998 -1.235,4.291 9.438,11.625 21.592,15.303 12.752,3.863 25.869,1.168 27.326,-6.852 0.663,-3.639 -2.405,-6.333 -7.577,-7.501 l 0,0 z"
+ id="path9"
+ style="fill:#e03127;fill-rule:evenodd" />
+ <path
+ clip-rule="evenodd"
+ d="m 59.774,45.679 h 0.207 l 0.308,0.51 h 0.2 l -0.337,-0.52 c 0.175,-0.018 0.307,-0.111 0.307,-0.32 0,-0.232 -0.139,-0.336 -0.415,-0.336 h -0.447 v 1.176 h 0.177 v -0.51 l 0,0 z m 0,-0.151 v -0.365 h 0.245 c 0.124,0 0.254,0.027 0.254,0.172 0,0.182 -0.134,0.193 -0.286,0.193 h -0.213 l 0,0 z"
+ id="path11"
+ style="fill:#020001;fill-rule:evenodd" />
+ <path
+ clip-rule="evenodd"
+ d="m 61.137,45.603 c 0,0.635 -0.515,1.15 -1.153,1.15 -0.636,0 -1.152,-0.516 -1.152,-1.15 0,-0.639 0.516,-1.152 1.152,-1.152 0.639,-10e-4 1.153,0.513 1.153,1.152 l 0,0 z m -1.153,-0.948 c -0.521,0 -0.947,0.422 -0.947,0.947 0,0.525 0.425,0.945 0.947,0.945 0.521,0 0.95,-0.42 0.95,-0.945 0,-0.525 -0.429,-0.947 -0.95,-0.947 l 0,0 z"
+ id="path13"
+ style="fill:#020001;fill-rule:evenodd" />
+ <path
+ clip-rule="evenodd"
+ d="m 28.083,14.5 c -3.517,0.255 -3.883,0.635 -4.542,1.337 -0.929,0.99 -2.152,-1.284 -2.152,-1.284 -0.736,-0.155 -1.625,-1.339 -1.146,-2.444 0.474,-1.093 1.348,-0.766 1.622,-0.428 0.333,0.415 1.043,1.093 1.967,1.069 0.922,-0.022 1.989,-0.217 3.475,-0.217 1.504,0 2.518,0.563 2.575,1.043 0.049,0.413 -0.122,0.802 -1.799,0.924 l 0,0 z"
+ id="path15"
+ style="fill:#020001;fill-rule:evenodd" />
+ <path
+ clip-rule="evenodd"
+ d="m 31.779,8.688 c -0.005,0 -0.01,0 -0.015,0 -0.055,0 -0.099,-0.041 -0.099,-0.092 0,-0.037 0.023,-0.068 0.056,-0.083 0.681,-0.36 1.699,-0.648 2.862,-0.767 0.35,-0.035 0.691,-0.054 1.021,-0.058 0.058,0 0.115,0 0.174,0.002 1.951,0.044 3.515,0.821 3.492,1.733 -0.024,0.912 -1.623,1.617 -3.577,1.574 -0.631,-0.016 -1.225,-0.106 -1.734,-0.255 -0.062,-0.015 -0.106,-0.065 -0.106,-0.125 0,-0.062 0.044,-0.114 0.106,-0.129 1.219,-0.281 2.04,-0.742 1.981,-1.179 -0.076,-0.577 -1.669,-0.889 -3.557,-0.7 -0.208,0.022 -0.409,0.05 -0.604,0.079 l 0,0 z"
+ id="path17"
+ style="fill:#020001;fill-rule:evenodd" />
+
+
+
+
+
+
+
+
+</g>
+</svg> \ No newline at end of file
diff --git a/src/html/img/icons/riscos.png b/src/html/img/icons/riscos.png
new file mode 100644
index 0000000..2c4573e
--- /dev/null
+++ b/src/html/img/icons/riscos.png
Binary files differ
diff --git a/src/html/img/icons/riscos_orig.png b/src/html/img/icons/riscos_orig.png
new file mode 100644
index 0000000..1b9752f
--- /dev/null
+++ b/src/html/img/icons/riscos_orig.png
Binary files differ
diff --git a/src/html/img/icons/solaris.png b/src/html/img/icons/solaris.png
new file mode 100644
index 0000000..8433849
--- /dev/null
+++ b/src/html/img/icons/solaris.png
Binary files differ
diff --git a/src/html/img/icons/suse.png b/src/html/img/icons/suse.png
new file mode 100644
index 0000000..1472b93
--- /dev/null
+++ b/src/html/img/icons/suse.png
Binary files differ
diff --git a/src/html/img/icons/suse.svg b/src/html/img/icons/suse.svg
new file mode 100644
index 0000000..3a2f285
--- /dev/null
+++ b/src/html/img/icons/suse.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.0"
+ width="140"
+ height="85"
+ id="svg2">
+ <defs
+ id="defs4" />
+ <path
+ d="M 78.421995,3.6922599e-05 C 75.489869,0.0018196076 72.772622,0.069213367 71.493006,0.21082112 C 63.734913,1.0694623 56.923372,3.1339511 49.345688,6.9171132 C 37.13247,13.014579 29.463987,19.915881 25.13337,28.712538 C 23.194296,32.65126 22.523331,35.410929 22.500736,39.536732 C 22.486433,42.147123 22.678011,43.531503 23.352165,45.654728 C 25.780552,53.302775 32.703288,58.760312 40.72358,59.356549 C 48.484536,59.933462 54.251543,56.86185 56.827602,50.782481 C 57.761552,48.578478 58.042134,46.664566 57.781811,44.252696 C 57.145271,38.35471 53.329438,33.868668 47.691734,32.384345 C 45.96543,31.929823 43.308526,31.915575 41.614176,32.37943 C 36.968631,33.65124 33.589264,37.838993 34.831982,43.007505 C 35.886321,47.392606 41.010077,50.140647 45.342924,48.399986 C 47.073131,47.704914 48.080363,46.863816 47.579192,45.017445 C 47.068377,43.135756 45.805373,42.691918 43.385563,43.370284 C 42.433071,43.63732 41.759228,43.466271 41.046556,42.821236 C 39.850919,41.739073 39.870084,40.085039 41.095488,38.904325 C 42.587129,37.467112 45.314156,37.346073 47.804265,38.610184 C 50.268645,39.861261 52.068879,43.402212 51.679819,46.233206 C 51.262155,49.272187 49.518577,51.36967 46.595622,52.346311 C 45.619763,52.672354 45.215983,52.709927 42.915792,52.704186 C 40.448522,52.698002 40.266464,52.675352 38.878776,52.209053 C 33.673161,50.459829 30.234733,45.718595 30.202861,40.242651 C 30.182737,36.784558 31.410449,33.992785 34.137152,31.300928 C 36.7003,28.770531 40.011219,27.534487 44.227214,27.536026 C 49.468132,27.537917 53.819697,29.369984 57.630127,33.183399 C 60.497735,36.053289 62.662841,39.943026 63.497267,43.713438 L 63.761506,44.909588 L 71.287489,48.600992 C 71.347846,48.545781 71.329952,48.039112 71.248337,47.694054 C 70.939918,46.390089 70.891623,42.758933 71.160251,41.223114 C 71.550932,38.989601 72.079047,37.827161 73.20567,36.713017 C 74.942657,34.995303 77.086721,34.255066 80.340175,34.252081 C 84.667713,34.248138 88.340237,35.833754 91.624254,39.129832 C 92.361153,39.869434 93.967338,41.621263 95.196415,43.022228 C 96.425505,44.423165 97.618455,45.703497 97.848606,45.865539 C 98.494342,46.320143 107.26712,50.337589 107.37599,50.228543 C 107.42891,50.175532 107.11788,49.616313 106.6811,48.98338 C 104.97155,46.505928 103.52205,43.314803 102.96705,40.811311 C 102.58738,39.098593 102.6915,36.570789 103.19216,35.418843 C 103.66089,34.340314 104.66024,33.429177 105.71711,33.114777 C 106.84919,32.777971 109.32027,32.798309 112.63636,33.173608 C 116.61348,33.623701 118.81211,33.710096 121.4346,33.511832 C 127.40695,33.060335 131.31663,32.07813 135.69383,29.938131 C 137.98143,28.819693 138.4678,28.387981 138.96258,27.050683 C 139.43437,25.775632 139.65818,24.555429 139.41766,24.555429 C 139.33254,24.555429 138.52925,24.900905 137.6316,25.325095 C 134.26329,26.916801 131.37146,27.624137 128.80398,27.486986 C 126.13494,27.344406 121.76335,25.878424 116.57548,23.383793 L 114.21197,22.246459 L 112.28402,17.628573 L 114.08476,18.751146 C 117.04699,20.718163 121.83746,23.073201 124.75717,23.996574 C 129.21767,25.40721 132.76755,25.223221 136.3593,23.393597 C 137.62528,22.748724 140,21.118784 140,20.893441 C 140,20.468686 138.73005,16.340329 138.02306,14.466596 C 136.2551,9.7808853 135.04996,8.2187295 132.13636,6.8288801 C 128.90166,5.2858487 125.33683,4.1803628 118.78239,2.6864649 C 115.64871,2.0210908 112.49901,1.3770557 109.31864,0.98048663 L 109.24034,4.8630782 C 101.83068,2.5587681 95.347612,1.0354819 88.16955,0.29417855 C 86.314672,0.1025995 82.191895,-0.0022590824 78.421995,3.6922599e-05 z M 127.51704,7.9514914 C 129.91073,7.9453733 132.19491,9.1761249 133.53098,11.402682 C 135.80914,15.199323 133.94162,20.131676 129.6799,21.569957 C 126.86739,22.519155 123.51804,21.384793 121.81627,18.908028 C 120.41952,16.875224 120.18532,14.250774 121.19971,12.049782 C 121.77609,10.799137 123.14788,9.3195964 124.26296,8.7505725 C 125.31508,8.2136109 126.42898,7.95426 127.51704,7.9514914 z M 127.43873,9.9810403 C 126.31699,10.004769 125.17401,10.421516 124.20914,11.294838 C 122.73595,12.628152 122.26284,15.039361 123.11301,16.878505 C 123.811,18.388502 125.13299,19.430458 126.67539,19.682583 C 128.86261,20.040148 130.93459,19.019841 131.84276,17.133427 C 132.46398,15.842965 132.57464,14.957408 132.26359,13.741067 C 131.64616,11.326658 129.58019,9.9356606 127.43873,9.9810403 z M 128.58378,12.47628 C 129.41533,12.47628 130.41588,12.99609 130.54113,13.495938 C 130.71129,14.175195 130.48103,14.644398 129.82181,14.981327 C 128.80386,15.501608 127.49542,15.354396 126.72919,14.633283 C 125.78455,13.744213 126.87488,12.47628 128.58378,12.47628 z"
+ id="Geeko"
+ style="fill:#82bf46" />
+ <path
+ d="M 115.85761,81.240962 C 115.85761,80.478159 116.12781,79.825742 116.66984,79.285356 C 117.21078,78.744969 117.86428,78.474227 118.62709,78.474227 C 119.38989,78.474227 120.04285,78.744421 120.5827,79.285356 C 121.12252,79.825193 121.39382,80.478159 121.39382,81.240962 C 121.39382,82.00486 121.12307,82.657278 120.5827,83.199312 C 120.04341,83.740249 119.38989,84.01154 118.62709,84.01154 C 117.86374,84.01154 117.21078,83.740249 116.66984,83.199312 C 116.12781,82.657278 115.85761,82.00486 115.85761,81.240962 L 115.85761,81.240962 L 115.85761,81.240962 z M 120.94624,81.240962 C 120.94624,80.601174 120.71943,80.053099 120.26747,79.602228 C 119.81604,79.149161 119.26961,78.923999 118.62818,78.923999 C 117.9873,78.923999 117.43922,79.149161 116.98617,79.602228 C 116.53254,80.053099 116.30683,80.601174 116.30683,81.240962 C 116.30683,81.881846 116.53254,82.429372 116.98617,82.883538 C 117.43922,83.335509 117.9873,83.562865 118.62818,83.562865 C 119.26961,83.562865 119.81604,83.335509 120.26747,82.883538 C 120.71943,82.429372 120.94624,81.881846 120.94624,81.240962 L 120.94624,81.240962 L 120.94624,81.240962 z M 119.50081,82.917037 L 118.626,81.450746 L 118.13338,81.450746 L 118.13338,82.917037 L 117.64133,82.917037 L 117.64133,79.503378 L 118.5189,79.503378 C 119.34156,79.503378 119.75399,79.818602 119.75399,80.448504 C 119.75399,80.886745 119.53212,81.195381 119.0906,81.376607 L 120.02748,82.917037 L 119.50081,82.917037 L 119.50081,82.917037 L 119.50081,82.917037 z M 118.13338,79.923494 L 118.13338,81.059733 C 118.17512,81.065227 118.28167,81.067972 118.453,81.067972 C 118.77262,81.067972 118.98514,81.028431 119.09554,80.946605 C 119.20592,80.866426 119.26084,80.71101 119.26084,80.483102 C 119.26084,80.106917 119.01372,79.919651 118.51945,79.919651 L 118.13338,79.923494 L 118.13338,79.923494 z"
+ id="(R)"
+ style="fill:#006a5c" />
+ <path
+ d="M 8.2321175,55.050921 C 3.686615,55.050921 3.125e-06,58.568842 3.125e-06,62.901035 L 3.125e-06,65.231236 C 3.125e-06,69.389242 3.0905416,72.279148 7.5254167,72.279148 L 15.776631,72.279148 C 16.896351,72.279148 18.049535,72.962323 18.049535,74.246456 L 18.049535,76.385664 C 18.049534,77.589113 16.859679,78.333864 15.776631,78.333864 L 0.38200407,78.333864 L 0.38200407,81.981975 C 0.38200207,83.394455 1.5521491,84.407675 3.1706088,84.407675 L 16.865333,84.407675 C 21.448119,84.407675 25.173847,80.888525 25.173847,76.557555 L 25.173847,73.444256 C 25.173847,69.224524 22.452932,66.816539 17.705733,66.816539 L 9.5118202,66.816539 C 8.0877226,66.816539 7.1243161,66.082486 7.1243161,64.982942 L 7.1243161,63.149335 C 7.1243151,62.095013 8.3563439,61.143832 9.7028201,61.143832 L 22.920043,61.143832 L 22.920043,57.495726 C 22.920043,55.972003 22.011493,55.050921 20.513439,55.050921 L 8.2321175,55.050921 z M 69.409524,55.050921 C 64.872579,55.050921 61.17741,58.568842 61.17741,62.901035 L 61.17741,65.231236 C 61.17741,69.389242 64.28277,72.279148 68.721923,72.279148 L 76.973137,72.279148 C 78.092246,72.279148 79.226941,72.962323 79.226941,74.246456 L 79.226941,76.385664 C 79.226942,77.589113 78.051295,78.333864 76.973137,78.333864 L 61.559409,78.333864 L 61.559409,81.981975 C 61.559409,83.394455 62.744988,84.407675 64.367116,84.407675 L 78.061839,84.407675 C 82.640346,84.407675 86.351253,80.888525 86.351253,76.557555 L 86.351253,73.444256 C 86.351252,69.224524 83.630339,66.816539 78.883141,66.816539 L 70.689226,66.816539 C 69.263904,66.816539 68.320822,66.082486 68.320822,64.982942 L 68.320822,63.149335 C 68.320821,62.095013 69.53314,61.143832 70.880227,61.143832 L 84.441251,61.143832 L 84.441251,57.495726 C 84.44125,56.062462 83.32046,55.050921 81.709947,55.050921 L 69.409524,55.050921 z M 99.281976,55.050921 C 94.745643,55.050921 91.030762,58.568842 91.030762,62.901035 L 91.030762,76.557555 C 91.03076,80.888525 94.745642,84.407675 99.281976,84.407675 L 110.79929,84.407675 C 112.42081,84.407675 113.58789,83.393845 113.58789,81.981975 L 113.58789,78.333864 L 100.48527,78.333864 C 99.084408,78.333864 98.116875,77.3946 98.116875,76.060956 C 98.116872,76.060956 98.116875,72.778498 98.116875,72.355552 C 98.582607,72.355552 113.79801,72.355552 113.79801,72.355552 C 116.1169,72.355552 118,70.544716 118,68.32545 L 118,62.901035 C 118,58.568842 114.30973,55.050921 109.7679,55.050921 L 99.281976,55.050921 z M 100.42797,61.143832 L 108.62188,61.143832 C 109.90358,61.143832 110.933,62.12649 110.933,63.340332 C 110.933,63.340342 110.933,66.397259 110.933,66.816539 C 110.48071,66.816539 98.569774,66.816539 98.116875,66.816539 C 98.116261,66.397259 98.116875,63.340332 98.116875,63.340332 C 98.116877,62.127104 99.152402,61.143832 100.42797,61.143832 z M 32.164459,62.385335 C 30.715302,62.385334 29.700554,63.48244 29.700554,65.059335 L 29.700554,76.251954 C 29.700554,81.546175 33.136116,84.598675 39.097772,84.598675 L 40.052773,84.598675 C 42.836183,84.598675 45.134604,83.437845 46.814185,82.593165 C 47.785994,82.110935 48.572457,81.733665 49.087089,81.733665 C 49.276561,81.733665 49.723043,81.765455 49.96569,82.115675 L 51.646493,84.407675 L 53.938497,84.407675 C 55.803883,84.407675 56.478802,82.928875 56.478802,81.924665 L 56.478802,65.059335 C 56.478801,63.531952 54.824281,62.385335 53.346396,62.385335 L 51.875693,62.385335 C 50.426536,62.385334 49.411789,63.48244 49.411789,65.059335 L 49.411789,75.831759 C 49.411789,77.214292 48.230031,78.333864 46.775985,78.333864 L 39.422473,78.333864 C 37.969647,78.333864 36.786667,77.214292 36.786667,75.831759 L 36.786667,65.059335 C 36.786667,63.531952 35.113046,62.385335 33.635162,62.385335 L 32.164459,62.385335 z"
+ id="SuSE"
+ style="fill:#006a5c" />
+</svg> \ No newline at end of file
diff --git a/src/html/img/icons/term.png b/src/html/img/icons/term.png
new file mode 100644
index 0000000..f4c0200
--- /dev/null
+++ b/src/html/img/icons/term.png
Binary files differ
diff --git a/src/html/img/icons/ubuntu.png b/src/html/img/icons/ubuntu.png
new file mode 100644
index 0000000..b43c137
--- /dev/null
+++ b/src/html/img/icons/ubuntu.png
Binary files differ
diff --git a/src/html/img/icons/ubuntu.svg b/src/html/img/icons/ubuntu.svg
new file mode 100644
index 0000000..d835062
--- /dev/null
+++ b/src/html/img/icons/ubuntu.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
+<circle cy="50" cx="50" r="45" fill="rgb(244,116,33)"/>
+<path id="circle-of-friends" d="m 62.295912,28.701087 c 2.873376,1.659372 6.546563,0.675122 8.204788,-2.197388 1.659075,-2.873664 0.675688,-6.546562 -2.197975,-8.205644 -2.873087,-1.658504 -6.545987,-0.674543 -8.205062,2.199121 -1.6585,2.872509 -0.67455,6.545408 2.19825,8.203911 z M 50,67.549813 c -2.641888,0 -5.145512,-0.587374 -7.392837,-1.632816 l -4.174551,7.480879 C 41.919625,75.124499 45.845375,76.10009 50,76.10009 c 2.416175,0 4.7524,-0.334819 6.9726,-0.949614 0.392825,-2.413 1.825625,-4.636944 4.109888,-5.956013 2.280224,-1.316469 4.919225,-1.446933 7.203499,-0.583622 4.4424,-4.368222 7.333101,-10.311246 7.753925,-16.929679 l -8.5624,-0.124687 C 66.689537,60.521517 59.168538,67.549813 50,67.549813 z m 0,-35.099916 c 9.168538,0 16.689537,7.029739 17.477512,15.993631 l 8.5624,-0.124975 C 75.6185,41.700699 72.727812,35.757675 68.284837,31.389741 66.00085,32.252475 63.362137,32.121722 61.081625,30.804963 58.797637,29.486472 57.365137,27.262817 56.972312,24.849528 54.7524,24.235311 52.416175,23.900204 50,23.900204 c -4.154625,0 -8.080075,0.975302 -11.566813,2.702502 l 4.174263,7.480012 C 44.854487,33.037277 47.358112,32.449902 50,32.449902 z M 32.450338,49.999856 c 0,-5.93754 2.950725,-11.181774 7.4624,-14.357351 l -4.392175,-7.357919 c -5.257513,3.512993 -9.168825,8.882784 -10.793275,15.172749 1.897787,1.546802 3.11035,3.902363 3.11035,6.543097 0,2.640447 -1.21285,4.996008 -3.110638,6.542522 1.624163,6.290252 5.535475,11.660045 10.793275,15.173037 l 4.392463,-7.358207 c -4.511675,-3.175289 -7.4624,-8.419523 -7.4624,-14.357928 z m 29.84645,21.298479 c -2.873675,1.659081 -3.857625,5.331691 -2.198838,8.2042 1.659088,2.873663 5.331688,3.858202 8.20535,2.199121 2.8728,-1.658794 3.85705,-5.331691 2.197975,-8.205066 -1.658512,-2.872221 -5.3317,-3.85676 -8.204487,-2.198255 z M 19.400513,43.992755 c -3.31875,0 -6.007975,2.688936 -6.007975,6.007677 0,3.317876 2.689225,6.007102 6.007975,6.007102 3.317587,0 6.0071,-2.689226 6.0071,-6.007102 0,-3.318741 -2.689513,-6.007677 -6.0071,-6.007677" fill="#fff"/>
+</svg>
diff --git a/src/html/img/icons/unknown.png b/src/html/img/icons/unknown.png
new file mode 100644
index 0000000..21ccd9c
--- /dev/null
+++ b/src/html/img/icons/unknown.png
Binary files differ
diff --git a/src/html/img/icons/virtualbox.png b/src/html/img/icons/virtualbox.png
new file mode 100644
index 0000000..21bee21
--- /dev/null
+++ b/src/html/img/icons/virtualbox.png
Binary files differ
diff --git a/src/html/img/icons/vmware.png b/src/html/img/icons/vmware.png
new file mode 100644
index 0000000..a704627
--- /dev/null
+++ b/src/html/img/icons/vmware.png
Binary files differ
diff --git a/src/html/img/icons/vmware.svg b/src/html/img/icons/vmware.svg
new file mode 100644
index 0000000..a92e234
--- /dev/null
+++ b/src/html/img/icons/vmware.svg
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ width="70.40023"
+ height="28.5725"
+ xml:space="preserve"
+ sodipodi:docname="vmware.svg"
+ inkscape:export-filename="/home/zwerg/data/studium/ss10/projekt/git/vmchooser/src/img/vmware.png"
+ inkscape:export-xdpi="81.896927"
+ inkscape:export-ydpi="81.896927"><metadata
+ id="metadata8"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs6"><inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ id="perspective10" /><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath20"><path
+ d="M 0,792 612,792 612,0 0,0 0,792 z"
+ id="path22" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath130"><path
+ d="M 0,0 612,0 612,792 0,792 0,0 z"
+ id="path132" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath168"><path
+ d="M 0,0 612,0 612,792 0,792 0,0 z"
+ id="path170" /></clipPath></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1280"
+ inkscape:window-height="975"
+ id="namedview4"
+ showgrid="false"
+ inkscape:zoom="2.1123985"
+ inkscape:cx="-22.345021"
+ inkscape:cy="1.6332828"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="g164" /><g
+ id="g12"
+ inkscape:groupmode="layer"
+ inkscape:label="VMW_10Q1_LGO_GUIDE_USLET_EN_R1"
+ transform="matrix(1.25,0,0,-1.25,-404.84502,340.05125)"><g
+ id="g164"><g
+ id="g166"
+ clip-path="url(#clipPath168)"><g
+ id="g172"
+ transform="translate(388.349,250.8558)" /><g
+ id="g176"
+ transform="translate(436.2494,269.9846)" /><g
+ id="g180"
+ transform="translate(458.8979,249.2209)" /><g
+ id="g184"
+ transform="translate(413.3598,255.9408)" /><g
+ id="g188"
+ transform="translate(329.7792,270.223)"><path
+ d="M 0,0 C -0.708,1.553 -2.458,2.256 -4.092,1.529 -5.728,0.802 -6.33,-1.012 -5.591,-2.565 L 1.27,-17.477 c 1.079,-2.338 2.216,-3.563 4.35,-3.563 2.28,0 3.274,1.334 4.352,3.563 0,0 5.984,13.03 6.044,13.166 0.061,0.137 0.253,0.558 0.862,0.554 0.515,-0.003 0.948,-0.414 0.948,-0.965 l 0,-12.743 c 0,-1.964 1.089,-3.575 3.185,-3.575 2.094,0 3.226,1.611 3.226,3.575 l 0,10.427 c 0,2.011 1.441,3.315 3.405,3.315 1.964,0 3.271,-1.351 3.271,-3.315 l 0,-10.427 c 0,-1.964 1.093,-3.575 3.185,-3.575 2.094,0 3.232,1.611 3.232,3.575 l 0,10.427 c 0,2.011 1.435,3.315 3.4,3.315 1.961,0 3.273,-1.351 3.273,-3.315 l 0,-10.427 c 0,-1.964 1.092,-3.575 3.186,-3.575 2.092,0 3.228,1.611 3.228,3.575 l 0,11.867 c 0,4.362 -3.506,7.416 -7.726,7.416 -4.215,0 -6.855,-2.916 -6.855,-2.916 -1.403,1.819 -3.337,2.913 -6.61,2.913 -3.454,0 -6.477,-2.913 -6.477,-2.913 -1.404,1.819 -3.794,2.913 -5.773,2.913 -3.061,0 -5.492,-1.346 -6.975,-4.737 L 5.62,-13.249 0,0 z"
+ style="fill:#696566;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path190" /></g><g
+ id="g192"
+ transform="translate(468.6088,268.931)" /><g
+ id="g196"
+ transform="translate(470.2572,270.0067)" /></g></g></g></svg> \ No newline at end of file
diff --git a/src/html/img/icons/win311.png b/src/html/img/icons/win311.png
new file mode 100644
index 0000000..b527bf4
--- /dev/null
+++ b/src/html/img/icons/win311.png
Binary files differ
diff --git a/src/html/img/icons/win311.svg b/src/html/img/icons/win311.svg
new file mode 100644
index 0000000..6768fae
--- /dev/null
+++ b/src/html/img/icons/win311.svg
@@ -0,0 +1,322 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="447.02362"
+ height="508.96063"
+ id="svg1968"
+ sodipodi:version="0.32"
+ inkscape:version="0.44"
+ version="1.0"
+ sodipodi:docbase="C:\Dokumente und Einstellungen\Andreas\Eigene Dateien\Eigene Bilder\sonstiges\Logos\Vektor\Computer, Electronics"
+ sodipodi:docname="MicrosoftWindows.svg">
+ <defs
+ id="defs1970" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="350"
+ inkscape:cy="205.14359"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ width="126.16mm"
+ height="143.64mm"
+ units="mm"
+ inkscape:window-width="904"
+ inkscape:window-height="574"
+ inkscape:window-x="56"
+ inkscape:window-y="28" />
+ <metadata
+ id="metadata1973">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Ebene 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(2959.647,961.8527)">
+ <g
+ id="Ebene_x0020_1"
+ transform="matrix(5.218465,0,0,5.218465,-3531.204,-1316.234)">
+ <metadata
+ id="CorelCorpID_0Corel-Layer" />
+
+ <g
+ id="_226041520">
+ <path
+ d="M 115.771,165.101 L 116.03237,165.101 L 119.1134,155.7602 L 122.31729,165.101 L 122.57375,165.101 L 126.65352,152.2699 C 126.75375,151.94179 126.8934,151.61367 127.06997,151.30579 C 127.41123,150.91082 127.82769,150.73779 128.3038,150.69127 L 128.3038,150.27481 L 124.36723,150.27481 L 124.36723,150.69127 C 124.80518,150.73779 125.36129,150.73779 125.6214,151.19722 C 125.79912,151.52533 125.69775,152.46795 125.3398,153.52042 L 122.9318,160.71459 L 119.96894,152.29138 C 119.93077,152.13984 119.77089,151.7019 119.77089,151.37379 C 119.77089,150.69127 120.76357,150.69127 121.303,150.69127 L 121.303,150.27481 L 115.99054,150.27481 L 115.99054,150.69127 C 116.78654,150.69127 117.28643,150.88933 117.64448,151.7019 C 118.04059,152.59927 118.33888,153.52041 118.65511,154.46316 L 116.52871,160.64773 L 113.74254,152.64464 C 113.68402,152.44773 113.44779,151.79024 113.44779,151.59218 C 113.44779,150.80098 113.82242,150.80098 114.44174,150.71275 L 114.74002,150.69127 L 114.74002,150.27481 L 109.86562,150.27481 L 109.86562,150.69127 C 110.44197,150.75927 110.87991,150.95732 111.17933,151.52532 C 111.69728,152.48944 112.3535,154.50966 112.71156,155.58361 L 115.77099,165.10098 L 115.771,165.101 z M 130.7572,153.8533 C 130.7572,153.30564 131.01366,152.70427 132.42886,152.70427 L 132.42886,152.34987 L 127.34806,152.34987 L 127.34806,152.70427 C 128.762,152.70427 129.01857,153.30564 129.01857,153.8533 L 129.01857,163.29079 C 129.01857,163.83376 128.762,164.43628 127.34806,164.43628 L 127.34806,164.79308 L 132.42886,164.79308 L 132.42886,164.43628 C 131.01366,164.43628 130.7572,163.83377 130.7572,163.29079 L 130.7572,153.8533 z M 143.1503,153.8533 C 143.1503,153.30564 143.40321,152.70427 144.80413,152.70427 L 144.80413,152.34987 L 140.7471,152.34987 L 140.7471,152.70427 C 142.14436,152.70427 142.39727,153.30564 142.39727,153.8533 L 142.39727,161.39227 L 135.83441,152.34987 L 132.91692,152.34987 L 132.91692,152.70427 C 133.75452,152.7245 133.90606,152.89273 134.43715,153.55021 L 134.57075,153.73993 L 134.57075,163.29079 C 134.57075,163.83376 134.31418,164.43628 132.91692,164.43628 L 132.91692,164.79308 L 136.97521,164.79308 L 136.97521,164.43628 C 135.57784,164.43628 135.32012,163.83376 135.32012,163.29079 L 135.32012,154.69936 L 142.89372,165.05446 L 143.15029,165.05446 L 143.15029,153.85336 L 143.1503,153.8533 z M 150.07476,164.7931 C 154.64607,164.7931 156.94905,162.42327 156.94905,158.60967 C 156.94905,154.37961 154.30596,152.3499 149.93991,152.3499 L 145.54151,152.3499 L 145.54151,152.7043 C 146.78734,152.7043 147.04025,153.30567 147.04025,153.85333 L 147.04025,163.29082 C 147.04025,163.83379 146.78734,164.43631 145.54151,164.43631 L 145.54151,164.79311 L 150.07477,164.79311 L 150.07476,164.7931 z M 148.77887,154.0049 C 148.77887,153.0993 148.93396,153.04433 149.75133,153.04433 C 152.90756,153.04433 155.08882,154.94284 155.08882,158.62639 C 155.08882,162.12502 153.07693,164.19176 149.59979,164.02353 C 149.22516,164.00204 148.77887,163.79564 148.77887,163.10113 L 148.77887,154.0049 L 148.77887,154.0049 z M 163.48687,152.08501 C 160.16127,152.00981 157.89178,154.82947 157.89178,158.57152 C 157.89178,162.55815 160.48469,165.05449 163.48687,165.05449 C 166.89601,165.05449 169.06058,162.2002 169.06058,158.57152 C 169.06058,154.56455 166.43784,151.93346 163.48687,152.08501 z M 163.48687,152.76272 C 166.12996,152.72455 167.1359,155.62055 167.1359,158.57152 C 167.22059,160.58455 166.52139,164.11655 163.48687,164.38146 C 161.47384,164.54969 159.8367,162.44477 159.8367,158.57152 C 159.8367,154.98101 160.94413,152.94775 163.48687,152.76272 z M 172.7263,165.05452 L 172.94584,165.05452 L 175.58893,157.04778 L 178.33339,165.05452 L 178.55659,165.05452 L 182.05042,154.05992 C 182.13865,153.77707 182.25682,153.49547 182.41317,153.23055 C 182.69957,152.89284 183.06105,152.7413 183.46917,152.70438 L 183.46917,152.34998 L 180.09351,152.34998 L 180.09351,152.70438 C 180.46814,152.7413 180.94311,152.7413 181.1662,153.13752 C 181.31774,153.41912 181.2342,154.22815 180.92631,155.12906 L 178.86437,161.2958 L 176.32163,154.0766 C 176.28814,153.94529 176.15329,153.57066 176.15329,153.28906 C 176.15329,152.70438 177.00769,152.70438 177.46712,152.70438 L 177.46712,152.34998 L 172.91123,152.34998 L 172.91123,152.70438 C 173.5974,152.70438 174.02334,152.87615 174.33009,153.57066 C 174.66769,154.34152 174.92426,155.12906 175.19752,155.94163 L 173.37546,161.24083 L 170.98769,154.37969 C 170.93283,154.21146 170.73123,153.64701 170.73123,153.47398 C 170.73123,152.80095 171.0558,152.80095 171.58197,152.72461 L 171.83854,152.70438 L 171.83854,152.34998 L 167.66208,152.34998 L 167.66208,152.70438 C 168.15488,152.76278 168.52963,152.93101 168.78619,153.41912 C 169.22882,154.24838 169.79213,155.97501 170.0999,156.89626 L 172.7263,165.05455 L 172.7263,165.05452 z M 182.8761,165.05452 L 183.25073,165.05452 C 183.41907,163.68229 184.6481,165.05452 186.4201,165.05452 C 188.73976,165.05452 190.01896,163.30755 190.01896,161.61555 C 190.01896,159.35909 188.44856,158.55121 186.13005,157.01075 C 185.39748,156.5215 184.32354,155.75189 184.32354,154.66126 C 184.32354,153.47395 185.0896,152.85589 186.11337,152.85589 C 187.70046,152.85589 188.82331,154.34149 189.21943,156.08835 L 189.64423,156.08835 L 189.2696,152.08504 L 188.908,152.08504 C 188.49989,153.47395 187.68251,152.08504 185.87714,152.08504 C 184.20537,152.08504 182.85943,153.36538 182.85943,155.22561 C 182.85943,158.81612 187.51074,158.9295 188.2088,161.5607 C 188.60491,163.02596 187.66583,164.34333 186.28526,164.34333 C 184.47509,164.34333 183.28423,162.7647 182.75315,161.01419 L 182.36184,161.01419 L 182.87612,165.05453 L 182.8761,165.05452 z M 123.2849,136.96042 C 123.2849,136.40442 123.54627,135.78991 124.81827,135.78991 L 124.81827,135.42831 L 121.35301,135.42831 L 117.50958,145.11037 L 113.49427,135.42831 L 110.0505,135.42831 L 110.0505,135.78991 C 111.43953,135.78991 111.70559,136.40443 111.70559,136.96042 L 111.70559,146.58762 C 111.70559,147.14374 111.43953,147.75825 110.01713,147.75825 L 110.01713,148.11974 L 114.1553,148.11974 L 114.1553,147.75825 C 112.72821,147.75825 112.46684,147.14374 112.46684,146.58762 L 112.46684,137.65013 L 116.83175,148.11973 L 117.07644,148.11973 L 121.5297,137.20863 L 121.5297,146.5876 C 121.5297,147.14372 121.26947,147.75823 119.99747,147.75823 L 119.99747,148.11972 L 124.83496,148.11972 L 124.83496,147.75823 C 123.56296,147.75823 123.30285,147.14372 123.30285,146.5876 L 123.2849,136.9604 L 123.2849,136.96042 z M 128.33244,138.55585 C 128.33244,138.0762 128.55553,137.54991 129.7929,137.54991 L 129.7929,137.23848 L 125.35279,137.23848 L 125.35279,137.54991 C 126.59028,137.54991 126.81336,138.0762 126.81336,138.55585 L 126.81336,146.80602 C 126.81336,147.28214 126.59027,147.80831 125.35279,147.80831 L 125.35279,148.11974 L 129.7929,148.11974 L 129.7929,147.80831 C 128.55553,147.80831 128.33244,147.28214 128.33244,146.80602 L 128.33244,138.55585 z M 137.98467,137.02728 L 137.67324,137.02728 C 137.18158,138.35779 136.43575,137.0106 134.39415,137.0106 C 131.39781,137.0106 129.29301,139.42694 129.29301,142.69757 C 129.29301,146.29643 131.51484,148.35128 134.42398,148.35128 C 135.85472,148.35128 137.38798,147.53025 138.30089,146.29642 L 138.04432,145.9683 C 137.01689,147.08407 136.01929,147.61024 134.55883,147.61024 C 132.11266,147.61024 131.02317,145.1307 131.02317,142.82887 C 131.02317,139.86956 132.07917,137.68476 134.54203,137.68476 C 136.24249,137.68476 137.32832,138.91733 137.76272,140.72396 L 138.11952,140.72396 L 137.98466,137.02727 L 137.98467,137.02728 z M 139.57164,146.80602 C 139.57164,147.28214 139.3449,147.80831 138.3009,147.80831 L 138.3009,148.11974 L 142.4009,148.11974 L 142.4009,147.80831 C 141.31496,147.80831 141.09187,147.28214 141.09187,146.80602 L 141.09187,143.09379 L 141.92593,143.06042 L 145.47347,148.11973 L 147.87313,148.11973 L 147.87313,147.8083 C 147.20376,147.75825 146.85884,147.42887 146.45919,146.8859 L 143.50342,142.87904 C 144.90548,142.66419 146.20262,141.85995 146.20262,140.11778 C 146.20262,138.19309 144.71222,137.23847 142.23736,137.23847 L 138.3009,137.23847 L 138.3009,137.5499 C 139.3449,137.5499 139.57164,138.07619 139.57164,138.55584 L 139.57164,146.80601 L 139.57164,146.80602 z M 141.09187,138.63573 C 141.09187,137.86499 141.22673,137.86499 142.19438,137.86499 C 143.53324,137.86499 144.57735,138.50568 144.57735,140.13448 C 144.57735,141.90648 143.25164,142.39928 141.09186,142.48282 L 141.09186,138.63573 L 141.09187,138.63573 z M 151.43027,137.01059 C 148.52227,136.94374 146.53907,139.41025 146.53907,142.68088 C 146.53907,146.16637 148.80741,148.35128 151.43027,148.35128 C 154.41096,148.35128 156.30467,145.85025 156.30467,142.68088 C 156.30467,139.17871 154.0113,136.88054 151.43027,137.01059 z M 151.43027,137.60008 C 153.74158,137.56659 154.62101,140.10111 154.62101,142.68088 C 154.69735,144.44099 154.08638,147.53025 151.43027,147.75825 C 149.67141,147.90499 148.23941,146.06499 148.23941,142.68088 C 148.23941,139.54031 149.20844,137.76465 151.43027,137.60008 z M 157.1089,148.35128 L 157.43713,148.35128 C 157.58502,147.15208 158.65782,148.35128 160.20787,148.35128 C 162.23633,148.35128 163.3521,146.82271 163.3521,145.34191 C 163.3521,143.37185 161.98341,142.6642 159.95484,141.317 C 159.3153,140.88751 158.37621,140.21449 158.37621,139.2634 C 158.37621,138.22774 159.04558,137.68477 159.93815,137.68477 C 161.32706,137.68477 162.31266,138.98066 162.65278,140.50923 L 163.02752,140.50923 L 162.69929,137.0106 L 162.38306,137.0106 C 162.02638,138.22774 161.31037,137.0106 159.73175,137.0106 C 158.27118,137.0106 157.09221,138.12626 157.09221,139.75506 C 157.09221,142.89575 161.16238,142.99232 161.77335,145.2954 C 162.11461,146.57449 161.29724,147.72843 160.08969,147.72843 C 158.50626,147.72843 157.46329,146.34774 157.00398,144.81929 L 156.65907,144.81929 L 157.1089,148.35129 L 157.1089,148.35128 z M 168.4627,137.01058 C 165.55356,136.94372 163.57036,139.41024 163.57036,142.68087 C 163.57036,146.16636 165.83516,148.35127 168.4627,148.35127 C 171.44224,148.35127 173.33721,145.85024 173.33721,142.68087 C 173.33721,139.1787 171.03892,136.88053 168.4627,137.01058 z M 168.4627,137.60007 C 170.77287,137.56658 171.65344,140.1011 171.65344,142.68087 C 171.7251,144.44098 171.11413,147.53024 168.4627,147.75824 C 166.7027,147.90498 165.27196,146.06498 165.27196,142.68087 C 165.27196,139.5403 166.23973,137.76464 168.4627,137.60007 z M 176.95276,148.11977 L 176.95276,147.80834 C 175.83345,147.80834 175.61036,147.28217 175.61036,146.80605 L 175.61036,142.76091 L 177.58042,142.76091 C 178.57791,142.76091 179.42751,143.07714 179.42751,144.35622 L 179.7402,144.35622 L 179.7402,140.50925 L 179.42751,140.50925 C 179.42751,141.79314 178.57791,142.08788 177.58042,142.08788 L 175.61036,142.08788 L 175.61036,138.55588 C 175.61036,138.15965 175.72842,137.91153 176.2499,137.91153 L 178.21996,137.91153 C 179.26407,137.91153 180.15665,137.78148 180.3499,139.59164 L 180.70796,139.59164 L 180.70796,137.2385 L 172.77756,137.2385 L 172.77756,137.54993 C 173.86693,137.54993 174.09013,138.07622 174.09013,138.55587 L 174.09013,146.80604 C 174.09013,147.28216 173.86693,147.80833 172.77756,147.80833 L 172.77756,148.11976 L 176.95276,148.11976 L 176.95276,148.11977 z M 187.66226,147.80834 C 186.57163,147.80834 186.34843,147.28217 186.34843,146.80605 L 186.34843,137.92822 L 187.42237,137.92822 C 188.525,137.92822 189.21106,137.92822 189.53917,140.03313 L 189.89723,140.03313 L 189.80888,137.2385 L 181.36899,137.2385 L 181.28065,140.03313 L 181.63871,140.03313 C 181.96682,137.92822 182.65288,137.92822 183.75551,137.92822 L 184.82945,137.92822 L 184.82945,146.80605 C 184.82945,147.28216 184.60625,147.80834 183.51562,147.80834 L 183.51562,148.11977 L 187.66225,148.11977 L 187.66225,147.80834 L 187.66226,147.80834 z M 189.77906,147.99805 C 190.52489,147.99805 191.1346,147.38719 191.1346,146.63782 C 191.1346,145.89314 190.52489,145.28228 189.77906,145.28228 C 189.02969,145.28228 188.41997,145.89314 188.41997,146.63782 C 188.41997,147.38719 189.02968,147.99805 189.77906,147.99805 z M 189.77906,147.74034 C 189.16455,147.74034 188.67655,147.25234 188.67655,146.63783 C 188.67655,146.028 189.16455,145.53874 189.77906,145.53874 C 190.39003,145.53874 190.87803,146.02799 190.87803,146.63783 C 190.87803,147.25234 190.39003,147.74034 189.77906,147.74034 z M 190.09883,146.75954 C 190.35655,146.74274 190.49506,146.62948 190.49506,146.35977 C 190.49506,146.20822 190.45677,146.06982 190.32672,145.98148 C 190.217,145.91828 190.05346,145.91348 189.92706,145.91348 L 189.2194,145.91348 L 189.2194,147.37519 L 189.5058,147.37519 L 189.5058,146.75953 L 189.7922,146.75953 L 190.12032,147.37519 L 190.45323,147.37519 L 190.09883,146.75953 L 190.09883,146.75954 z M 189.5058,146.53759 L 189.5058,146.12468 L 189.86375,146.12468 C 190.00215,146.12468 190.21346,146.12468 190.21346,146.31794 C 190.21346,146.50297 190.09883,146.54114 189.9354,146.53759 L 189.5058,146.53759 L 189.5058,146.53759 z M 194.84797,162.90779 L 194.20717,162.90779 L 193.79917,163.98539 L 193.39106,162.90779 L 192.7514,162.90779 L 192.7514,164.7263 L 193.14637,164.7263 L 193.14637,163.26104 L 193.68214,164.7263 L 193.91723,164.7263 L 194.45186,163.26104 L 194.45186,164.7263 L 194.84797,164.7263 L 194.84797,162.90779 z M 192.53186,162.90779 L 190.98786,162.90779 L 190.98786,163.26105 L 191.54272,163.26105 L 191.54272,164.72631 L 191.97701,164.72631 L 191.97701,163.26105 L 192.53186,163.26105 L 192.53186,162.90779 L 192.53186,162.90779 z "
+ id="_226678368"
+ style="fill:black" />
+
+ <g
+ id="g3846">
+ <path
+ d="M 153.3,71.9815 L 153.3,126.7687 C 153.3,126.7687 172.4994,118.08413 189.6191,127.13499 L 189.6191,72.714186 C 189.6191,72.714186 183.41533,68.272926 172.1701,68.247896 L 171.8157,68.247896 C 166.64896,68.278867 160.4405,69.246639 153.3,71.981496 L 153.3,71.9815 z "
+ id="_23835032"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="145.091,75.1257 151.695,72.5495 151.827,79.1291 145.222,81.7054 145.091,75.1257 "
+ id="_227263352"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="145.091,83.1958 151.695,80.6195 151.827,87.2027 145.222,89.7753 145.091,83.1958 "
+ id="_138016032"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="145.091,91.2657 151.695,88.693 151.827,95.2727 145.222,97.8489 145.091,91.2657 "
+ id="_23864704"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="145.091,99.3393 151.695,96.7631 151.827,103.343 145.222,105.919 145.091,99.3393 "
+ id="_140080328"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="145.091,107.409 151.695,104.833 151.827,111.416 145.222,113.992 145.091,107.409 "
+ id="_140066712"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="145.091,115.483 151.695,112.907 151.827,119.486 145.222,122.063 145.091,115.483 "
+ id="_136512968"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="145.091,123.553 151.695,120.977 151.827,127.56 145.222,130.132 145.091,123.553 "
+ id="_136571224"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="137.998,77.3238 143.39,75.2224 143.5,80.6195 138.108,82.7197 137.998,77.3238 "
+ id="_137306736"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="137.998,101.296 143.39,99.1926 143.5,104.588 138.108,106.69 137.998,101.296 "
+ id="_138605008"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="137.998,125.022 143.39,122.917 143.5,128.314 138.108,130.414 137.998,125.022 "
+ id="_228822736"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="138.731,85.6419 143.412,83.8151 143.504,88.4998 138.827,90.3266 138.731,85.6419 "
+ id="_137990664"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="138.731,92.9792 143.412,91.156 143.504,95.8371 138.827,97.664 138.731,92.9792 "
+ id="_228204384"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="138.731,109.611 143.412,107.788 143.504,112.469 138.827,114.296 138.731,109.611 "
+ id="_140058504"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="138.731,116.948 143.412,115.125 143.504,119.806 138.827,121.633 138.731,116.948 "
+ id="_225328472"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="130.417,77.3238 135.097,75.5005 135.19,80.1864 130.509,82.0085 130.417,77.3238 "
+ id="_225893280"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="130.417,102.029 135.097,100.202 135.19,104.888 130.509,106.715 130.417,102.029 "
+ id="_226374560"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="130.417,125.266 135.097,123.439 135.19,128.124 130.509,129.948 130.417,125.266 "
+ id="_140090576"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="131.192,86.5631 135.097,85.0393 135.173,88.9246 131.272,90.4483 131.192,86.5631 "
+ id="_227864752"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="131.192,94.8777 135.097,93.3539 135.173,97.2427 131.272,98.763 131.192,94.8777 "
+ id="_225476104"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="131.192,110.532 135.097,109.008 135.173,112.895 131.272,114.419 131.192,110.532 "
+ id="_140175560"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="131.192,118.847 135.097,117.326 135.173,121.212 131.272,122.732 131.192,118.847 "
+ id="_226481760"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="123.854,77.2688 127.761,75.745 127.836,79.6303 123.934,81.1541 123.854,77.2688 "
+ id="_225475632"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="123.854,101.726 127.761,100.202 127.836,104.092 123.934,105.611 123.854,101.726 "
+ id="_225357880"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="123.854,125.207 127.761,123.683 127.836,127.573 123.934,129.092 123.854,125.207 "
+ id="_140174616"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="124.595,87.4975 127.761,86.26 127.823,89.4138 124.659,90.6464 124.595,87.4975 "
+ id="_224980824"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="124.595,95.0794 127.761,93.8456 127.823,96.9945 124.659,98.2283 124.595,95.0794 "
+ id="_137310696"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="124.595,110.73 127.761,109.497 127.823,112.65 124.659,113.884 124.595,110.73 "
+ id="_140087840"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="124.595,118.316 127.761,117.078 127.823,120.231 124.659,121.465 124.595,118.316 "
+ id="_228839488"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="117.746,75.757 120.912,74.5195 120.975,77.6734 117.809,78.9061 117.746,75.757 "
+ id="_138599376"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="117.746,99.7271 120.912,98.4933 120.975,101.642 117.809,102.875 117.746,99.7271 "
+ id="_23729368"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="117.746,123.451 120.912,122.219 120.975,125.367 117.809,126.6 117.746,123.451 "
+ id="_137521712"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="118.239,85.3472 120.912,84.3066 120.962,86.9677 118.289,88.007 118.239,85.3472 "
+ id="_137875848"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="118.239,93.6654 120.912,92.6213 120.962,95.281 118.289,96.3251 118.239,93.6654 "
+ id="_140090288"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="118.239,108.583 120.912,107.539 120.962,110.204 118.289,111.244 118.239,108.583 "
+ id="_138420208"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="118.239,116.902 120.912,115.857 120.962,118.519 118.289,119.563 118.239,116.902 "
+ id="_138015632"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="110.897,74.0947 113.57,73.0554 113.624,75.7152 110.952,76.7593 110.897,74.0947 "
+ id="_227262720"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="110.897,97.8239 113.57,96.7798 113.624,99.4407 110.952,100.485 110.897,97.8239 "
+ id="_137309912"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="110.897,121.549 113.57,120.505 113.624,123.165 110.952,124.209 110.897,121.549 "
+ id="_225777648"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="111.343,82.24 113.57,81.3689 113.616,83.5871 111.389,84.4546 111.343,82.24 "
+ id="_138369440"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="111.343,90.7979 113.57,89.9305 113.616,92.1499 111.389,93.0162 111.343,90.7979 "
+ id="_137303896"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <polygon
+ points="111.343,105.477 113.57,104.605 113.616,106.823 111.389,107.691 111.343,105.477 "
+ id="_140091200"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <polygon
+ points="111.343,114.035 113.57,113.168 113.616,115.381 111.389,116.254 111.343,114.035 "
+ id="_140089424"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <path
+ d="M 153.3,102.552 C 153.3,102.552 161.25177,99.8624 163.5703,99.8624 L 163.5703,115.5167 C 163.5703,115.5167 157.7031,116.3711 153.3,118.32927 L 153.3,102.55197 L 153.3,102.552 z "
+ id="_138599920"
+ style="fill:#799ccf;fill-rule:nonzero" />
+
+ <path
+ d="M 153.3,79.8069 C 153.3,79.8069 161.25177,76.9957 163.5703,76.9957 L 163.5703,92.768 C 163.5703,92.768 157.7031,93.748914 153.3,95.70229 L 153.3,79.80689 L 153.3,79.8069 z "
+ id="_24011400"
+ style="fill:#ee8d49;fill-rule:nonzero" />
+
+ <path
+ d="M 170.664,76.2582 L 170.664,92.0355 C 170.664,92.0355 178.61589,91.6691 182.0381,92.891043 L 182.0381,77.483743 C 182.0381,77.483743 177.51216,75.525573 170.664,76.258253 L 170.664,76.2582 z "
+ id="_22493424"
+ style="fill:#76b76b;fill-rule:nonzero" />
+
+ <path
+ d="M 170.664,99.0064 L 170.664,114.4137 C 170.664,114.4137 178.61589,114.4137 182.0381,115.63919 L 182.0381,100.23189 C 182.0381,100.23189 177.51216,98.27498 170.664,99.0064 z "
+ id="_227263792"
+ style="fill:#f6c92b;fill-rule:nonzero" />
+
+ <polygon
+ points="189.329,127.893 188.69,127.893 188.28,128.967 187.872,127.893 187.236,127.893 187.236,129.707 187.629,129.707 187.629,128.242 188.167,129.707 188.399,129.707 188.933,128.242 188.933,129.707 189.329,129.707 189.329,127.893 "
+ id="_228616520"
+ style="fill:black;fill-rule:nonzero" />
+
+ <polygon
+ points="187.014,127.893 185.473,127.893 185.473,128.242 186.024,128.242 186.024,129.707 186.458,129.707 186.458,128.242 187.014,128.242 187.014,127.893 "
+ id="_227267512"
+ style="fill:black;fill-rule:nonzero" />
+
+ </g>
+
+ </g>
+
+ </g>
+ </g>
+</svg>
diff --git a/src/html/img/icons/win7.png b/src/html/img/icons/win7.png
new file mode 100644
index 0000000..3552207
--- /dev/null
+++ b/src/html/img/icons/win7.png
Binary files differ
diff --git a/src/html/img/icons/win7_orig.png b/src/html/img/icons/win7_orig.png
new file mode 100644
index 0000000..a4adfe5
--- /dev/null
+++ b/src/html/img/icons/win7_orig.png
Binary files differ
diff --git a/src/html/img/icons/windows.png b/src/html/img/icons/windows.png
new file mode 100644
index 0000000..50dc89f
--- /dev/null
+++ b/src/html/img/icons/windows.png
Binary files differ
diff --git a/src/html/img/icons/xfce.png b/src/html/img/icons/xfce.png
new file mode 100644
index 0000000..41c8d21
--- /dev/null
+++ b/src/html/img/icons/xfce.png
Binary files differ
diff --git a/src/html/img/icons/xfce.svg b/src/html/img/icons/xfce.svg
new file mode 100644
index 0000000..6ff4acc
--- /dev/null
+++ b/src/html/img/icons/xfce.svg
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.1"
+ width="760"
+ height="760"
+ id="svg586">
+ <title
+ id="title3704">XFCE 4 Logo</title>
+ <defs
+ id="defs588">
+ <linearGradient
+ id="linearGradient3694">
+ <stop
+ id="stop3702"
+ style="stop-color:#b7b7b7;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3698"
+ style="stop-color:#000000;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3990">
+ <stop
+ id="stop3992"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3994"
+ style="stop-color:#7fd4ee;stop-opacity:1"
+ offset="0.49322736" />
+ <stop
+ id="stop3996"
+ style="stop-color:#00aade;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3982">
+ <stop
+ id="stop3984"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3986"
+ style="stop-color:#7fd4ee;stop-opacity:1"
+ offset="0.5225333" />
+ <stop
+ id="stop3988"
+ style="stop-color:#00aade;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3795">
+ <stop
+ id="stop3797"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3799"
+ style="stop-color:#7fd4ee;stop-opacity:1"
+ offset="0.49941033" />
+ <stop
+ id="stop3801"
+ style="stop-color:#00aade;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3743">
+ <stop
+ id="stop3745"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3751"
+ style="stop-color:#7fd4ee;stop-opacity:1"
+ offset="0.54609555" />
+ <stop
+ id="stop3747"
+ style="stop-color:#00aade;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3652">
+ <stop
+ id="stop3654"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3662"
+ style="stop-color:#d5e2ec;stop-opacity:1"
+ offset="0.49903482" />
+ <stop
+ id="stop3656"
+ style="stop-color:#d5e2ec;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <filter
+ color-interpolation-filters="sRGB"
+ id="filter3729">
+ <feGaussianBlur
+ id="feGaussianBlur3731"
+ stdDeviation="6.4154088" />
+ </filter>
+ <linearGradient
+ x1="965.02625"
+ y1="17.489901"
+ x2="1557.8665"
+ y2="663.80927"
+ id="linearGradient3737"
+ xlink:href="#linearGradient3652"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1581.64,147.782)" />
+ <filter
+ color-interpolation-filters="sRGB"
+ id="filter3911">
+ <feGaussianBlur
+ id="feGaussianBlur3913"
+ stdDeviation="4.7443237" />
+ </filter>
+ <linearGradient
+ x1="33.526711"
+ y1="441.98093"
+ x2="107.85637"
+ y2="531.03198"
+ id="linearGradient3966"
+ xlink:href="#linearGradient3743"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="245.51741"
+ y1="426.95151"
+ x2="305.39166"
+ y2="531.48969"
+ id="linearGradient3968"
+ xlink:href="#linearGradient3982"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="601.53467"
+ y1="434.94836"
+ x2="668.81775"
+ y2="543.35834"
+ id="linearGradient3970"
+ xlink:href="#linearGradient3795"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="440.52084"
+ y1="455.93307"
+ x2="486.95523"
+ y2="535.30469"
+ id="linearGradient3972"
+ xlink:href="#linearGradient3990"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="14.689658"
+ y1="99.351982"
+ x2="385.59198"
+ y2="268.4357"
+ id="linearGradient3700"
+ xlink:href="#linearGradient3694"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <g
+ transform="translate(754.352,-70.105)"
+ id="g3733">
+ <path
+ d="M -690.3671,231.76247 -535.89668,88.530764 -361.32418,303.30745 -172.75078,88.081185 -27.666178,221.31553 -236.40038,435.40777 -22.543078,663.49077 -177.64918,807.89088 -374.21168,579.61811 -571.06778,810.83624 -711.17795,672.17796 -496.29398,442.77473 -690.3671,231.76247 z"
+ id="path2870-8"
+ style="fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter3729)" />
+ <path
+ d="M -692.09302,232.01783 -537.6226,88.786116 -363.0501,303.5628 -174.4767,88.336537 -29.392112,221.57089 -238.1263,435.66312 -24.269012,663.74612 -179.3751,808.14623 -375.9376,579.87346 -572.7937,811.09159 -712.90387,672.43331 -498.0199,443.03008 -692.09302,232.01783 z"
+ id="path2870"
+ style="fill:url(#linearGradient3737) #000000;fill-opacity:1;stroke:none" />
+ </g>
+ <g
+ transform="translate(20.6,32.7516)"
+ id="g3915">
+ <g
+ transform="translate(1.16016,5.69711)"
+ id="g3803-6"
+ style="fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter3911)">
+ <path
+ d="m 57.155901,418.14565 53.543029,69.72367 57.81033,-69.72367 44.06868,42.68685 -64.4434,66.8797 66.33665,70.19674 -46.90991,45.53355 -61.5995,-76.36323 L 44.359532,643.91831 1.2415417,598.85785 69.949501,531.03199 8.8226217,461.30832 57.155901,418.14565 z"
+ id="path591-7"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="m 244.79832,429.52973 c 0,0 120.8305,-4.7445 120.8305,-4.26868 0,0.47308 0.948,51.22421 0.948,51.22421 l -57.335,0.47582 -0.4727,37.94508 53.543,-2.37363 0.4755,47.43133 -54.0185,1.42474 -0.948,75.8874 -63.4954,0.47582 c 0,0 -0.4754,-208.22209 0.4726,-208.22209 z"
+ id="path592-9"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="m 598.28792,429.05391 122.2537,-4.74175 0,49.32913 -57.3349,0.94616 -0.4754,35.10112 49.2813,-3.31979 0,48.85333 -49.2813,0.9489 0.4754,32.7275 61.1269,0.94614 0,49.32915 -125.5704,-0.94891 -0.4753,-209.17098 z"
+ id="path593-7"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ d="m 542.84892,425.26105 c 3.7919,18.02364 7.581,36.04727 11.373,54.07091 -36.2734,12.22845 -92.5367,16.53564 -95.0728,69.62465 6.6716,52.01081 72.9037,35.6457 101.2333,38.04409 0.4726,17.23426 0.9479,34.46577 1.4206,51.70003 -126.7656,16.68968 -165.9022,-46.40543 -168.0398,-68.79402 -12.4997,-100.83115 93.5559,-132.49971 149.0857,-144.64566 z"
+ id="path594-6"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ <g
+ id="g3803">
+ <path
+ d="m 57.155901,418.14565 53.543029,69.72367 57.81033,-69.72367 44.06868,42.68685 -64.4434,66.8797 66.33665,70.19674 -46.90991,45.53355 -61.5995,-76.36323 L 44.359532,643.91831 1.2415417,598.85785 69.949501,531.03199 8.8226217,461.30832 57.155901,418.14565 z"
+ id="path591"
+ style="fill:url(#linearGradient3966) #000000;fill-opacity:1;fill-rule:evenodd;stroke:#00aade;stroke-width:1.25;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 244.79832,429.52973 c 0,0 120.8305,-4.7445 120.8305,-4.26868 0,0.47308 0.948,51.22421 0.948,51.22421 l -57.335,0.47582 -0.4727,37.94508 53.543,-2.37363 0.4755,47.43133 -54.0185,1.42474 -0.948,75.8874 -63.4954,0.47582 c 0,0 -0.4754,-208.22209 0.4726,-208.22209 z"
+ id="path592"
+ style="fill:url(#linearGradient3968) #000000;fill-opacity:1;fill-rule:evenodd;stroke:#00aade;stroke-width:1.25;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 598.28792,429.05391 122.2537,-4.74175 0,49.32913 -57.3349,0.94616 -0.4754,35.10112 49.2813,-3.31979 0,48.85333 -49.2813,0.9489 0.4754,32.7275 61.1269,0.94614 0,49.32915 -125.5704,-0.94891 -0.4753,-209.17098 z"
+ id="path593"
+ style="fill:url(#linearGradient3970) #000000;fill-opacity:1;fill-rule:evenodd;stroke:#00aade;stroke-width:1.25;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ d="m 542.84892,425.26105 c 3.7919,18.02364 7.581,36.04727 11.373,54.07091 -36.2734,12.22845 -92.5367,16.53564 -95.0728,69.62465 6.6716,52.01081 72.9037,35.6457 101.2333,38.04409 0.4726,17.23426 0.9479,34.46577 1.4206,51.70003 -126.7656,16.68968 -165.9022,-46.40543 -168.0398,-68.79402 -12.4997,-100.83115 93.5559,-132.49971 149.0857,-144.64566 z"
+ id="path594"
+ style="fill:url(#linearGradient3972) #000000;fill-opacity:1;fill-rule:evenodd;stroke:#00aade;stroke-width:1.25;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ </g>
+ <path
+ d="m 578.95242,260.83413 c -10.6972,-2.13059 -43.0693,17.59545 -40.7203,19.58198 3.3216,2.80846 45.8033,-18.46915 40.7203,-19.58198 z m -52.4616,-22.76798 c 9.7256,4.57656 23.9505,-3.04948 21.5356,-3.31969 -20.9961,-2.32829 -24.602,-12.15365 -27.8106,-21.78036 -3.1088,-3.21706 -3.7584,19.48502 6.275,25.10005 z m 27.2721,-24.90704 c 0,6.11872 -4.5559,11.57087 -10.4063,11.57087 -5.8504,0 -10.7932,-5.45215 -10.7932,-11.57087 0,-6.11967 4.7498,-11.08601 10.5993,-11.08601 5.8504,0 10.6002,4.96634 10.6002,11.08601 z M 16.830715,101.12157 c -2.35669,-3.997264 15.58448,3.17565 29.05852,10.7025 13.47403,7.52685 49.985924,21.60509 61.047785,23.84455 28.58402,5.78679 94.85551,39.52509 137.9312,84.53798 5.4136,5.38436 20.2097,-17.5752 53.4956,-11.90368 9.5693,0.90382 86.6573,21.41977 118.7017,15.33494 10.9566,-6.90757 10.811,-25.64181 21.294,-33.99019 -0.045,-7.07151 -6.073,-29.85029 -6.1323,-34.68482 -0.3503,-16.82907 15.4145,-25.1292 19.9543,-24.19337 4.7395,1.20982 12.2512,-0.11099 29.2497,41.49049 5.0401,7.79677 12.7941,10.90414 11.9936,3.4595 -9.3761,-29.08315 -16.0192,-60.12065 6.1068,-63.22946 3.0641,0.0175 24.213,-10.52798 29.5887,33.11224 0.9378,6.4473 0.7043,24.60284 1.0894,31.13111 0.7343,5.64798 56.407,-1.77691 110.8588,33.83671 6.3485,3.81868 33.2962,31.20317 7.0146,52.93834 -17.6292,14.61977 -94.1169,52.30301 -99.2329,55.89667 -2.9153,1.99768 -5.6605,10.67769 -1.7876,17.93673 4.8336,9.05946 7.0601,6.16487 22.9967,25.86911 15.9366,19.70424 12.4882,28.91559 -12.7823,22.47304 -8.4481,-2.15378 -30.2355,-13.56174 -39.1523,-10.41058 -4.1726,1.47531 20.7937,25.42635 24.1755,34.89489 11.2088,29.97693 -26.8266,13.89202 -40.7086,7.27877 -13.8819,-6.61325 -37.9592,-20.71994 -46.5061,-21.1775 -16.6061,7.12261 -106.3316,14.98212 -186.0765,-3.92696 -4.8543,1.30866 -45.30917,41.92479 -48.29086,43.46789 -24.97509,7.89371 -5.71027,-29.39652 -1.70225,-44.84886 1.96735,-7.58485 -3.52587,-3.01681 -8.25935,-0.30866 -2.22884,1.27516 -17.01855,7.16442 -26.44472,2.867 -9.42617,-4.29742 20.26264,-34.27865 23.45899,-38.98797 4.41091,-5.55147 -13.29944,-57.40637 24.08701,-116.75771 -3.81209,-6.91805 -52.37384,-47.82933 -88.34617,-67.86888 -33.99333,-19.37581 -116.096985,-56.27571 -118.320405,-58.83561 -3.56692,-2.53825 -13.68108,-9.7552 -8.36055,-9.94821 z M 585.18692,273.88598 c -9.0091,-0.67034 -31.1383,23.04481 -28.7893,25.03135 3.3225,2.80846 33.2632,-24.68771 28.7893,-25.03135 z m 76.2504,-120.12921 c -1.1712,-3.09832 -28.8917,31.85639 -24.0061,44.70613 2.1316,5.60635 27.6885,-34.96468 24.0061,-44.70613 z m -29.8887,-5.48954 c -10.362,10.1444 -8.4828,47.59565 -6.2189,47.1794 10.6101,-1.95078 9.3483,-50.24308 6.2189,-47.1794 z"
+ id="path602"
+ style="fill:url(#linearGradient3700) #000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
+</svg>
diff --git a/src/html/img/noscreenshot.png b/src/html/img/noscreenshot.png
new file mode 100644
index 0000000..3f4ca13
--- /dev/null
+++ b/src/html/img/noscreenshot.png
Binary files differ
diff --git a/src/html/img/planets.png b/src/html/img/planets.png
new file mode 100644
index 0000000..b7aa5e9
--- /dev/null
+++ b/src/html/img/planets.png
Binary files differ
diff --git a/src/html/index.html b/src/html/index.html
new file mode 100644
index 0000000..1ab9082
--- /dev/null
+++ b/src/html/index.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset=utf-8 />
+<script type="text/javascript" src="qrc:/js/jquery"></script>
+<script type="text/javascript" src="qrc:/js/jquery-ui"></script>
+<script type="text/javascript" src="qrc:/js/emuchooser"></script>
+<link rel="stylesheet" type="text/css" href="qrc:/css/jquery-ui" />
+<link rel="stylesheet" type="text/css" href="qrc:/css/style" />
+<link rel="stylesheet" type="text/css" href="qrc:/css/icons" />
+</head>
+<body onload="init();">
+ <div id="head">
+ <div style="margin: 20px;">
+ <img src="qrc:/img/planets" />
+ </div>
+ <div style="-webkit-box-flex: 1"></div>
+ <div class="titlebg">
+ <span class="title_font">emuchooser</span> <span
+ class="subtitle_font">Original Environments</span>
+ </div>
+ </div>
+ <div id="middle">
+ <div id="menu">
+ <div class="listhead">
+ <h3>Environments</h3>
+ </div>
+ <div class="listcontent">
+ <ul id="emulist">
+ </ul>
+ </div>
+ </div>
+ <div id="content">
+ </div>
+ </div>
+ <div id="foot">
+ <button id="about">About</button>
+ <div style="-webkit-box-flex:1;"></div>
+ <button id="help">Help</button>
+ <button id="start">Start Environment</button>
+ </div>
+</body>
+</html>
diff --git a/src/html/js/emuchooser.js b/src/html/js/emuchooser.js
new file mode 100644
index 0000000..78fbd4f
--- /dev/null
+++ b/src/html/js/emuchooser.js
@@ -0,0 +1,57 @@
+var activeEntry = "";
+
+var about = function() {
+ if (activeEntry != "") {
+ $("#" + activeEntry).toggleClass("selected");
+ }
+ activeEntry = "";
+
+ $("#content").html(emuchooser.getAbout());
+ return false;
+};
+
+var help = function() {
+ if (activeEntry != "") {
+ $("#" + activeEntry).toggleClass("selected");
+ }
+ activeEntry = "";
+
+ $("#content").html(emuchooser.getHelp());
+ var foo = emuchooser.getList();
+};
+
+var run = function() {
+ if (activeEntry != "") {
+ id = parseInt(activeEntry.substring(5));
+ emuchooser.run(id);
+ }
+}
+
+var handleListClick = function (e) {
+ id = parseInt(e.srcElement.id.substring(5));
+ if (activeEntry != "") {
+ $("#" + activeEntry).toggleClass("selected");
+ }
+ $("#" + e.srcElement.id).toggleClass("selected");
+ activeEntry = e.srcElement.id;
+ $("#content").html(emuchooser.getDetails(id));
+};
+
+var renderList = function () {
+ var foo = emuchooser.getList();
+ $.each(foo, function(i,item) {
+ $("#emulist").append('<li id="item_'+ item.id +'" class="list '+ item.icon + '">' + item.title + '</li>');
+ $('#item_' + item.id).click(handleListClick);
+ });
+};
+
+
+var init = function() {
+ renderList();
+ $("button").button();
+ $("#content").html(emuchooser.getWelcome());
+ $("#about").click(about);
+ $("#help").click(help);
+ $("#start").click(run);
+
+};
diff --git a/src/html/js/jquery-ui.js b/src/html/js/jquery-ui.js
new file mode 100644
index 0000000..14c9064
--- /dev/null
+++ b/src/html/js/jquery-ui.js
@@ -0,0 +1,791 @@
+/*!
+ * jQuery UI 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */
+(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16",
+keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=
+this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,
+"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":
+"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,
+outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,
+"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&
+a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&
+c.ui.isOverAxis(b,e,i)}})}})(jQuery);
+;/*!
+ * jQuery UI Widget 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Widget
+ */
+(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)try{b(d).triggerHandler("remove")}catch(e){}k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(d){}});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=
+function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):
+d;if(e&&d.charAt(0)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=
+b.extend(true,{},this.options,this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+
+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",
+c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
+;/*!
+ * jQuery UI Mouse 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Mouse
+ *
+ * Depends:
+ * jquery.ui.widget.js
+ */
+(function(b){var d=false;b(document).mouseup(function(){d=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(true===b.data(c.target,a.widgetName+".preventClickEvent")){b.removeData(c.target,a.widgetName+".preventClickEvent");c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+
+this.widgetName)},_mouseDown:function(a){if(!d){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,f=a.which==1,g=typeof this.options.cancel=="string"&&a.target.nodeName?b(a.target).closest(this.options.cancel).length:false;if(!f||g||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=
+this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();return true}}true===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(e){return c._mouseMove(e)};this._mouseUpDelegate=function(e){return c._mouseUp(e)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return d=true}},_mouseMove:function(a){if(b.browser.msie&&
+!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=
+false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
+;/*
+ * jQuery UI Position 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Position
+ */
+(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY,
+left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+=
+k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-=
+m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left=
+d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+=
+a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b),
+g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery);
+;/*
+ * jQuery UI Draggable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Draggables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */
+(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper==
+"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b=
+this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;if(b.iframeFix)d(b.iframeFix===true?"iframe":b.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")});return true},_mouseStart:function(a){var b=this.options;
+this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});
+this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);d.ui.ddmanager&&d.ui.ddmanager.dragStart(this,a);return true},
+_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=
+false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,
+10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},_mouseUp:function(a){this.options.iframeFix===true&&d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});d.ui.ddmanager&&d.ui.ddmanager.dragStop(this,a);return d.ui.mouse.prototype._mouseUp.call(this,a)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||
+!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone().removeAttr("id"):this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&
+a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=
+this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),
+10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),
+10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[a.containment=="document"?0:d(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a.containment=="document"?0:d(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,
+(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){a=d(a.containment);var b=a[0];if(b){a.offset();var c=d(b).css("overflow")!=
+"hidden";this.containment=[(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),
+10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=a}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+
+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&
+!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,h=a.pageY;if(this.originalPosition){var g;if(this.containment){if(this.relative_container){g=this.relative_container.offset();g=[this.containment[0]+g.left,this.containment[1]+g.top,this.containment[2]+g.left,this.containment[3]+g.top]}else g=this.containment;if(a.pageX-this.offset.click.left<g[0])e=g[0]+this.offset.click.left;
+if(a.pageY-this.offset.click.top<g[1])h=g[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>g[2])e=g[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>g[3])h=g[3]+this.offset.click.top}if(b.grid){h=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY;h=g?!(h-this.offset.click.top<g[1]||h-this.offset.click.top>g[3])?h:!(h-this.offset.click.top<g[1])?h-b.grid[1]:h+b.grid[1]:h;e=b.grid[0]?this.originalPageX+Math.round((e-this.originalPageX)/
+b.grid[0])*b.grid[0]:this.originalPageX;e=g?!(e-this.offset.click.left<g[0]||e-this.offset.click.left>g[2])?e:!(e-this.offset.click.left<g[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<
+526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b,
+c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.16"});d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var h=d.data(this,"sortable");if(h&&!h.options.disabled){c.sortables.push({instance:h,shouldRevert:h.options.revert});
+h.refreshPositions();h._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({},b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=
+false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c=d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=d(f).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",true);
+this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]};a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;
+c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&
+this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity=
+a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!=
+"x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop-c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-b.overflowOffset.left<
+c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-
+c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable","snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,
+width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"),f=c.options,e=f.snapTolerance,h=b.offset.left,g=h+c.helperProportions.width,n=b.offset.top,o=n+c.helperProportions.height,i=c.snapElements.length-1;i>=0;i--){var j=c.snapElements[i].left,l=j+c.snapElements[i].width,k=c.snapElements[i].top,m=k+c.snapElements[i].height;if(j-e<h&&h<l+e&&k-e<n&&n<m+e||j-e<h&&h<l+e&&k-e<o&&o<m+e||j-e<g&&g<l+e&&k-e<n&&n<m+e||j-e<g&&g<l+e&&k-e<o&&
+o<m+e){if(f.snapMode!="inner"){var p=Math.abs(k-o)<=e,q=Math.abs(m-n)<=e,r=Math.abs(j-g)<=e,s=Math.abs(l-h)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:m,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l}).left-c.margins.left}var t=
+p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(k-n)<=e;q=Math.abs(m-o)<=e;r=Math.abs(j-h)<=e;s=Math.abs(l-g)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:m-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[i].snapping&&
+(p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=p||q||r||s||t}else{c.snapElements[i].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),
+10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b=parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery);
+;/*
+ * jQuery UI Droppable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Droppables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ * jquery.ui.mouse.js
+ * jquery.ui.draggable.js
+ */
+(function(d){d.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"},_create:function(){var a=this.options,b=a.accept;this.isover=0;this.isout=1;this.accept=d.isFunction(b)?b:function(c){return c.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};d.ui.ddmanager.droppables[a.scope]=d.ui.ddmanager.droppables[a.scope]||[];d.ui.ddmanager.droppables[a.scope].push(this);
+a.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var a=d.ui.ddmanager.droppables[this.options.scope],b=0;b<a.length;b++)a[b]==this&&a.splice(b,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(a,b){if(a=="accept")this.accept=d.isFunction(b)?b:function(c){return c.is(b)};d.Widget.prototype._setOption.apply(this,arguments)},_activate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&
+this.element.addClass(this.options.activeClass);b&&this._trigger("activate",a,this.ui(b))},_deactivate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);b&&this._trigger("deactivate",a,this.ui(b))},_over:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass);
+this._trigger("over",a,this.ui(b))}},_out:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",a,this.ui(b))}},_drop:function(a,b){var c=b||d.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return false;var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var g=
+d.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==c.options.scope&&g.accept.call(g.element[0],c.currentItem||c.element)&&d.ui.intersect(c,d.extend(g,{offset:g.element.offset()}),g.options.tolerance)){e=true;return false}});if(e)return false;if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop",
+a,this.ui(c));return this.element}return false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.16"});d.ui.intersect=function(a,b,c){if(!b.offset)return false;var e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height;
+switch(c){case "fit":return i<=e&&g<=k&&j<=f&&h<=l;case "intersect":return i<e+a.helperProportions.width/2&&g-a.helperProportions.width/2<k&&j<f+a.helperProportions.height/2&&h-a.helperProportions.height/2<l;case "pointer":return d.ui.isOver((a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,j,i,b.proportions.height,b.proportions.width);case "touch":return(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l)&&(e>=
+i&&e<=k||g>=i&&g<=k||e<i&&g>k);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f<c.length;f++)if(!(c[f].options.disabled||a&&!c[f].accept.call(c[f].element[0],a.currentItem||a.element))){for(var h=0;h<g.length;h++)if(g[h]==c[f].element[0]){c[f].proportions.height=0;continue a}c[f].visible=c[f].element.css("display")!=
+"none";if(c[f].visible){e=="mousedown"&&c[f]._activate.call(c[f],b);c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight}}}},drop:function(a,b){var c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem||
+a.element)){this.isout=1;this.isover=0;this._deactivate.call(this,b)}}});return c},dragStart:function(a,b){a.element.parents(":not(body,html)").bind("scroll.droppable",function(){a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)})},drag:function(a,b){a.options.refreshPositions&&d.ui.ddmanager.prepareOffsets(a,b);d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var c=d.ui.intersect(a,this,this.options.tolerance);
+if(c=!c&&this.isover==1?"isout":c&&this.isover==0?"isover":null){var e;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");if(g.length){e=d.data(g[0],"droppable");e.greedyChild=c=="isover"?1:0}}if(e&&c=="isover"){e.isover=0;e.isout=1;e._out.call(e,b)}this[c]=1;this[c=="isout"?"isover":"isout"]=0;this[c=="isover"?"_over":"_out"].call(this,b);if(e&&c=="isout"){e.isout=0;e.isover=1;e._over.call(e,b)}}}})},dragStop:function(a,b){a.element.parents(":not(body,html)").unbind("scroll.droppable");
+a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)}}})(jQuery);
+;/*
+ * jQuery UI Resizable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */
+(function(e){e.widget("ui.resizable",e.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");e.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element,
+_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&e.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(e('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),
+top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=
+this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",
+nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d<c.length;d++){var f=e.trim(c[d]),g=e('<div class="ui-resizable-handle '+("ui-resizable-"+f)+'"></div>');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor==
+String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection();
+this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){if(!a.disabled){e(this).removeClass("ui-resizable-autohide");b._handles.show()}},function(){if(!a.disabled)if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();
+var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=
+false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});
+this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff=
+{width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];
+if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},
+_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,
+{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateVirtualBoundaries:function(b){var a=this.options,c,d,f;a={minWidth:k(a.minWidth)?a.minWidth:0,maxWidth:k(a.maxWidth)?a.maxWidth:Infinity,minHeight:k(a.minHeight)?a.minHeight:0,maxHeight:k(a.maxHeight)?a.maxHeight:
+Infinity};if(this._aspectRatio||b){b=a.minHeight*this.aspectRatio;d=a.minWidth/this.aspectRatio;c=a.maxHeight*this.aspectRatio;f=a.maxWidth/this.aspectRatio;if(b>a.minWidth)a.minWidth=b;if(d>a.minHeight)a.minHeight=d;if(c<a.maxWidth)a.maxWidth=c;if(f<a.maxHeight)a.maxHeight=f}this._vBoundaries=a},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width=
+b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(k(b.height))b.width=b.height*this.aspectRatio;else if(k(b.width))b.height=b.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top=a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this._vBoundaries,c=this.axis,d=k(b.width)&&a.maxWidth&&a.maxWidth<b.width,f=k(b.height)&&a.maxHeight&&a.maxHeight<b.height,g=k(b.width)&&a.minWidth&&
+a.minWidth>b.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&l)b.left=i-a.minWidth;if(d&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=
+null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var d=[c.css("borderTopWidth"),c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],f=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=e.map(d,function(g,h){g=parseInt(g,10)||
+0;h=parseInt(f[h],10)||0;return g+h})}e.browser.msie&&(e(b).is(":hidden")||e(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=this.options;this.elementOffset=this.element.offset();if(this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+
+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+
+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);
+b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.16"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),
+10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-
+f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var l=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:l.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(l.css("position"))){c._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?
+e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=
+e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,
+step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=
+e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;
+var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:
+a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-
+d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,
+f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,
+display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=
+e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=
+d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery);
+;/*
+ * jQuery UI Selectable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */
+(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"),
+selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("<div class='ui-selectable-helper'></div>")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX,
+c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting",
+c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d=
+this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.right<b||a.top>i||a.bottom<g);else if(d.tolerance=="fit")k=a.left>b&&a.right<h&&a.top>g&&a.bottom<i;if(k){if(a.selected){a.$element.removeClass("ui-selected");a.selected=false}if(a.unselecting){a.$element.removeClass("ui-unselecting");
+a.unselecting=false}if(!a.selecting){a.$element.addClass("ui-selecting");a.selecting=true;f._trigger("selecting",c,{selecting:a.element})}}else{if(a.selecting)if(c.metaKey&&a.startselected){a.$element.removeClass("ui-selecting");a.selecting=false;a.$element.addClass("ui-selected");a.selected=true}else{a.$element.removeClass("ui-selecting");a.selecting=false;if(a.startselected){a.$element.addClass("ui-unselecting");a.unselecting=true}f._trigger("unselecting",c,{unselecting:a.element})}if(a.selected)if(!c.metaKey&&
+!a.startselected){a.$element.removeClass("ui-selected");a.selected=false;a.$element.addClass("ui-unselecting");a.unselecting=true;f._trigger("unselecting",c,{unselecting:a.element})}}}});return false}},_mouseStop:function(c){var f=this;this.dragged=false;e(".ui-unselecting",this.element[0]).each(function(){var d=e.data(this,"selectable-item");d.$element.removeClass("ui-unselecting");d.unselecting=false;d.startselected=false;f._trigger("unselected",c,{unselected:d.element})});e(".ui-selecting",this.element[0]).each(function(){var d=
+e.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected");d.selecting=false;d.selected=true;d.startselected=true;f._trigger("selected",c,{selected:d.element})});this._trigger("stop",c);this.helper.remove();return false}});e.extend(e.ui.selectable,{version:"1.8.16"})})(jQuery);
+;/*
+ * jQuery UI Sortable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Sortables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */
+(function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable");
+this.refresh();this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a===
+"disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&
+!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,
+left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};
+this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=
+document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);
+return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top<
+b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()-
+b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,
+a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],
+e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();
+c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):
+this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,
+dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},
+toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||
+this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection();
+var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)},
+_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();
+if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
+this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element),
+this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&&
+this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=
+this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=
+d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||
+0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",
+a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-
+f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b=
+this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width==
+""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=
+this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a=
+{top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),
+10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?
+document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),
+10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b=
+this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&
+this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();
+var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-
+this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g-
+this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],
+this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]=
+"";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove",
+f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,
+this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",
+a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},
+_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.16"})})(jQuery);
+;/*
+ * jQuery UI Accordion 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ */
+(function(c){c.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix");
+a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
+if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var h=d.closest(".ui-accordion-header");a.active=h.length?h:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion",
+function(f){return a._keydown(f)}).next().attr("role","tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(f){a._clickHandler.call(a,f,this);f.preventDefault()})},_createIcons:function(){var a=
+this.options;if(a.icons){c("<span></span>").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex");
+this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons();
+b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,h=this.headers.index(a.target),f=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:f=this.headers[(h+1)%d];break;case b.LEFT:case b.UP:f=this.headers[(h-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target);
+a.preventDefault()}if(f){c(a.target).attr("tabIndex",-1);c(f).attr("tabIndex",0);f.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+
+c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options;
+if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){var h=this.active;j=a.next();g=this.active.next();e={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):j,oldContent:g};var f=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(j,g,e,b,f);h.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);
+if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);a.next().addClass("ui-accordion-content-active")}}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var g=this.active.next(),
+e={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:g},j=this.active=c([]);this._toggle(j,g,e)}},_toggle:function(a,b,d,h,f){var g=this,e=g.options;g.toShow=a;g.toHide=b;g.data=d;var j=function(){if(g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data);g.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&h?{toShow:c([]),toHide:b,complete:j,down:f,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:f,autoHeight:e.autoHeight||
+e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;h=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!h[k]&&!c.easing[k])k="slide";h[k]||(h[k]=function(l){this.slide(l,{easing:k,duration:i||700})});h[k](d)}else{if(e.collapsible&&h)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false",
+"aria-selected":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.16",
+animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),h=0,f={},g={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){g[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/);
+f[i]={value:j[1],unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g,{step:function(j,i){if(i.prop=="height")h=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=h*f[i.prop].value+f[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide",
+paddingTop:"hide",paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery);
+;/*
+ * jQuery UI Autocomplete 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ * jquery.ui.position.js
+ */
+(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.propAttr("readOnly"))){g=
+false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!=
+a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)};
+this.menu=d("<ul></ul>").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&&
+a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");
+d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&&
+b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else this.source=
+this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)!==false)return this._search(a)},_search:function(a){this.pending++;this.element.addClass("ui-autocomplete-loading");this.source({term:a},this.response)},_response:function(a){if(!this.options.disabled&&a&&a.length){a=this._normalize(a);this._suggest(a);this._trigger("open")}else this.close();
+this.pending--;this.pending||this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing);if(this.menu.element.is(":visible")){this.menu.element.hide();this.menu.deactivate();this._trigger("close",a)}},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(a){if(a.length&&a[0].label&&a[0].value)return a;return d.map(a,function(b){if(typeof b==="string")return{label:b,value:b};return d.extend({label:b.label||
+b.value,value:b.value||b.label},b)})},_suggest:function(a){var b=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(b,a);this.menu.deactivate();this.menu.refresh();b.show();this._resizeMenu();b.position(d.extend({of:this.element},this.options.position));this.options.autoFocus&&this.menu.next(new d.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth(),this.element.outerWidth()))},_renderMenu:function(a,b){var g=this;
+d.each(b,function(c,f){g._renderItem(a,f)})},_renderItem:function(a,b){return d("<li></li>").data("item.autocomplete",b).append(d("<a></a>").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,
+"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery);
+(function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",
+-1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.scrollTop(),c=this.element.height();if(b<0)this.element.scrollTop(g+b);else b>=c&&this.element.scrollTop(g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");
+this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0);e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this.activate(b,
+this.element.children(a))},nextPage:function(e){if(this.hasScroll())if(!this.active||this.last())this.activate(e,this.element.children(".ui-menu-item:first"));else{var a=this.active.offset().top,b=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-a-b+d(this).height();return c<10&&c>-10});g.length||(g=this.element.children(".ui-menu-item:last"));this.activate(e,g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||
+this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first"));this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||
+this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[d.fn.prop?"prop":"attr"]("scrollHeight")},select:function(e){this._trigger("selected",e,{item:this.active})}})})(jQuery);
+;/*
+ * jQuery UI Button 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ */
+(function(b){var h,i,j,g,l=function(){var a=b(this).find(":ui-button");setTimeout(function(){a.button("refresh")},1)},k=function(a){var c=a.name,e=a.form,f=b([]);if(c)f=e?b(e).find("[name='"+c+"']"):b("[name='"+c+"']",a.ownerDocument).filter(function(){return!this.form});return f};b.widget("ui.button",{options:{disabled:null,text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",l);if(typeof this.options.disabled!==
+"boolean")this.options.disabled=this.element.propAttr("disabled");this._determineButtonType();this.hasTitle=!!this.buttonElement.attr("title");var a=this,c=this.options,e=this.type==="checkbox"||this.type==="radio",f="ui-state-hover"+(!e?" ui-state-active":"");if(c.label===null)c.label=this.buttonElement.html();if(this.element.is(":disabled"))c.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button",function(){if(!c.disabled){b(this).addClass("ui-state-hover");
+this===h&&b(this).addClass("ui-state-active")}}).bind("mouseleave.button",function(){c.disabled||b(this).removeClass(f)}).bind("click.button",function(d){if(c.disabled){d.preventDefault();d.stopImmediatePropagation()}});this.element.bind("focus.button",function(){a.buttonElement.addClass("ui-state-focus")}).bind("blur.button",function(){a.buttonElement.removeClass("ui-state-focus")});if(e){this.element.bind("change.button",function(){g||a.refresh()});this.buttonElement.bind("mousedown.button",function(d){if(!c.disabled){g=
+false;i=d.pageX;j=d.pageY}}).bind("mouseup.button",function(d){if(!c.disabled)if(i!==d.pageX||j!==d.pageY)g=true})}if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){if(c.disabled||g)return false;b(this).toggleClass("ui-state-active");a.buttonElement.attr("aria-pressed",a.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",function(){if(c.disabled||g)return false;b(this).addClass("ui-state-active");a.buttonElement.attr("aria-pressed","true");
+var d=a.element[0];k(d).not(d).map(function(){return b(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")});else{this.buttonElement.bind("mousedown.button",function(){if(c.disabled)return false;b(this).addClass("ui-state-active");h=this;b(document).one("mouseup",function(){h=null})}).bind("mouseup.button",function(){if(c.disabled)return false;b(this).removeClass("ui-state-active")}).bind("keydown.button",function(d){if(c.disabled)return false;if(d.keyCode==b.ui.keyCode.SPACE||
+d.keyCode==b.ui.keyCode.ENTER)b(this).addClass("ui-state-active")}).bind("keyup.button",function(){b(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(d){d.keyCode===b.ui.keyCode.SPACE&&b(this).click()})}this._setOption("disabled",c.disabled);this._resetButton()},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?"input":"button";if(this.type==="checkbox"||this.type===
+"radio"){var a=this.element.parents().filter(":last"),c="label[for='"+this.element.attr("id")+"']";this.buttonElement=a.find(c);if(!this.buttonElement.length){a=a.length?a.siblings():this.element.siblings();this.buttonElement=a.filter(c);if(!this.buttonElement.length)this.buttonElement=a.find(c)}this.element.addClass("ui-helper-hidden-accessible");(a=this.element.is(":checked"))&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",a)}else this.buttonElement=this.element},
+widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());this.hasTitle||this.buttonElement.removeAttr("title");
+b.Widget.prototype.destroy.call(this)},_setOption:function(a,c){b.Widget.prototype._setOption.apply(this,arguments);if(a==="disabled")c?this.element.propAttr("disabled",true):this.element.propAttr("disabled",false);else this._resetButton()},refresh:function(){var a=this.element.is(":disabled");a!==this.options.disabled&&this._setOption("disabled",a);if(this.type==="radio")k(this.element[0]).each(function(){b(this).is(":checked")?b(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
+"true"):b(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")});else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false")},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var a=this.buttonElement.removeClass("ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only"),
+c=b("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(a.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,d=[];if(e.primary||e.secondary){if(this.options.text)d.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary"));e.primary&&a.prepend("<span class='ui-button-icon-primary ui-icon "+e.primary+"'></span>");e.secondary&&a.append("<span class='ui-button-icon-secondary ui-icon "+e.secondary+"'></span>");if(!this.options.text){d.push(f?"ui-button-icons-only":
+"ui-button-icon-only");this.hasTitle||a.attr("title",c)}}else d.push("ui-button-text-only");a.addClass(d.join(" "))}}});b.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,c){a==="disabled"&&this.buttons.button("option",a,c);b.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var a=this.element.css("direction")===
+"ltr";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(a?"ui-corner-left":"ui-corner-right").end().filter(":last").addClass(a?"ui-corner-right":"ui-corner-left").end().end()},destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");
+b.Widget.prototype.destroy.call(this)}})})(jQuery);
+;/*
+ * jQuery UI Dialog 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ * jquery.ui.button.js
+ * jquery.ui.draggable.js
+ * jquery.ui.mouse.js
+ * jquery.ui.position.js
+ * jquery.ui.resizable.js
+ */
+(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,
+position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||"&#160;",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+
+b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&!i.isDefaultPrevented()&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),
+h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id",
+e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");
+a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==
+b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()};c.ui.dialog.maxZ+=1;
+d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===
+f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,
+function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('<button type="button"></button>').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",
+handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,
+originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",
+f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):
+[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f);
+if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):
+e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||"&#160;"));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a=
+this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height-
+b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.16",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),
+create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()<c.ui.dialog.overlay.maxZ)return false})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&!d.isDefaultPrevented()&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||
+c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&&
+c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px"}else return c(document).height()+"px"},width:function(){var a,b;if(c.browser.msie){a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px"}else return c(document).width()+
+"px"},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances,function(){a=a.add(this)});a.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);
+;/*
+ * jQuery UI Slider 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */
+(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var a=this,b=this.options,c=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f=b.values&&b.values.length||1,e=[];this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+
+this.orientation+" ui-widget ui-widget-content ui-corner-all"+(b.disabled?" ui-slider-disabled ui-disabled":""));this.range=d([]);if(b.range){if(b.range===true){if(!b.values)b.values=[this._valueMin(),this._valueMin()];if(b.values.length&&b.values.length!==2)b.values=[b.values[0],b.values[0]]}this.range=d("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(b.range==="min"||b.range==="max"?" ui-slider-range-"+b.range:""))}for(var j=c.length;j<f;j+=1)e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>");
+this.handles=c.add(d(e.join("")).appendTo(a.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle",
+g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!a.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");i=a._start(g,l);if(i===false)return}break}m=a.options.step;i=a.options.values&&a.options.values.length?
+(h=a.values(l)):(h=a.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=a._valueMin();break;case d.ui.keyCode.END:h=a._valueMax();break;case d.ui.keyCode.PAGE_UP:h=a._trimAlignValue(i+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=a._trimAlignValue(i-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===a._valueMax())return;h=a._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===a._valueMin())return;h=a._trimAlignValue(i-
+m);break}a._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(g,k);a._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy();
+return this},_mouseCapture:function(a){var b=this.options,c,f,e,j,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(b.range===true&&this.values(1)===b.min){g+=1;e=d(this.handles[g])}if(this._start(a,g)===false)return false;
+this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();b=e.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-e.width()/2,top:a.pageY-b.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b=
+this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b=
+this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);
+c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var f;if(this.options.values&&this.options.values.length){f=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>f||b===1&&c<f))c=f;if(c!==this.values(b)){f=this.values();f[b]=c;a=this._trigger("slide",a,{handle:this.handles[b],value:c,values:f});this.values(b?0:1);a!==false&&this.values(b,c,true)}}else if(c!==this.value()){a=this._trigger("slide",a,{handle:this.handles[b],value:c});
+a!==false&&this.value(c)}},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("change",a,c)}},value:function(a){if(arguments.length){this.options.value=
+this._trimAlignValue(a);this._refreshValue();this._change(null,0)}else return this._value()},values:function(a,b){var c,f,e;if(arguments.length>1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e<c.length;e+=1){c[e]=this._trimAlignValue(f[e]);this._change(null,e)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(a):
+this.value();else return this._values()},_setOption:function(a,b){var c,f=0;if(d.isArray(this.options.values))f=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(a){case "disabled":if(b){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.propAttr("disabled",true);this.element.addClass("ui-disabled")}else{this.handles.propAttr("disabled",false);this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();
+this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<f;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c;if(arguments.length){b=this.options.values[a];
+return b=this._trimAlignValue(b)}else{b=this.options.values.slice();for(c=0;c<b.length;c+=1)b[c]=this._trimAlignValue(b[c]);return b}},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a=
+this.options.range,b=this.options,c=this,f=!this._animateOff?b.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({width:e-
+g+"%"},{queue:false,duration:b.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:b.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[f?"animate":"css"]({width:e+"%"},
+b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.16"})})(jQuery);
+;/*
+ * jQuery UI Tabs 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ */
+(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&&
+e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=
+d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]||
+(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
+this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected=
+this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
+if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));
+this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+
+g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",
+function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};
+this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=
+-1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";
+d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=
+d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b,
+e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);
+j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();
+if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=b}),function(h){return h>=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null,
+this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this},
+load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c,
+"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},
+url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.16"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k<a.anchors.length?k:0)},b);j&&j.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(j){j.clientX&&
+a.rotate(null)}:function(){t=c.selected;h()});if(b){this.element.bind("tabsshow",h);this.anchors.bind(c.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(c.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);
+;/*
+ * jQuery UI Datepicker 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker
+ *
+ * Depends:
+ * jquery.ui.core.js
+ */
+(function(d,C){function M(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=
+"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",
+"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",
+minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false,disabled:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=N(d('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function N(a){return a.bind("mouseout",
+function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
+b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.16"}});var B=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},
+setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g,
+"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",
+function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d('<span class="'+this._appendClass+'">'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c==
+"focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('<button type="button"></button>').addClass(this._triggerClass).html(f==""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():
+d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,
+b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=
+1;this._dialogInput=d('<input type="text" id="'+("dp"+this.uuid)+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/
+2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=
+d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=
+a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a,
+"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==
+a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return true;return false},_getInst:function(a){try{return d.data(a,"datepicker")}catch(b){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(a,b,c){var e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"?
+d.extend({},e.settings):this._get(e,b):null;var f=b||{};if(typeof b=="string"){f={};f[b]=c}if(e){this._curInst==e&&this._hideDatepicker();var h=this._getDateDatepicker(a,true),i=this._getMinMaxDate(e,"min"),g=this._getMinMaxDate(e,"max");H(e.settings,f);if(i!==null&&f.dateFormat!==C&&f.minDate===C)e.settings.minDate=this._formatDate(e,i);if(g!==null&&f.dateFormat!==C&&f.maxDate===C)e.settings.maxDate=this._formatDate(e,g);this._attachments(d(a),e);this._autoSize(e);this._setDate(e,h);this._updateAlternate(e);
+this._updateDatepicker(e)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&!a.inline&&this._setDateFromField(a,b);return a?this._getDate(a):null},_doKeyDown:function(a){var b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl");
+b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 9:d.datepicker._hideDatepicker();c=false;break;case 13:c=d("td."+d.datepicker._dayOverClass+":not(."+d.datepicker._currentClass+")",b.dpDiv);c[0]&&d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]);if(a=d.datepicker._get(b,"onSelect")){c=d.datepicker._formatDate(b);a.apply(b.input?b.input[0]:null,[c,b])}else d.datepicker._hideDatepicker();return false;case 27:d.datepicker._hideDatepicker();break;case 33:d.datepicker._adjustDate(a.target,
+a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c=
+a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,-7,"D");c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,
+"stepMonths"),"M");break;case 40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,+7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else c=false;if(c){a.preventDefault();a.stopPropagation()}},_doKeyPress:function(a){var b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));var c=String.fromCharCode(a.charCode==C?a.keyCode:a.charCode);
+return a.ctrlKey||a.metaKey||c<" "||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input",
+a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var c=d.datepicker._get(b,"beforeShow");c=c?c.apply(a,[a,b]):{};if(c!==false){H(b.settings,c);b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value=
+"";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);
+c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing=
+true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}}},_updateDatepicker:function(a){this.maxRows=4;var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});
+a.dpDiv.find("."+this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&
+!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),
+h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=
+this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);
+this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},
+_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):
+0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e["selected"+(c=="M"?
+"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);
+this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");
+if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?
+b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1<a.length&&a.charAt(A+1)==p)&&A++;return p},m=function(p){var D=
+o(p);p=new RegExp("^\\d{1,"+(p=="@"?14:p=="!"?20:p=="y"&&D?4:p=="o"?3:2)+"}");p=b.substring(q).match(p);if(!p)throw"Missing number at position "+q;q+=p[0].length;return parseInt(p[0],10)},n=function(p,D,K){p=d.map(o(p)?K:D,function(w,x){return[[x,w]]}).sort(function(w,x){return-(w[1].length-x[1].length)});var E=-1;d.each(p,function(w,x){w=x[1];if(b.substr(q,w.length).toLowerCase()==w.toLowerCase()){E=x[0];q+=w.length;return false}});if(E!=-1)return E+1;else throw"Unknown name at position "+q;},s=
+function(){if(b.charAt(q)!=a.charAt(A))throw"Unexpected literal at position "+q;q++},q=0,A=0;A<a.length;A++)if(k)if(a.charAt(A)=="'"&&!o("'"))k=false;else s();else switch(a.charAt(A)){case "d":l=m("d");break;case "D":n("D",f,h);break;case "o":u=m("o");break;case "m":j=m("m");break;case "M":j=n("M",i,g);break;case "y":c=m("y");break;case "@":var v=new Date(m("@"));c=v.getFullYear();j=v.getMonth()+1;l=v.getDate();break;case "!":v=new Date((m("!")-this._ticksTo1970)/1E4);c=v.getFullYear();j=v.getMonth()+
+1;l=v.getDate();break;case "'":if(o("'"))s();else k=true;break;default:s()}if(q<b.length)throw"Extra/unparsed characters found in date: "+b.substring(q);if(c==-1)c=(new Date).getFullYear();else if(c<100)c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",
+COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:
+null)||this._defaults.monthNames;var i=function(o){(o=k+1<a.length&&a.charAt(k+1)==o)&&k++;return o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return m},j=function(o,m,n,s){return i(o)?s[m]:n[m]},l="",u=false;if(b)for(var k=0;k<a.length;k++)if(u)if(a.charAt(k)=="'"&&!i("'"))u=false;else l+=a.charAt(k);else switch(a.charAt(k)){case "d":l+=g("d",b.getDate(),2);break;case "D":l+=j("D",b.getDay(),e,f);break;case "o":l+=g("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-
+(new Date(b.getFullYear(),0,0)).getTime())/864E5),3);break;case "m":l+=g("m",b.getMonth()+1,2);break;case "M":l+=j("M",b.getMonth(),h,c);break;case "y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case "@":l+=b.getTime();break;case "!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "'":if(i("'"))l+="'";else u=true;break;default:l+=a.charAt(k)}return l},_possibleChars:function(a){for(var b="",c=false,e=function(h){(h=f+1<a.length&&a.charAt(f+1)==h)&&f++;return h},f=
+0;f<a.length;f++)if(c)if(a.charAt(f)=="'"&&!e("'"))c=false;else b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case "@":b+="0123456789";break;case "D":case "M":return null;case "'":if(e("'"))b+="'";else c=true;break;default:b+=a.charAt(f)}return b},_get:function(a,b){return a.settings[b]!==C?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),e=a.lastVal=a.input?a.input.val():null,f,h;f=h=this._getDefaultDate(a);
+var i=this._getFormatConfig(a);try{f=this.parseDate(c,e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var e=function(h){var i=new Date;
+i.setDate(i.getDate()+h);return i},f=function(h){try{return d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var g=(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new Date,j=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,k=u.exec(h);k;){switch(k[2]||"d"){case "d":case "D":g+=parseInt(k[1],10);break;case "w":case "W":g+=parseInt(k[1],10)*7;break;case "m":case "M":l+=parseInt(k[1],10);g=
+Math.min(g,d.datepicker._getDaysInMonth(j,l));break;case "y":case "Y":j+=parseInt(k[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(j,l));break}k=u.exec(h)}return new Date(j,l,g)};if(b=(b=b==null||b===""?c:typeof b=="string"?f(b):typeof b=="number"?isNaN(b)?c:e(b):new Date(b.getTime()))&&b.toString()=="Invalid Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>
+12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&&
+a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?
+new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&n<k?k:n;this._daylightSavingAdjust(new Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a));
+n=this._canAdjustMonth(a,-1,m,g)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', -"+j+", 'M');\" title=\""+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>":f?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m,
+g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', +"+j+", 'M');\" title=\""+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":f?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&&
+a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+B+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>":"";e=e?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?h:"")+(this._isInRange(a,s)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+
+B+".datepicker._gotoToday('#"+a.id+"');\">"+j+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x<i[0];x++){var O=
+"";this.maxRows=4;for(var G=0;G<i[1];G++){var P=this._daylightSavingAdjust(new Date(m,g,a.selectedDay)),t=" ui-corner-all",y="";if(l){y+='<div class="ui-datepicker-group';if(i[1]>1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+t+'">'+(/all|left/.test(t)&&
+x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var z=j?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var r=(t+h)%7;z+="<th"+((t+h+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+s[r]+'">'+q[r]+"</span></th>"}y+=z+"</tr></thead><tbody>";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,
+z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q<z;Q++){y+="<tr>";var R=!j?"":'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(r)+"</td>";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&r<k||o&&r>o;R+='<td class="'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(r.getTime()==
+P.getTime()&&g==a.selectedMonth&&a._keyEvent||E.getTime()==r.getTime()&&E.getTime()==P.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!D?"":" "+I[1]+(r.getTime()==u.getTime()?" "+this._currentClass:"")+(r.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!F||D)&&I[2]?' title="'+I[2]+'"':"")+(L?"":' onclick="DP_jQuery_'+B+".datepicker._selectDay('#"+a.id+"',"+r.getMonth()+","+r.getFullYear()+', this);return false;"')+">"+(F&&!D?"&#xa0;":L?'<span class="ui-state-default">'+
+r.getDate()+"</span>":'<a class="ui-state-default'+(r.getTime()==b.getTime()?" ui-state-highlight":"")+(r.getTime()==u.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+'" href="#">'+r.getDate()+"</a>")+"</td>";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+"</tr>"}g++;if(g>11){g=0;m++}y+="</tbody></table>"+(l?"</div>"+(i[0]>0&&G==i[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':
+"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='<div class="ui-datepicker-title">',o="";if(h||!j)o+='<span class="ui-datepicker-month">'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" >";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&&
+(!m||n<=f.getMonth()))o+='<option value="'+n+'"'+(n==b?' selected="selected"':"")+">"+g[n]+"</option>";o+="</select>"}u||(k+=o+(h||!(j&&l)?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+='<span class="ui-datepicker-year">'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b,
+e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" >";b<=g;b++)a.yearshtml+='<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";a.yearshtml+="</select>";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?"&#xa0;":"")+o;k+="</div>";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+
+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&b<c?c:b;return b=a&&b>a?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input?
+a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c,
+e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,
+"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this;
+if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a==
+"string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.16";window["DP_jQuery_"+B]=d})(jQuery);
+;/*
+ * jQuery UI Progressbar 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ */
+(function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
+this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*
+this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.16"})})(jQuery);
+;/*
+ * jQuery UI Effects 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/
+ */
+jQuery.effects||function(f,j){function m(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1],
+16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return n.transparent;return n[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return m(b)}function o(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,
+a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function p(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d=
+a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function l(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor",
+"borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=m(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var n={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,
+0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,
+211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},q=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,
+d){if(f.isFunction(b)){d=b;b=null}return this.queue(function(){var e=f(this),g=e.attr("style")||" ",h=p(o.call(this)),r,v=e.attr("class");f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});r=p(o.call(this));e.attr("class",v);e.animate(u(h,r),{queue:false,duration:a,easing:b,complete:function(){f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments);f.dequeue(this)}})})};
+f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this,
+[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.16",save:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.data("ec.storage."+a[b],c[0].style[a[b]])},restore:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.css(a[b],c.data("ec.storage."+a[b]))},setMode:function(c,a){if(a=="toggle")a=c.is(":hidden")?"show":"hide";return a},getBaseline:function(c,a){var b;switch(c[0]){case "top":b=
+0;break;case "middle":b=0.5;break;case "bottom":b=1;break;default:b=c[0]/a.height}switch(c[1]){case "left":c=0;break;case "center":c=0.5;break;case "right":c=1;break;default:c=c[1]/a.width}return{x:c,y:b}},createWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent();var a={width:c.outerWidth(true),height:c.outerHeight(true),"float":c.css("float")},b=f("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),
+d=document.activeElement;c.wrap(b);if(c[0]===d||f.contains(c[0],d))f(d).focus();b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(e,g){a[g]=c.css(g);if(isNaN(parseInt(a[g],10)))a[g]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){var a,b=document.activeElement;
+if(c.parent().is(".ui-effects-wrapper")){a=c.parent().replaceWith(c);if(c[0]===b||f.contains(c[0],b))f(b).focus();return a}return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)});
+return d.call(this,b)},_show:f.fn.show,show:function(c){if(l(c))return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(l(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(l(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this,
+arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/
+2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b,
+d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c,
+a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b,
+d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g))+b},easeOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*a)*Math.sin((a*e-c)*2*Math.PI/g)+d+b},easeInOutElastic:function(c,a,b,d,e){c=1.70158;var g=
+0,h=d;if(a==0)return b;if((a/=e/2)==2)return b+d;g||(g=e*0.3*1.5);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);if(a<1)return-0.5*h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)+b;return h*Math.pow(2,-10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)*0.5+d+b},easeInBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*(a/=e)*a*((g+1)*a-g)+b},easeOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*((a=a/e-1)*a*((g+1)*a+g)+1)+b},easeInOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;
+if((a/=e/2)<1)return d/2*a*a*(((g*=1.525)+1)*a-g)+b;return d/2*((a-=2)*a*(((g*=1.525)+1)*a+g)+2)+b},easeInBounce:function(c,a,b,d,e){return d-f.easing.easeOutBounce(c,e-a,0,d,e)+b},easeOutBounce:function(c,a,b,d,e){return(a/=e)<1/2.75?d*7.5625*a*a+b:a<2/2.75?d*(7.5625*(a-=1.5/2.75)*a+0.75)+b:a<2.5/2.75?d*(7.5625*(a-=2.25/2.75)*a+0.9375)+b:d*(7.5625*(a-=2.625/2.75)*a+0.984375)+b},easeInOutBounce:function(c,a,b,d,e){if(a<e/2)return f.easing.easeInBounce(c,a*2,0,d,e)*0.5+b;return f.easing.easeOutBounce(c,
+a*2-e,0,d,e)*0.5+d*0.5+b}})}(jQuery);
+;/*
+ * jQuery UI Effects Blind 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Blind
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(b){b.effects.blind=function(c){return this.queue(function(){var a=b(this),g=["position","top","bottom","left","right"],f=b.effects.setMode(a,c.options.mode||"hide"),d=c.options.direction||"vertical";b.effects.save(a,g);a.show();var e=b.effects.createWrapper(a).css({overflow:"hidden"}),h=d=="vertical"?"height":"width";d=d=="vertical"?e.height():e.width();f=="show"&&e.css(h,0);var i={};i[h]=f=="show"?d:0;e.animate(i,c.duration,c.options.easing,function(){f=="hide"&&a.hide();b.effects.restore(a,
+g);b.effects.removeWrapper(a);c.callback&&c.callback.apply(a[0],arguments);a.dequeue()})})}})(jQuery);
+;/*
+ * jQuery UI Effects Bounce 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Bounce
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(e){e.effects.bounce=function(b){return this.queue(function(){var a=e(this),l=["position","top","bottom","left","right"],h=e.effects.setMode(a,b.options.mode||"effect"),d=b.options.direction||"up",c=b.options.distance||20,m=b.options.times||5,i=b.duration||250;/show|hide/.test(h)&&l.push("opacity");e.effects.save(a,l);a.show();e.effects.createWrapper(a);var f=d=="up"||d=="down"?"top":"left";d=d=="up"||d=="left"?"pos":"neg";c=b.options.distance||(f=="top"?a.outerHeight({margin:true})/3:a.outerWidth({margin:true})/
+3);if(h=="show")a.css("opacity",0).css(f,d=="pos"?-c:c);if(h=="hide")c/=m*2;h!="hide"&&m--;if(h=="show"){var g={opacity:1};g[f]=(d=="pos"?"+=":"-=")+c;a.animate(g,i/2,b.options.easing);c/=2;m--}for(g=0;g<m;g++){var j={},k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing);c=h=="hide"?c*2:c/2}if(h=="hide"){g={opacity:0};g[f]=(d=="pos"?"-=":"+=")+c;a.animate(g,i/2,b.options.easing,function(){a.hide();e.effects.restore(a,l);e.effects.removeWrapper(a);
+b.callback&&b.callback.apply(this,arguments)})}else{j={};k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing,function(){e.effects.restore(a,l);e.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments)})}a.queue("fx",function(){a.dequeue()});a.dequeue()})}})(jQuery);
+;/*
+ * jQuery UI Effects Clip 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Clip
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(b){b.effects.clip=function(e){return this.queue(function(){var a=b(this),i=["position","top","bottom","left","right","height","width"],f=b.effects.setMode(a,e.options.mode||"hide"),c=e.options.direction||"vertical";b.effects.save(a,i);a.show();var d=b.effects.createWrapper(a).css({overflow:"hidden"});d=a[0].tagName=="IMG"?d:a;var g={size:c=="vertical"?"height":"width",position:c=="vertical"?"top":"left"};c=c=="vertical"?d.height():d.width();if(f=="show"){d.css(g.size,0);d.css(g.position,
+c/2)}var h={};h[g.size]=f=="show"?c:0;h[g.position]=f=="show"?0:c/2;d.animate(h,{queue:false,duration:e.duration,easing:e.options.easing,complete:function(){f=="hide"&&a.hide();b.effects.restore(a,i);b.effects.removeWrapper(a);e.callback&&e.callback.apply(a[0],arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Drop 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Drop
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(c){c.effects.drop=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right","opacity"],e=c.effects.setMode(a,d.options.mode||"hide"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a);var f=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var g=d.options.distance||(f=="top"?a.outerHeight({margin:true})/2:a.outerWidth({margin:true})/2);if(e=="show")a.css("opacity",0).css(f,b=="pos"?-g:g);var i={opacity:e==
+"show"?1:0};i[f]=(e=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+g;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){e=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Explode 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Explode
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(j){j.effects.explode=function(a){return this.queue(function(){var c=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3,d=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3;a.options.mode=a.options.mode=="toggle"?j(this).is(":visible")?"hide":"show":a.options.mode;var b=j(this).show().css("visibility","hidden"),g=b.offset();g.top-=parseInt(b.css("marginTop"),10)||0;g.left-=parseInt(b.css("marginLeft"),10)||0;for(var h=b.outerWidth(true),i=b.outerHeight(true),e=0;e<c;e++)for(var f=
+0;f<d;f++)b.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+
+e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery);
+;/*
+ * jQuery UI Effects Fade 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Fade
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Fold 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Fold
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],
+10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery);
+;/*
+ * jQuery UI Effects Highlight 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Highlight
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&&
+this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Pulsate 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Pulsate
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c<times;c++){b.animate({opacity:animateTo},duration,a.options.easing);animateTo=(animateTo+1)%2}b.animate({opacity:animateTo},duration,
+a.options.easing,function(){animateTo==0&&b.hide();a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()}).dequeue()})}})(jQuery);
+;/*
+ * jQuery UI Effects Scale 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Scale
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(c){c.effects.puff=function(b){return this.queue(function(){var a=c(this),e=c.effects.setMode(a,b.options.mode||"hide"),g=parseInt(b.options.percent,10)||150,h=g/100,i={height:a.height(),width:a.width()};c.extend(b.options,{fade:true,mode:e,percent:e=="hide"?g:100,from:e=="hide"?i:{height:i.height*h,width:i.width*h}});a.effect("scale",b.options,b.duration,b.callback);a.dequeue()})};c.effects.scale=function(b){return this.queue(function(){var a=c(this),e=c.extend(true,{},b.options),g=c.effects.setMode(a,
+b.options.mode||"effect"),h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:g=="hide"?0:100),i=b.options.direction||"both",f=b.options.origin;if(g!="effect"){e.origin=f||["middle","center"];e.restore=true}f={height:a.height(),width:a.width()};a.from=b.options.from||(g=="show"?{height:0,width:0}:f);h={y:i!="horizontal"?h/100:1,x:i!="vertical"?h/100:1};a.to={height:f.height*h.y,width:f.width*h.x};if(b.options.fade){if(g=="show"){a.from.opacity=0;a.to.opacity=1}if(g=="hide"){a.from.opacity=
+1;a.to.opacity=0}}e.from=a.from;e.to=a.to;e.mode=g;a.effect("size",e,b.duration,b.callback);a.dequeue()})};c.effects.size=function(b){return this.queue(function(){var a=c(this),e=["position","top","bottom","left","right","width","height","overflow","opacity"],g=["position","top","bottom","left","right","overflow","opacity"],h=["width","height","overflow"],i=["fontSize"],f=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],k=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],
+p=c.effects.setMode(a,b.options.mode||"effect"),n=b.options.restore||false,m=b.options.scale||"both",l=b.options.origin,j={height:a.height(),width:a.width()};a.from=b.options.from||j;a.to=b.options.to||j;if(l){l=c.effects.getBaseline(l,j);a.from.top=(j.height-a.from.height)*l.y;a.from.left=(j.width-a.from.width)*l.x;a.to.top=(j.height-a.to.height)*l.y;a.to.left=(j.width-a.to.width)*l.x}var d={from:{y:a.from.height/j.height,x:a.from.width/j.width},to:{y:a.to.height/j.height,x:a.to.width/j.width}};
+if(m=="box"||m=="both"){if(d.from.y!=d.to.y){e=e.concat(f);a.from=c.effects.setTransition(a,f,d.from.y,a.from);a.to=c.effects.setTransition(a,f,d.to.y,a.to)}if(d.from.x!=d.to.x){e=e.concat(k);a.from=c.effects.setTransition(a,k,d.from.x,a.from);a.to=c.effects.setTransition(a,k,d.to.x,a.to)}}if(m=="content"||m=="both")if(d.from.y!=d.to.y){e=e.concat(i);a.from=c.effects.setTransition(a,i,d.from.y,a.from);a.to=c.effects.setTransition(a,i,d.to.y,a.to)}c.effects.save(a,n?e:g);a.show();c.effects.createWrapper(a);
+a.css("overflow","hidden").css(a.from);if(m=="content"||m=="both"){f=f.concat(["marginTop","marginBottom"]).concat(i);k=k.concat(["marginLeft","marginRight"]);h=e.concat(f).concat(k);a.find("*[width]").each(function(){child=c(this);n&&c.effects.save(child,h);var o={height:child.height(),width:child.width()};child.from={height:o.height*d.from.y,width:o.width*d.from.x};child.to={height:o.height*d.to.y,width:o.width*d.to.x};if(d.from.y!=d.to.y){child.from=c.effects.setTransition(child,f,d.from.y,child.from);
+child.to=c.effects.setTransition(child,f,d.to.y,child.to)}if(d.from.x!=d.to.x){child.from=c.effects.setTransition(child,k,d.from.x,child.from);child.to=c.effects.setTransition(child,k,d.to.x,child.to)}child.css(child.from);child.animate(child.to,b.duration,b.options.easing,function(){n&&c.effects.restore(child,h)})})}a.animate(a.to,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){a.to.opacity===0&&a.css("opacity",a.from.opacity);p=="hide"&&a.hide();c.effects.restore(a,
+n?e:g);c.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Shake 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Shake
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(d){d.effects.shake=function(a){return this.queue(function(){var b=d(this),j=["position","top","bottom","left","right"];d.effects.setMode(b,a.options.mode||"effect");var c=a.options.direction||"left",e=a.options.distance||20,l=a.options.times||3,f=a.duration||a.options.duration||140;d.effects.save(b,j);b.show();d.effects.createWrapper(b);var g=c=="up"||c=="down"?"top":"left",h=c=="up"||c=="left"?"pos":"neg";c={};var i={},k={};c[g]=(h=="pos"?"-=":"+=")+e;i[g]=(h=="pos"?"+=":"-=")+e*2;k[g]=
+(h=="pos"?"-=":"+=")+e*2;b.animate(c,f,a.options.easing);for(e=1;e<l;e++)b.animate(i,f,a.options.easing).animate(k,f,a.options.easing);b.animate(i,f,a.options.easing).animate(c,f/2,a.options.easing,function(){d.effects.restore(b,j);d.effects.removeWrapper(b);a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()});b.dequeue()})}})(jQuery);
+;/*
+ * jQuery UI Effects Slide 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Slide
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(c){c.effects.slide=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right"],f=c.effects.setMode(a,d.options.mode||"show"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a).css({overflow:"hidden"});var g=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var e=d.options.distance||(g=="top"?a.outerHeight({margin:true}):a.outerWidth({margin:true}));if(f=="show")a.css(g,b=="pos"?isNaN(e)?"-"+e:-e:e);
+var i={};i[g]=(f=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+e;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){f=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Transfer 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Transfer
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */
+(function(e){e.effects.transfer=function(a){return this.queue(function(){var b=e(this),c=e(a.options.to),d=c.offset();c={top:d.top,left:d.left,height:c.innerHeight(),width:c.innerWidth()};d=b.offset();var f=e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments);
+b.dequeue()})})}})(jQuery);
+; \ No newline at end of file
diff --git a/src/html/js/jquery.js b/src/html/js/jquery.js
new file mode 100644
index 0000000..628ed9b
--- /dev/null
+++ b/src/html/js/jquery.js
@@ -0,0 +1,4 @@
+/*! jQuery v1.6.4 http://jquery.com/ | http://jquery.org/license */
+(function(a,b){function cu(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cr(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cq(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cp(){cn=b}function co(){setTimeout(cp,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bA.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bW(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bP,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bW(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bW(a,c,d,e,"*",g));return l}function bV(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bL),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function by(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bt:bu;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bv(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bl(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bd,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bk(a){f.nodeName(a,"input")?bj(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bj)}function bj(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bi(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bh(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bg(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bf(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function V(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(Q.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function U(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function M(a,b){return(a&&a!=="*"?a+".":"")+b.replace(y,"`").replace(z,"&")}function L(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(w,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function J(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function D(){return!0}function C(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.4",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;B.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:H?function(a){return a==null?"":H.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?F.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(!b)return-1;if(I)return I.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=G.call(arguments,2),g=function(){return a.apply(c,f.concat(G.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){J["[object "+b+"]"]=b.toLowerCase()}),A=e.uaMatch(z),A.browser&&(e.browser[A.browser]=!0,e.browser.version=A.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?C=function(){c.removeEventListener("DOMContentLoaded",C,!1),e.ready()}:c.attachEvent&&(C=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",C),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g+"With"](this===b?d:this,[h])}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-1000px",top:"-1000px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i=f.expando,j=typeof c=="string",k=a.nodeType,l=k?f.cache:a,m=k?a[f.expando]:a[f.expando]&&f.expando;if((!m||e&&m&&l[m]&&!l[m][i])&&j&&d===b)return;m||(k?a[f.expando]=m=++f.uuid:m=f.expando),l[m]||(l[m]={},k||(l[m].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?l[m][i]=f.extend(l[m][i],c):l[m]=f.extend(l[m],c);g=l[m],e&&(g[i]||(g[i]={}),g=g[i]),d!==b&&(g[f.camelCase(c)]=d);if(c==="events"&&!g[c])return g[i]&&g[i].events;j?(h=g[c],h==null&&(h=g[f.camelCase(c)])):h=g;return h}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e=f.expando,g=a.nodeType,h=g?f.cache:a,i=g?a[f.expando]:f.expando;if(!h[i])return;if(b){d=c?h[i][e]:h[i];if(d){d[b]||(b=f.camelCase(b)),delete d[b];if(!l(d))return}}if(c){delete h[i][e];if(!l(h[i]))return}var j=h[i][e];f.support.deleteExpando||!h.setInterval?delete h[i]:h[i]=null,j?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=j):g&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u,v;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=v:u&&(i=u)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.attr(a,b,""),a.removeAttribute(b),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(u&&f.nodeName(a,"button"))return u.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(u&&f.nodeName(a,"button"))return u.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==null?g:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabIndex=f.propHooks.tabIndex,v={get:function(a,c){var d;return f.prop(a,c)===!0||(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(u=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=/\.(.*)$/,x=/^(?:textarea|input|select)$/i,y=/\./g,z=/ /g,A=/[^\w\s.|`]/g,B=function(a){return a.replace(A,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=C;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=C);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),B).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete
+t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,M(a.origType,a.selector),f.extend({},a,{handler:L,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,M(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?D:C):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=D;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=D;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=D,this.stopPropagation()},isDefaultPrevented:C,isPropagationStopped:C,isImmediatePropagationStopped:C};var E=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},F=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?F:E,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?F:E)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=f.nodeName(b,"input")||f.nodeName(b,"button")?b.type:"";(c==="submit"||c==="image")&&f(b).closest("form").length&&J("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=f.nodeName(b,"input")||f.nodeName(b,"button")?b.type:"";(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&J("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var G,H=function(a){var b=f.nodeName(a,"input")?a.type:"",c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},I=function(c){var d=c.target,e,g;if(!!x.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=H(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:I,beforedeactivate:I,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&I.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&I.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",H(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in G)f.event.add(this,c+".specialChange",G[c]);return x.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return x.test(this.nodeName)}},G=f.event.special.change.filters,G.focus=G.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var K={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||C,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=w.exec(h),k="",j&&(k=j[0],h=h.replace(w,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,K[h]?(a.push(K[h]+k),h=h+k):h=(K[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+M(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+M(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var N=/Until$/,O=/^(?:parents|prevUntil|prevAll)/,P=/,/,Q=/^.[^:#\[\.,]*$/,R=Array.prototype.slice,S=f.expr.match.POS,T={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(V(this,a,!1),"not",a)},filter:function(a){return this.pushStack(V(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=S.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=S.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(U(c[0])||U(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=R.call(arguments);N.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!T[a]?f.unique(e):e,(this.length>1||P.test(d))&&O.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|object|embed|option|style)/i,bb=/checked\s*(?:[^=]|=\s*.checked.)/i,bc=/\/(java|ecma)script/i,bd=/^\s*<!(?:\[CDATA\[|\-\-)/,be={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!be[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bb.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bf(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bl)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!ba.test(a[0])&&(f.support.checkClone||!bb.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean
+(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)g[h]&&bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=be[l]||be._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bk(k[i]);else bk(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bc.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bm=/alpha\([^)]*\)/i,bn=/opacity=([^)]*)/,bo=/([A-Z]|^ms)/g,bp=/^-?\d+(?:px)?$/i,bq=/^-?\d/,br=/^([\-+])=([\-+.\de]+)/,bs={position:"absolute",visibility:"hidden",display:"block"},bt=["Left","Right"],bu=["Top","Bottom"],bv,bw,bx;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bv(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=br.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bv)return bv(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return by(a,b,d);f.swap(a,bs,function(){e=by(a,b,d)});return e}},set:function(a,b){if(!bp.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bm,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bv(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bw=function(a,c){var d,e,g;c=c.replace(bo,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bx=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bp.test(d)&&bq.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bv=bw||bx,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bz=/%20/g,bA=/\[\]$/,bB=/\r?\n/g,bC=/#.*$/,bD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bE=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bF=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bG=/^(?:GET|HEAD)$/,bH=/^\/\//,bI=/\?/,bJ=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bK=/^(?:select|textarea)/i,bL=/\s+/,bM=/([?&])_=[^&]*/,bN=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bO=f.fn.load,bP={},bQ={},bR,bS,bT=["*/"]+["*"];try{bR=e.href}catch(bU){bR=c.createElement("a"),bR.href="",bR=bR.href}bS=bN.exec(bR.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bO)return bO.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bJ,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bK.test(this.nodeName)||bE.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bB,"\r\n")}}):{name:b.name,value:c.replace(bB,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?bX(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),bX(a,b);return a},ajaxSettings:{url:bR,isLocal:bF.test(bS[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bT},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bV(bP),ajaxTransport:bV(bQ),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?bZ(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=b$(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bD.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bC,"").replace(bH,bS[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bL),d.crossDomain==null&&(r=bN.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bS[1]&&r[2]==bS[2]&&(r[3]||(r[1]==="http:"?80:443))==(bS[3]||(bS[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bW(bP,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bG.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bI.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bM,"$1_="+x);d.url=y+(y===d.url?(bI.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bT+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bW(bQ,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bz,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cq("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cr(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cq("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cq("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cr(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cj.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=ck.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cq("show",1),slideUp:cq("hide",1),slideToggle:cq("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return d.step(a)}var d=this,e=f.fx;this.startTime=cn||co(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&f.timers.push(g)&&!cl&&(cl=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cn||co(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cl),cl=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cs=/^t(?:able|d|h)$/i,ct=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cu(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cs.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=ct.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!ct.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cu(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cu(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNaN(j)?i:j}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file
diff --git a/src/html/welcome.html b/src/html/welcome.html
new file mode 100644
index 0000000..a22053a
--- /dev/null
+++ b/src/html/welcome.html
@@ -0,0 +1,18 @@
+<h3>Welcome</h3>
+
+<p align="justify">The electronic collections of today's libraries, museums and archives are
+growing and increasingly have a more relevant role in the holdings. Memory
+institutions must address users' need to access a widening range of digital
+artefacts. Often the formats of those artefacts are outdated and they cannot
+be run or rendered on today's systems any longer. This is where emulation
+can provide the required digital environments suitable for a given object type.</p>
+
+<p align="justify">This project aims on a practical demonstration to access a wide range of
+different original computer environments from the last 30 years.</p>
+<br/>
+
+<br/>
+<h4>Usage</h4>
+<p>
+<center><img src="qrc:/img/help" /></center>
+</p> \ No newline at end of file
diff --git a/src/main.cpp b/src/main.cpp
new file mode 100644
index 0000000..697ae64
--- /dev/null
+++ b/src/main.cpp
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2011 - RZ Uni Freiburg
+ * Copyright (c) 2011 - OpenSLX Project
+ *
+ * This program/file is free software distributed under the GPL version 2.
+ * See http://gpl.openslx.org/
+ *
+ * If you have any feedback please consult http://feedback.openslx.org/ and
+ * send your feedback to feedback@openslx.org
+ *
+ * General information about OpenSLX - libChooser can be found under
+ * http://openslx.org
+ *
+ */
+
+#include <iostream>
+
+#include <QApplication>
+#include <QDebug>
+
+#include <VSession.h>
+#include <VSessionHandler.h>
+#include <XSession.h>
+#include <XSessionHandler.h>
+
+#include "Globals.h"
+#include "Dialog.h"
+
+bool myLessThan(Session* a, Session* b) {
+ return *a < *b;
+}
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+
+ VSessionHandler *vh = new VSessionHandler;
+ vh->setConfPath(etcPath);
+ vh->setFilterScript(filterScript + ".disabled");
+ vh->setRunVmScript(runVmScript);
+
+// qDebug() << vSessionPath;
+
+ /* read session files */
+ QList<Session*> vsessions(vh->readXmlDir(vSessionPath));
+
+// qDebug() << vsessions.size();
+
+ Dialog *w = new Dialog;
+
+ if (vsessions.size()) {
+// if (!(QFile::permissions(runVmScript) & QFile::ExeUser)) {
+// std::cerr << a.translate(
+// "Console",
+// "vmchooser: external script %1 is not executable")
+// .arg(runVmScript).toUtf8().data()
+// << std::endl;
+// return EXIT_FAILURE;
+// }
+ qSort(vsessions.begin(), vsessions.end(), myLessThan);
+ w->addItems(vsessions);
+ }
+
+
+
+// qDebug() << vsessions.size();
+//
+// int i;
+// for(i=0; i<vsessions.size(); i++) {
+// qDebug() << vsessions.at(i)->icon();
+// qDebug() << vsessions.at(i)->shortDescription();
+// qDebug() << vsessions.at(i)->description();
+// }
+// w->addItems(vsessions, a.translate("Dialog", "Virtual Sessions"));
+
+ w->center();
+ w->show();
+
+ a.setActiveWindow(w);
+ return a.exec();
+}