pax_global_header00006660000000000000000000000064136202610510014506gustar00rootroot0000000000000052 comment=f72c47b8abfdf73d155dffaa474d3038c1376a25 jp2a-1.0.9/000077500000000000000000000000001362026105100123515ustar00rootroot00000000000000jp2a-1.0.9/.gitignore000066400000000000000000000002601362026105100143370ustar00rootroot00000000000000*.swp *.o Makefile Makefile.in aclocal.m4 autom4te.cache compile config.h config.h.in config.log config.status configure depcomp install-sh missing src/.deps src/jp2a stamp-h1 jp2a-1.0.9/AUTHORS000066400000000000000000000002551362026105100134230ustar00rootroot00000000000000jp2a is written by Christian Stigen Larsen and Christoph Raitzig This program uses dynamically linked libraries from other authors. For an overview, see the file LICENSES. jp2a-1.0.9/BUGS000066400000000000000000000021501362026105100130320ustar00rootroot00000000000000Things to do: - Add --html-title="..." - Add --html-imageonly, which gives JUST the image data, so you can embed the image and format the page in your own style. TODO - What about making a Windows installer? - What about making a small GUI for windows? If run, open a file browser, then convert and display result in notepad, or internet explorer. - About process_scanline, it might be much better (clearer, faster) to pass a function pointer to the read pixels algorithm, so we don't have to do all those "if"s in the innerloop. Might also be slower, though, because of the increased stack pushing and popping. - Check j2pa --color ~/tmp/cola.jpg, should not get blue color there, because we are using grayscale colors! - Consider using Bresenham scaling (search for "Image scanling with Bresenham" on DDJ.com) - Consider using other libs for image conversions, e.g. would be nice to read GIF and PNG. (See libpng, gdlib.) BUGS - Using --term-fit and multiple files, the fit only works for the first image. - Floating-point calculation (and rounding) is not 100% equal from compiler to compiler. Try to fix this. jp2a-1.0.9/COPYING000066400000000000000000000431221362026105100134060ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 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. jp2a-1.0.9/ChangeLog000066400000000000000000000161631362026105100141320ustar00rootroot00000000000000CHANGES SINCE 1.0.9 - support for true color and 256 color palette output for terminals - support for bash completion CHANGES SINCE 1.0.8 - Fix images with very small height CHANGES SINCE 1.0.7 - Moved repository over to GitHub and made some corresponding changes - Reverted code to version 1.0.6 because of unfinished changes that didn't work. CHANGES SINCE 1.0.6 (svnversion 460) - Internal code changes for resizing. - Renamed `make test' to `make check'. - Some missing function signatures were added. - Using C99 keyword `restrict' in some places. CHANGES SINCE 1.0.5 (svnversion 452) - Support for GCC 2.95.4 (old C compilers in general) CHANGES SINCE 1.0.4 (svnversion 445) - Fixed problem with --invert / --background=light / --background=dark with HTML output. - Updated configure script from autoconf 2.59 to 2.60 CHANGES SINCE 1.0.3 (svnversion 440) - HTML output no longer uses the ' entity. CHANGES SINCE 1.0.2 (svnversion 432) - Added option --html-no-bold to set non-bold output. - Added option to --fill ANSI background colors. - Option --html-fill is now same as --fill and will be phased out. - Default HTML font changed from courier new to courier. - HTML output always uses
 tag.

CHANGES SINCE 1.0.1 (svnversion 427)
- Using span- instead of b-tags in HTML output.

CHANGES SINCE 1.0.0 (svnversion 421)
- Added option --html-title=...
- Added option --html-raw

CHANGES SINCE 0.9.22
- License changed from "GPL v2 or later" to "GPL v2".  This is just because
  I want to review the v3 license before deciding to apply it to jp2a, as it
  might require me to add things to the program.
- Minor code changes (in image.c)
- Distribution now also contains HTML manual pages for systems that do not support UNIX man.
- Version bumped to 1.0.0 (stable)

CHANGES SINCE 0.9.21 (rev. 412)
- Text color output is a bit more colorful.
- HTML-output is now Firefox-friendly.
- Added --html-fill to enable/disable background colors on HTML output.
- Options --background=light or =dark now affects HTML output background.

CHANGES SINCE 0.9.20
- Added color output for text (ANSI colors) and HTML (CSS colors).
- Changed default HTML fontsize from 4 to 8 pt.
- Fixed a bug that produced incorrect output when using --output and --html.
- Fixed a bug that gave incorret --term-fit when vieweing multiple files.

CHANGES SINCE 0.9.19
- A bash script is used for testing now.
- The tests were updated to use --width=78 (the old default) where appropriate.
- Cygwin support was added.
- term.h is now also sought in ncurses/term.h (for Cygwin support).
- The help text was shrunk.

CHANGES SINCE 0.9.18
- Default running mode is now "jp2a --term-fit" if you have --enable-termlib (which is also default).
- New options --term-fit, --term-width, --term-height to automatically fit image to terminal display.
- New options --background=dark and --background=light so you don't have to bother with --invert.
- Much better output quality as all source pixels are now read.
- Configure now accepts --enable-termlib (default) or --disable-termlib.
- Bugfix: In some cases, the last pixel(s) of the source images were not read.
- Will now gracefully exit if jpeg color precision is other than 8 bits per channels.

CHANGES SINCE 0.9.17
- Bugfix:  No more crashes when reading non-JPEG files on Windows.
- New option: --output=file, send output to given file
- New options: -x for shorthand --flipx, and -y for --flipy.
- New options: --red, --green, --blue.
- More natural RGB to Grayscale calculation.
- Updated manuals.
- Cleaner code.
- Faster code (most evident in large images).

CHANGES SINCE 0.9.16
- New feature: Download-support on win32 binary builds.
- Added option to --clear screen before writing each output image.
- Updated tests for win32 cygwin environment (but still incomplete).

CHANGES SINCE 0.9.15 AND 0.9.14 
- New feature:  Now follow HTTP redirects when downloading.
- Cleaner and faster code.
- Cleaner package organization.
- Improved `make test'.
- Binary is larger becase of debug-symbols; remove with `make install-strip'.
- Added HTML-manual for win32 binary distribution.

CHANGES SINCE 0.9.13
- Minor bugfix: --chars now correctly accepts minimum two chars.
- Changed package layout (added src/ and tests/).
- Added `make test' target.

CHANGES SINCE 0.9.12
- Bugfix: Fixed bug when viewing several files (in clear(), yadds wasn't completely cleared)
- Minor code cleanup.

CHANGES SINCE 0.9.11
- Some Linux build failed on this:  curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL);
  This has been removed, and works well for the Linux distro tested on.

CHANGES SINCE 0.9.10
- New feature:  Can now download images from URLs (requires libcurl)
- New feature:  Added --debug (-d) for debug output with libcurl
- configure:    Added --enable-curl and --with-curl-config=PATH

CHANGES SINCE 0.9.9
- Using both --width and --height is equivalent to using --size
- Now correctly calculates width and height if one of --width or --height is used

CHANGES SINCE 0.9.8
- New feature: Added --flipx and --flipy options to flip the output image.
- New feature: Added --html and --html-fontsize for XHTML 1.0 output.
- Bugfix: The bugfix from 0.9.6 sneaked back into the 0.9.8 release, and is now removed.
- Code changes: The code is a little bit cleaner, and faster now for big output dimensions
- Added reference to The Independent JPEG Group in the man page, as the libjpeg license requires that.
- The help text now fits inside 80 characters in width.
- Default mode changed from --width=70 to --width=78

CHANGES SINCE 0.9.7
- Minor portability issues resolved (regarding size_t usage)
- Moved some redundant help text to the man page
- Updated and expanded man page

CHANGES SINCE 0.9.6
- Minor bugfix, for some images, the last output line would be a "black" line,
  this has been fixed with the use of ROUND in dst_y calculations.

CHANGES SINCE 0.9.5
- Fixed a major bug in the clear() function that overwrote the yadds buffer.
  The program should work much better now, especially on multiple input files.

CHANGES SINCE 0.9.4
- The option --border can now be specified simply as -b
- New option --invert or -i to invert output image

CHANGES SINCE 0.9.3
- jp2a now exits with error when no files are specified
- Function signatures changed; added const where applicable
- Reintroduced use of malloc
- Added check for alloca in configure.ac

CHANGES SINCE 0.9.2
- When reading multiple files, malloc complained when freeing memory.  Using
  alloca now instead, which does not complain (although it may seem a buffer
  overrun is lurking somewhere).
- Not using exit(), using return codes.  If error occurs, we always stop.
- Using `cat file.jpg | jp2a -' now does not print help message along with
  image.

CHANGES SINCE 0.9.1
- Much better output results, due to more accurate normalization and removal of
  missing scanlines in output image.
- Default mode is now "--width=70" instead of "--size=80x25", as this preserves
  JPEG aspect ratio in output.
- Configure does not check for memset function anymore
- to_dst_x and to_dst_y are now correct

CHANGES SINCE 0.9.0
- Added --border option
- Fixed buffer overrun bug when using big output dimensions
- Minor code cleanup
- Note that to_dst_x and to_dst_y in code might be wrong
jp2a-1.0.9/INSTALL000066400000000000000000000001001362026105100133710ustar00rootroot00000000000000See the README file for building and installation instructions.
jp2a-1.0.9/LICENSES000066400000000000000000000231321362026105100135020ustar00rootroot00000000000000jp2a is distributed under the GNU General Public License v2.  See the file
COPYING for a copy of that license, and how you can apply that license to make
derivative works.

Although I do make use of other libraries, the source distribution does not
include any source-code from these.  However, the win32 version comes with
precompiled library files, so I copy the licenses here.

jp2a makes use of the JPEG library by the Independent JPEG Group.  See
http://www.ijg.org

jp2a makes use of libcurl, which has the following license:

    COPYRIGHT AND PERMISSION NOTICE

    Copyright (c) 1996 - 2006, Daniel Stenberg, .

    All rights reserved.

    Permission to use, copy, modify, and distribute this software for any purpose
    with or without fee is hereby granted, provided that the above copyright notice
    and this permission notice appear in all copies.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
    NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
    DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
    OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
    OR OTHER DEALINGS IN THE SOFTWARE.

    Except as contained in this notice, the name of a copyright holder shall
    not be used in advertising or otherwise to promote the sale, use or other
    dealings in this Software without prior written authorization of the
    copyright holder.

The jp2a win32 binary distribution comes with zlib1.dll from
http://www.zlib.org.  The zlib license is as follows:

    /* zlib.h -- interface of the 'zlib' general purpose compression library
      version 1.2.3, July 18th, 2005

      Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler

      This software is provided 'as-is', without any express or implied
      warranty.  In no event will the authors be held liable for any damages
      arising from the use of this software.

      Permission is granted to anyone to use this software for any purpose,
      including commercial applications, and to alter it and redistribute it
      freely, subject to the following restrictions:

      1. The origin of this software must not be misrepresented; you must not
         claim that you wrote the original software. If you use this software
         in a product, an acknowledgment in the product documentation would be
         appreciated but is not required.
      2. Altered source versions must be plainly marked as such, and must not be
         misrepresented as being the original software.
      3. This notice may not be removed or altered from any source distribution.

      Jean-loup Gailly jloup@gzip.org
      Mark Adler madler@alumni.caltech.edu

    */

The jp2a win32 binary distribution comes with precompiled OpenSSL binaries from
http://www.openssl.org.  These have the following license:

      LICENSE ISSUES
      ==============

      The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
      the OpenSSL License and the original SSLeay license apply to the toolkit.
      See below for the actual license texts. Actually both licenses are BSD-style
      Open Source licenses. In case of any license issues related to OpenSSL
      please contact openssl-core@openssl.org.

      OpenSSL License
      ---------------

    /* ====================================================================
     * Copyright (c) 1998-2005 The OpenSSL Project.  All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     *
     * 1. Redistributions of source code must retain the above copyright
     *    notice, this list of conditions and the following disclaimer.
     *
     * 2. Redistributions in binary form must reproduce the above copyright
     *    notice, this list of conditions and the following disclaimer in
     *    the documentation and/or other materials provided with the
     *    distribution.
     *
     * 3. All advertising materials mentioning features or use of this
     *    software must display the following acknowledgment:
     *    "This product includes software developed by the OpenSSL Project
     *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
     *
     * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
     *    endorse or promote products derived from this software without
     *    prior written permission. For written permission, please contact
     *    openssl-core@openssl.org.
     *
     * 5. Products derived from this software may not be called "OpenSSL"
     *    nor may "OpenSSL" appear in their names without prior written
     *    permission of the OpenSSL Project.
     *
     * 6. Redistributions of any form whatsoever must retain the following
     *    acknowledgment:
     *    "This product includes software developed by the OpenSSL Project
     *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
     *
     * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
     * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
     * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
     * OF THE POSSIBILITY OF SUCH DAMAGE.
     * ====================================================================
     *
     * This product includes cryptographic software written by Eric Young
     * (eay@cryptsoft.com).  This product includes software written by Tim
     * Hudson (tjh@cryptsoft.com).
     *
     */

     Original SSLeay License
     -----------------------

    /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
     * All rights reserved.
     *
     * This package is an SSL implementation written
     * by Eric Young (eay@cryptsoft.com).
     * The implementation was written so as to conform with Netscapes SSL.
     *
     * This library is free for commercial and non-commercial use as long as
     * the following conditions are aheared to.  The following conditions
     * apply to all code found in this distribution, be it the RC4, RSA,
     * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
     * included with this distribution is covered by the same copyright terms
     * except that the holder is Tim Hudson (tjh@cryptsoft.com).
     *
     * Copyright remains Eric Young's, and as such any Copyright notices in
     * the code are not to be removed.
     * If this package is used in a product, Eric Young should be given attribution
     * as the author of the parts of the library used.
     * This can be in the form of a textual message at program startup or
     * in documentation (online or textual) provided with the package.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     * 1. Redistributions of source code must retain the copyright
     *    notice, this list of conditions and the following disclaimer.
     * 2. Redistributions in binary form must reproduce the above copyright
     *    notice, this list of conditions and the following disclaimer in the
     *    documentation and/or other materials provided with the distribution.
     * 3. All advertising materials mentioning features or use of this software
     *    must display the following acknowledgement:
     *    "This product includes cryptographic software written by
     *     Eric Young (eay@cryptsoft.com)"
     *    The word 'cryptographic' can be left out if the rouines from the library
     *    being used are not cryptographic related :-).
     * 4. If you include any Windows specific code (or a derivative thereof) from
     *    the apps directory (application code) you must include an acknowledgement:
     *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
     *
     * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
     * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
     * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     * SUCH DAMAGE.
     *
     * The licence and distribution terms for any publically available version or
     * derivative of this code cannot be changed.  i.e. this code cannot simply be
     * copied and put under another distribution licence
     * [including the GNU Public Licence.]
     */
jp2a-1.0.9/Makefile.am000066400000000000000000000004531362026105100144070ustar00rootroot00000000000000VERSION = @VERSION@
SUBDIRS = src
man_MANS = man/jp2a.1
bashcompdir = @bashcompdir@
dist_bashcomp_DATA = completion/bash/jp2a
EXTRA_DIST = tests/??*.txt tests/??*.html tests/??*.jpg tests/run-tests.sh tests/Makefile include/??*.h man/jp2a.1 LICENSES

test: check

check: all
	$(MAKE) -C tests check
jp2a-1.0.9/NEWS000066400000000000000000000000161362026105100130450ustar00rootroot00000000000000See ChangeLog
jp2a-1.0.9/README000066400000000000000000000133521362026105100132350ustar00rootroot00000000000000jp2a
====

jp2a is a simple JPEG to ASCII converter.

The source is available at . This project
used to be hosted on SourceForge.

License
-------

Copyright 2006-2016 Christian Stigen Larsen and 2020 Christoph Raitzig  
Distributed under the GNU General Public License v2.

You can read the full license in the file COPYING.  jp2a also uses other
libraries.  These licenses can be found in the file LICENSES.

Example: Oswald the lucky rabbit
--------------------------------
                                                                 ......
                                                         .:lOKMMMMMMMMMM0l
                                                    .;dOMMMMMMMMMMMMMMMMMMW.
                                                .ckWMMMMMMMMMMMMMMMMMMMMMMMO
                                             .dXMMMMMMMMMMMMMMMMMMMMMMMMMMO
                                          .xWMMMMMMMMMMMMMMMMMMMMMMMMMMO:.
                                        lXMMMMMMMMMMMMMMMMMMMMMWOOxc'
                    .;lxOOOOOxdl:.    cMMMMMMMMMMMMMMMMWKklc'..
                'llc..   ..:oMMMMMMKxNMMMMMMMMMM0kl:'.
              :0'             cMMMMMMMMMMMMWd'.
            .K:l0              .MMMMMMMMMMl.
           ,K    W              ,MMMMMMMMMMMMN0dl'
           M.    M               MMMMMMMMMMMMMMMMMMKx:.
          cMMK                   WMMMMMMMMMMMMMMMMMMMMMXd'
          NMMM:                  MMMMMMMMMMMXWMMMMMMMMMMMMNd'
          KMMMW                  MMMMMMMMMMM' ;XMMMMMMMMMMMMMWd'
           MMMM                 XMMMMMMMMMMM    dMMMMMMMMMMMMMMMNc
      ''   NMKWl'             .KMMMMMMMMMMM'     :MMMMMMMMMMMMMMMMMd
     KMWMKOk    '           ,lXMMMMMMMMMMM;       .KMMMMMMMMMMMMMMMM0
     KMMMMM.                    .cOMMMMMW'          kMMMMMMMMMMMMMMMMX
      cOXMNXl.            ......   .MWd. .0cc:'      .NMMMMMMMMMMMMMMMk
            .cololoxKWWWXWMMMMMMM:  M   c:. .l0ok      oMMMMMMMMMMMMMMM
                      .'Mo,MMMMNk:lO' :l  .OMMMMl       .OMMMMMMMMMMMMN
                       X0'OkxkxOK;.  :: ,.XMMMMMMO    :O   lXMMMMMMMMk
                        kc,,o0M0.:;c'N  ko;lMMMMMM:'xMMMNWKO,.clxdl:.
                       ;00xkM:d ,   ..     oMMMMMM cMMMMMMMMl
                       c   N0l       .  .l:;;oKMMk  MMMMMMMMM0
                       O   ,.ocOc..l..k'   .:c;'O   0MMMMMMMX.
                      X     N..l  .c           K.   OMMMMMMM
                     .'     c.     :           M .  OMMM0,.;
                    :,   N.;W       ;          O...o .,.
                    d    M  ;X'     :l             :
                    d..':. lcKol,,,,'.:c,,'.cd;'o,'.
                      . ;:,WMMMMMMXx,; M0XXNNWM.
                           MMMMMMMM   .MMMMMMMM
                           MMMMMMMM   .MMMMMMMM.
                          :ONMMMMMM0:':MMMMMMMMM:
                ;c:,'',::lX'  '',''   .MMMMMMMMMMWK:c:
               x.          .lloc;.',lxl..lKMMMMMKl   M
              0           .;,;'......;::c'  ..     ;dl;l'
             ;O:        .d'              .lkk::::;,     'k
             N.'oc'.    M                   :            X
              lo:. ',::xN:                             .x0'
                .,lccccM .ll,.                . ;;:::;c'.0
                       .kl.  .c::lcccccc:cc::;  .''clccl.
                          'lcl:lc::,,'::cc:cc:c,..

The Oswald character is Copyright Walt Disney, and, unfortunately, not in the
public domain.  However, I believe that I can use this picture under the fair
use clause, for demonstrational purposes, especially in low-resolution, ASCII
format. If I am wrong, I will promptly remove it.

Installation
------------

Look in your system's package manager. I don't maintain Windows binaries
anymore.

Building
--------

If you want to compile from source, you need autotools and automake. You may
need to specify the path to jpeglib. I usually just do

    autoreconf -vi
    ./configure --with-jpeg-prefix=/usr/local \
                --with-curl-config=`which curl-config`
    make -j

Before installing, you may want to check that jp2a works by running `src/jp2a`
on some `.jpg` files. The `check` target is currently broken, and won't help
you. When you're ready to install,

    make -j install

jp2a depends on jpeglib. In case configure fails beacuse jpeglib is not installed,
it can be built and installed manually. Independent JPEG Group provides a UNIX format
package in tar.gz format which can be downloaded from http://www.ijg.org/.

Extract the archive and follow the instructions inside 'install.txt' to build and
install it. For a default install, the corresponding `.so` (shared object) files
will be present in `/usr/local/lib/`

Next, run the command `ldconfig` (escalated privileges may be required) to configure dynamic linker run-time bindings. See
its man page for more details. The configure command should work after that.

If configure can't automatically find jpeglib, specify with

    ./configure --with-jpeg-include=PATH --with-jpeg-lib=PATH

or you can just type the prefix

    ./configure --with-jpeg-prefix=/usr/local/

You can also compile jp2a with libcurl, so it can automatically download images
from the net:

    ./configure --enable-curl

This will look for `curl-config` in $PATH, but you can specify it directly with
`--with-curl-config=PATH` if you need to.

Windows
-------

You need a working jpeglib for Windows and set up include paths yourself.
You will need to manually type out a `config.h` file. Example:

    WIN32
    NDEBUG
    _CONSOLE
    PACKAGE_STRING=\"jp2a x.x.x-win32\"
    PACKAGE_BUGREPORT=\"csl@csl.name\"
    HAVE_STRING_H
    HAVE_STDLIB_H
    FEAT_CURL
    HAVE_CURL_CURL_H
    CURL_STATICLIB
    FEAT_TERMLIB

You need to add jpeg.lib to the linker. If you want libcurl support, you need
that as well. It should be available from http://curl.haxx.se
jp2a-1.0.9/README.md000077700000000000000000000000001362026105100145032READMEustar00rootroot00000000000000jp2a-1.0.9/autogen.sh000077500000000000000000000003041362026105100143470ustar00rootroot00000000000000#!/bin/bash
autoreconf -vi

while (( "$#" )); do
  if [ $1 == "-c" ]; then
    ./configure --with-jpeg-prefix=/usr/local \
                --with-curl-config=`which curl-config`
  fi
  shift
done
jp2a-1.0.9/completion/000077500000000000000000000000001362026105100145225ustar00rootroot00000000000000jp2a-1.0.9/completion/bash/000077500000000000000000000000001362026105100154375ustar00rootroot00000000000000jp2a-1.0.9/completion/bash/jp2a000066400000000000000000000016121362026105100162160ustar00rootroot00000000000000# bash completion for jp2a                                 -*- shell-script -*-

_jp2a()
{
        local cur prev OPTS
        COMPREPLY=()
        cur="${COMP_WORDS[COMP_CWORD]}"
        prev="${COMP_WORDS[COMP_CWORD-1]}"
        OPTS="--help --verbose --debug --clear --colors --color-depth= --fill
        --grayscale --html --html-fill --html-no-bold --html-raw --border
        --invert --background= --flipx --flipy --version --width= --height=
        --red= --green= --blue= --html-fontsize= --size= --term-zoom
        --term-height --term-width --term-fit --output= --html-title= --chars="
        case $cur in
                --*)
						COMPREPLY=( $(compgen -W "${OPTS}" -- $cur) )
						return 0
                        ;;
        esac
        local IFS=$'\n'
        compopt -o filenames
        COMPREPLY=( $(compgen -f -- $cur) )
        return 0
}
complete -F _jp2a jp2a

# ex: filetype=shjp2a-1.0.9/configure.ac000066400000000000000000000110321362026105100146340ustar00rootroot00000000000000#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ(2.60)
AC_INIT([jp2a], [1.0.9], [chris-r@posteo.net])
AM_INIT_AUTOMAKE(dist-bzip2)
AC_CONFIG_SRCDIR(src/jp2a.c)
AC_CONFIG_HEADER([config.h])
AC_CONFIG_FILES([Makefile src/Makefile])

# Checks for programs.
AC_PROG_CC

# Checks for libraries.
AC_ARG_WITH([jpeg-include],
	AC_HELP_STRING([--with-jpeg-include=PATH], [specify path to directory containing jpeglib.h -- http://www.ijg.org/]),
	[CPPFLAGS="$CPPFLAGS -I$withval"])

AC_ARG_WITH([jpeg-lib],
	AC_HELP_STRING([--with-jpeg-lib=PATH], [specify path to directory containing jpeglib lib file -- http://www.ijg.org/]),
	[LDFLAGS="$LDFLAGS -L$withval"])

AC_ARG_WITH([jpeg-prefix],
	AC_HELP_STRING([--with-jpeg-prefix=PATH], [this is the same as --with-jpeg-include=PATH/include and --with-jpeg-lib=PATH/lib]),
	[CPPFLAGS="$CPPFLAGS -I$withval/include" LDFLAGS="$LDFLAGS -L$withval/lib"])

AC_ARG_WITH([curl-config],
	AC_HELP_STRING([--with-curl-config=PATH], [specify path to curl-config]),
	[curl_config_path="$withval" enable_curl="yes"],
	[curl_config_path="$PATH"])

AC_CHECK_LIB([jpeg], [jpeg_start_decompress], [LIBS="$LIBS -ljpeg"])

if test "x$ac_cv_lib_jpeg_jpeg_start_decompress" != "xyes" ; then
	AC_MSG_ERROR([I need a working jpeglib; please specify --with-jpeg-lib=PATH or see --help for more explicit options.

On many systems, this is installed in /usr/local/lib/ so you can try --with-jpeg-prefix=/usr/local/
])
fi

AC_ARG_ENABLE([curl],
	AC_HELP_STRING([--enable-curl], [enable to be to use libcurl (http://curl.haxx.se) to download images from the net (default: yes)]),
	[enable_curl=$enableval],
	[enable_curl="yes"])

AC_ARG_ENABLE([termlib],
	AC_HELP_STRING([--enable-termlib], [enable to use term/curses for detecting terminal dimensions (default: yes)]),
	[enable_termlib=$enableval],
	[enable_termlib="yes"])

AC_MSG_CHECKING([enable-curl])
AC_MSG_RESULT([$enable_curl])

if test "x$enable_curl" = "xyes" ; then
	AC_PATH_PROGS([curl_config], [curl-config], [no], [$curl_config_path])

	if test "x$curl_config" != "xno" ; then
		curl_cflags="`$curl_config --cflags`"
		curl_libs="`$curl_config --libs`"
		CPPFLAGS="$CPPFLAGS $curl_cflags"

		AC_MSG_CHECKING([curl-config --cflags])
		AC_MSG_RESULT([$curl_cflags])

		AC_MSG_CHECKING([curl-config --libs])
		AC_MSG_RESULT([$curl_libs])
	fi

	if test "x$curl_libs" = "x" ; then
		curl_libs="-lcurl"
	fi

	AC_CHECK_LIB([curl], [curl_easy_init], [LIBS="$LIBS $curl_libs" AC_DEFINE([FEAT_CURL], [1], [Found working libcurl environment])], [
		  AC_MSG_WARN([I need a working libcurl (use --with-curl-config=PATH); download-support will be disabled])
		  enable_curl="no"
		])
fi

# Checks for header files.
AC_HEADER_STDC

AC_CHECK_HEADER([jpeglib.h],
	[ AC_DEFINE([HAVE_JPEGLIB_H], [1], [Define to 1 if you have  header file.]) ],
	[ AC_MSG_ERROR([required header file jpeglib.h not found, use --with-jpeg-include=PATH or see --help]) ])

if test "x$enable_curl" = "xyes" ; then
	AC_CHECK_HEADER([curl/curl.h],
		[ AC_DEFINE([HAVE_CURL_CURL_H], [1], [Define to 1 if you have the  header file]) ],
		[ AC_MSG_WARN([required header file curl/curl.h not found, libcurl will be disabled (see --help)]) ])
fi

AC_CHECK_HEADERS([fcntl.h curses.h term.h ncurses/term.h])

if test "$enable_termlib" = "yes" ; then

	# Some GNU/Linux systems (e.g., SuSE 4.3, 1996) don't have curses, but
	# rather ncurses.  So we check for it.
	TERMLIBS=
	# Check for termlib before termcap because Solaris termcap needs libucb.
	TERMLIB_VARIANTS="ncurses curses termlib termcap terminfo"
	for termlib in ${TERMLIB_VARIANTS}; do
	  AC_CHECK_LIB(${termlib}, tgetent,
	     [TERMLIBS="${TERMLIBS} -l${termlib}"; break])
	done
	# don't bother warning on djgpp, it doesn't have a term library, it
	# ports each termcap-needing program separately according to its needs.
	if test -z "$TERMLIBS" && echo "$build" | grep -v djgpp >/dev/null; then
	  AC_MSG_WARN([probably need a terminal library, one of: ${TERMLIB_VARIANTS}])
	else
	  LIBS="$LIBS $TERMLIBS"
	  AC_DEFINE([FEAT_TERMLIB], [1], [Found working term/curses environment])
	fi

fi

# Checks for bash-completion
PKG_CHECK_VAR(bashcompdir, [bash-completion], [completionsdir], ,
  bashcompdir="${sysconfdir}/bash_completion.d")
AC_SUBST(bashcompdir)

# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_C_RESTRICT
AC_TYPE_SIZE_T

# Checks for library functions.
AC_CHECK_FUNCS([memset])
AC_CHECK_FUNCS([atexit])
AC_FUNC_FORK
AC_TYPE_PID_T

AC_HEADER_ASSERT

AC_FUNC_MALLOC
AC_OUTPUT
jp2a-1.0.9/include/000077500000000000000000000000001362026105100137745ustar00rootroot00000000000000jp2a-1.0.9/include/aspect_ratio.h000066400000000000000000000004421362026105100166220ustar00rootroot00000000000000/*
 * Copyright 2006-2016 Christian Stigen Larsen
 * Copyright 2020 Christoph Raitzig
 * Distributed under the GNU General Public License (GPL) v2.
 */

#ifndef INC_JP2A_ASPECT_RATIO_H
#define INC_JP2A_ASPECT_RATIO_H

void aspect_ratio(const int jpeg_width, const int jpeg_height);

#endif
jp2a-1.0.9/include/curl.h000066400000000000000000000006611362026105100151150ustar00rootroot00000000000000/*
 * Copyright 2020 Christoph Raitzig
 * Distributed under the GNU General Public License (GPL) v2.
 */

#ifndef INC_JP2A_CURL_H
#define INC_JP2A_CURL_H

#ifdef FEAT_CURL
int is_url(const char* s);
int curl_download(const char* url, const int debug);

#ifdef WIN32
size_t passthru_write(void *buffer, size_t size, size_t nmemb, void *userp);
void curl_download_child(void*);
#else
void curl_download_child();
#endif

#endif

#endif
jp2a-1.0.9/include/html.h000066400000000000000000000007551362026105100151200ustar00rootroot00000000000000/*
 * Copyright 2020 Christoph Raitzig
 * Distributed under the GNU General Public License (GPL) v2.
 */

#ifndef INC_JP2A_HTML_H
#define INC_JP2A_HTML_H

void print_html_start(const int fontsize, FILE *fout);
void print_html_end(FILE *fout);
const char* html_entity(const char ch);
void print_html_char(FILE *fout, const char ch,
	const int red_fg, const int green_fg, const int blue_fg,
	const int red_bg, const int green_bg, const int blue_bg);
void print_html_newline(FILE *fout);

#endif
jp2a-1.0.9/include/image.h000066400000000000000000000023771362026105100152400ustar00rootroot00000000000000/*
 * Copyright 2006-2016 Christian Stigen Larsen
 * Copyright 2020 Christoph Raitzig
 * Distributed under the GNU General Public License (GPL) v2.
 */

#ifndef INC_JP2A_IMAGE_H
#define INC_JP2A_IMAGE_H

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#ifdef HAVE_STDLIB_H
#include 
#undef HAVE_STDLIB_H
#endif

#include "jpeglib.h"
#include "html.h"

typedef struct rgb_t {
	JSAMPLE r, g, b;
} rgb_t;

typedef struct image_t {
	int w, h;
	rgb_t *pixels;
} image_t;

typedef struct Image_ {
	int width;
	int height;
	float *pixel; // luminosity
	float *red, *green, *blue;
	int *yadds;
	float resize_y;
	float resize_x;
	int *lookup_resx;
} Image;

void print_border(const int width);
void print_image_colors(const Image* const i, const int chars, FILE* f);
void print_image(const Image* const i, const int chars, FILE *f);
void clear(Image* i);
void normalize(Image* i);
void print_progress(const struct jpeg_decompress_struct* jpg);
void print_info(const struct jpeg_decompress_struct* jpg);
void process_scanline(const struct jpeg_decompress_struct *jpg,
	const JSAMPLE* scanline, Image* i);
void free_image(Image* i);
void malloc_image(Image* i);
void init_image(Image *i, const struct jpeg_decompress_struct *jpg);
void decompress(FILE *fin, FILE *fout);

#endif
jp2a-1.0.9/include/jp2a.h000066400000000000000000000003511362026105100150000ustar00rootroot00000000000000/*
 * Copyright 2006-2016 Christian Stigen Larsen
 * Copyright 2020 Christoph Raitzig
 * Distributed under the GNU General Public License (GPL) v2.
 */

#ifndef INC_JP2A_H
#define INC_JP2A_H

int main(int argc, char** argv);

#endif
jp2a-1.0.9/include/options.h000066400000000000000000000022021362026105100156340ustar00rootroot00000000000000/*
 * Copyright 2006-2016 Christian Stigen Larsen
 * Copyright 2020 Christoph Raitzig
 * Distributed under the GNU General Public License (GPL) v2.
 */

#ifndef INC_JP2A_OPTIONS_H
#define INC_JP2A_OPTIONS_H

// see options.c
extern int verbose;
extern int auto_height;
extern int auto_width;
extern int width;
extern int height;
extern int use_border;
extern int invert;
extern int flipx;
extern int flipy;
extern int html;
extern int html_fontsize;
extern int colorfill;
extern int convert_grayscale;
extern const char *html_title;
extern int html_rawoutput;
extern int html_bold;
extern int debug;
extern int clearscr;
extern char ascii_palette[];
extern float redweight, greenweight, blueweight;
extern float RED[256], GREEN[256], BLUE[256], GRAY[256];
extern const char *fileout;
extern int usecolors;
extern int colorDepth;
extern int termfit;
extern int term_width;
extern int term_height;
#define TERM_FIT_ZOOM 1
#define TERM_FIT_WIDTH 2
#define TERM_FIT_HEIGHT 3
#define TERM_FIT_AUTO 4

void print_version();
void help();
void precalc_rgb(const float red, const float green, const float blue);
void parse_options(int argc, char** argv);

#endif
jp2a-1.0.9/include/round.h000066400000000000000000000004031362026105100152710ustar00rootroot00000000000000/*
 * Copyright 2006-2016 Christian Stigen Larsen
 * Copyright 2020 Christoph Raitzig
 * Distributed under the GNU General Public License (GPL) v2.
 */

#ifndef INC_JP2A_ROUND_H
#define INC_JP2A_ROUND_H

# define ROUND(xfloat) (int) ( 0.5f + xfloat )

#endif
jp2a-1.0.9/include/terminal.h000066400000000000000000000004011362026105100157530ustar00rootroot00000000000000/*
 * Copyright 2020 Christoph Raitzig
 * Distributed under the GNU General Public License (GPL) v2.
 */

#ifndef INC_JP2A_TERMINAL_H
#define INC_JP2A_TERMINAL_H

int get_termsize(int* width_, int* height_, char** error);
int supports_true_color();

#endif
jp2a-1.0.9/man/000077500000000000000000000000001362026105100131245ustar00rootroot00000000000000jp2a-1.0.9/man/jp2a.1000066400000000000000000000153261362026105100140510ustar00rootroot00000000000000.TH jp2a 1  "February 9, 2020" "version 1.0.9" "USER COMMANDS"
.SH NAME
jp2a \- convert JPEG images to ASCII
.SH SYNOPSIS
.B jp2a
[
.I options
] [
.I filename(s) | URL(s)
]
.LP
.SH DESCRIPTION
.B jp2a
will convert JPEG images to ASCII characters.  You can specify a mixture of files and URLs.
.SH OPTIONS
.TP
.BI \-
Read JPEG image from standard input
.TP
.B \-\-background=light \-\-background=dark
If you don't want to mess with \-\-invert all the time, just use these instead.
If you are using white characters on a black display, then use --background=dark,
and vice versa.
.TP
.B \-b \-\-border
Frame output image in a border
.TP
.BI \-\-chars= ...
Use the given characters when producing the output ASCII image.  Default is "   ...',;:clodxkO0KXNWM".
.TP
.BI \-\-colors
Use truecolor (or ANSI color if truecolor is not supported) for text output and CSS color for HTML output.
.TP
. BI \-\-color\-depth= ...
Use a specific color-depth for terminal output. Valid values are: 4 (for ANSI), 8 (for 256 color
palette) and 24 (for truecolor or 24-bit color).
.TP
.B \-d \-\-debug
Print debugging information when using libcurl to download images from the net.
.TP
.B \-f \-\-term\-fit
Use the largest dimension that makes the image fit in your terminal display.
.TP
.B \-\-term\-height
Use terminal display height and calculate width based on image aspect ratio.
.TP
.B \-\-term\-width
Use terminal display width and calculate height based on image aspect ratio.
.TP
.B \-z \-\-term\-zoom
Use terminal display width and height.
.TP
.B \-\-fill
When used with \-\-html and \-\-color, then color each output character's background color.  For instance,
if you want to use fill-output on a light background, do

jp2a --color --html --html-fill --background=light somefile.jpg --output=dark.html

To do the same on a light background:

jp2a --color --html --html-fill --background=dark somefile.jpg --output=light.html

The default is to have fill disabled.
.TP
.B \-x \-\-flipx
Flip output image horizontally
.TP
.B \-y \-\-flipy
Flip output image vertically
.TP
.BI \-\-height= N
Set output height.  If only --height is specified, then output width will
be calculated according to the source images aspect ratio.
.TP
.B \-h \-\-help
Display a short help text
.TP
.B \-\-grayscale
Converts image to grayscale when using \-\-html or \-\-colors.
.TP
.B \-\-html
Make ASCII output in strict XHTML 1.0, suitable for viewing with web browsers.
This is useful with big output dimensions, and you want to check the result with a browser with small font.
.TP
.B \-\-html\-fill
Same as \-\-fill.  You should use that option instead.
.TP
.B \-\-html\-no\-bold
Do not use bold text for HTML output.
.TP
.B \-\-html\-raw
Output only the image in HTML codes, leaving out the rest of the webpage, so you can construct
your own.
.TP
.BI \-\-html\-fontsize= N
Set fontsize when using \-\-html output.  Default is 4.
.TP
.BI \-\-html\-title= ...
Set HTML output title.
.TP
.BI \-\-output=...
Write ASCII output to given filename.  To explicitly specify standard output, use \-\-output=\-.
.TP
.B \-i \-\-invert
Invert output image.  If you view a picture with white background, but you are using
a display with light characters on a dark background, you should invert the image.
.TP
.BI \-\-red= ...
.TP
.BI \-\-green= ...
.TP
.BI \-\-blue= ...
When converting from RGB to grayscale, use the given weights to calculate luminance.
These three floating point values must add up to exactly 1.0.
The default is red=0.2989, green=0.5866 and blue=0.1145.
.TP
.BI \-\-size= WIDTHxHEIGHT
Set output dimension.
.TP
.B \-v \-\-verbose
Print some verbose information to standard error when reading each JPEG image.
.TP
.BI \-\-width= N
Set output width.  If you only specify the width, the height will be
calculated automatically.
.TP
.B \-V \-\-version
Print program version.
.TP
.B \-\-zoom
Sets output dimensions to your entire terminal window, disregarding source image
aspect ratio.
.SH RETURN VALUES
jp2a returns 1 when errors are encountered, zero for no errors.
.SH EXAMPLES
Convert and print imagefile.jpg using ASCII characters in 40 columns and 20 rows:
.PP
.B jp2a
\-\-size=40x20 imagefile.jpg
.PP
Download an image off the net, convert and print:
.PP
.B jp2a
http://www.google.com/intl/en/logos/easter_logo.jpg
.PP
Output picture.jpg and picture2.jpg, each 80x25 characters, using the characters " ...ooxx@@" for output:
.PP
.B jp2a
\-\-size=80x25 --chars=" ...ooxx@@" picture.jpg picture2.jpg
.PP
Output image.jpg using 76 columns, height is automatically calculated from aspect ratio of image.jpg
.PP
cat image.jpg |
.B jp2a
\-\-width=76 \-
.PP
If you use jp2a together with ImageMagick's convert(1) then you can make good use of pipes,
and have ImageMagick do all sorts of image conversions and effects on the source image.  For example:
.PP
.B convert
somefile.png jpg:\- |
.B jp2a
\- \-\-width=80
.PP
Check out convert(1) options to see what you can do.  Convert can handle almost any image format,
so with this combination you can convert images in e.g. PDF or AVI files to ASCII.
.PP
Although the default build of jp2a includes automatic downloading of files specified by URLs,
you can explicitly download them by using curl(1) or wget(1), for example:
.PP
.B curl
\-s
http://foo.bar/image.jpg |
.B convert
\- jpg:- |
.B jp2a
\-
.SH DOWNLOADING IMAGES FROM THE NET
If you have compiled jp2a with libcurl(3), you can download images by specifying URLs:

.B jp2a
https://user:pass@foo.com/bar.jpg

The protocols recognized are ftp, ftps, file, http, https and tftp.

If you need more control of the downloading, you should use curl(1) or wget(1) and jp2a
read the image from standard input.

jp2a uses pipe and fork to download images using libcurl (i.e., no exec or system calls) 
and therefore does not worry about malevolently formatted URLs.
.SH GRAYSCALE CONVERSION
You can extract the red channel by doing this:

.B jp2a
somefile.jpg --red=1.0 --green=0.0 --blue=0.0

This will calculate luminance based on Y = R*1.0 + G*0.0 + B*0.0.  The default
values is to use Y = R*0.2989 + G*0.5866 + B*0.1145.
.SH PROJECT HOMEPAGE
The latest version of jp2a and news is always available from https://github.com/cslarsen/jp2a
.SH SEE ALSO
cjpeg(1), djpeg(1), jpegtran(1), convert(1)
.SH BUGS
jp2a does not interpolate when resizing.  If you want better quality, try using convert(1)
and convert the source image to the exact output dimensions before using jp2a.
.PP
Another issue is that jp2a skips some X-pixels along each scanline.  This gives a less
precise output image, and will probably be corrected in future versions.
.SH AUTHOR
Christian Stigen Larsen and Christoph Raitzig

jp2a uses jpeglib to read JPEG files.  jpeglib is made by The Independent JPEG Group (IJG),
who have a page at http://www.ijg.org
.SH LICENSE
jp2a is distributed under the GNU General Public License v2.
jp2a-1.0.9/src/000077500000000000000000000000001362026105100131405ustar00rootroot00000000000000jp2a-1.0.9/src/Makefile.am000066400000000000000000000001771362026105100152010ustar00rootroot00000000000000bin_PROGRAMS = jp2a
jp2a_SOURCES = aspect_ratio.c html.c terminal.c curl.c jp2a.c options.c image.c
AM_CPPFLAGS = -I../include
jp2a-1.0.9/src/aspect_ratio.c000066400000000000000000000023021362026105100157560ustar00rootroot00000000000000/*
 * Copyright 2006-2016 Christian Stigen Larsen
 * Copyright 2020 Christoph Raitzig
 * Distributed under the GNU General Public License (GPL) v2.
 */

#include "options.h"
#include "round.h"

// Calculate width or height, but not both
void aspect_ratio(const int jpeg_width, const int jpeg_height) {

	// the 2.0f and 0.5f factors are used for text displays that (usually) have characters
	// that are taller than they are wide.

	#define CALC_WIDTH ROUND(2.0f * (float) height * (float) jpeg_width / (float) jpeg_height)
	#define CALC_HEIGHT ROUND(0.5f * (float) width * (float) jpeg_height / (float) jpeg_width)

	// calc width
	if ( auto_width && !auto_height ) {
		width = CALC_WIDTH;

		// adjust for too small dimensions	
		while ( width==0 ) {
			++height;
			aspect_ratio(jpeg_width, jpeg_height);
		}
		
		while ( termfit==TERM_FIT_AUTO && (width + use_border*2)>term_width ) {
			width = term_width - use_border*2;
			height = 0;
			auto_height = 1;
			auto_width = 0;
			aspect_ratio(jpeg_width, jpeg_height);
		}

	}

	// calc height
	if ( !auto_width && auto_height ) {
		height = CALC_HEIGHT;

		// adjust for too small dimensions
		if ( height==0 ) {
			height = ( jpeg_height == 1 )? 0 : 1;
		}
	}
}
jp2a-1.0.9/src/curl.c000066400000000000000000000052151362026105100142540ustar00rootroot00000000000000/*
 * Copyright 2006-2016 Christian Stigen Larsen
 * Copyright 2020 Christoph Raitzig
 * Distributed under the GNU General Public License (GPL) v2.
 */

#include "curl.h"

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#ifdef FEAT_CURL

#ifdef WIN32
#include 
#include 
#endif

#include 

#ifdef HAVE_CURL_CURL_H
#include "curl/curl.h"
#endif

#ifdef HAVE_STDLIB_H
#include 
#endif

#ifdef HAVE_STRING_H
#include 
#endif

#ifdef HAVE_UNISTD_H
#include 
#endif

#ifdef WIN32
#include 
#include 
#define close _close
#define pipe(x) _pipe(x, 256, O_BINARY)
#endif

// local variables to curl.c
int fd[2], debugopt;
const char* URL;

//! Return 1 if s is a supported URL
int is_url(const char* s) {
	return !strncmp(s, "ftp://", 6)
		| !strncmp(s, "ftps://", 7)
		| !strncmp(s, "file://", 7)
		| !strncmp(s, "http://", 7)
		| !strncmp(s, "tftp://", 7)
		| !strncmp(s, "https://", 8);
}

#ifdef WIN32
size_t passthru_write(void *buffer, size_t size, size_t nmemb, void *userp) {
	FILE *f = (FILE*) userp;
	return f!=NULL? fwrite(buffer, size, nmemb, f) : 0;
}
#endif

#ifndef WIN32
void curl_download_child()
#else
void curl_download_child(void*)
#endif
{
	FILE *fw;
	CURL *curl;
#ifndef WIN32
	close(fd[0]); // close read-end
#endif

	if ( (fw = fdopen(fd[1], "wb")) == NULL ) {
		fputs("Could not open pipe for writing.\n", stderr);
		exit(1);
	}

	curl_global_init(CURL_GLOBAL_ALL);

	curl = curl_easy_init();
	curl_easy_setopt(curl, CURLOPT_URL, URL);

	if ( debugopt )
		curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);

	curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1); // fail silently
	curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1); // redirects
	curl_easy_setopt(curl, CURLOPT_WRITEDATA, fw);
	#ifdef WIN32
	curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, passthru_write);
	#endif

	curl_easy_perform(curl);
	curl_easy_cleanup(curl);

	fclose(fw);
	close(fd[1]); // close write-end

	curl_global_cleanup();

#ifdef WIN32
	_endthread();
#endif	
}

// Return read-only file-descriptor that must be closed.
int curl_download(const char* url, const int debug) {
#ifndef WIN32
	int pid;
#endif

	URL = url;
	debugopt = debug;

	if ( pipe(fd) != 0 ) {
		fputs("Could not create pipe\n", stderr);
		exit(1);
	}

#ifndef WIN32

	if ( (pid = fork()) == 0 ) {
		// CHILD process
		curl_download_child();
		exit(0);
	} else if ( pid < 0 ) {
		fputs("Could not fork.\n", stderr);
		exit(1);
	}

#else
	if ( _beginthread(curl_download_child, 0, NULL) <= 0 ) {
		fputs("Could not create thread", stderr);
		exit(1);
	}
#endif

	// PARENT process

#ifndef WIN32
	close(fd[1]); // close write end of pipe
#endif

	return fd[0];
}

#endif
jp2a-1.0.9/src/html.c000066400000000000000000000037461362026105100142620ustar00rootroot00000000000000/*
 * Copyright 2006-2016 Christian Stigen Larsen
 * Copyright 2020 Christoph Raitzig
 * Distributed under the GNU General Public License (GPL) v2.
 */

#include 
#include 
#include "html.h"
#include "options.h"

void print_html_start(const int fontsize, FILE *f) {
	
	fputs(   "\n"
		"\n"
		"\n"
		"\n", f);
	fprintf(f,
		"%s\n", html_title);
	fputs(
		"\n"
		"\n"
		"\n"
		"
\n", f);
}

void print_html_end(FILE *f) {
	fputs("
\n
\n\n\n", f); } const char* html_entity(const char ch) { static char s[2]; switch ( ch ) { case ' ': return " "; break; case '<': return "<"; break; case '>': return ">"; break; case '&': return "&"; break; default: s[0]=ch; s[1]=0; return s; break; } } void print_html_char(FILE *f, const char ch, const int r_fg, const int g_fg, const int b_fg, const int r_bg, const int g_bg, const int b_bg) { if ( colorfill ) { fprintf(f, "%s", r_fg, g_fg, b_fg, r_bg, g_bg, b_bg, html_entity(ch)); } else fprintf(f, "%s", r_fg, g_fg, b_fg, html_entity(ch)); } void print_html_newline(FILE *f) { fputs("
", f); } jp2a-1.0.9/src/image.c000066400000000000000000000305551362026105100143760ustar00rootroot00000000000000/* * Copyright 2006-2016 Christian Stigen Larsen * Copyright 2020 Christoph Raitzig * Distributed under the GNU General Public License (GPL) v2. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #ifdef HAVE_STDLIB_H #include #undef HAVE_STDLIB_H #endif #include #ifdef HAVE_STRING_H #include #endif #include "jpeglib.h" #include "aspect_ratio.h" #include "image.h" #include "jp2a.h" #include "options.h" #define ROUND(x) (int) ( 0.5f + x ) void print_border(const int width) { #ifndef HAVE_MEMSET int n; #endif #ifdef WIN32 char *bord = (char*) malloc(width+3); #else char bord[width + 3]; #endif #ifdef HAVE_MEMSET memset(bord, '-', width+2); #else for ( n=0; nheight; ++y ) { if ( use_border ) fprintf(f, "|"); xstart = 0; xend = i->width; xincr = 1; if ( flipx ) { xstart = i->width - 1; xend = -1; xincr = -1; } for ( x=xstart; x != xend; x += xincr ) { float Y = i->pixel[x + (flipy? i->height - y - 1 : y ) * i->width]; float Y_inv = 1.0f - Y; float R = i->red [x + (flipy? i->height - y - 1 : y ) * i->width]; float G = i->green[x + (flipy? i->height - y - 1 : y ) * i->width]; float B = i->blue [x + (flipy? i->height - y - 1 : y ) * i->width]; const int pos = ROUND((float)chars * (!invert? Y_inv : Y)); char ch = ascii_palette[pos]; const float min = 1.0f / 255.0f; if ( !html ) { if ( usecolors ) // reset colors, the terminal could be colored by default fprintf(f, "\e[0m"); // reset colors if ( colorDepth==4 ) { const float t = 0.1f; // threshold const float i = 1.0f - t; int colr = 0; int highl = 0; // ANSI highlite, only use in grayscale if ( Y>=0.95f && RG && R-t>B ) colr = 31; // red else if ( G-t>R && G-t>B ) colr = 32; // green else if ( R-t>B && G-t>B && R+G>i ) colr = 33; // yellow else if ( B-t>R && B-t>G && Y<0.95f ) colr = 34; // blue else if ( R-t>G && B-t>G && R+B>i ) colr = 35; // magenta else if ( G-t>R && B-t>R && B+G>i ) colr = 36; // cyan else if ( R+G+B>=3.0f*Y ) colr = 37; // white } else { if ( Y>=0.7f ) { highl=1; colr = 37; } } if ( !colr ) { if ( !highl ) fprintf(f, "%c", ch); else fprintf(f, "\e[1m%c\e[0m", ch); } else { if ( colorfill ) colr += 10; // set to ANSI background color fprintf(f, "\e[%dm%c", colr, ch); // ANSI color } } else if ( colorDepth==8 ) { int type = 38; // 38 = foreground; 48 = background if ( colorfill ) type += 10; // set to background color if ( convert_grayscale || (Rmin) ) { if ( Y < 0.15 ) { if ( colorfill ) fprintf(f, "\e[38;5;%dm", 0); fprintf(f, "\e[%d;5;0%dm%c", type, 0, ch); } else if ( Y > 0.965 ) { if ( colorfill ) fprintf(f, "\e[38;5;%dm", 244); fprintf(f, "\e[%d;5;%dm%c", type, 231, ch); } else { if ( colorfill ) fprintf(f, "\e[38;5;%dm", ROUND(24.0f*Y*0.5f) + 232); fprintf(f, "\e[%d;5;%dm%c", type, ROUND(24.0f*Y) + 232, ch); } } else { if ( colorfill ) fprintf(f, "\e[38;5;%dm", 16 + 36 * ROUND(5.0f*Y*R) + 6 * ROUND(5.0f*Y*G) + ROUND(5.0f*Y*B)); // foreground color fprintf(f, "\e[%d;5;%dm%c", type, 16 + 36 * ROUND(5.0f*R) + 6 * ROUND(5.0f*G) + ROUND(5.0f*B), ch); // color } } else if ( colorDepth==24 ) { int type = 38; // 38 = foreground; 48 = background if ( colorfill ) type += 10; // set to background color if ( convert_grayscale || (Rmin) ) { if ( colorfill ) fprintf(f, "\x1b[38;2;%d;%d;%dm", ROUND(255.0f*Y*0.5f), ROUND(255.0f*Y*0.5f), ROUND(255.0f*Y*0.5f)); fprintf(f, "\x1b[%d;2;%d;%d;%dm%c", type, ROUND(255.0f*Y), ROUND(255.0f*Y), ROUND(255.0f*Y), ch); } else { if ( colorfill ) fprintf(f, "\x1b[38;2;%d;%d;%dm", ROUND(255.0f*Y*R), ROUND(255.0f*Y*G), ROUND(255.0f*Y*B)); // foreground color fprintf(f, "\x1b[%d;2;%d;%d;%dm%c", type, ROUND(255.0f*R), ROUND(255.0f*G), ROUND(255.0f*B), ch); // color } } } else { // HTML output // either --grayscale is specified (convert_grayscale) // or we can see that the image is inherently a grayscale image if ( convert_grayscale || (Rmin) ) { // Grayscale image if ( colorfill ) print_html_char(f, ch, ROUND(255.0f*Y*0.5f), ROUND(255.0f*Y*0.5f), ROUND(255.0f*Y*0.5f), ROUND(255.0f*Y), ROUND(255.0f*Y), ROUND(255.0f*Y)); else print_html_char(f, ch, ROUND(255.0f*Y), ROUND(255.0f*Y), ROUND(255.0f*Y), 255, 255, 255); } else { if ( colorfill ) print_html_char(f, ch, ROUND(255.0f*Y*R), ROUND(255.0f*Y*G), ROUND(255.0f*Y*B), ROUND(255.0f*R), ROUND(255.0f*G), ROUND(255.0f*B)); else print_html_char(f, ch, ROUND(255.0f*R), ROUND(255.0f*G), ROUND(255.0f*B), 255, 255, 255); } } } if ( usecolors && !html ) fprintf(f, "\e[0m"); if ( use_border ) fputc('|', f); if ( html ) print_html_newline(f); else fputc('\n', f); } } void print_image(const Image* const i, const int chars, FILE *f) { int x, y; #ifdef WIN32 char *line = (char*) malloc(i->width + 1); #else char line[i->width + 1]; #endif line[i->width] = 0; for ( y=0; y < i->height; ++y ) { for ( x=0; x < i->width; ++x ) { const float lum = i->pixel[x + (flipy? i->height - y - 1 : y) * i->width]; const int pos = ROUND((float)chars * lum); line[flipx? i->width - x - 1 : x] = ascii_palette[invert? pos : chars - pos]; } fprintf(f, !use_border? "%s\n" : "|%s|\n", line); } #ifdef WIN32 free(line); #endif } void clear(Image* i) { memset(i->yadds, 0, i->height * sizeof(int) ); memset(i->pixel, 0, i->width * i->height * sizeof(float)); memset(i->lookup_resx, 0, (1 + i->width) * sizeof(int) ); if ( usecolors ) { memset(i->red, 0, i->width * i->height * sizeof(float)); memset(i->green, 0, i->width * i->height * sizeof(float)); memset(i->blue, 0, i->width * i->height * sizeof(float)); } } void normalize(Image* i) { float *pixel = i->pixel; float *red = i->red; float *green = i->green; float *blue = i->blue; int x, y; for ( y=0; y < i->height; ++y ) { if ( i->yadds[y] > 1 ) { for ( x=0; x < i->width; ++x ) { pixel[x] /= i->yadds[y]; if ( usecolors ) { red [x] /= i->yadds[y]; green[x] /= i->yadds[y]; blue [x] /= i->yadds[y]; } } } pixel += i->width; if ( usecolors ) { red += i->width; green += i->width; blue += i->width; } } } void print_progress(const struct jpeg_decompress_struct* jpg) { float progress; int pos; #define BARLEN 56 static char s[BARLEN]; s[BARLEN-1] = 0; progress = (float) (jpg->output_scanline + 1.0f) / (float) jpg->output_height; pos = ROUND( (float) (BARLEN-2) * progress ); memset(s, '.', BARLEN-2); memset(s, '#', pos); fprintf(stderr, "Decompressing image [%s]\r", s); fflush(stderr); } void print_info(const struct jpeg_decompress_struct* jpg) { fprintf(stderr, "Source width: %d\n", jpg->output_width); fprintf(stderr, "Source height: %d\n", jpg->output_height); fprintf(stderr, "Source color components: %d\n", jpg->output_components); fprintf(stderr, "Output width: %d\n", width); fprintf(stderr, "Output height: %d\n", height); fprintf(stderr, "Output palette (%d chars): '%s'\n", (int)strlen(ascii_palette), ascii_palette); } void process_scanline(const struct jpeg_decompress_struct *jpg, const JSAMPLE* scanline, Image* i) { static int lasty = 0; const int y = ROUND( i->resize_y * (float) (jpg->output_scanline-1) ); // include all scanlines since last call float *pixel, *red, *green, *blue; pixel = &i->pixel[lasty * i->width]; red = green = blue = NULL; if ( usecolors ) { int offset = lasty * i->width; red = &i->red [offset]; green = &i->green[offset]; blue = &i->blue [offset]; } while ( lasty <= y ) { const int components = jpg->out_color_components; const int readcolors = usecolors; int x; for ( x=0; x < i->width; ++x ) { const JSAMPLE *src = &scanline[i->lookup_resx[x]]; const JSAMPLE *src_end = &scanline[i->lookup_resx[x+1]]; int adds = 0; float v, r, g, b; v = r = g = b = 0.0f; while ( src <= src_end ) { if ( components != 3 ) v += GRAY[src[0]]; else { v += RED[src[0]] + GREEN[src[1]] + BLUE[src[2]]; if ( readcolors ) { r += (float) src[0]/255.0f; g += (float) src[1]/255.0f; b += (float) src[2]/255.0f; } } ++adds; src += components; } pixel[x] += adds>1 ? v / (float) adds : v; if ( readcolors ) { red [x] += adds>1 ? r / (float) adds : r; green[x] += adds>1 ? g / (float) adds : g; blue [x] += adds>1 ? b / (float) adds : b; } } ++i->yadds[lasty++]; pixel += i->width; if ( readcolors ) { red += i->width; green += i->width; blue += i->width; } } lasty = y; } void free_image(Image* i) { if ( i->pixel ) free(i->pixel); if ( i->red ) free(i->red); if ( i->green ) free(i->green); if ( i->blue ) free(i->blue); if ( i->yadds ) free(i->yadds); if ( i->lookup_resx ) free(i->lookup_resx); } void malloc_image(Image* i) { i->pixel = i->red = i->green = i->blue = NULL; i->yadds = NULL; i->lookup_resx = NULL; i->width = width; i->height = height; i->yadds = (int*) malloc(height * sizeof(int)); i->pixel = (float*) malloc(width*height*sizeof(float)); if ( usecolors ) { i->red = (float*) malloc(width*height*sizeof(float)); i->green = (float*) malloc(width*height*sizeof(float)); i->blue = (float*) malloc(width*height*sizeof(float)); } // we allocate one extra pixel for resx because of the src .. src_end stuff in process_scanline i->lookup_resx = (int*) malloc( (1 + width) * sizeof(int)); if ( !(i->pixel && i->yadds && i->lookup_resx) || (usecolors && !(i->red && i->green && i->blue)) ) { fprintf(stderr, "Not enough memory for given output dimension\n"); free_image(i); exit(1); } } void init_image(Image *i, const struct jpeg_decompress_struct *jpg) { int dst_x; i->resize_y = (float) (i->height - 1) / (float) (jpg->output_height - 1); i->resize_x = (float) (jpg->output_width - 1) / (float) (i->width ); for ( dst_x=0; dst_x <= i->width; ++dst_x ) { i->lookup_resx[dst_x] = ROUND( (float) dst_x * i->resize_x ); i->lookup_resx[dst_x] *= jpg->out_color_components; } } void decompress(FILE *fp, FILE *fout) { int row_stride; struct jpeg_error_mgr jerr; struct jpeg_decompress_struct jpg; JSAMPARRAY buffer; Image image; jpg.err = jpeg_std_error(&jerr); jpeg_create_decompress(&jpg); jpeg_stdio_src(&jpg, fp); jpeg_read_header(&jpg, TRUE); jpeg_start_decompress(&jpg); if ( jpg.data_precision != 8 ) { fprintf(stderr, "Image has %d bits color channels, we only support 8-bit.\n", jpg.data_precision); exit(1); } row_stride = jpg.output_width * jpg.output_components; buffer = (*jpg.mem->alloc_sarray)((j_common_ptr) &jpg, JPOOL_IMAGE, row_stride, 1); aspect_ratio(jpg.output_width, jpg.output_height); malloc_image(&image); clear(&image); if ( verbose ) print_info(&jpg); init_image(&image, &jpg); while ( jpg.output_scanline < jpg.output_height ) { jpeg_read_scanlines(&jpg, buffer, 1); process_scanline(&jpg, buffer[0], &image); if ( verbose ) print_progress(&jpg); } if ( verbose ) { fprintf(stderr, "\n"); fflush(stderr); } normalize(&image); if ( clearscr ) { fprintf(fout, "%c[2J", 27); // ansi code for clear fprintf(fout, "%c[0;0H", 27); // move to upper left } if ( html && !html_rawoutput ) print_html_start(html_fontsize, fout); if ( use_border ) print_border(image.width); (!usecolors? print_image : print_image_colors) (&image, (int) strlen(ascii_palette) - 1, fout); if ( use_border ) print_border(image.width); if ( html && !html_rawoutput ) print_html_end(fout); free_image(&image); jpeg_finish_decompress(&jpg); jpeg_destroy_decompress(&jpg); } jp2a-1.0.9/src/jp2a.c000066400000000000000000000040041362026105100141360ustar00rootroot00000000000000/* * Copyright 2006-2016 Christian Stigen Larsen * Copyright 2020 Christoph Raitzig * Distributed under the GNU General Public License (GPL) v2. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #ifdef HAVE_UNISTD_H #include #endif #include #ifdef HAVE_STRING_H #include #endif #include "jp2a.h" #include "options.h" #include "image.h" #include "curl.h" #ifdef WIN32 #ifdef FEAT_CURL #include #define close _close #endif #include #endif int main(int argc, char** argv) { int store_width, store_height, store_autow, store_autoh; FILE *fout = stdout; #ifdef FEAT_CURL FILE *fr; int fd; #endif FILE *fp; int n; parse_options(argc, argv); store_width = width; store_height = height; store_autow = auto_width; store_autoh = auto_height; if ( strcmp(fileout, "-") ) { if ( (fout = fopen(fileout, "wb")) == NULL ) { fprintf(stderr, "Could not open '%s' for writing.\n", fileout); return 1; } } for ( n=1; n #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_CURSES_H #include #endif #ifdef HAVE_TERM_H #include #endif #include "jp2a.h" #include "options.h" #include "terminal.h" // Default options int verbose = 0; int auto_height = 1; int auto_width = 0; int width = #ifdef FEAT_TERMLIB 0; #else 78; #endif int height = 0; int use_border = 0; int invert = 1; int flipx = 0; int flipy = 0; int html = 0; int colorfill = 0; int convert_grayscale = 0; int html_fontsize = 8; int html_bold = 1; const char* html_title = "jp2a converted image"; int html_rawoutput = 0; int debug = 0; int clearscr = 0; int term_width = 0; int term_height = 0; int usecolors = 0; int colorDepth = 0; int termfit = #ifdef FEAT_TERMLIB TERM_FIT_AUTO; #else 0; #endif #define ASCII_PALETTE_SIZE 256 char ascii_palette[ASCII_PALETTE_SIZE + 1] = " ...',;:clodxkO0KXNWM"; // Default weights, must add up to 1.0 float redweight = 0.2989f; float greenweight = 0.5866f; float blueweight = 0.1145f; // calculated in parse_options float RED[256], GREEN[256], BLUE[256], GRAY[256]; const char *fileout = "-"; // stdout const char* version = PACKAGE_STRING; const char* copyright = "Copyright 2006-2016 Christian Stigen Larsen\n" "and 2020 Christoph Raitzig"; const char* license = "Distributed under the GNU General Public License (GPL) v2."; const char* url = "https://github.com/Talinx/jp2a"; void print_version() { fprintf(stderr, "%s\n%s\n%s\n", version, copyright, license); } void help() { print_version(); fputs( "\n" #ifdef FEAT_CURL "Usage: jp2a [ options ] [ file(s) | URL(s) ]\n\n" "Convert files or URLs from JPEG format to ASCII.\n\n" #else "Usage: jp2a [ options ] [ file(s) ]\n\n" "Convert files in JPEG format to ASCII.\n\n" #endif "OPTIONS\n" " - Read images from standard input.\n" " --blue=N.N Set RGB to grayscale conversion weight, default is 0.1145\n" " -b, --border Print a border around the output image.\n" " --chars=... Select character palette used to paint the image.\n" " Leftmost character corresponds to black pixel, right-\n" " most to white. Minimum two characters must be specified.\n" " --clear Clears screen before drawing each output image.\n" " --colors Use true colors or, if true color is not supported, ANSI\n" " in output.\n" " --color-depth=N Use a specific color-depth for terminal output. Valid\n" " values are: 4 (for ANSI), 8 (for 256 color palette)\n" " and 24 (for truecolor or 24-bit color).\n" " -d, --debug Print additional debug information.\n" " --fill When used with --color and/or --html, color each character's\n" " background color.\n" " -x, --flipx Flip image in X direction.\n" " -y, --flipy Flip image in Y direction.\n" #ifdef FEAT_TERMLIB " -f, --term-fit Use the largest image dimension that fits in your terminal\n" " display with correct aspect ratio.\n" " --term-height Use terminal display height.\n" " --term-width Use terminal display width.\n" " -z, --term-zoom Use terminal display dimension for output.\n" #endif " --grayscale Convert image to grayscale when using --html or --colors\n" " --green=N.N Set RGB to grayscale conversion weight, default is 0.5866\n" " --height=N Set output height, calculate width from aspect ratio.\n" " -h, --help Print program help.\n" " --html Produce strict XHTML 1.0 output.\n" " --html-fill Same as --fill (will be phased out)\n" " --html-fontsize=N Set fontsize to N pt, default is 4.\n" " --html-no-bold Do not use bold characters with HTML output\n" " --html-raw Output raw HTML codes, i.e. without the section etc.\n" " --html-title=... Set HTML output title\n" " -i, --invert Invert output image. Use if your display has a dark\n" " background.\n" " --background=dark These are just mnemonics whether to use --invert\n" " --background=light or not. If your console has light characters on\n" " a dark background, use --background=dark.\n" " --output=... Write output to file.\n" " --red=N.N Set RGB to grayscale conversion weight, default 0.2989f.\n" " --size=WxH Set output width and height.\n" " -v, --verbose Verbose output.\n" " -V, --version Print program version.\n" " --width=N Set output width, calculate height from ratio.\n" "\n" #ifdef FEAT_TERMLIB " The default mode is `jp2a --term-fit --background=dark'.\n" #else " The default mode is `jp2a --width=78 --background=dark'.\n" #endif " See the man-page for jp2a for more detailed help text.\n" "\n", stderr); fprintf(stderr, "Project homepage on %s\n", url); fprintf(stderr, "Report bugs to <%s>\n", PACKAGE_BUGREPORT); } void precalc_rgb(const float red, const float green, const float blue) { int n; for ( n=0; n<256; ++n ) { RED[n] = ((float) n) * red / 255.0f; GREEN[n] = ((float) n) * green / 255.0f; BLUE[n] = ((float) n) * blue / 255.0f; GRAY[n] = ((float) n) / 255.0f; } } void parse_options(int argc, char** argv) { // make code more readable #define IF_OPTS(sopt, lopt) if ( !strcmp(s, sopt) || !strcmp(s, lopt) ) #define IF_OPT(sopt) if ( !strcmp(s, sopt) ) #define IF_VARS(format, v1, v2) if ( sscanf(s, format, v1, v2) == 2 ) #define IF_VAR(format, v1) if ( sscanf(s, format, v1) == 1 ) int n, files, fit_to_use; for ( n=1, files=0; n #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_CURSES_H #include #endif #ifdef FEAT_TERMLIB #ifdef HAVE_TERM_H #include #else #ifdef HAVE_NCURSES_TERM_H #include #endif #endif #ifdef WIN32 #define WIN32_LEAN_AND_MEAN #include #endif #endif #include /* * Returns: 1 success * 0 terminal type not defined * -1 termcap database inaccessible * -2 environment variable TERM not set */ int get_termsize(int* _width, int* _height, char** err) { static char errstr[1024]; #ifndef WIN32 char *termtype = getenv("TERM"); char term_buffer[2048]; int i; #endif errstr[0] = 0; if ( err != NULL ) *err = errstr; #ifdef FEAT_TERMLIB #ifdef WIN32 CONSOLE_SCREEN_BUFFER_INFO io; if ( !GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &io) ) { strcpy(errstr, "Could not determine console window size."); return -1; } *_width = io.srWindow.Right - io.srWindow.Left; *_height = io.srWindow.Bottom - io.srWindow.Top; return 1; #else if ( !termtype ) { strcpy(errstr, "Environment variable TERM not set."); return -2; } i = tgetent(term_buffer, termtype); // There seems to be some confusion regarding the tgetent return // values. The following two values should be swapped, according // to the man-pages, but on Mac OS X at least, they are like this. // I've also seen some indication of a bug in curses on USENET, so // I leave this one like this. if ( i == 0 ) { snprintf(errstr, sizeof(errstr)/sizeof(char) - 1, "Terminal type '%s' not recognized.", termtype); return 0; } if ( i < 0 ) { strcpy(errstr, "Could not access the termcap database."); return -1; } *_width = tgetnum("co"); *_height = tgetnum("li"); return 1; #endif // non-WIN32 #else strcpy(errstr, "Compiled without termlib support."); return 0; #endif // FEAT_TERMLIB } int supports_true_color() { char *colorterm = getenv("COLORTERM"); if ( colorterm==NULL ) { return 0; } // some terminals have COLORTERM set, although true color is not supported if ( strcmp(colorterm, "rxvt")==0 ) { return 0; } return 1; } jp2a-1.0.9/tests/000077500000000000000000000000001362026105100135135ustar00rootroot00000000000000jp2a-1.0.9/tests/10h.txt000066400000000000000000000005121362026105100146420ustar00rootroot00000000000000MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMNNMMMMMMMMMMMMMNXXWMMMMMMMMMMM MW:'XMMMMMMMMMMx. .oWMMMMMMMMM M0..xN;.';'.;OM00NX' .XWo::;.,OM MO oN. 'NN, .NMMMx .0MWOkoc cM MO oN. .xx. ,WWO, ;cxX. ;k. ;X Mx oN. .lclxNM0llllllxWxcldoclO W; ,XN' ;MMMMMMMMMMMMMMMMMMMMMMM MWNMMMNNNMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM jp2a-1.0.9/tests/110x30-i-b.txt000066400000000000000000000070401362026105100155560ustar00rootroot00000000000000+--------------------------------------------------------------------------------------------------------------+ | | | | | | | | | | | ,ldOxdc. .;clxkOOOOOxol:. | | .kMMMMMN: .lx0WMMMMMMMMMMMMW0d; | | .dNWMWW0, lWMMMMMMMMMMMMMMMMMMX: | | ':colc,. ....... ....... oMMN0kxoood0NWMMMMMMMK, .......... | | cKKKKKKKd;. .oKKKKKKKxcoO0KNNNNK0Od:'. :o:, .'dWMMMMMMN: ..,ldxOKKXNNNNNXX0xdc. | | .oMMMMMMMO:. .kMMMMMMMMMMMMMMMMMMMMMWXx. ;XMMMMMMX; lXNMMMMMMMMMMMMMMMMMWk:. | | .oMMMMMMMO:. .kMMMMMMMMWN0OO0NWMMMMMMMWx;. cNMMMMMMx. dMMWX0xolcclokNMMMMMMWXl | | .oMMMMMMMO:. .kMMMMMMWx;' ';xWMMMMMMWNl 'o0MMMMWWk. :ko,.. .,OMMMMMMMMd | | .oMMMMMMMO:. .kMMMMMMWl '0MMMMMMMMx. .kWMMMMM0l' ..,lxkKWMMMMMMMMx. | | .oMMMMMMMO:. .kMMMMMMWl .kMMMMMMMMk. 'lkWMMMWNO' .,:lx0KXWNXKXMMMMMMMMx. | | .oMMMMMMMO:. .kMMMMMMWl ,KMMMMMMMWd .oXMMMMMXo,. ;d0WMMMWW0c'..dMMMMMMMMx. | | .oMMMMMMMO:. .kMMMMMMMx;. 'cOMMMMMMMNK: .cOWMMMMMMKxodddddddl. 'OMMMMMMXO; dMMMMMMMMd | | .oMMMMMMMO:. .kMMMMMMMWXKkxxkKNWMMMMMMWd,. .;0WWMMMMMMMMMMMMMMMMMX; ,KMMMMMMNKo.',c0MMMMMMMMKl::.| | .oMMMMMMMO:. .kMMMMMMMWWWMMMMMMMMMMWOd:. ,kXNMMMMMMMMMMMMMMMMMMMMX; .oKNMMMMMMWNNWNXXWMMMMMMMMXO;| | .oMMMMMMMO:. .kMMMMMMWkco0XNNNNNX0kc. 'x0OOOOOOOOOOOOOOOOOOOOOOk' ..cOXXNNNNXko:,,dXNNNNXKx:,.| | .,xMMMMMMMk:. .kMMMMMMWl ..'''''... ......................... ..'''''.. ..'''''. | | ;kXNMMMMMMWd. .kMMMMMMWl | | oNMMMMMMWNk. .kMMMMMMWl | | .kMMMMMNd;. .kMMMMMMWl | | ,oddoc, :ddddddo' | | | | | | | | | | | +--------------------------------------------------------------------------------------------------------------+ jp2a-1.0.9/tests/160x49.txt000066400000000000000000000173211362026105100151330ustar00rootroot00000000000000MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMWNNNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNNNNNNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMXOdcc:ld0WWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0xdlccc:::ccldk0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMNXo.. ;dKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXXOoc;'. .':lkXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMKd, .dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKkl;;. .:xXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMM0d' .dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNo. .cOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMNKl. ,o0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNX: cKNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMKxo:::ldONWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXc ...... .cOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMWX000OkkkO000KNWMMMMMWNK00000000000XMMWNK0kxxxxxkOKXWWMMMMMMMMMMMMMNX: .;loxkOkkxo;. ..dMMMMMMMMMMMMMMMWWNXKOkxxxxxxxxkO0XNWMMMMMMMMMMMMM MMMMMMMWNd'''''''''''ckKMMMMMXOl'''''''''''dXkoc,'........,;cdOXMMMMMMMMMMMNKc .;;oOKWMMMMMMMW0d, .dMMMMMMMMMMMWX0xoc:;,............';:ox0WWMMMMMMMMM MMMMMMMWXc 'd0MMMMMKx, .;. ..:d0WMMMMMMMMNXkckXXNMMMMMMMMMMMWWo. .dMMMMMMMMWKxl;'. .,lOWWMMMMMMM MMMMMMMWXc 'd0MMMMMKk, .;xKMMMMMMMWWNNWMMMMMMMMMMMMMMMMx'. .'xMMMMMMMWNl. ,d0MMMMMMM MMMMMMMWXc 'd0MMMMMKx, .lKNMMMMMMMMMMMMMMMMMMMMMMMMMMd. .lOMMMMMMMNX: ..'',,,'.. .dWMMMMMM MMMMMMMWXc 'd0MMMMMKx, .';:cc;'. .cOMMMMMMMMMMMMMMMMMMMMMMMMWNl cKNMMMMMMMNXc .,coxk00KKK0Ol'. cXWMMMMM MMMMMMMWXc 'd0MMMMMKx, 'lx0XNNNX0dc. .oWMMMMMMMMMMMMMMMMMMMMMMMKk; .,xMMMMMMMMMNKc .,lkKWWMMMMMMMMMKk, :0NMMMMM MMMMMMMWXc 'd0MMMMMKx, lNWMMMMMMMWNo. cKNMMMMMMMMMMMMMMMMMMMMWWd'. :0XMMMMMMMMMWXkcxKNMMMMMMMMMWNXKxl' ;0XMMMMM MMMMMMMWXc 'd0MMMMMKx, lWWMMMMMMMMMOc. ;kXMMMMMMMMMMMMMMMMMMMMKd, .lOMMMMMMMMMMMMWWNWMMMMMWNX0kdlc;,. ;0XMMMMM MMMMMMMWXc 'd0MMMMMKx, lWWMMMMMMMMMKk, ,dKMMMMMMMMMMMMMMMMMMN0c. ..oNWMMMMMMMMMMMMMMMMMWX0xoc;'. ;0XMMMMM MMMMMMMWXc 'd0MMMMMKx, lWWMMMMMMMMM0d' ,kKMMMMMMMMMMMMMMWNOd;. .:dKNMMMMMMMMMMMMMMMXOdc;.. .,:llo' ;0XMMMMM MMMMMMMWXc 'd0MMMMMKx, lWMMMMMMMMWWd. cXWMMMMMMMMMMMMWWkc. .:xNNNNNNNNNNNNWWMMMNKc. ;xKWWMNK: ;0XMMMMM MMMMMMMWXc 'd0MMMMMKx, ;x0NWMMMWNOo' .dWMMMMMMMMMMMMW0o' .,;c::::::::::ld0MMMOl' .'xMMMMMNK: :0NMMMMM MMMMMMMWXc 'd0MMMMMKx, .':loddlc' 'l0MMMMMMMMMMMMKx; .'xMMMx,. .'xMMMMWKx, ,dOXK0NM MMMMMMMWXc 'd0MMMMMKx, .lXWMMMMMMMMMXOOc. .'xMMMk;. ;dxkdl;. .,;::kM MMMMMMMWXc 'd0MMMMMKx, ;xKMMMMMMMMMX0l.. .'xMMMKx, ... .dM MMMMMMMWXc 'd0MMMMMKx, .;d0WMMMMMMMMX0l'. ..xMMMWNd'. .... .,xM MMMMMMMNXc 'd0MMMMMKx, ,oc,.. ..,:okKWMMMMMMMMMMOl;..'''''''''''''''''''''''''''''''',:OMMMMMX0o;'.. ..,cdOkk:.. ..';cdkXM MMMMMMMNK: 'd0MMMMMKk, lWNKOxddddddddxkKNWMMMMMMMMMMMMMX00OO000000000000000000000000000000000KNMMMMMMMWX0xxdddddddxOKNWMMMKkxddddddxk0KNWMMM MMMMMMMKx, ,dKMMMMMKx, lWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMWWKOl. ;OXMMMMMKx, lWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMXOc.. lNWMMMMMKx, lWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMXO; .,kMMMMMMMKx, lWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMWWd. .c0NMMMMMMMKx, lWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMKd, .:xKMMMMMMMMMKx, lWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMWNo.. ..':okKMMMMMMMMMMMXk:...........oWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMKkxdxk0NWMMMMMMMMMMMMMWX0xxxxxxxxxxxKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM jp2a-1.0.9/tests/1x1-inv.txt000066400000000000000000000000021362026105100154470ustar00rootroot00000000000000' jp2a-1.0.9/tests/2xnormal-b.txt000066400000000000000000000101641362026105100162370ustar00rootroot00000000000000+------------------------------------------------------------------------------+ |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMWk:';oXMMMMMMMMMMMMMMMMMMMMMMMMMMMWKxl;,''';cdKWMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMK, .dMMMMMMMMMMMMMMMMMMMMMMMMMMWo. .cKMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMWx;',oXMMMMMMMMMMMMMMMMMMMMMMMMMMN' . ,KMMMMMMMMMMMMMMMMMMMMMMMM| |MMMWOllcllxNMMNklllllOKxlc:cldONMMMMMN;;dO0KOo. dMMMMMWKkdoc:::clokXWMMMM| |MMMWc '0MMK, .cOWMMWXWMMMMMMd .kMMMWx'. ... .:0MMM| |MMMWc '0MMK, .:oxd:. .xMMMMMMMMMMN: oWMMMNc.,ok0XXXx. :NMM| |MMMWc '0MMK, lWMMMWx. :XMMMMMMMMXc .dNMMMMW00WMWNKkdc. ;XMM| |MMMWc '0MMK, lWMMMMK, ,KMMMMMMWO, 'OWMMMMMMMXkl;.. .. ;XMM| |MMMWc '0MMK, lWMMMMk. :NMMMMM0c. .cKWWWWWMMWx. .oOK: ;XMM| |MMMWc '0MMK, .oxOkl. .kMMMMXo. .'''''';OMO. .xMMK; ,0NN| |MMMWc '0MMK, .kWMMM0, .xM0' .c:. .,k| |MMMNc '0MMK, 'c;,''',:okNMMMMXo;;;;;;;;;;;;;;;c0MW0o;,''',:odc,'',;:oK| |MMNx. ,KMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MXc .dWMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMk. 'xNMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMWk::okNMMMMMNd::::cOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMWk:';oXMMMMMMMMMMMMMMMMMMMMMMMMMMMWKxl;,''';cdKWMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMK, .dMMMMMMMMMMMMMMMMMMMMMMMMMMWo. .cKMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMWx;',oXMMMMMMMMMMMMMMMMMMMMMMMMMMN' . ,KMMMMMMMMMMMMMMMMMMMMMMMM| |MMMWOllcllxNMMNklllllOKxlc:cldONMMMMMN;;dO0KOo. dMMMMMWKkdoc:::clokXWMMMM| |MMMWc '0MMK, .cOWMMWXWMMMMMMd .kMMMWx'. ... .:0MMM| |MMMWc '0MMK, .:oxd:. .xMMMMMMMMMMN: oWMMMNc.,ok0XXXx. :NMM| |MMMWc '0MMK, lWMMMWx. :XMMMMMMMMXc .dNMMMMW00WMWNKkdc. ;XMM| |MMMWc '0MMK, lWMMMMK, ,KMMMMMMWO, 'OWMMMMMMMXkl;.. .. ;XMM| |MMMWc '0MMK, lWMMMMk. :NMMMMM0c. .cKWWWWWMMWx. .oOK: ;XMM| |MMMWc '0MMK, .oxOkl. .kMMMMXo. .'''''';OMO. .xMMK; ,0NN| |MMMWc '0MMK, .kWMMM0, .xM0' .c:. .,k| |MMMNc '0MMK, 'c;,''',:okNMMMMXo;;;;;;;;;;;;;;;c0MW0o;,''',:odc,'',;:oK| |MMNx. ,KMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MXc .dWMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMk. 'xNMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMWk::okNMMMMMNd::::cOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| +------------------------------------------------------------------------------+ jp2a-1.0.9/tests/40x40.txt000066400000000000000000000031501362026105100150320ustar00rootroot00000000000000MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMWk0MMMMMMMMMMMMMMMMXkxkXMMMMMMMMMMMMMM MMk .XMMMMMMMMMMMMMWO; 'KMMMMMMMMMMMMM MMo OMMMMMMMMMMMMMk. cWMMMMMMMMMMMM MMo OMMMMMMMMMMMMW; .KMMMMMMMMMMMM MM0,cNMMMMMMMMMMMMW' . oMMMMMMMMMMMM MMKOOXMN00KWOxKMMMW' ckc :MMMWXkxkNMMM MWc''xMk''cd..,OMMW:oNMX. :MMWx;...cXMM MW, oMo .. 'XMWONMMM; :MMk. lMM MW, oMo cWMWMMMM: cMW, .. .0M MW, oMo .; .KMMMMMW, xMW'.xKd xM MW, oMo .OX: kMMMMMN. 0MW:xMMN. dM MW, oMo ,WMk xMMMMMO 'NMWOWMWO. dM MW, oMo ;MMX. oMMMMW: dMMMWNx:. dM MW, oMo ,MMN. oMMMMO 'NMMMX: .. dM MW, oMo ,MMK. dMMMW: oMMMMd .k' dM MW, oMo 'NMd kMMMx lxx0X. xN' dM MW, oMo ;o. .KMMK. :0 0X. lN MW, oMo ;WMNc :0. cc .d MW, oMo dMMk :X. : MW, oMo .. .lNMN:........lWo. ,; .d MW' oMo ;KddOWMMN000000000XMWOdxXXdd0W MX. oMo ;MMMMMMMMMMMMMMMMMMMMMMMMMMMMM Mx dMo ,MMMMMMMMMMMMMMMMMMMMMMMMMMMMM N, OMo ,MMMMMMMMMMMMMMMMMMMMMMMMMMMMM M; ,NMo ,MMMMMMMMMMMMMMMMMMMMMMMMMMMMM Mo dMMo ,MMMMMMMMMMMMMMMMMMMMMMMMMMMMM Mk.:NMMd..:MMMMMMMMMMMMMMMMMMMMMMMMMMMMM MN0NMMMN00KMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM jp2a-1.0.9/tests/Makefile000066400000000000000000000000431362026105100151500ustar00rootroot00000000000000check: test test: ./run-tests.sh jp2a-1.0.9/tests/dalsnuten-256-light.html000066400000000000000000000150431362026105100200200ustar00rootroot00000000000000 jp2a converted image
........................................................................................'''''''',,,,,,,,;;;;;;::::::ccccccccclll
........................                      ............................................''''''''',,,,,,,,;;;;;;:::::::cccccccc
....................                               ..........................................''''''''',,,,,,,;;;;;;::::::ccccccc
..........                                              .......................................'''''''',,,,,,,;;;;;;:::::::ccccc
....                                                          ..................................''''''''',,,,,;;;;;;;;::::::cccc
                                                                   ...............................'''''''',,,,,,,;;;;;;::::::::c
                                                                       ..............................''''''',,,,,,;;;;;;::::::::
                                                                         .............................''''''',,,,,,,;;;;;;::::::
                                                                           ............................'''''''',,,,,,,;;;;;:::::
                                                                             ............................''''''',,,,,,;;;;;;;:::
                                                                             ..............................''''''',,,,,,;;;;;;;:
                                                                                ............................''''''',,,,,,,,;;;;;
                                                                                ............................'''''''',,,,,,,,;;;;
                                                                                  ..........................'''''''',,,,,,,,;;;;
                                                                                  ...........................''''''',,,,,,;;;;;;
                                                                                   ...........................'''''',,,,,,;;;;;;
                                                                                     ........................''''''',,,,,,,;;;;;
                                                                ...'''...          .........................'''''',,,,,,,;;;;;;:
                                                  .....'',;cccldddxxxxxxxdc,.    .........................''''''',,,,,,;;;;;;:::
                                            ..;:lodddddxxxxxxkkkkkkkkkOOOOOOkdl:,'......................''''''',,,,,,;;;;;;;::::
:;;'.....                ......         .,coddddddxxxxxkkkkkkkOOOOOOOOOO0000000000Oxxdoc:,............'''''',,,,,,,;;;;;;::::::c
ddooolllccc:::;;;;;;;;::;;::clloolccccoxxkkkkkkkkkkkkkOOO0000KKKKKKKKKKKKKKKKKKKKKKKKKKKKKK0xol::loooxxdxdxdl:::ddkOkOxklclooxdd
kxxxdddooooolllollooodddddolooxxxxxkOO000000000000000KKKKKKXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWW
OOkkkxxxddddddddddddxxxkkkkkkxxkOOOOOO000KKKKXKKKKKXXXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNWNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWMMMMMM
00OOOkkkxxxxxxxkkkkkkkOOOO00000OOO00KKKKKKKKKXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNWWWWNNNNNWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMM
K00000OOOOOOOOOOOOOOOO0000KKKKKKK0000KKKXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMM
KKK000000000OO000000000KKKKKKKXXXXXKKKKXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMM
XKKKKK00000000000KKKKKKKKKXXXXXXXXXXXXXXXXXNNNNNNNNWWWWWWNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMM
XXXKKKKKKKK00000000000KKKKKXXXXXXXXNNXXXXXXXXNNNNWWWWWWWWWNNNNNNNNWNNWWWWWWWWMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
NXXKOOO0K0OkkkkkkkkkkkkkkkkkkkOOOOOkkxxxxxxxxxkKWWWWWWWWW000KKXXKXNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWW
XXK0OkO0Okdl:;:::;;;;;;::cc::cllllcccllllllloodKWWWWWWWWWNN000KXXNNNNNWWNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMWMMW
XXK000Okxoc;....,,,;;:ldkOkook0000kOOOO0000K0OO0NNNNNNWNNWWWWNNNNNWWWWWWWWWWWWMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMWWMMMMM
NXXXK0kdlc:'   ';;;:;;lkO0Ok0KXXXXK00KXXNNNNNNNNNWWWWWNNNNNNNNWWWWWWWWWNWWWWWWWWWWWWWWWWWWWWMMMMMMWWWWWWWWWWWWWMWWMWWMWWMMMMMMMM
XKK00Oxxo;.     ...'';xOOO0KKXXXNNNNNNNNNWWWNNWWWWNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWMMMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMM
KOOxkxxxo:..   ..;coxOO0KKKXXXNNNNNNNNWWWWNNWWNNNNNNNWWWWWWWWWWWWWWWWWWWWMMMMMMMMWWWWWWWWWWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMM
XXXKK0kxdo:;,,;coodxkOO0KKXXNNNNWNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWMWWMMMMMMWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMWWMMMMMMMM
XXXKKK0OkxxdddxkkOO000000KKKXXXNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
NXXXXKK00OOOOO000000KKKKKXXXXXXNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
NXXNNXXXKKK00KKKKKXKXXXNXNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
NNNNNNNXXXXXXXXXXXXXXNNNNNNNWWWNNWWWNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
WWWNNNNNNNNNNXNXNNNNNNNWNNNNWWWNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMM
WWWWNNNWNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMWWWMMMMMMMMMMMMMMMMWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
WWWWWWWWWWWNNNWWNWWWWWWNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MWWWWWWWWWWWWWWWNWNNNNWWWWWWWWWWWWWWWWWWWMWWMMMMMMMMMMMMMMMMMMMMMMMWMWWMWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW
MWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMWWMMMMMMMMMMMMMMMMMMMMMMWWWWMMWMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
WWWWWWWWWWWWWWWWWWWWWMMMMWWWWMMMMMWMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMM
WWWWWWWMWWWWWWMWMWWWMMMMWMWMMMMMMMMMMMMMMMMMMMMWMMWMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MWWWMWMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
jp2a-1.0.9/tests/dalsnuten-256.html000066400000000000000000000150401362026105100167100ustar00rootroot00000000000000 jp2a converted image
KKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKKKKKKKK00000000000OOOOOOOOkkkkkkkkxxxxxxddddddooooooooolll
KXXXXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKKKKK00000000OOOOOOOOOkkkkkkkkxxxxxxdddddddoooooooo
XXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKKKK000000000OOOOOOOOOkkkkkkkxxxxxxddddddooooooo
XXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXKKKKKKKKKKK000000000OOOOOOOOkkkkkkkxxxxxxdddddddooooo
XXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXKKKKKKKKKKK00000000OOOOOOOOOkkkkkxxxxxxxxddddddoooo
NNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXKKKKKKKKKK00000000OOOOOOOOkkkkkkkxxxxxxddddddddo
NNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXKKKKKKKKK000000000OOOOOOOkkkkkkxxxxxxdddddddd
NNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXKKKKKKKKK00000000OOOOOOOkkkkkkkxxxxxxdddddd
NWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKKK00000000OOOOOOOOkkkkkkkxxxxxddddd
WWWWWWWWWWMMMMMMMMMMMMMMMMMWWWWWWWWMMWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKK000000000OOOOOOOkkkkkkxxxxxxxddd
WWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMWWWMMMWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNXXXXXXXXXXXKKKKKKKKK0000000000OOOOOOOkkkkkkxxxxxxxd
WWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKK000000000OOOOOOOkkkkkkkkxxxxx
WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKKK00000000OOOOOOOOkkkkkkkkxxxx
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKK00000000OOOOOOOOkkkkkkkkxxxx
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNXXXXXXXXXXXKKKKKKKK00000000OOOOOOOkkkkkkxxxxxx
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKK00000000OOOOOOkkkkkkxxxxxx
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNXXXXXXXXKKKKKKKKKK000000OOOOOOOkkkkkkkxxxxx
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWNXK0OOO00XNNNNNNNNNNXXXXXXXXXXKKKKKKKK0000000OOOOOOkkkkkkkxxxxxxd
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXXK00OOkxoool:::;;;;;;;:okXNNNNXXXXXXXXXKKKKKKKKK0000000OOOOOOOkkkkkkxxxxxxddd
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0xdlc:::::;;;;;;,,,,,,,,,'''''',:ldkOKXXXXXKKKKKKKKK0000000OOOOOOOkkkkkkxxxxxxxdddd
dxxO0KXXXNNWWWMMMMMMMMMWNXKK00XNWMMMMMMNKkoc::::::;;;;;,,,,,,,''''''''''..........';;:codk0KKK00000000OOOOOOkkkkkkkxxxxxxddddddo
::ccclllooodddxxxxxxxxddxxddollcclooooc;;,,,,,,,,,,,,,'''...................................;clddlccc;;:;:;:lddd::,',';,lolcc;::
,;;;:::ccccclllcllccc:::::clcc;;;;;,''........................................                                                  
'',,,;;;::::::::::::;;;,,,,,,;;,''''''...................................                                                       
..''',,,;;;;;;;,,,,,,,''''.....'''.........................                                                                     
......''''''''''''''''..........................                                                                                
............''................................                                                                                  
...........................................                                                                                     
...................................  ........                                                                                   
 ...'''...',,,,,,,,,,,,,,,,,,,''''',,;;;;;;;;;,.         .........                                                              
....','.',:ldxdddxxxxxxddooddollllooolllllllcc:.           ......                                                               
......',;cox0XX0kkkxxdl:,',cc,....,''''......''.                                                                                
 .....,:lodOWMWOxxxdxxl,'.',............                                                                                        
.....';;cxKWMMMWXXKOOx;'''......                                                                                                
.'';,;;;cd0XWMWX0xoc;''.......                                                                                                  
......,;:cdxkkxocc:;,''.....                                                                                                    
.......',;;:::;,,''............                                                                                                 
 ........'''''.................                                                                                                 
 ..  .................. .                                                                                                       
       ..............                                                                                                           
             . .                                                                                                                
                                                                                                                                
                                                                                                                                
                                                                                                                                
                                                                                                                                
                                                                                                                                
                                                                                                                                
                                                                                                                                
jp2a-1.0.9/tests/dalsnuten-640x480-gray-low.jpg000066400000000000000000000747341362026105100207230ustar00rootroot00000000000000ÿØÿàJFIFHHÿá SExifMM* ’˜®¶(1¾2Û<ï‡i(CanonCanon DIGITAL IXUS 50HHAdobe Photoshop CS Macintosh2006:07:13 17:23:34Mac OS X 10.4.7‚šÆ‚Î0220Öê’ þ’’ ’’’ ’  ÿÿ € à¢@8 2006:07:06 21:25:052006:07:06 21:25:05 Ÿ _ ¨èv~(† ÅHHÿØÿàJFIFHHÿí Adobe_CMÿîAdobed€ÿÛ„            ÿÀx "ÿÝ ÿÄ?   3!1AQa"q2‘¡±B#$RÁb34r‚ÑC%’Sðáñcs5¢²ƒ&D“TdE£t6ÒUâeò³„ÃÓuãóF'”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö7GWgw‡—§·Ç×ç÷5!1AQaq"2‘¡±B#ÁRÑð3$bár‚’CScs4ñ%¢²ƒ&5ÂÒD“T£dEU6teâò³„ÃÓuãóF”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö'7GWgw‡—§·ÇÿÚ ?ìºm,gOÅcÆÒƵ @5»@ جx(ôúÿQÇÿŠgýHVÅi)¬x) Ç‚8­>Ï$”ƒÓ öm©lIH6ŃÁjbÔ”€°(–rÕÔ”€°x!¹ƒÁY,PsRSUÌn`ðVœÔ'5%5Áà‚öqÌA{RSIõÖ<×µíIM°x ¹ƒÁ\{PÔ”ÿÿÐô.œÏÔ1¿â™ÿR°Ä.šÏÔq¿â™ÿR°Ô”b[`% )ÔÁ¡„Ñ )jŽÔRKRR2ÕÔR ‰ )nj9d$¤Nj°æ¡9©)®à„ö«/j ‚Jj½¨j¸à€ö¤¦›Ø«½ŠóÙ=XóIOÿÑôÎýþ)Ÿõ!YUºoüŸ‹ÿ_ýKU””¤’I%,™:d”²b¤Pî¶š+6]cj¬r÷Öí9%(… ~²t ¾–}Iö»yÿÀ÷*7}vú¿[ˆm¶Z?y•:ý¹é¤§l„7Ë_þ0ñâŒ=³Í–µ†?«[-ÿªEÂúûÒ2+ÌcðIâÇe_Û²°Û+þÕ[Sи!8"o`±„:·j×´‡4ä½¾×!¹á%"r ‚+Þ\à’‘¼ <"½èzJDò«½ÅïUìrJÿÒÔÂúíÔ1⨢ú* ƒµ¾Ö~‘Ž-w´~êÕ§ëÎï§Šß=¶{–ôì’ÜZ[Ä1¿-*ó}¼ð’ŸJ\ð¢]C縧O™jgýxé|2»·LKƒCG›œ×½yÁêABÙó0RSèwýsÊ©áͪ‡×à\æîÉ¿ßéÿn”ìÿ½%7#Ïcõ,cýßæ/4QìŽ÷Vy²¹. ýßQüÓ¨û’SÝõOñ”mšúc~ÌßôÖºÃýJåÔ×ý¿Us9}]ù–›²­}֟γXþ¯æ³û ž±ív­öŸB ¹ìüèINå¹õ7—åßîUlêUv$üËuî&IŸ†ì€ $§MÙõxŸ¹DæWÈåY¦Ð{¨›<ÒS³‡×2ðN]¸Äò*{šÓ>,þmmSþ2zåN›Î6Suö½ž™íü}ŸGú«ˆ/i3*.|DI””ú–øÈèÙnuv`¿»›úz¿Î¬2öÛ*ÖOתԸ´õØ@™¥–X„À{Y³v‹ÈäxÉQ/IO©Ÿ¯ßUÜÐã“kI×k¨|b·s}ªy_Z¾¯ÓH·íõZôYQÞòc¹žßOþ»³Þ¼”¸¨—$§Ó+úïÐ.°WêÛQ0­®$í÷9³nÏÏz&GÖ^…[ßS‰po°—‰wçÖÏO÷߻ؼ¿rmÅ%?ÿÓáq-ŠkÉ‘[mÚDª>¶±ï¥qî­®-w´[86¬¬Ían0üÝÒèŸnçnöú‰)¢ë‰áAö:fï©06Ç ENq–‰:Àv­rGÕŽ‹KK¬¹à#û#ùI)âŸc¸P¹½ô=—Pî•õcì‡$¾ÏL7—<wÑö}%Z¼?ª"w=÷8-­Ö¿¶í}¤§Ÿ{Õ¤Ÿ$<ü¼×VܪpIƵ  $Œ ?ÎvÅ‘õ‹”Pì ëg¨ã¼?ÔˆšÏ¥‘kÞÚÿëI)Åuâcï*^q>^‹£Ý žå_5ÕE˜¥¶¡ lôžlõ=îrJjIî\|}¨·:“«+5ˆ€ øðÆ m¨jd¤¦;À<$÷y§>—€?z^ÝÐÁ%+žÉ$I=ÏÉ c¹ûå%1 øJbÃà¦lqÓ]|ÓObRS ®ðQ ©“àIù¥.ñ$”ÿÿÔâ:vÝK.7UPÚ×÷†¸Ï¶ü¥Þ}SÃÇ»$U{ƒC—7MßOsWâ<5ŒŽCF¼ …ÑtÞ¯n!k¶žJ}o¯Ñ†ú*»&ïDRNב¼G»Ø÷/;úÍÔ:[±~ÍhÈ©½Åô¹ 4pZçz{,ÿ­ª9ßYs2L>Çà΂?ucäf¾Ò~ÑwïáíIM|¼¦šýˆdÉ$mÜO2Öª«3¯£pÇqªyÛþoj{˜Ã$<“ß± £¡³§Ÿú””ÊÜ‹m|¹î±Îä’J¸“·Iä¦6ííSèãhðá%3;G2âT]aÈ&2HÔ]àÍ%*u—=‚wX‡jcŽ ŽN¡.ÓÍ%-¸D@•?ºtŒ%´vù§%£T”¶Òus¡(hñ%DºSn$¤¥ÉÑ10TFâ”É×Á%2Ý:&2yMº8O%?ÿÕózl;ßüš²Ó'â¨1Î?wMTýAñIM×d9ÃÜïˆì…mÍ?íAÝáÙ1ñ&|RS';]>i·AÖ†à<>)‹ÛÄL$¥Í€8ñLgžS<4ó…gú””Ȱ™“)@îJô‰$kÂJI-˜ÐÇr›pjHÓ@›o‰„”ÉÏוO|ÒÐkÊR~I)`tú4ç^JŽž )ROÁ com.apple.print.PageFormat.PMHorizontalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMHorizontalRes 72 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-13T15:20:28Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMOrientation com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMOrientation 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-13T15:20:28Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMScaling 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-13T15:20:28Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalRes 72 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-13T15:20:28Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalScaling 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-13T15:20:28Z com.apple.print.ticket.stateFlag 0 com.apple.print.subTicket.paper_info_ticket com.apple.print.PageFormat.PMAdjustedPageRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPageRect 0.0 0.0 783 559 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-13T15:20:28Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMAdjustedPaperRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPaperRect -18 -18 824 577 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-13T15:20:28Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMPaperName com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMPaperName iso-a4 com.apple.print.ticket.client com.apple.print.pm.PostScript com.apple.print.ticket.modDate 2003-07-01T17:49:36Z com.apple.print.ticket.stateFlag 1 com.apple.print.PaperInfo.PMUnadjustedPageRect com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPageRect 0.0 0.0 783 559 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-13T15:20:28Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMUnadjustedPaperRect com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPaperRect -18 -18 824 577 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-13T15:20:28Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.ppd.PMPaperName com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.ppd.PMPaperName A4 com.apple.print.ticket.client com.apple.print.pm.PostScript com.apple.print.ticket.modDate 2003-07-01T17:49:36Z com.apple.print.ticket.stateFlag 1 com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PaperInfoTicket com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PageFormatTicket 8BIMéxHH/ÿîÿî8Ag{àHHØ(dÿh 8BIMíHH8BIM&?€8BIM 8BIM8BIMó 8BIM 8BIM' 8BIMô5-8BIM÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿè8BIM@@8BIM8BIM9à€t2€ànullboundsObjcRct1Top longLeftlongBtomlongàRghtlong€slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenum ESliceOrigin autoGeneratedTypeenum ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlongàRghtlong€urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT horzAlignenumESliceHorzAligndefault vertAlignenumESliceVertAligndefault bgColorTypeenumESliceBGColorTypeNone topOutsetlong leftOutsetlong bottomOutsetlong rightOutsetlong8BIM( ?ð8BIM8BIM8BIM á xàá ÅÿØÿàJFIFHHÿí Adobe_CMÿîAdobed€ÿÛ„            ÿÀx "ÿÝ ÿÄ?   3!1AQa"q2‘¡±B#$RÁb34r‚ÑC%’Sðáñcs5¢²ƒ&D“TdE£t6ÒUâeò³„ÃÓuãóF'”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö7GWgw‡—§·Ç×ç÷5!1AQaq"2‘¡±B#ÁRÑð3$bár‚’CScs4ñ%¢²ƒ&5ÂÒD“T£dEU6teâò³„ÃÓuãóF”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö'7GWgw‡—§·ÇÿÚ ?ìºm,gOÅcÆÒƵ @5»@ جx(ôúÿQÇÿŠgýHVÅi)¬x) Ç‚8­>Ï$”ƒÓ öm©lIH6ŃÁjbÔ”€°(–rÕÔ”€°x!¹ƒÁY,PsRSUÌn`ðVœÔ'5%5Áà‚öqÌA{RSIõÖ<×µíIM°x ¹ƒÁ\{PÔ”ÿÿÐô.œÏÔ1¿â™ÿR°Ä.šÏÔq¿â™ÿR°Ô”b[`% )ÔÁ¡„Ñ )jŽÔRKRR2ÕÔR ‰ )nj9d$¤Nj°æ¡9©)®à„ö«/j ‚Jj½¨j¸à€ö¤¦›Ø«½ŠóÙ=XóIOÿÑôÎýþ)Ÿõ!YUºoüŸ‹ÿ_ýKU””¤’I%,™:d”²b¤Pî¶š+6]cj¬r÷Öí9%(… ~²t ¾–}Iö»yÿÀ÷*7}vú¿[ˆm¶Z?y•:ý¹é¤§l„7Ë_þ0ñâŒ=³Í–µ†?«[-ÿªEÂúûÒ2+ÌcðIâÇe_Û²°Û+þÕ[Sи!8"o`±„:·j×´‡4ä½¾×!¹á%"r ‚+Þ\à’‘¼ <"½èzJDò«½ÅïUìrJÿÒÔÂúíÔ1⨢ú* ƒµ¾Ö~‘Ž-w´~êÕ§ëÎï§Šß=¶{–ôì’ÜZ[Ä1¿-*ó}¼ð’ŸJ\ð¢]C縧O™jgýxé|2»·LKƒCG›œ×½yÁêABÙó0RSèwýsÊ©áͪ‡×à\æîÉ¿ßéÿn”ìÿ½%7#Ïcõ,cýßæ/4QìŽ÷Vy²¹. ýßQüÓ¨û’SÝõOñ”mšúc~ÌßôÖºÃýJåÔ×ý¿Us9}]ù–›²­}֟γXþ¯æ³û ž±ív­öŸB ¹ìüèINå¹õ7—åßîUlêUv$üËuî&IŸ†ì€ $§MÙõxŸ¹DæWÈåY¦Ð{¨›<ÒS³‡×2ðN]¸Äò*{šÓ>,þmmSþ2zåN›Î6Suö½ž™íü}ŸGú«ˆ/i3*.|DI””ú–øÈèÙnuv`¿»›úz¿Î¬2öÛ*ÖOתԸ´õØ@™¥–X„À{Y³v‹ÈäxÉQ/IO©Ÿ¯ßUÜÐã“kI×k¨|b·s}ªy_Z¾¯ÓH·íõZôYQÞòc¹žßOþ»³Þ¼”¸¨—$§Ó+úïÐ.°WêÛQ0­®$í÷9³nÏÏz&GÖ^…[ßS‰po°—‰wçÖÏO÷߻ؼ¿rmÅ%?ÿÓáq-ŠkÉ‘[mÚDª>¶±ï¥qî­®-w´[86¬¬Ían0üÝÒèŸnçnöú‰)¢ë‰áAö:fï©06Ç ENq–‰:Àv­rGÕŽ‹KK¬¹à#û#ùI)âŸc¸P¹½ô=—Pî•õcì‡$¾ÏL7—<wÑö}%Z¼?ª"w=÷8-­Ö¿¶í}¤§Ÿ{Õ¤Ÿ$<ü¼×VܪpIƵ  $Œ ?ÎvÅ‘õ‹”Pì ëg¨ã¼?ÔˆšÏ¥‘kÞÚÿëI)Åuâcï*^q>^‹£Ý žå_5ÕE˜¥¶¡ lôžlõ=îrJjIî\|}¨·:“«+5ˆ€ øðÆ m¨jd¤¦;À<$÷y§>—€?z^ÝÐÁ%+žÉ$I=ÏÉ c¹ûå%1 øJbÃà¦lqÓ]|ÓObRS ®ðQ ©“àIù¥.ñ$”ÿÿÔâ:vÝK.7UPÚ×÷†¸Ï¶ü¥Þ}SÃÇ»$U{ƒC—7MßOsWâ<5ŒŽCF¼ …ÑtÞ¯n!k¶žJ}o¯Ñ†ú*»&ïDRNב¼G»Ø÷/;úÍÔ:[±~ÍhÈ©½Åô¹ 4pZçz{,ÿ­ª9ßYs2L>Çà΂?ucäf¾Ò~ÑwïáíIM|¼¦šýˆdÉ$mÜO2Öª«3¯£pÇqªyÛþoj{˜Ã$<“ß± £¡³§Ÿú””ÊÜ‹m|¹î±Îä’J¸“·Iä¦6ííSèãhðá%3;G2âT]aÈ&2HÔ]àÍ%*u—=‚wX‡jcŽ ŽN¡.ÓÍ%-¸D@•?ºtŒ%´vù§%£T”¶Òus¡(hñ%DºSn$¤¥ÉÑ10TFâ”É×Á%2Ý:&2yMº8O%?ÿÕózl;ßüš²Ó'â¨1Î?wMTýAñIM×d9ÃÜïˆì…mÍ?íAÝáÙ1ñ&|RS';]>i·AÖ†à<>)‹ÛÄL$¥Í€8ñLgžS<4ó…gú””Ȱ™“)@îJô‰$kÂJI-˜ÐÇr›pjHÓ@›o‰„”ÉÏוO|ÒÐkÊR~I)`tú4ç^JŽž )ROÁ 1/320 56/10 0220 2006-07-06T21:25:05+02:00 2006-07-06T21:25:05+02:00 266/32 159/32 0/3 95/32 5 False 0 2 False False 5800/1000 4294967295 640 480 2 Canon Canon DIGITAL IXUS 50 1 72/1 72/1 2 1 2006-07-13T17:23:34+02:00 2006-07-13T17:23:34+02:00 2006-07-13T17:23:34+02:00 Adobe Photoshop CS Macintosh adobe:docid:photoshop:62e9d615-1426-11db-996e-bb4a78cc89ac image/jpeg ÿîAdobed€ÿÛC##""  ÿÀ à€ÿÝPÿÄ¢  3!1AQa"q2‘¡±B#$RÁb34r‚ÑC%’Sðáñcs5¢²ƒ&D“TdE£t6ÒUâeò³„ÃÓuãóF'”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö7GWgw‡—§·Ç×ç÷ÿÚ?é!<% á(J„ð”% B}©BPžÚž„¡(J„¡(J„¡(M BP”% ¡(JBP”&„¡(M ¡(M BhM BhM ¡4% ¡FBhKjŽÔКBhMµ1 0˜„Кa1 ˆM ¡4&„КÿÐ铤$é$”$$“ÂPžJI$’I$’I(L’I’I$É$™$“$™2I“&„“&J&Q„¡4&L˜¦…M ŠdТSBdÊ%1M “&L™ÿÑéÓ¤$é$’t’I:t’I$’I$’I$’L’I’I$É&I$“&I2d“$™2dÉ(¦I2dÉ“&*)(¦L¢˜¦Q)“&)“É—ÿÒê¤$é$žI$é'I$’I$’I$É$’I$™$“$’d“$™$É&L’dÉ&L™2dÉ’Q)’QL™2b˜¨™2Œ<JdÅ2eÿÓêa<% á<% á(I$“ÂPžI$’I$’L’I$’I&I$“$™$É$™$É&L’dÉ’L™2dЙ2dÉ“&LS&…™2Šb˜¦)”S&L¿ÿÔê¡<'„é'J„¡<% Bt’I$’I$’M $’I$™$’L’I’L’d’L’dÉ’L™$É“&L˜„ɓɓ<SÉŠŠb˜¦Q)Šb™1_ÿÕë!<$:Pž„¡(O $’I$’I$’P’I’I$“$’P™$É$’d¡2d“$™$É“&L’dÉ’QL™1L™2ŠdÅ2b¢™1Q)“&L™ÿÖëBxO BxO BP$’I$’I$’I$’L’I$’d’L’I&I2I&J&I2d“&L™$É“&L™2dÅ2eÅ1L¢SÅE1L™1L™ÿ×ë‚’IÒN’IÒI$’I$’I$’I2I$’d’I$É$™$“$™$“&L’dÉBdÉ“&I2dÉ“<S&„Å2eЙF&)”JdÅÿÐìN’t“¤ž„’„’I$’J„’„О$’d’I$“$’d’L’I’L’dÉ’L™$É“&L™$É“&L™E2b™2eÅ1QL™E2eÿÑìBt“¤žN’I$’I$’I&I%%’d’L’I$’I’I2I’L’dÉ&L’dÉ“$™2dÉ’QL™2dÉ“Ê)“Ê%2Œ&)“/ÿÒì’N:P$’I$’I$“$’I'L™$“$’I’I$“$’d“$™2I’QI2d“&L™2d“&L™2dÉ“(¦L™E2e”R!ÿÓì“§N$“¤’P’I$’d’I2IÒ)“$’I’I$É$’d“$™$É&I2dÉ&L™2I“&L™$É“&L™E2dɈQ)”JdÅ2eÿÔìÀRI:t“¤’I$’I’I$“$’IùQI$É$™$“$’I’I2I’L’d“&L’dÉ“&I2dÉ“&L™%Å1LšJP£ ¡4&!4&!ÿÕí’N$’I$’I$’I2I&I$’L’I’I$É$™$“$’d“$™$É&L™2d“&L™2I“&L™2b™2b¢˜¦L™2dÉŠÿÖ퓤$’I$’I$’I$“$’I’I$“$’I&I2I&I$É&I2I’L™2I“&L™$É“&L™2dÉ“&L™1„ÉÉ¡D¨¦0¿ÿ×íá$é$’I$’I$’I$’I’I$“$’I&I$“$™$“$’d“$™$É’L™2I“&L™2dÉ“&L™1L™1L˜¦L™2b˜Â‰_ÿÐíÂt’I$’I$’I$’I$’I2I&I$’I$É$™$É&I$É&I2I’L™2I“&L™$É“&L™2dÅE2dÉ ¦„ÚĨ’TS$WÿÑíÓ¤’I$’I$’I$’I$’I&I$“$’I&I$“$™$É$™$É&L’d“&L™2I“&L™2dÉ“&‚šhšSIQ*%2b¢™2KÿÒîI$’I$’I$’I$’I$’I2I&I$’I2I&I2I’I2I’L’dÉ&L’dÉ“&L™2d¡6‰¤(Êb™2ŠdÅD¦)ЉL™2ÿÓîI$’I$’I$’I$’I$’I$É$’d’I2I$™$É&I2I’L’d¥)M)“&L™2dÉ“&I2ŠdÅ2eÉ“™2Še¿ÿÔíÂt’I$’I$’I$’I$’I$’L’I&I$’L’d’L’dŽ‚{!;"†€]c@$¨åÇkQ9ãTÉ&L’d“&I2dÒšS™2dɓɔJdÉŠŠb™2‰LTJdÅÿÕíÂt’I$’I$’I$’I$’I$’I2I$™$“$’c¦§@n^-Blµ­ùÉÿ1ª¯í®ŸûÎÿ4¨¹€;¼ÿgÿ2U2>°c¹¼ÿý&ÅŸoXê…Ø<U;2o°þ’Ç?úÄ”-É 8qÕu Ê¿›¹ãÊdšõ§GÖ+ ŠÃÇw3Úïó>‚ÙÅÎÆËlÒù=Øt{­Z°™$É“%*2’dÒ™4¦L™2dÊ)“É”S<S(”ÉŠÿÖíÓ¤’I$’I$’I$’I$’I&I$’I2g9­nçÖŽI0 ºÎz›òÿÓö±fÛõ†âO¥[Z;KýñDýbÈÚ"¶Os¯ýNåYÝo¨> A­ú”+:¶{ù¹Ãú°ßú…YùWYôìs¾$”-éŠ>¢oQ7¨›zmé·¦Þ›zvÚææ’8#BïOúÁ´zy’à> K¿ë­üõ»NV=í¦Æ¼¯ùŸMR”É“&L™2d“&L™2Œ¦LJbS¢šSšTIL™2Œ¦%ÿ×íÓ¤’I$’I$’I$’I$’I’I$“qʯnn%-Ýe­@î?æ1cfõ×»Ù‰,ow7ê7óEÙ7ÜfÛÿëA.QÜ›rbåÉ¥1*;“£¹4¦”Ò”¦”·&ÜŸr“.}oa,{uZUuüÐêýWïc ºxýÛµjúɆY6µíxìéÿ¤´q3*˨[^€“¡‰ÑBd“&L™2dÉ“&•Ò˜”Ò£)¥2bTe4¦”Ò¢JiQ%ÿе_YÏoøMß֣޹˜li$ŽZÒZLë˜Çé1íûŠ°Þ©„á;ãâ #z†âÁóLfbž,oÞˆÛñ-pwÀÊ’I$’I$Hž{3±ë0]'ÈJº KXç 땲wÒááü‚-kПé<˜Úÿý)üÚ¼ËcwVàæ™‚ ’I2J†WWÃÇqd›,o-gþ”ú ;ªß–vŸe]«içþ7ý" \£*$¦”Ĩ’šTK“(’šSJiM)¥4¥)¥4¥)JR”¥*UÜú¾·;Ŧ¨ß´2v5ޱÎk>ŒŸ£ýUmÝ{-Õ2½Å¥º—ƒîwõ–ž?ÖLc_ë!Ͱw`ïü‚»Õð2±–CÏÞÍßÕÜ®‚dxBRšSJdÒ˜•L˜”Ĩ¦%2iQ”É¥FSɉQ”ÅÿѬҦ¦°¢ aLZTŧÅ™GÀ”Vç^Þ,wÞ‰ûO'÷ÿ‘ê™@Îÿ”!Öî4øò^lûªûÿ˜¦^h•ã'ÿ"«»«YsýÞÖŸÍ'65áV|´ËJ´;G)kµj¬MÕ}ü «´}`Ϥ¸¶Æ´G¸kþ{v­ ~³ÒGé©sO‹pÿ§±þr`~íŸæý(…wÖlPÏбΰþø†ó²rzÞVD‡<µŸºÏhÿɪ!ª&ö¦7Þ³Rõâ›xñKrŽäÒšTK‡Šƒ¬`ä¨zìóLobas’}íñMêÆÑæ—¨ÓÝ>à{¤’iM)JRšR”Ò”¦•g?/ÍÈå¿æ?ص±~²ØÐFU~§î¹žÓ?ºõ±ÕprZݶ†½ßàÞvºU¦X˹‡sx‘䜔&_M‘é½®ž ÿiA¹xϳÒe­u‚} ‚}¿MR³®ôÚí5:Ù-™p¶GæoFÆêX™5:êß gÓÝíÛýmÉSÔ°oqeW5Χoù¾¦Åu,ó‘_1£×û(­¾§ðâ[¼yaÿ§)•wåã2ÏMÖ4>'lëIfž¿ŠŽÙûúçµ/ÛÝ<Ö_.‘ù…¾ãý_ÌQÆë¸×ÚÚË eÚ8ˆÝûªÑÏÄõ>«}@$ëíÓþùµbA8M*$¡:úZàÇ=¡îá²$©¿ÿÒÏkÑCÔƒ”Ô·©©‡© ïLmO¾BrqM¸¥¸„FdŽ.o   {è¢rZí ƒÚ×jÕYí!Ù ½TÆåj^·’pðRÜ”ù¥>i¤„½B9P9€ù¡›y%@»Ä¦šR’šJdµJJR|”·%¹-å1{r›s¹”ûÝâŸÔrP¨›|’õ€KÕ> ½TâߥêfŽ­ŽÝ´ÚZßÝ>áþmŠWõ¾£phu¥›AiÙìÝ?KÔØ¨ li–¸ƒäHQmŽi–’ˆ0£2uH9ÚÁ€y ¢¬cfßs.¬ë_ê Ñ­1õ›2I5°ƒ5Óþ’Výc¾ÌsX¬2×hli:ø6~úË£)Õ[ë}'‰"xÜ}»ž£öÑz[DLî×rlÛØñ Á‘Ê‘{L@ ÷32µjúÁsÖº–´í–è?ÏPÊëvÜ"½ÕGý[[ê ¯™´°¿s\#ÜT½W3ª·gVÌ{ „ƒHþRÿÓÉk‘C”ƒ”ÔÓîN¤Ÿr‰rv½"ååÊ%ÊÅ&ÞB8·påAæBªñà¢Û\ÓªŸªʃšÓ˜BM)¾iOšpçx§ßâœXÞé÷5Dí<’¡- ¥¾  % µKTÅ"&JRšR”ÒR’ â–ã ÷Û’”Ò’R”¥)JR’iM)¥)M)JIJd’JR”¥)JSJKÿÔÅk”ÔÔÔÔƒ“îKr}É‹’H¹D¹@¹D¹@•ÉÛl#6Ðá .„ PÉ„…„'õ%EÀ'É)¤¦’žR”“HñJG‚R|’›qKqñJ|Ó% ¡(M h–‰’LO’m<„¡4%¢i “¤–‰$’EE1„É$’IJd’I$Ò’I/ÿÕÂH9L å å0ä·%¹>äÛÓoO½@¹D¹D¹D¹D¹D¹ ôVY)ݪ¥ ÊŠAÊ[‡Š‹¶¨É¥4ù¥!)M¹6äò˜“ %ÒšTI))¥)JR”ÒR”Ò”¥)¥)P%4©ƒ¢yM)JiJSJR&)’I$’L’I$’I’_ÿÖçÁ @©'ܤ¦–äû“nM¹6ä·&.Q”Ĩʉ)¥FS‡F½9Õ ÁD¨’šBRšS¢tQÝ䔥¢I&˜•JSÌ%%<¤HM)HJBiL\šJRSÊR’c “ÊR”¥!4„¥4¤a$É’I2I$’I“¦I$—ÿ×ç*@¥*@©nKqJJy)¥4¦”‰M*&TJdĦ%6䃔ÃüT¤(8 \Tw91qM%)I2dµM%6©&„É'I$’„¡1£)’I?d¸M%)N™$’I$’„É$šL’I$’I’I$—ÿÐæR”òSÊO)IO)nM¹D¹-ÉJiLJ‰rbJŒ”‰LJŒ§§©JbL’iM¹4¥)JbBR’iJRÑ-I$¥4¦%EôûÓJ"$|Òj}ä¢çJc Â[¸òJIå4”·KpKr[‰M%8)JR’ÿÔä€(çÉ\Æ®Ä];«ƒðpÆh- !Ý»*ÍÚ$iÜ+˜Õ ]²X{B¸1D¶¢|á9Ã?è¿¡öCþŽ>å6áN›?" éßÉzG¦Ÿök|“œÏ/¹@àWÉ#îRn _r ÁLJܠü,sÙácÏÑÓâÀÅYòDnÿ?fâã*oÜŠÀ4h”KDúx(ºÚÙÉ„3“TH“òYùÝFÚ ÖÏa:W:ã¸ÉPI>›xÖyL‰kª¹®iŽÞKIÙÏÞêÈšb#û(ßgÊ{fÙóùšº}îúN ü‹>Ænçw&tú~ïjkq)¬A»ÃRªº¶A‰a3ÙX0ù¾1EƒÅ-­O´Ÿk|‘à˜;Á)ûÒ™å-ÞØî”Ï 2Së˜ò‘ˆóLAM´”û{ð–Ô¶§„¸KNO)ióQO<%)%” &O)“$ŸUÿÕåÚÂí’Q[iŠ“[ed8rÑÙ•c7n¼¶9”69äè&ë"ŠöY%œGµËB‘Lo;ËÜ5 Æ…ßnư€ßŸut°!:­S6¸E Ñ"У´(–·ÁϤ<Ö`8j|”wÕ;dH‰å}&¹Ž8•¹€IÓâ€çVDþoŠi ´£Q´=Žn×j öPsÞx±M¼noÞŒŠxõ[÷…/´cüë>ð¢ëñݤ‡Oƒ‡þIý˜ŸæÉóÝÿ‘rÎêM¬2ª‹u’èwý[Ö¢Œ'Ú"OÉ&‰Ó‰åL×´ø§×pwq¨ò…&8µÞ¤ëÏÍYC!¬ €$ýçr³/q’ó§N¹äý"SJm@å1Ó”‚i<§$|’Ü‘ ™)q>!4¦ÜžJ_§²}%)¥-Å)0œ9)LJiJRÙ()ö‘O¤É&L’IÓ'_ÿÖåXáßDf¿Ä¢†Èö”ƒv¸Û±Gfàw@%ÇYòWkp¾Ñêl…u¯s YN i´‰Ÿä«ø­¼»adŸÝh×ûnZMÀ¹Ü´7âS¿§†7sìÈ@–ƒ„Åà!ºÔ7]N€*Wõö"K–f]s…q!ƤDZ¬ “ùÞ<íWÛRЈ'Ýþ‘ffÜàæ’çY[Û:èZ~ŽÍÊ·ÚKaÍ$€‡xÿ'þ FΣý ´ð€ˆÛóíh‡(3÷TÇn¤ßDÿa·ý zo°çÛûëP ïýã÷¨úÖô‰ò%4I:¨È„ÓÝ<ˆ”ÅÞTK‰á(%I·x(ðšSL&Õ%6lð£)I… ÛTæ`xj¢a á J‰:¥)ä›q”ÅÅ))¥$¡>Ýí:'Úm%?dҔ꘤I)ðL2tÉ&)$¿ÿÑæi©¶:&#”z±ƒß·vß?¤¬žŸlÃp‰.>Õ:ÅŒ!¶7téâªÕ7“êq…£‰%ÀÑaÒ4s øÊÕ$Î´Ï ¯¢»Š¢¦·Þðz£k±˜íl`™*Ž_RÁhÚב©ŽòW=u‚Ë]cš%Âìßê úÁ­ h‚ ‡w‡ C²÷9»]iøÖßú…_pLIP3Çu J@H»Á6ßž[0†â;(ƒªœ¦3ÀM´÷N®ª`–’$B†äƒ»¦ÉK N"cÃEðL)9LxQU8vù(ÊI§HHJxæR)„Д%µ8oâŸn©à$’iÑD™)J@ð¢yI$’I$Òœr™$’N¿ÿÒÁÇ»•†–—;¹Ó”Z²™[·5²Šþ§’âvÆöûò%ù pq!Äx€¤½åçé8Éø«Ô9ÒÆ5®ªÖ¢ý!ÅYÜ"eWÈÈkDóXÙWØàC^vøJȸ¼þqT­ÜGÊ´å ¸! LD(ÓÝ1ƒ¢Œú£¨á2c%IŽR09)iØ¥)øKÁ/S)Hù¨’šuø¦î1:|R$¥3Êp‘?‚I-R)JR¤<Ú— Òá<ò–¼”Ó¢@¦2’hH¥:&H¤ IÉ$™H$’I’_ÿÓåD©Ê›\=•†eŽ ÝVDBÒÇ»MUöd@Ôè¥fx ‰TíÌÜ9YïÈp:3×hí--<T¬PKJ !9ÝÉðLx’ ]§š†²§¶5JG ‰âè8P$Ï‚‰©a:mÚ&˜„ÒJGD‡ ÏåL5HSDj˜¤èŸi)Ï$(“)HêRì™(NpuÑ?4Ú§Žå?)¾ i<¦î”¿*me"Jd’JSJI$’Pžž&H$’ÿÔ冩Ä@4QíQÃãTvX{+,µÃº ½Þ):ÿ4]OµW}š¡ïwb¥ë bC»ªï%¦S XJoL}É´Ÿ´LJŒ™Õ8t$\9M¸&$‘¢_Ú)4ɧMSŽ#Å(Rˆn¼¨˜ œš @i*@€uáM®oÀ"¶À )>e8~ª{Ô5:¦#DÚ}É÷… OdÂÎÊ3â›p ·„‰ì¡)œ4P‘7dÓ 2œHK•-ºÂ[RJBRš|Ò&JRœññå3|ÒÑ¢Q¬) ùø%Kƒâ çj˜8Âqø¥e>Ø)´û”w&”’I"™$’ ÓB)’”¥4¤’d’Nt»%)—ÿ×ä„óÈRÜ>J;¿Ø¦‚'(ä˜<…0å-Ú(—TKôL]'EÚ¤]¢ŒÈP)nÑBRR.LO`‘”µ„£D¢CF‰O‚hJa6äµH%¬(ê”蔦Å:@¥)INÜ—)‹T£ðLœ :&"J}¢e.w·ÄüÓ&O šRI2IÓ„’O*)$™$ò™8 á$¥4¤’ÿÐä‹~iÁ‘ªS®‰ç]8R•=ßzy?r[“nMÊS$ãÅ#®ˆfSÆD”ǔ҃§‚b{§Ýø¦”ñãÏdÆ9)„JE4Gšcª\ H%)M:¦€”¤”ˆ)ÃRû|SéªR–ï½1r]“L'ñJTe)×É1H¤‘„¥2dé% 'I.RL’d“¤”$œ¦”’I$¡ÿÑãd§”í¥Ø„SÞã§nÉ%6ªIå6œ¥0‘vŠɉ“'Qt¦¤BxM·ðN=Ó5PÜT“Iìœx}é»% |ƒ)rSí hæšSÏû’ ƦSM¤%ÀHÀ 3)N‘Ý4ëäS—ØkÉïýU O)’I$É'<$’I&JS' ':d¥)L’I$ž/ÿÒâ–ž*@ŽÉ˜Êað؉O¹"BEÉL|ÓJS)‰LIH9>ïÅÅ0wÞ¤<Ò'²i„Û‚båS÷§'M‰L%H¦?•84ö ljM¬&ìî—o4Ó§Ü;&å7dåÞ)§DìL™?dÒ”¤’p-Hµ „މJiJRI$’OüR $™$’I$“¤9_ÿÓãZ–’œ'N© >IÒH¥!ªS&”§DÄÂbˆ#ÃÁ(žém1)ÁùÂ[I ƒSmOR Ok nM¹#ÚxMÛ”ÚÊR‘1ÂR”¥?ŠSD’’RSƒªR$”¦I)Lž‘ˆI)”쟼(ÊE2I“ÂPž4I$’L’tÉ$’tÉ$¿ÿÔâÁ„¥ SÌêT§ºmSÌ'™.éJiKÉ"ÈN&žér)i»ÉO)”¥=“BR¢e;DjSD¹9<&”¥4¥)JiHJ{¦O¢R’d’I$àJdˆ…9ä£ÊRšR:Iû&I$€ ’”“’I$é’I$’I(_ÿÕâS€>ôíS„óª[”w)žS ÀH7ïN@îSHã²c ‰ŠC<Âtäö…SÎ’–íuH.ì™4¤’IJR™$é’I<&O2“F’–‰xBZJg&I$“€’IBI’I$“¤™$’I$’I$’R‰ø/ÿÖâ…)LJR’pœvNJ`¥=ÓOt‰I2iÕ)Mø$N‰¥<¦Õ!Á)$S'ì™$É$’I$()ALœjžBR˜‘:&”§DKEéÀJK²R—’I’)“¤’A$’I$ÉÒI$¡$¡H:/ÿ×â*]Ó'„€ñRÑ/Êš{%)§Dý“JIJR—dÉÒLS%¯ Êd“'L’I’I?)žO¢}há ŸÉJd“„¡"˜$™:yI2tÉ$™9I$¥$’I$’I$»$1)”»$¿ÿÐâS¤ŸD´K”’ŠI'L©N²™$„§¤™$‡)Âd“$2I$Ÿn’’\¥’p?Ç”‰I)LS'I$¥.S¤RÒŒéðL8OÙ$ÉÓ$’I$’P’I$’I$’t’L”)GŠ‚ÿÑâyN)&”I?šbHIN™0I?d“J\¤’d¥$’N’IBIûBe&>î¸P)JiI$å2I’N’t¡7té‡)Ó'> ¥$’I$“¦I$’I$’I<¦I(I:eÿÒâBI“'”¥)Ñ2I%)%)JiJRI$’I)I8K„à§Ò ŠS¢IçÅ1t¦”É'I$“$žN™<¤’b’I$—t»¤’I$’I$’x) „ñ)’I$ÉÓ¦IÿÙjp2a-1.0.9/tests/dalsnuten-640x480-gray-low.txt000066400000000000000000000160271362026105100207510ustar00rootroot00000000000000+------------------------------------------------------------------------------------------------------------------------------------------------------+ |.......................................................................................................''''''''',,,,,,,,,;;;;;;;;:::::::ccccccccccllll| |............................ ....................................................'''''''''',,,,,,,,,;;;;;;;;::::::::ccccccccc| |...................... .................................................'''''''''',,,,,,,,,;;;;;;;:::::::cccccccc| |......... ..........................................'''''''''',,,,,,,,;;;;;;;::::::::cccccc| |.... ........................................''''''''''',,,,,,,,;;;;;;::::::::cccc| | .....................................'''''''',,,,,,,,;;;;;;;;:::::::::c| | ...................................''''''',,,,,,,,;;;;;;;;::::::::| | ..................................''''''''',,,,,,,;;;;;;;:::::::| | .................................''''''''',,,,,,,,;;;;;;;::::| | ..................................''''''''',,,,,,,;;;;;;;;::| | ..................................''''''''',,,,,,,,;;;;;;;| | ................................'''''''''',,,,,,,,,;;;;;| | ................................''''''''',,,,,,,,,;;;;;| | ...............................''''''''',,,,,,,;;;;;;;| | ...............................''''''',,,,,,,;;;;;;;| | ............................''''''''',,,,,,,,;;;;;;| | ....',,''... .............................'''''''',,,,,,,;;;;;;;;:| | .....',,;;:cllooodxxxxxxxxxxxdl;'.. ...............................'''''''',,,,,,,,;;;;;;;:::| | ..';cloddddddxxxxxxxkkkkkkkkOOOOOOOOOOOOOxdoc:,'........................''''''',,,,,,,,;;;;;;;;:::::| |oolc:;,,''........... ...',,;;,,'.. .';coddddddxxxxxxxkkkkkkOOOOOOOOOO000000000000000000000OOxxol:;'.........'''''''',,,,,,,;:;;::;;;:::::::c| |xddddoooolllccccccccclllloollc:ccllooddxxkkkkkOOOOOOOOOOOOOOOOO000KKKKKKKXXXXXXXXXXXKKKKXXXXXXXXXXXXXXXXXXXXX0OkxxOO00KXX0XKKK0xxxd00XXNNWXKKxxkOO0X00| |OkkxxxddddddoooooodooodddddxxxxxdddxkkkkkkkOO00KKKKKKKKKKK0KKKKKKKKKKXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWW| |0OOOkkkkxxxxxxxxxxxxxxxxkkkkkOOOOOOkkkOO00000000KKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNWWWWNNNNNNNWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMM| |0000OOOOOkkkkkkkkkkOkkOOOOOO00000KKK000O00KKKKKKKKKXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNWWWWNNWNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMM| |KK0000000OOOOOOOOOO0000000000KKKKKKKKXXKKKKKKKXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMM| |KKKKKK0000000000000000000KKKKKKXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNWWWWNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMM| |XXXKKKKKKKKK00000000KKKKKKKKKKKXXXXXXXXXXNNNXXXXXXXXNNNNNNWWWWWWWWWWNNNNNNNNNWWNWWWWWWWWWWWMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMM| |NXXXK0000KK0OOOOOOOOOOOOOOOOOOOOOOO000000OOOOkOOkkkkkkO0NWWWWWWWWWWK0KKXXXXXNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW| |XXKK0OkOOOOkdl:;::c::;;;;;;::ccc::cllollcccclllllcllood0WWWWWWWWWWWNNK000KXKXNNNNNWWNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMWMMWW| |XXKK000OOxdlc;....',,,;;;:ldxOkxook00000kOkOO000000KOOO0NNNNNNNNNNWWWWWNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMWWWMMMMMM| |NNXXXK0kxolc;' ,;,;;;;:okOOOkk0KXXXXXKK0KKXNNNNNNNNNNNNWWWWWNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMWWWWWWWWWWWWWWWWMMWMMWWMWWMMWMMMMMMM| |XKKOOOkxkdc'. ....,,cxOO0O0KKXXXNNNNNNNNNNNWWWWNWWWWWNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWMWWWWWWWWWWWWWWWWWMWWWMMMMMMMMMMMMMMMMMMMMMMMMMM| |K00kkkkxxdc;'. .,:coxkO000KKXXXXNNNNNNNNNNWWWWWNWWWNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |XXXKK00Okxdoc:::cloddxxkkOO00KXXXNNNNNWNNNNNNWNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWWMWMWWWWWWWWWWWWWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMM| |XXXXKKK00OkkkxxkkkOOO000KK000KKKKXXXNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |NNXXXXKKK0000OO0000000KKKKXXXXXXXXXNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMM| |NNNNNNNXXXXKKKKKKXXXXXXXXXXNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |WWNNNNNNNXXXXXNXXXXXXXXXNNNNNNNNNWWWWWNWWWNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |WWWWNNNNNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMWMMMMMMMMMMMMMMWWMWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |WWWWWWWWWWWNNNNNNNNNNWWWWWWNWWWWWNWWWWWWNWWWWWWWWWWWWWWWWWWWWWWWWWMMMWMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |WWWWWWWWWWWWWWWNWWWWWWNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW| |MMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMWMWWMMMWMMMMMMMMMMMMMMMMMMMMMMWMMMWMWWWMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW| |MWWWWWWWWWWWWWWWWWWWWWWWWMMMMWMWWWMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMM| |WWWWWWWWWWWWWWWWMMWWWWWWMMMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MWWWWMWMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| +------------------------------------------------------------------------------------------------------------------------------------------------------+ jp2a-1.0.9/tests/dalsnuten-640x480-rgb-low.txt000066400000000000000000000160271362026105100205610ustar00rootroot00000000000000+------------------------------------------------------------------------------------------------------------------------------------------------------+ |XXXXXXXXXXNNXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKKKKKK000000000OOOOOOOOOOOOkkkkkkkkkkkxxxxx| |NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXKKKKKKKKKKKKK00000000000OOOOOOOOOkkkkkkkkkkkkx| |NNNNNNNNNNNNNNNNNNNNNNNNNWWNNNNNNNNNNNNNNNNNNNNNNWWWWNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXKXKKKKKKKKKKKK00000000000OOOOOOOOOkkkkkkkkkkk| |NNNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXNNXXXXXXXXXXXXXXXKKKKKKKKKKKKK000000000000OOOOOOOOOkkkkkkkkk| |NNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXKKKKKKKKKKK000000000000OOOOOOOOOkkkkkkk| |NNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXKKKKKKKKKKK00000000000OOOOOOOOOOkkkkk| |WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXKKKKKKKKKKK00000000000OOOOOOOOOOOOkkk| |WWWWWWWWWWWWWWWWWWWWWWWMMMMMMWWWWWWWWWWWWWMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXKKKKKKKKKKKKK000000000OOOOOOOOOOOOk| |WWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXKKKKKKKKK00000000000OOOOOOOOOOO| |WWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXKKKKKKKKKKK00000000000OOOOOOOOO| |WWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXKKKKKKKKKKKKK0000000000OOOOOOO| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXKKKKKKKKKKKKKK000000000000OOOO| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXKKKKKKKKKK00000000000000OOOO| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXKKKKKKKKKKKK000000000OOOOOOO| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXKKKKKKKKKK000000000000OOOOOO| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXKKKKKKKKKKKKKK000000000OOOOOOO| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWNXXKK0O000KXNWWNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXKKKKKKKKKKKK000000000OOOOOOOOO| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXKKK000OOkkxddddolllllllllllldxOKNNNNNNNNNXXXXXXXXXXXXXXXXXKKKKKKKKKKKKK000000000OOOOOOOOOOk| |WWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXK0kxdoooooolllllllccccccccccc::::::::::cooxkk0KKXKXXXXXXXXXXXKKKKKKKKKKKKK00000000000OOOOOOOOOOkkk| |oodokkO0000KKXXXNNNNNNNNWWNNXK00OOkOO0KXNWWWWXK0kdooooolllllllcccccccc::::::::::;;;;;;;;;;;;;;;;;;;;:;clldxk0KKKKKKKKKK00KK000000000O0kkOxkOOOkOOkkkkk| |cllloooodddddxxxxxxxxxdddddodxxkxdddoolllccc:::::::::::::::::::;;,,,,'''''''''''''''''''''''''''''''''''''.'',;:cl:,;';..,'''.,,ccl:';.....'.:cc;;;.';| |;:ccccclllllooooooooooolllllccccllllc::::::::;,,,,,,,,,,,,,,,,''''''''''''''.................................................. . | |;;;::::cccclcccccccccccccc:::::;;;;:::::;;,,,,,,,,'''''''''''''.......................................................... | |,,,;;;;;:::::::::::::::::;;;;;;,,,,,,,;;;,,,,,'''''''''................................................................ | |'',,,,,,,;;;;;;;;;;;;;;;;,,,,,,,,''''''''',,'''........................................... ... ................ | |'''''',,,,,,,,,,,,,,,,,,,,,,'''''''........'''''....................................... .. . | |..'''''',,,,,,,,,,,,,,,,,,,'''''''.......................... ................. . .... ..... .. . . | |....';;;;,',,::::;;:::::::;:;;;;;;;;,,,,,;;;:::::::::::;, .,,''......... . . ... . | |...',,:c;;;;loxkkkxxkkOOOOOkkxxkxkkxddddxxxxxdddxxxxdool. .. ....;,,,.'.............. .. . . | |..'',,,,;:lodxkXXXKOOOOOkkkll::codo,,,,,:c::;;;,;;;,,;;:,....................... . . . | |.....',;:lodxOKMMMKOkOOkOOkc,:;::;,'..'.',,''.............................. . ....... | |..',:;::ccox0NWMMMWXXXX0OOd;;:';'''.............. .... ............ . . .. . | |.,,;:::c:codO0XWWNXOkxol::;,,'''................. .. .......... ... . | |...''',,;:clodxxxdolccc:;:;,,''................... . . . . . . | |.....'',,,;:::c:::;;,;,,''','''''............ .. ... . . . | |.......'',,,,,;,,,,'''''''................. . . . .. | |...........''''''.................................... | |............................................. . . . | | .......................... ... .... . . .. . | | ......................... .... . . .... .. | | . . ................ . | | . .. | | | | | | | +------------------------------------------------------------------------------------------------------------------------------------------------------+ jp2a-1.0.9/tests/dalsnuten-80x49-inv.txt000066400000000000000000000076011362026105100176410ustar00rootroot00000000000000.......................................................''''',,,,;;;;;::::cccccll ............... ............................'''''',,,,,;;;;::::ccccc ............. ..........................'''''',,,,;;;;::::cccc ....... ........................''''',,,,,;;;;::::ccc ... ......................''''',,,,;;;;:::::cc ....................''''',,,,,;;;:::::c ...................'''',,,,;;;;::::: ...................'''',,,,;;;;:::: .................''''',,,,;;;;::: .................''''',,,,;;;;:: ...................'''',,,,;;;;: ..................''''',,,,;;;; .................''''',,,,,;;; ................'''''',,,,,;; .................''''',,,,;;; .................'''',,,;;;; ...............''''',,,;;;; ................'''',,,,;;;; ..';cldoo:. ................'''',,,,;;;;: .,ccloddxxxxkkkkkko;................''''',,,,;;;;:: .. .;odddxxxxkkkkOOOOOOOOOOxl:;..........'''',,,,;;;;;::: dolc:;,'.......';:c:,...;odxxxxxkkkkOOO00000000000000K0Odc,..'';;,;,,,;lllc:::cc xddoollcccclooolcloddxkOOOOOOOOOO0KKKKXXXXXXXXXXXXXXXXXXXXX0OXXNNNNXOOXNWNN00KNK kkxxdddoooooddxxxddkkkkO0KKKKKKKKKKKKXXXXXXXXXXNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWMW OOkkxxxxxxxxxkkOOOOkO00000KXXXXXXXXXXXXXXXXNNNNNNNNNNWWWNNNWWWWWWWWWWWWMMMMMMMMM 00OOOkkkkkkkOOO000K0O00KKKKKXXXXXXNNNNNNNNNNNNNNWWNNNWWWWWWWWWWWWWWWMMMMMMMMMMMM K0000OOOOOO0000KKKKKKKKKXXXXXXNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMM KKK00000000000KKKXXXXXXKXXXXNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMM XKKKKK0000KKKKKKXXXXXXXXXXXNNNNNWWWWNNWWWWWWWWWWWMMMWWWWWWWWWWWWWWWWWWWWWMMMMMMM XXKKKKK0000000KKKXXXXNNXXXXXXNWWWWWWXNNNNNNWWWWWMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWW NX0kO0koodoloooooooddoollllloOWWWWWX0kOKKNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMW XK00Oxo:,;;,,;;llcoddoxxxxdddkWWWWNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMWMW XX0Okdc' .;;::xOOx0XX0Ok00KKKXNNNWWWWNNNNWWWWWWWMWWWWWWWWWWWMMWWWWWWWMWWWMMWWMMM NXK0xl;. .,,;:xOOOKXXXXXNNNNNWWWNNNNNNWWWWWWWWWWWWWWWWWWMMMMWWWWWWWWWWWMWMWMMMMM KOkxxc. ..,ckO0KXXNNNNNWWNWWWNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMM K0Okxl,. .;lxO0KKXNNNNNNNWNWWNNNWWWWWWWWWWWWWMMMMMMWWWWWWWWWWWWMMMMMMMMMMMMMMMMM XXK0kxl:cldxkOOKXXNNNNNNNNWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMM XXKK0OxxkOO00K0KKKXNNNNNWWWWWWWWWWWWWWWWMMMMWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMM NXXK000O0000KKXXXXXNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMWMMMMMMMMMMMMMM NXNXXKKKKKKXXXNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMM NNNNNXXXXXXXXNNNNNWWWWNNWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM WWNNNNNNNNNNNNWWNWWNNWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM WWWNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWMMMWWMMMMMMMMMMWWWWMMMMMMMMMMMMMMMMMMMMMMM WWWWWWWNNWWWWWNWWWWWWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MWWWWWWWWWWNNNWWWWWWWWWWWWWMMMMMMMMMMMMMMMMWMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW MWWWWWWWWWWWWWWWWWWMMMWMMMMMMMMMMMMMMWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM WWWWWWWWWWWWWMMMWWMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWM WWWWMWWWMMMWMMMMMMMMMMMMMMMMMWMWMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM WWWWMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM jp2a-1.0.9/tests/dalsnuten-color-256.txt000066400000000000000000001050151362026105100177010ustar00rootroot00000000000000KKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKK000000OOOOOkkkkxxxxdddddoooool XXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXKKKKKKK000000OOOOOkkkkxxxxddddoooo XXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXKKKKKKK00000OOOOOkkkkxxxxddddooo NNNNNNNNNNWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNXXXXXXXXKKKKKK00000OOOOOkkkkxxxdddddo NNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNXXXXXXXKKKKKK00000OOOOkkkkxxxxdddd WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNXXXXXXKKKKKK00000OOOOOkkkkxxxxdd WWWWMMMMMMMMMMMMMMMWWMMWWWWWWWWWWWWWWWNNNNNNNNNXXXXXXXKKKKK000000OOOOkkkkxxxxx WMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWNNNNNNNNNXXXXXXKKKKKK00000OOOOOkkkkkxx MMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWNNNNNNNNXXXXXXKKKKK00000OOOOOkkkkxxx MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWNNNNNNNNXXXXXXKKKKK00000OOOOkkkxxxx MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWNXK00KNNNNNNNXXXXXXKKKKK0000OOOOkkkkxxxx MMMMMMMMMMMMMMMMMMMMMMMMMMMWKOkxxdolc:;;;,,,,cdk0XXXXXKKKKKK0000OOOOkkkkxxxxdd dxO00KKXNNNNNNXK0O0KXNNXOdl:::;;;,,,'''''''.......;;:loxO0000OOOOkkkkxddxxdddo ;;:cccllllllccccllc;;,''.....''......................   .....     ...    ... . '',,;;;;;;;;;,,''',,'....................                                      ....''''''''..................                                                 ..........................                                                     .......'''''''...............      ..                                          ...'',cdxxxxxxoclo::::::::::;       ....                                        ..';lxXM0kxxl'','........ .                                                   .',;;oKWMN0xo;.....                                                            ...',:oddl:;,'....                                                             .....''''..........                                                               ...........                                                                                                                                                                                                                                                                                                                                                                                                                                                                            jp2a-1.0.9/tests/dalsnuten-color-ANSI.txt000066400000000000000000000321771362026105100201270ustar00rootroot00000000000000KKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKK000000OOOOOkkkkxxxxdddddoooool XXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXKKKKKKK000000OOOOOkkkkxxxxddddoooo XXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXKKKKKKK00000OOOOOkkkkxxxxddddooo NNNNNNNNNNWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNXXXXXXXXKKKKKK00000OOOOOkkkkxxxdddddo NNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNXXXXXXXKKKKKK00000OOOOkkkkxxxxdddd WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNXXXXXXKKKKKK00000OOOOOkkkkxxxxdd WWWWMMMMMMMMMMMMMMMWWMMWWWWWWWWWWWWWWWNNNNNNNNNXXXXXXXKKKKK000000OOOOkkkkxxxxx WMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWNNNNNNNNNXXXXXXKKKKKK00000OOOOOkkkkkxx MMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWNNNNNNNNXXXXXXKKKKK00000OOOOOkkkkxxx MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWNNNNNNNNXXXXXXKKKKK00000OOOOkkkxxxx MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWNXK00KNNNNNNNXXXXXXKKKKK0000OOOOkkkkxxxx MMMMMMMMMMMMMMMMMMMMMMMMMMMWKOkxxdolc:;;;,,,,cdk0XXXXXKKKKKK0000OOOOkkkkxxxxdd dxO00KKXNNNNNNXK0O0KXNNXOdl:::;;;,,,'''''''.......;;:loxO0000OOOOkkkkxddxxdddo ;;:cccllllllccccllc;;,''.....''......................   .....     ...    ... . '',,;;;;;;;;;,,''',,'....................                                      ....''''''''..................                                                 ..........................                                                     .......'''''''...............      ..                                          ...'',cdxxxxxxoclo::::::::::;       ....                                        ..';lxXM0kxxl'','........ .                                                   .',;;oKWMN0xo;.....                                                            ...',:oddl:;,'....                                                             .....''''..........                                                               ...........                                                                                                                                                                                                                                                                                                                                                                                                                                                                            jp2a-1.0.9/tests/dalsnuten-color-truecolor.txt000066400000000000000000001377351362026105100214210ustar00rootroot00000000000000KKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKK000000OOOOOkkkkxxxxdddddoooool XXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXKKKKKKK000000OOOOOkkkkxxxxddddoooo XXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXKKKKKKK00000OOOOOkkkkxxxxddddooo NNNNNNNNNNWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNXXXXXXXXKKKKKK00000OOOOOkkkkxxxdddddo NNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNXXXXXXXKKKKKK00000OOOOkkkkxxxxdddd WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNXXXXXXKKKKKK00000OOOOOkkkkxxxxdd WWWWMMMMMMMMMMMMMMMWWMMWWWWWWWWWWWWWWWNNNNNNNNNXXXXXXXKKKKK000000OOOOkkkkxxxxx WMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWNNNNNNNNNXXXXXXKKKKKK00000OOOOOkkkkkxx MMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWNNNNNNNNXXXXXXKKKKK00000OOOOOkkkkxxx MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWNNNNNNNNXXXXXXKKKKK00000OOOOkkkxxxx MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWNXK00KNNNNNNNXXXXXXKKKKK0000OOOOkkkkxxxx MMMMMMMMMMMMMMMMMMMMMMMMMMMWKOkxxdolc:;;;,,,,cdk0XXXXXKKKKKK0000OOOOkkkkxxxxdd dxO00KKXNNNNNNXK0O0KXNNXOdl:::;;;,,,'''''''.......;;:loxO0000OOOOkkkkxddxxdddo ;;:cccllllllccccllc;;,''.....''......................   .....     ...    ... . '',,;;;;;;;;;,,''',,'....................                                      ....''''''''..................                                                 ..........................                                                     .......'''''''...............      ..                                          ...'',cdxxxxxxoclo::::::::::;       ....                                        ..';lxXM0kxxl'','........ .                                                   .',;;oKWMN0xo;.....                                                            ...',:oddl:;,'....                                                             .....''''..........                                                               ...........                                                                                                                                                                                                                                                                                                                                                                                                                                                                            jp2a-1.0.9/tests/dalsnuten-color.html000066400000000000000000004340551362026105100175250ustar00rootroot00000000000000 jp2a converted image
......................................................''''',,,,;;;;:::::cccccl
.............                  ..........................''''',,,,;;;;::::cccc
....                                ......................''''',,,,;;;;::::ccc
                                         ...................''''',,,,;;;:::::c
                                            ..................'''',,,,;;;;::::
                                              .................''''',,,,;;;;::
                                               ..................'''',,,,;;;;;
                                                 .................''''',,,,,;;
                                                  ................''''',,,,;;;
                                                   ................'''',,,;;;;
                                       .....       ...............'''',,,,;;;;
                            .',;;:clodxxxkkkko:,................'''',,,,;;;;::
:;'.....      ...'...  .':ldddxxxkkkOOOOOOO0000000xxdlc;'....'''',,,,;::;;:::c
xxdooolllllloooolloxxkOO00000OO000KKKXXXXXXXXXXXXXXXXNNNXK0KXNNNNN00XNWWNKKXNX
OOkkxxxxxxxxxkkOOOkkO0000KKXXXXXXXXXXXXXXNNNNNNNNNNNWWNNNWWWWWWWWWWWWWMMMMMMMM
K000OOOOOOOO0000KKKKK0KKXXXXXXNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMM
KKKK00000000KKKKXXXXXXXXXXNNNNNNWWNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMM
XXK00K0OOOOOOO0000KKKK000000KNWWWWWKXNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
XK0OOko:;;;;;;colcddddddddddxNWWWWNNKKXXNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWMMW
NXKOxl;. .,;;lOOkOXXK00KXXNXNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWWMMM
KOkxxc.   .;cx00KXXNNNNNNWNWWWNNNWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMM
XXKOkdc::ldxkO0KXXNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMM
XXXK0OOOO000KKKKXXXNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMM
NNNXXXKKXXXXXXNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMM
WWNNNNNNNNNNNNWWNWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
WWWWWWWNNWWWWWNWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
WWWWWWWWWWWWMMMWWMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
WWWWMWWWMMMMMMMMMMMMMMMMMMMWWMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
jp2a-1.0.9/tests/dalsnuten-invert.txt000066400000000000000000000043631362026105100175640ustar00rootroot00000000000000......................................................''''',,,,;;;;:::::cccccl ............. ..........................''''',,,,;;;;::::cccc .... ......................''''',,,,;;;;::::ccc ...................''''',,,,;;;:::::c ..................'''',,,,;;;;:::: .................''''',,,,;;;;:: ..................'''',,,,;;;;; .................''''',,,,,;; ................''''',,,,;;; ................'''',,,;;;; ..... ...............'''',,,,;;;; .',;;:clodxxxkkkko:,................'''',,,,;;;;:: :;'..... ...'... .':ldddxxxkkkOOOOOOO0000000xxdlc;'....'''',,,,;::;;:::c xxdooolllllloooolloxxkOO00000OO000KKKXXXXXXXXXXXXXXXXNNNXK0KXNNNNN00XNWWNKKXNX OOkkxxxxxxxxxkkOOOkkO0000KKXXXXXXXXXXXXXXNNNNNNNNNNNWWNNNWWWWWWWWWWWWWMMMMMMMM K000OOOOOOOO0000KKKKK0KKXXXXXXNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMM KKKK00000000KKKKXXXXXXXXXXNNNNNNWWNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMM XXK00K0OOOOOOO0000KKKK000000KNWWWWWKXNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW XK0OOko:;;;;;;colcddddddddddxNWWWWNNKKXXNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWMMW NXKOxl;. .,;;lOOkOXXK00KXXNXNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWWMMM KOkxxc. .;cx00KXXNNNNNNWNWWWNNNWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMM XXKOkdc::ldxkO0KXXNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMM XXXK0OOOO000KKKKXXXNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMM NNNXXXKKXXXXXXNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMM WWNNNNNNNNNNNNWWNWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM WWWWWWWNNWWWWWNWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM WWWWWWWWWWWWMMMWWMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM WWWWMWWWMMMMMMMMMMMMMMMMMMMWWMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM jp2a-1.0.9/tests/dalsnuten-jp2a-2000x2000-md5.txt000066400000000000000000000000101362026105100206260ustar00rootroot000000000000008004000 jp2a-1.0.9/tests/dalsnuten-normal.txt000066400000000000000000000043631362026105100175450ustar00rootroot00000000000000KKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKK000000OOOOOkkkkxxxxdddddoooool XXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXKKKKKKK000000OOOOOkkkkxxxxddddoooo XXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXKKKKKKK00000OOOOOkkkkxxxxddddooo NNNNNNNNNNWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNXXXXXXXXKKKKKK00000OOOOOkkkkxxxdddddo NNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNXXXXXXXKKKKKK00000OOOOkkkkxxxxdddd WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNXXXXXXKKKKKK00000OOOOOkkkkxxxxdd WWWWMMMMMMMMMMMMMMMWWMMWWWWWWWWWWWWWWWNNNNNNNNNXXXXXXXKKKKK000000OOOOkkkkxxxxx WMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWNNNNNNNNNXXXXXXKKKKKK00000OOOOOkkkkkxx MMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWNNNNNNNNXXXXXXKKKKK00000OOOOOkkkkxxx MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWNNNNNNNNXXXXXXKKKKK00000OOOOkkkxxxx MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWNXK00KNNNNNNNXXXXXXKKKKK0000OOOOkkkkxxxx MMMMMMMMMMMMMMMMMMMMMMMMMMMWKOkxxdolc:;;;,,,,cdk0XXXXXKKKKKK0000OOOOkkkkxxxxdd dxO00KKXNNNNNNXK0O0KXNNXOdl:::;;;,,,'''''''.......;;:loxO0000OOOOkkkkxddxxdddo ;;:cccllllllccccllc;;,''.....''...................... ..... ... ... . '',,;;;;;;;;;,,''',,'.................... ....''''''''.................. .......................... .......'''''''............... .. ...'',cdxxxxxxoclo::::::::::; .... ..';lxXM0kxxl'','........ . .',;;oKWMN0xo;..... ...',:oddl:;,'.... .....''''.......... ........... jp2a-1.0.9/tests/flip-xy-invert.txt000066400000000000000000000035501362026105100171540ustar00rootroot00000000000000 'odddd: ,cdd, lWMMMMk. ;OWMMM0, lWMMMMk. :XMMMMMNo. lWMMMMk. .kMMMMM0; .cdxkOOko:cdkOOOkxc. .oxxxxxxxxxxxxxxxc. ,cdkOOOkxoOWMMMMk. .OMMMMMo ,kKNMMMMMN0do0WMMMMO. ;XMMMMMMMMMMMMMWk. ,0WMMMMMWWWMMMMMMMk. .OMMMMMo .kMMMMMx. ;XMMMM0' 'xOOOOOOXMMMMMKc. ,KMMMMMKl,';c0MMMMMk. .OMMMMMo .xMMMMMd.'c0WMMW0; .oXMMMXo. dMMMMMK, lWMMMMk. .OMMMMMo .xMMMMMXKNWX0xl,. 'OWMMWk' .kMMMMMk. lWMMMMk. .OMMMMMo .xMMMMMKo:,. .. :KMMMNo. .dMMMMMK; lWMMMMk. .OMMMMMo dMMMMM0;....,ckXo cNMMMWd ;XMMMMMXd:;cdKMMMMMk. .OMMMMMo .dXWMMMWXKXNWWXO; ,KMMMMN: . 'o0WMMMMMMWNNMMMMMk. .OMMMMMo .,clodddoc:,. :NMMMMM0c'..':xx ':lodol;.'lllll, ;lloll' .kWMMMMMWNXNWMMO .ckOx; .oXMMMMMMMMMWXc :XMMMk. .:oxOOOkxl;. .cxOd, jp2a-1.0.9/tests/grind-256-fill.txt000066400000000000000000001641221362026105100166230ustar00rootroot00000000000000'''..,,,;lxoxXOXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW '....',',;;:cookWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWM ,'.......,;;;;lOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNWW .......'..'',:o0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNWMM  .....;,..,,,:lxXMMMMMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM ......,;'c',:lclxkO0XXXXXXXXXNNNNNNNNNNNNNNNNNNNWWWWWWMMMMMMMMMMMMMMMMMMMMMMMM '. ...':.',lcc;;lldkO0KKKXXXXXXXXXXXKKKKKKKKKXXXXXXNNNWWWWWMMMMWWWWWWWWWWWMMMM ..........,',,,cxO0000000KKKKKK0O000OOkOO00O000O0KKKKKXXXNNNNXK0000KXKK0000OOO ''......''c:clxkO0000OOkOOkOOxllldxdollodkOOOkkdxkkxxk00KKKKK0xdxxkO0OOOkkxxxd ...,..;.::kkOOkkkkkkkkxdddoxxo::cllolccldxkkkoxxdxkxkO000KKKKK0OkOO0000O0Okkkk ..','.,;:;dkkkxxxxxxoc:cldoddollooodddddxddxklxxkkkkOOOOOOOOkkkkkkkkkkkkkkkkxx .......,;';ccllcoxxdoloodxdxxxxxxxxxkkkkkkkkdoxkxxxxkkkkkkkkkxxxxxxddddddddddd ...''...''',,,:cloooxxxxxdooldddxxkxkxxxxxxxldxxkxxxxxkkkxxxdxxxxxdddoddooooll ....:cccclccc::ccccclOXXXXXKkoolllodxxkdkkkkokkkOOkkxdxxxxdxdxxddddolloddollll ....,ccccl,:lc,::;::o0XNOxNNxk0xlccoodddxxxdlkkkkxxxkxxxddddddddddooloolllllll .'.....,oo':c:.::,cdKko0xlWWco0Odc;;:looddllcddddddddddoooooooolllllclcccl:::c  .' ........''.',':ll;':llOk:''lxl,;;;';ol:;;cdxkxoodxxdooodlclccc:;:cllclccc:  ... '..;;.':,.'..'lkc.cl,'',',:c:';;,':c:,,,';;;:xocoolododl:::cc;llccc::cc:,  ... ...''.','....lc;'.,;',''''cdo.cc'....'''..';c:,.';c::;;c;.',''''',''..'..  ... ...... ...',';ll;.;:,ccc:,,,,,,,'...''.'. ........,;;;;'..,....';,..  .     .. ...  ..''.;d,l0Kc.ox,KXXl,cl'.;ol.,;,,',.     ......'....',.... ...  ....  ..     ....,,..;''::,';;,ccc;,:lc''''.,:;;,'..;,,......     ..,,...      ....         ...,lxdxOdxKKd:dxlOOOl,lxddol:.,::,...,;;'..........  ....''''......'.       ...,cloddxxddxxxkkkkkxxdddcdddoc;,;,.            ............';::;;;;,,;  ........':loooddxddddddddl;,::...;llll:::;,'...''......   .... .. ..,'..,;::;     ...;coodddddddddxdddodc''..   .cooooololllllllccc:;,..............   .,::c   .....,coddxxxxxxxxxxxxdol.'. .lodddddddoddoooodooolc:'';;,',;;,;;:c::;;;:cc: ......'codxkkkkkkkxxxdddolcc:, ,ddxkkxxkkxxddddddoooooolcccc:,,,,,,;::c;:c:::c ......:oodxkkkkxkxxxxdddooollc:ldxxkkkxxkxxxddoddddoooodololl;','';;;clccll::: jp2a-1.0.9/tests/grind-2grayscale-256-fill.txt000066400000000000000000001663211362026105100206600ustar00rootroot00000000000000'''..,,,;lxoxXOXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW '....',',;;:cookWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWM ,'.......,;;;;lOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNWW .......'..'',:o0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNWMM  .....;,..,,,:lxXMMMMMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM ......,;'c',:lclxkO0XXXXXXXXXNNNNNNNNNNNNNNNNNNNWWWWWWMMMMMMMMMMMMMMMMMMMMMMMM '. ...':.',lcc;;lldkO0KKKXXXXXXXXXXXKKKKKKKKKXXXXXXNNNWWWWWMMMMWWWWWWWWWWWMMMM ..........,',,,cxO0000000KKKKKK0O000OOkOO00O000O0KKKKKXXXNNNNXK0000KXKK0000OOO ''......''c:clxkO0000OOkOOkOOxllldxdollodkOOOkkdxkkxxk00KKKKK0xdxxkO0OOOkkxxxd ...,..;.::kkOOkkkkkkkkxdddoxxo::cllolccldxkkkoxxdxkxkO000KKKKK0OkOO0000O0Okkkk ..','.,;:;dkkkxxxxxxoc:cldoddollooodddddxddxklxxkkkkOOOOOOOOkkkkkkkkkkkkkkkkxx .......,;';ccllcoxxdoloodxdxxxxxxxxxkkkkkkkkdoxkxxxxkkkkkkkkkxxxxxxddddddddddd ...''...''',,,:cloooxxxxxdooldddxxkxkxxxxxxxldxxkxxxxxkkkxxxdxxxxxdddoddooooll ....:cccclccc::ccccclOXXXXXKkoolllodxxkdkkkkokkkOOkkxdxxxxdxdxxddddolloddollll ....,ccccl,:lc,::;::o0XNOxNNxk0xlccoodddxxxdlkkkkxxxkxxxddddddddddooloolllllll .'.....,oo':c:.::,cdKko0xlWWco0Odc;;:looddllcddddddddddoooooooolllllclcccl:::c  .' ........''.',':ll;':llOk:''lxl,;;;';ol:;;cdxkxoodxxdooodlclccc:;:cllclccc:  ... '..;;.':,.'..'lkc.cl,'',',:c:';;,':c:,,,';;;:xocoolododl:::cc;llccc::cc:,  ... ...''.','....lc;'.,;',''''cdo.cc'....'''..';c:,.';c::;;c;.',''''',''..'..  ... ...... ...',';ll;.;:,ccc:,,,,,,,'...''.'. ........,;;;;'..,....';,..  .     .. ...  ..''.;d,l0Kc.ox,KXXl,cl'.;ol.,;,,',.     ......'....',.... ...  ....  ..     ....,,..;''::,';;,ccc;,:lc''''.,:;;,'..;,,......     ..,,...      ....         ...,lxdxOdxKKd:dxlOOOl,lxddol:.,::,...,;;'..........  ....''''......'.       ...,cloddxxddxxxkkkkkxxdddcdddoc;,;,.            ............';::;;;;,,;  ........':loooddxddddddddl;,::...;llll:::;,'...''......   .... .. ..,'..,;::;     ...;coodddddddddxdddodc''..   .cooooololllllllccc:;,..............   .,::c   .....,coddxxxxxxxxxxxxdol.'. .lodddddddoddoooodooolc:'';;,',;;,;;:c::;;;:cc: ......'codxkkkkkkkxxxdddolcc:, ,ddxkkxxkkxxddddddoooooolcccc:,,,,,,;::c;:c:::c ......:oodxkkkkxkxxxxdddooollc:ldxxkkkxxkxxxddoddddoooodololl;','';;;clccll::: jp2a-1.0.9/tests/grind-2grayscale-ANSI-fill.txt000066400000000000000000000341171362026105100210730ustar00rootroot00000000000000'''..,,,;lxoxXOXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW '....',',;;:cookWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWM ,'.......,;;;;lOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNWW .......'..'',:o0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNWMM  .....;,..,,,:lxXMMMMMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM ......,;'c',:lclxkO0XXXXXXXXXNNNNNNNNNNNNNNNNNNNWWWWWWMMMMMMMMMMMMMMMMMMMMMMMM '. ...':.',lcc;;lldkO0KKKXXXXXXXXXXXKKKKKKKKKXXXXXXNNNWWWWWMMMMWWWWWWWWWWWMMMM ..........,',,,cxO0000000KKKKKK0O000OOkOO00O000O0KKKKKXXXNNNNXK0000KXKK0000OOO ''......''c:clxkO0000OOkOOkOOxllldxdollodkOOOkkdxkkxxk00KKKKK0xdxxkO0OOOkkxxxd ...,..;.::kkOOkkkkkkkkxdddoxxo::cllolccldxkkkoxxdxkxkO000KKKKK0OkOO0000O0Okkkk ..','.,;:;dkkkxxxxxxoc:cldoddollooodddddxddxklxxkkkkOOOOOOOOkkkkkkkkkkkkkkkkxx .......,;';ccllcoxxdoloodxdxxxxxxxxxkkkkkkkkdoxkxxxxkkkkkkkkkxxxxxxddddddddddd ...''...''',,,:cloooxxxxxdooldddxxkxkxxxxxxxldxxkxxxxxkkkxxxdxxxxxdddoddooooll ....:cccclccc::ccccclOXXXXXKkoolllodxxkdkkkkokkkOOkkxdxxxxdxdxxddddolloddollll ....,ccccl,:lc,::;::o0XNOxNNxk0xlccoodddxxxdlkkkkxxxkxxxddddddddddooloolllllll .'.....,oo':c:.::,cdKko0xlWWco0Odc;;:looddllcddddddddddoooooooolllllclcccl:::c  .' ........''.',':ll;':llOk:''lxl,;;;';ol:;;cdxkxoodxxdooodlclccc:;:cllclccc:  ... '..;;.':,.'..'lkc.cl,'',',:c:';;,':c:,,,';;;:xocoolododl:::cc;llccc::cc:,  ... ...''.','....lc;'.,;',''''cdo.cc'....'''..';c:,.';c::;;c;.',''''',''..'..  ... ...... ...',';ll;.;:,ccc:,,,,,,,'...''.'. ........,;;;;'..,....';,..  .     .. ...  ..''.;d,l0Kc.ox,KXXl,cl'.;ol.,;,,',.     ......'....',.... ...  ....  ..     ....,,..;''::,';;,ccc;,:lc''''.,:;;,'..;,,......     ..,,...      ....         ...,lxdxOdxKKd:dxlOOOl,lxddol:.,::,...,;;'..........  ....''''......'.       ...,cloddxxddxxxkkkkkxxdddcdddoc;,;,.            ............';::;;;;,,;  ........':loooddxddddddddl;,::...;llll:::;,'...''......   .... .. ..,'..,;::;     ...;coodddddddddxdddodc''..   .cooooololllllllccc:;,..............   .,::c   .....,coddxxxxxxxxxxxxdol.'. .lodddddddoddoooodooolc:'';;,',;;,;;:c::;;;:cc: ......'codxkkkkkkkxxxdddolcc:, ,ddxkkxxkkxxddddddoooooolcccc:,,,,,,;::c;:c:::c ......:oodxkkkkxkxxxxdddooollc:ldxxkkkxxkxxxddoddddoooodololl;','';;;clccll::: jp2a-1.0.9/tests/grind-2grayscale-fill.html000066400000000000000000004303601362026105100204700ustar00rootroot00000000000000 jp2a converted image
'''..,,,;lxoxXOXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW
'....',',;;:cookWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWM
,'.......,;;;;lOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNWW
.......'..'',:o0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNWMM
 .....;,..,,,:lxXMMMMMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
......,;'c',:lclxkO0XXXXXXXXXNNNNNNNNNNNNNNNNNNNWWWWWWMMMMMMMMMMMMMMMMMMMMMMMM
'. ...':.',lcc;;lldkO0KKKXXXXXXXXXXXKKKKKKKKKXXXXXXNNNWWWWWMMMMWWWWWWWWWWWMMMM
..........,',,,cxO0000000KKKKKK0O000OOkOO00O000O0KKKKKXXXNNNNXK0000KXKK0000OOO
''......''c:clxkO0000OOkOOkOOxllldxdollodkOOOkkdxkkxxk00KKKKK0xdxxkO0OOOkkxxxd
...,..;.::kkOOkkkkkkkkxdddoxxo::cllolccldxkkkoxxdxkxkO000KKKKK0OkOO0000O0Okkkk
..','.,;:;dkkkxxxxxxoc:cldoddollooodddddxddxklxxkkkkOOOOOOOOkkkkkkkkkkkkkkkkxx
.......,;';ccllcoxxdoloodxdxxxxxxxxxkkkkkkkkdoxkxxxxkkkkkkkkkxxxxxxddddddddddd
...''...''',,,:cloooxxxxxdooldddxxkxkxxxxxxxldxxkxxxxxkkkxxxdxxxxxdddoddooooll
....:cccclccc::ccccclOXXXXXKkoolllodxxkdkkkkokkkOOkkxdxxxxdxdxxddddolloddollll
....,ccccl,:lc,::;::o0XNOxNNxk0xlccoodddxxxdlkkkkxxxkxxxddddddddddooloolllllll
.'.....,oo':c:.::,cdKko0xlWWco0Odc;;:looddllcddddddddddoooooooolllllclcccl:::c
 .' ........''.',':ll;':llOk:''lxl,;;;';ol:;;cdxkxoodxxdooodlclccc:;:cllclccc:
 ... '..;;.':,.'..'lkc.cl,'',',:c:';;,':c:,,,';;;:xocoolododl:::cc;llccc::cc:,
 ... ...''.','....lc;'.,;',''''cdo.cc'....'''..';c:,.';c::;;c;.',''''',''..'..
 ... ...... ...',';ll;.;:,ccc:,,,,,,,'...''.'. ........,;;;;'..,....';,..  .  
  .. ...  ..''.;d,l0Kc.ox,KXXl,cl'.;ol.,;,,',.     ......'....',.... ...  ....
 ..     ....,,..;''::,';;,ccc;,:lc''''.,:;;,'..;,,......     ..,,...      ....
        ...,lxdxOdxKKd:dxlOOOl,lxddol:.,::,...,;;'..........  ....''''......'.
      ...,cloddxxddxxxkkkkkxxdddcdddoc;,;,.            ............';::;;;;,,;
 ........':loooddxddddddddl;,::...;llll:::;,'...''......   .... .. ..,'..,;::;
    ...;coodddddddddxdddodc''..   .cooooololllllllccc:;,..............   .,::c
  .....,coddxxxxxxxxxxxxdol.'. .lodddddddoddoooodooolc:'';;,',;;,;;:c::;;;:cc:
......'codxkkkkkkkxxxdddolcc:, ,ddxkkxxkkxxddddddoooooolcccc:,,,,,,;::c;:c:::c
......:oodxkkkkxkxxxxdddooollc:ldxxkkkxxkxxxddoddddoooodololl;','';;;clccll:::
jp2a-1.0.9/tests/grind-2grayscale-truecolor-fill.txt000066400000000000000000002571721362026105100223670ustar00rootroot00000000000000'''..,,,;lxoxXOXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW '....',',;;:cookWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWM ,'.......,;;;;lOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNWW .......'..'',:o0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNWMM  .....;,..,,,:lxXMMMMMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM ......,;'c',:lclxkO0XXXXXXXXXNNNNNNNNNNNNNNNNNNNWWWWWWMMMMMMMMMMMMMMMMMMMMMMMM '. ...':.',lcc;;lldkO0KKKXXXXXXXXXXXKKKKKKKKKXXXXXXNNNWWWWWMMMMWWWWWWWWWWWMMMM ..........,',,,cxO0000000KKKKKK0O000OOkOO00O000O0KKKKKXXXNNNNXK0000KXKK0000OOO ''......''c:clxkO0000OOkOOkOOxllldxdollodkOOOkkdxkkxxk00KKKKK0xdxxkO0OOOkkxxxd ...,..;.::kkOOkkkkkkkkxdddoxxo::cllolccldxkkkoxxdxkxkO000KKKKK0OkOO0000O0Okkkk ..','.,;:;dkkkxxxxxxoc:cldoddollooodddddxddxklxxkkkkOOOOOOOOkkkkkkkkkkkkkkkkxx .......,;';ccllcoxxdoloodxdxxxxxxxxxkkkkkkkkdoxkxxxxkkkkkkkkkxxxxxxddddddddddd ...''...''',,,:cloooxxxxxdooldddxxkxkxxxxxxxldxxkxxxxxkkkxxxdxxxxxdddoddooooll ....:cccclccc::ccccclOXXXXXKkoolllodxxkdkkkkokkkOOkkxdxxxxdxdxxddddolloddollll ....,ccccl,:lc,::;::o0XNOxNNxk0xlccoodddxxxdlkkkkxxxkxxxddddddddddooloolllllll .'.....,oo':c:.::,cdKko0xlWWco0Odc;;:looddllcddddddddddoooooooolllllclcccl:::c  .' ........''.',':ll;':llOk:''lxl,;;;';ol:;;cdxkxoodxxdooodlclccc:;:cllclccc:  ... '..;;.':,.'..'lkc.cl,'',',:c:';;,':c:,,,';;;:xocoolododl:::cc;llccc::cc:,  ... ...''.','....lc;'.,;',''''cdo.cc'....'''..';c:,.';c::;;c;.',''''',''..'..  ... ...... ...',';ll;.;:,ccc:,,,,,,,'...''.'. ........,;;;;'..,....';,..  .     .. ...  ..''.;d,l0Kc.ox,KXXl,cl'.;ol.,;,,',.     ......'....',.... ...  ....  ..     ....,,..;''::,';;,ccc;,:lc''''.,:;;,'..;,,......     ..,,...      ....         ...,lxdxOdxKKd:dxlOOOl,lxddol:.,::,...,;;'..........  ....''''......'.       ...,cloddxxddxxxkkkkkxxdddcdddoc;,;,.            ............';::;;;;,,;  ........':loooddxddddddddl;,::...;llll:::;,'...''......   .... .. ..,'..,;::;     ...;coodddddddddxdddodc''..   .cooooololllllllccc:;,..............   .,::c   .....,coddxxxxxxxxxxxxdol.'. .lodddddddoddoooodooolc:'';;,',;;,;;:c::;;;:cc: ......'codxkkkkkkkxxxdddolcc:, ,ddxkkxxkkxxddddddoooooolcccc:,,,,,,;::c;:c:::c ......:oodxkkkkxkxxxxdddooollc:ldxxkkkxxkxxxddoddddoooodololl;','';;;clccll::: jp2a-1.0.9/tests/grind-2grayscale.html000066400000000000000000002454641362026105100175550ustar00rootroot00000000000000 jp2a converted image
'''..,,,;lxoxXOXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW
'....',',;;:cookWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWM
,'.......,;;;;lOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNWW
.......'..'',:o0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNWMM
 .....;,..,,,:lxXMMMMMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
......,;'c',:lclxkO0XXXXXXXXXNNNNNNNNNNNNNNNNNNNWWWWWWMMMMMMMMMMMMMMMMMMMMMMMM
'. ...':.',lcc;;lldkO0KKKXXXXXXXXXXXKKKKKKKKKXXXXXXNNNWWWWWMMMMWWWWWWWWWWWMMMM
..........,',,,cxO0000000KKKKKK0O000OOkOO00O000O0KKKKKXXXNNNNXK0000KXKK0000OOO
''......''c:clxkO0000OOkOOkOOxllldxdollodkOOOkkdxkkxxk00KKKKK0xdxxkO0OOOkkxxxd
...,..;.::kkOOkkkkkkkkxdddoxxo::cllolccldxkkkoxxdxkxkO000KKKKK0OkOO0000O0Okkkk
..','.,;:;dkkkxxxxxxoc:cldoddollooodddddxddxklxxkkkkOOOOOOOOkkkkkkkkkkkkkkkkxx
.......,;';ccllcoxxdoloodxdxxxxxxxxxkkkkkkkkdoxkxxxxkkkkkkkkkxxxxxxddddddddddd
...''...''',,,:cloooxxxxxdooldddxxkxkxxxxxxxldxxkxxxxxkkkxxxdxxxxxdddoddooooll
....:cccclccc::ccccclOXXXXXKkoolllodxxkdkkkkokkkOOkkxdxxxxdxdxxddddolloddollll
....,ccccl,:lc,::;::o0XNOxNNxk0xlccoodddxxxdlkkkkxxxkxxxddddddddddooloolllllll
.'.....,oo':c:.::,cdKko0xlWWco0Odc;;:looddllcddddddddddoooooooolllllclcccl:::c
 .' ........''.',':ll;':llOk:''lxl,;;;';ol:;;cdxkxoodxxdooodlclccc:;:cllclccc:
 ... '..;;.':,.'..'lkc.cl,'',',:c:';;,':c:,,,';;;:xocoolododl:::cc;llccc::cc:,
 ... ...''.','....lc;'.,;',''''cdo.cc'....'''..';c:,.';c::;;c;.',''''',''..'..
 ... ...... ...',';ll;.;:,ccc:,,,,,,,'...''.'. ........,;;;;'..,....';,..  .  
  .. ...  ..''.;d,l0Kc.ox,KXXl,cl'.;ol.,;,,',.     ......'....',.... ...  ....
 ..     ....,,..;''::,';;,ccc;,:lc''''.,:;;,'..;,,......     ..,,...      ....
        ...,lxdxOdxKKd:dxlOOOl,lxddol:.,::,...,;;'..........  ....''''......'.
      ...,cloddxxddxxxkkkkkxxdddcdddoc;,;,.            ............';::;;;;,,;
 ........':loooddxddddddddl;,::...;llll:::;,'...''......   .... .. ..,'..,;::;
    ...;coodddddddddxdddodc''..   .cooooololllllllccc:;,..............   .,::c
  .....,coddxxxxxxxxxxxxdol.'. .lodddddddoddoooodooolc:'';;,',;;,;;:c::;;;:cc:
......'codxkkkkkkkxxxdddolcc:, ,ddxkkxxkkxxddddddoooooolcccc:,,,,,,;::c;:c:::c
......:oodxkkkkxkxxxxdddooollc:ldxxkkkxxkxxxddoddddoooodololl;','';;;clccll:::
jp2a-1.0.9/tests/grind-ANSI-fill.txt000066400000000000000000000413021362026105100170330ustar00rootroot00000000000000'''..,,,;lxoxXOXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW '....',',;;:cookWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWM ,'.......,;;;;lOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNWW .......'..'',:o0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNWMM  .....;,..,,,:lxXMMMMMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM ......,;'c',:lclxkO0XXXXXXXXXNNNNNNNNNNNNNNNNNNNWWWWWWMMMMMMMMMMMMMMMMMMMMMMMM '. ...':.',lcc;;lldkO0KKKXXXXXXXXXXXKKKKKKKKKXXXXXXNNNWWWWWMMMMWWWWWWWWWWWMMMM ..........,',,,cxO0000000KKKKKK0O000OOkOO00O000O0KKKKKXXXNNNNXK0000KXKK0000OOO ''......''c:clxkO0000OOkOOkOOxllldxdollodkOOOkkdxkkxxk00KKKKK0xdxxkO0OOOkkxxxd ...,..;.::kkOOkkkkkkkkxdddoxxo::cllolccldxkkkoxxdxkxkO000KKKKK0OkOO0000O0Okkkk ..','.,;:;dkkkxxxxxxoc:cldoddollooodddddxddxklxxkkkkOOOOOOOOkkkkkkkkkkkkkkkkxx .......,;';ccllcoxxdoloodxdxxxxxxxxxkkkkkkkkdoxkxxxxkkkkkkkkkxxxxxxddddddddddd ...''...''',,,:cloooxxxxxdooldddxxkxkxxxxxxxldxxkxxxxxkkkxxxdxxxxxdddoddooooll ....:cccclccc::ccccclOXXXXXKkoolllodxxkdkkkkokkkOOkkxdxxxxdxdxxddddolloddollll ....,ccccl,:lc,::;::o0XNOxNNxk0xlccoodddxxxdlkkkkxxxkxxxddddddddddooloolllllll .'.....,oo':c:.::,cdKko0xlWWco0Odc;;:looddllcddddddddddoooooooolllllclcccl:::c  .' ........''.',':ll;':llOk:''lxl,;;;';ol:;;cdxkxoodxxdooodlclccc:;:cllclccc:  ... '..;;.':,.'..'lkc.cl,'',',:c:';;,':c:,,,';;;:xocoolododl:::cc;llccc::cc:,  ... ...''.','....lc;'.,;',''''cdo.cc'....'''..';c:,.';c::;;c;.',''''',''..'..  ... ...... ...',';ll;.;:,ccc:,,,,,,,'...''.'. ........,;;;;'..,....';,..  .     .. ...  ..''.;d,l0Kc.ox,KXXl,cl'.;ol.,;,,',.     ......'....',.... ...  ....  ..     ....,,..;''::,';;,ccc;,:lc''''.,:;;,'..;,,......     ..,,...      ....         ...,lxdxOdxKKd:dxlOOOl,lxddol:.,::,...,;;'..........  ....''''......'.       ...,cloddxxddxxxkkkkkxxdddcdddoc;,;,.            ............';::;;;;,,;  ........':loooddxddddddddl;,::...;llll:::;,'...''......   .... .. ..,'..,;::;     ...;coodddddddddxdddodc''..   .cooooololllllllccc:;,..............   .,::c   .....,coddxxxxxxxxxxxxdol.'. .lodddddddoddoooodooolc:'';;,',;;,;;:c::;;;:cc: ......'codxkkkkkkkxxxdddolcc:, ,ddxkkxxkkxxddddddoooooolcccc:,,,,,,;::c;:c:::c ......:oodxkkkkxkxxxxdddooollc:ldxxkkkxxkxxxddoddddoooodololl;','';;;clccll::: jp2a-1.0.9/tests/grind-blue.txt000066400000000000000000000045761362026105100163200ustar00rootroot00000000000000K0KKK00KOkllo';, 0XXNXKOK00OOkxdl. O0XNNNXKXK00OOkc' . WWWNWNNXNX0K00x:. .. WWWNNXKKXXKKK0ko,. NNNNNNKOKx0K0kOko;''. NNWNXNXxK0KxxdxOkdoc;'...................................... NWWNNNXNXNK0000Oo;'...................''........''..............,;;;,........... XXNNNWXX0Kk0Okol:.....',:,,;'';col;,:loolc,,',,;lc;,;cc,',,'''':doodo;,,,,,;;;;c XNNXXNKX0O:;:;;,',,,,,,cccll::dxddoodxxddo:;;,clllc:cl:;;,,,,,,;cllll;;;;;;;;;;: K0K0KW0Okdc,,,;;;;;;;ldxdllc::oddlllccllc:::::occ::::::::::::::::ccccclllllllloo NXKKXXKOO0Ooc:cc::::oxxdolccccllclcllooloooodoxdooooddoddooodddxxxkxxkkkkxxxxxxx XXXKXWXXXXXXXK00koooloodddxxxdddddddddxxxxkkxkOkxxxxkxxxxxxkOOOOOkkkkkkkkOOOOkkO KKK0kOkkO0KKKXKKKKKKk:.....':xOkkkxxdoddxxkkkOkxxxxkkkOOkkkOOOOkxkkOOOOOkOOOOOO0 0XKXOxkkxdxkOKKKXKKXKd...'...';lO00OkxdoxdxxxOxkkxxkkxkOOOO00000000KKKK0KKKKKKKK OKNX0OxkddOkodKOKOO0l'...k'..O'.:O00OOkxxdxkk0kkkkkOOkOO0K0K0KK00O000KKKKKXKK0KO NO0XXKXXkx00OOKkOOkx;c0k'x' .Ooo;ck0K0OOOkxkk00OOOOOOxxxkOO00KKKKXXXKX00KXXKKKOk N00NNKXXKKK0Ok0K00KxdddxooolokkkooxkOOOOOkOxkkkoccddodxddxxxxdK0kkk0XKXKKKKKXKK0 WK0XNXNNXXXKXKK0XK0d:;NK;O0K0K00c:d0lk00O00O0O0K0kkookddoolcoodx0kddOdxkxkOOO0O0 NKKXNXXXKXXKKKK0K0Ox0000OOOOOkkkdodkdk0KXNKO0O0Nkkxx0KKOxdxxkddOOx0OkOxxkOOKN0XN NX0XNNXNNWNNWNX0kx0::cK0:kocccxk0OOOxdk0KK0O0OONNNNNNNXK0kkOk0X0Ok00XXOkOXNNNKXN WN0XNNNNNXXKKKK0xdOc:cKO;xl'''xO:ckKkdxKOdkkOkONXKXNNNXKKKKKXNNKOO0OOKN0KXNXXXKX WXXNWWWWNWWXOxK0dd0dod00dkkddxkkxxkOOOO0OdxxkOKXddk0K0XNNWWNNNNNNNXK0KNNNNNXXKKX MNWMWWWWNNX0kc;;,;c,',ol,::'''dx:;::clx0OxdxKXX0kk0NNNNWWNNNNWWWNWXXKkxkkOO000OO MWWWWWWWN0dlcc::::c::;;;;;;:c::cld::cloxkkkONWWWWWWNWWWWWWWWWNNNNWNWW0kdxkkkkkkk WWNNWWNXK0xlc::::;;;:;:::::dkOxONK0xlcllloodxkkOOkkk00XXNNWWWWXKNWWWWNK0KNX0xddd WWWWWNX0dccc::::;;;:;;:::::kkO0KNXXOc:::::ccccccclccllodkKXXNXK0KXXXX0KXNNNXkdoo MWWWNXK0xl::;;;;;;;;;;;:::ckO0NWOc::;;;;;:::::::c:::ccloOKOxOKXOxkkdooloooooolod WWWWWWKxcc:;,,;;;,;;;;::cclodd0Nd::;,;;;,;;;::::::::cccccoddodkO0O00Oxddoxdollol WWWWWKxlcc;;;;;;;;;;:::;::clllodl::;;,;;;,;;;::c:::::ccc::ccloxKK0K0xxxllolllooo jp2a-1.0.9/tests/grind-color-256.txt000066400000000000000000000525251362026105100170160ustar00rootroot00000000000000''..;';ldd00MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW ,...''',;ccoKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNW .......'';:xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNMM  ...',..,,:oKWMMMMWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMM .....c,:,:lcoxk0XXXXXXXNNNNNNNNNNNNNNNWWWWMMMMMMMMMMMMMMMMMM .....,..:::;ldkO0KKKKXXXXKKK0000KKKKKKXXNNNNWWWWWNNNNNNNNNNN .......',;:ox0000OO0O0OxdxkkddxkOOOOkO0OO0KXXXXKkkkO00OOOkkx ..,..,;ckkkkkkkkkxdddxdcclollclxkkxddxkxkO00KK00OkkO00OOOkkk ..'..:::xkxxdxxoc:cddddoodddddxxxxodkkkkOOOOOOOkkkkkkkkkkkxx ......,';,;:ldddooddodxxxxxxxxkxxkoxxxxxxkkkxxxdxxddddddoooo ..';;;::cc::clco0XXKKkollodxxkxkkxokkkkkxdxxxddxxxddooddolll ...,cccc;l:;c::l0NKxNKd0occodddxxookkkxxxxxdddddddoolollllll ......::':;,c;lOocOcW0;xko,;ccldlcodddoodddooooolcclclccc:::  .....''.,'.'.'cc,c;::,,c:;;;,:l:,,cooddoxddddlcllc:cclllcc;  .....''.,'...:l;.l.'..'lo'l,.'.'''.';c;',ccc:c,.,,,;,;'..'.  .. .... ...;,:o:'l,olc,',';;...'.' ......,,,,..,....,'.  .   ..   ...'..:,:d:'d,kOd,dl.,c.;;;,' ............,,.. ..  . .  .    ...clcxlokl;o:ddl'clc:;.,;:'..c;.......  .............      ..,codxxxxkkkkkkxxoooxdl;,;'.        ..........;::;;,,; ......';looodxddddddc;,,..,lllc::,,'',''...  ....   .'..';::   ...,coodddxxxxxddd;'...';odddooooooollc:,....''..'''...;:: .....,ldxkkxkkkxxddo:;' :dxxxxxxddddddoool:;::;,,,;;::::cc:: ....'codxkkkkkxxddoollc;oxxkkxkkxxddddddoodollc,''';;cc:cc:: jp2a-1.0.9/tests/grind-color-ANSI.txt000066400000000000000000000240741362026105100172320ustar00rootroot00000000000000''..;';ldd00MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW ,...''',;ccoKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNW .......'';:xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNMM  ...',..,,:oKWMMMMWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMM .....c,:,:lcoxk0XXXXXXXNNNNNNNNNNNNNNNWWWWMMMMMMMMMMMMMMMMMM .....,..:::;ldkO0KKKKXXXXKKK0000KKKKKKXXNNNNWWWWWNNNNNNNNNNN .......',;:ox0000OO0O0OxdxkkddxkOOOOkO0OO0KXXXXKkkkO00OOOkkx ..,..,;ckkkkkkkkkxdddxdcclollclxkkxddxkxkO00KK00OkkO00OOOkkk ..'..:::xkxxdxxoc:cddddoodddddxxxxodkkkkOOOOOOOkkkkkkkkkkkxx ......,';,;:ldddooddodxxxxxxxxkxxkoxxxxxxkkkxxxdxxddddddoooo ..';;;::cc::clco0XXKKkollodxxkxkkxokkkkkxdxxxddxxxddooddolll ...,cccc;l:;c::l0NKxNKd0occodddxxookkkxxxxxdddddddoolollllll ......::':;,c;lOocOcW0;xko,;ccldlcodddoodddooooolcclclccc:::  .....''.,'.'.'cc,c;::,,c:;;;,:l:,,cooddoxddddlcllc:cclllcc;  .....''.,'...:l;.l.'..'lo'l,.'.'''.';c;',ccc:c,.,,,;,;'..'.  .. .... ...;,:o:'l,olc,',';;...'.' ......,,,,..,....,'.  .   ..   ...'..:,:d:'d,kOd,dl.,c.;;;,' ............,,.. ..  . .  .    ...clcxlokl;o:ddl'clc:;.,;:'..c;.......  .............      ..,codxxxxkkkkkkxxoooxdl;,;'.        ..........;::;;,,; ......';looodxddddddc;,,..,lllc::,,'',''...  ....   .'..';::   ...,coodddxxxxxddd;'...';odddooooooollc:,....''..'''...;:: .....,ldxkkxkkkxxddo:;' :dxxxxxxddddddoool:;::;,,,;;::::cc:: ....'codxkkkkkxxddoollc;oxxkkxkkxxddddddoodollc,''';;cc:cc:: jp2a-1.0.9/tests/grind-color-dark-fill.html000066400000000000000000002533311362026105100204720ustar00rootroot00000000000000 jp2a converted image
''..;';ldd00MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW
,...''',;ccoKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNW
.......'';:xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNMM
 ...',..,,:oKWMMMMWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMM
.....c,:,:lcoxk0XXXXXXXNNNNNNNNNNNNNNNWWWWMMMMMMMMMMMMMMMMMM
.....,..:::;ldkO0KKKKXXXXKKK0000KKKKKKXXNNNNWWWWWNNNNNNNNNNN
.......',;:ox0000OO0O0OxdxkkddxkOOOOkO0OO0KXXXXKkkkO00OOOkkx
..,..,;ckkkkkkkkkxdddxdcclollclxkkxddxkxkO00KK00OkkO00OOOkkk
..'..:::xkxxdxxoc:cddddoodddddxxxxodkkkkOOOOOOOkkkkkkkkkkkxx
......,';,;:ldddooddodxxxxxxxxkxxkoxxxxxxkkkxxxdxxddddddoooo
..';;;::cc::clco0XXKKkollodxxkxkkxokkkkkxdxxxddxxxddooddolll
...,cccc;l:;c::l0NKxNKd0occodddxxookkkxxxxxdddddddoolollllll
......::':;,c;lOocOcW0;xko,;ccldlcodddoodddooooolcclclccc:::
 .....''.,'.'.'cc,c;::,,c:;;;,:l:,,cooddoxddddlcllc:cclllcc;
 .....''.,'...:l;.l.'..'lo'l,.'.'''.';c;',ccc:c,.,,,;,;'..'.
 .. .... ...;,:o:'l,olc,',';;...'.' ......,,,,..,....,'.  . 
 ..   ...'..:,:d:'d,kOd,dl.,c.;;;,' ............,,.. ..  . .
 .    ...clcxlokl;o:ddl'clc:;.,;:'..c;.......  .............
     ..,codxxxxkkkkkkxxoooxdl;,;'.        ..........;::;;,,;
......';looodxddddddc;,,..,lllc::,,'',''...  ....   .'..';::
  ...,coodddxxxxxddd;'...';odddooooooollc:,....''..'''...;::
.....,ldxkkxkkkxxddo:;' :dxxxxxxddddddoool:;::;,,,;;::::cc::
....'codxkkkkkxxddoollc;oxxkkxkkxxddddddoodollc,''';;cc:cc::
jp2a-1.0.9/tests/grind-color-dark.html000066400000000000000000001452611362026105100175500ustar00rootroot00000000000000 jp2a converted image
''..;';ldd00MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW
,...''',;ccoKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNW
.......'';:xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNMM
 ...',..,,:oKWMMMMWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMM
.....c,:,:lcoxk0XXXXXXXNNNNNNNNNNNNNNNWWWWMMMMMMMMMMMMMMMMMM
.....,..:::;ldkO0KKKKXXXXKKK0000KKKKKKXXNNNNWWWWWNNNNNNNNNNN
.......',;:ox0000OO0O0OxdxkkddxkOOOOkO0OO0KXXXXKkkkO00OOOkkx
..,..,;ckkkkkkkkkxdddxdcclollclxkkxddxkxkO00KK00OkkO00OOOkkk
..'..:::xkxxdxxoc:cddddoodddddxxxxodkkkkOOOOOOOkkkkkkkkkkkxx
......,';,;:ldddooddodxxxxxxxxkxxkoxxxxxxkkkxxxdxxddddddoooo
..';;;::cc::clco0XXKKkollodxxkxkkxokkkkkxdxxxddxxxddooddolll
...,cccc;l:;c::l0NKxNKd0occodddxxookkkxxxxxdddddddoolollllll
......::':;,c;lOocOcW0;xko,;ccldlcodddoodddooooolcclclccc:::
 .....''.,'.'.'cc,c;::,,c:;;;,:l:,,cooddoxddddlcllc:cclllcc;
 .....''.,'...:l;.l.'..'lo'l,.'.'''.';c;',ccc:c,.,,,;,;'..'.
 .. .... ...;,:o:'l,olc,',';;...'.' ......,,,,..,....,'.  . 
 ..   ...'..:,:d:'d,kOd,dl.,c.;;;,' ............,,.. ..  . .
 .    ...clcxlokl;o:ddl'clc:;.,;:'..c;.......  .............
     ..,codxxxxkkkkkkxxoooxdl;,;'.        ..........;::;;,,;
......';looodxddddddc;,,..,lllc::,,'',''...  ....   .'..';::
  ...,coodddxxxxxddd;'...';odddooooooollc:,....''..'''...;::
.....,ldxkkxkkkxxddo:;' :dxxxxxxddddddoool:;::;,,,;;::::cc::
....'codxkkkkkxxddoollc;oxxkkxkkxxddddddoodollc,''';;cc:cc::
jp2a-1.0.9/tests/grind-color-truecolor.txt000066400000000000000000000756251362026105100205260ustar00rootroot00000000000000''..;';ldd00MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW ,...''',;ccoKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNW .......'';:xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNMM  ...',..,,:oKWMMMMWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMM .....c,:,:lcoxk0XXXXXXXNNNNNNNNNNNNNNNWWWWMMMMMMMMMMMMMMMMMM .....,..:::;ldkO0KKKKXXXXKKK0000KKKKKKXXNNNNWWWWWNNNNNNNNNNN .......',;:ox0000OO0O0OxdxkkddxkOOOOkO0OO0KXXXXKkkkO00OOOkkx ..,..,;ckkkkkkkkkxdddxdcclollclxkkxddxkxkO00KK00OkkO00OOOkkk ..'..:::xkxxdxxoc:cddddoodddddxxxxodkkkkOOOOOOOkkkkkkkkkkkxx ......,';,;:ldddooddodxxxxxxxxkxxkoxxxxxxkkkxxxdxxddddddoooo ..';;;::cc::clco0XXKKkollodxxkxkkxokkkkkxdxxxddxxxddooddolll ...,cccc;l:;c::l0NKxNKd0occodddxxookkkxxxxxdddddddoolollllll ......::':;,c;lOocOcW0;xko,;ccldlcodddoodddooooolcclclccc:::  .....''.,'.'.'cc,c;::,,c:;;;,:l:,,cooddoxddddlcllc:cclllcc;  .....''.,'...:l;.l.'..'lo'l,.'.'''.';c;',ccc:c,.,,,;,;'..'.  .. .... ...;,:o:'l,olc,',';;...'.' ......,,,,..,....,'.  .   ..   ...'..:,:d:'d,kOd,dl.,c.;;;,' ............,,.. ..  . .  .    ...clcxlokl;o:ddl'clc:;.,;:'..c;.......  .............      ..,codxxxxkkkkkkxxoooxdl;,;'.        ..........;::;;,,; ......';looodxddddddc;,,..,lllc::,,'',''...  ....   .'..';::   ...,coodddxxxxxddd;'...';odddooooooollc:,....''..'''...;:: .....,ldxkkxkkkxxddo:;' :dxxxxxxddddddoool:;::;,,,;;::::cc:: ....'codxkkkkkxxddoollc;oxxkkxkkxxddddddoodollc,''';;cc:cc:: jp2a-1.0.9/tests/grind-color.html000066400000000000000000002553231362026105100166320ustar00rootroot00000000000000 jp2a converted image
OO00xOxl::..                                                
k0XKOOOkxooc.                                               
KXXXX0KOOxd;                                                
NXKXOk00kkdc.                                               
KXKX0okdkdloc;,........                                     
0XXXKk00dddxl:,'........................                    
00KXK00Okxdc;....''.'.';:;,,::;,'''','.''.......,,,'..''',,;
00k0Kkxo,,,,,,,,,;:::;:oolcllol;,,;::;,;,'......',,'..''',,,
00O0Kddd;,;;:;;codo::::cc:::::;;;;c:,,,,''''''',,,,,,,,,,,;;
KK00X0kOxkxdl:::cc::c:;;;;;;;;,;;,c;;;;;;,,,;;;:;;::::::cccc
00Oxxxddooddoloc.....,cllc:;;,;,,;c,,,,,;:;;;::;;;::cc::clll
0XXkooooxldxoddl. .; .:.cooc:::;;cc,,,;;;;;:::::::cclcllllll
00K0KKddOdxkoxl'co'o .x;,ckxool:loc:::cc:::cccccloololoooddd
N0XX0XOO0kO0O0Oookoxddkkodxxxkdldkkocc::c;::::lollodoollloox
N0KX0XOO0kO0K0dlx0l0O00OlcOlk0O0OOOKOxoxOkooodok0kkkxkxO00OK
N0XNKXKXNXK0xkdcdOlkclokOkOxx0K0O0ONXXKXX0kkkk0Kk00K0kOXNNXN
WKXWNNXXKO00dkd:dO:k,':k:l0ko0xxxkONKKXKKKKKKXXKkk00NXXNNXNK
WXNWWWKKKolo;lc,lxcd::lOolodx0kxdO00ox0KKXXXXNNXK0000KXKXX0K
WWNNNXKkoc:;;;;,,,,,,;;ccc;:lxkxOXNNNNNNNNXXXXXX0KK0xddxxkkx
XXXXXKOxlccc:;::::::oxkkXKkllloddkkOOkOO0KKNNXK0XNNNKO00Oxdd
NNXX0kocc:::;;;;;:::xOKXKOxc:::cccccccllodk0000OO00OOO000xdd
XXXK0kl:;,,;,,,;;::cdxONd:;;;;;;::::::cccldxddxkkkxxddddoodd
XKKXOoc:;,,,,,;;::cclloxc;;,,;,,;;::::::cc:cllokOOOxxoodoodd
jp2a-1.0.9/tests/grind-flipx.html000066400000000000000000004444231362026105100166370ustar00rootroot00000000000000 jp2a converted image
WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKKXxkd::';,'..,'
WWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWkdxlll:;,;,.....
MMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXdolc;,,,''.....,
WNKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOdc:;,,'.......::
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMN0c;;,;'.'. .....
MMWXNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNko;,''.... .. ..
MMMNNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMWWMMMMMMMMMMMMMMWXOo:,'...,,.. . .
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWMMMMMMN0oc;,,'..',..... 
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWNNNNNNNNNNNNWWWWWNkc:;,,,:.;'..... 
MMMMMMMMMMMMMMMMMMMMMMMMWWWWWWNNNNNNXXXNNNXNNWNNNXXXXXXXXXX0ddololo;,;o';'......
MMMMMMMMMMMMMWMMMMMMWWWWWWNNNXXXXXXXXKXKKXKXXXXNXXXXXXXKKKOdocc:;ldc;.,,d'... ..
WWWWNNNNNNNNNNWWWWWWWNNNNNXXKXKKKKKKK00000KKKKKKXXXXXXKKK0000dxl;,;cd;..'.... .'
OO000KKKKXXXKKKXNNNNNNNXXXXKKK0000000O00O00000KKXXXKKKKKKK00OOko:;;,,'..........
xkkOOOO00K0OOOkkKXXXNXXKK00000kkO0OOOOOkxxkOOkxxO0KK0KKO000K00Oo:;;'',.... .....
dxxxkkOOO0OOxxxxOKKKKK00OxxkOkxxkOOOOkolllldkxolldOOkkOkOO00000Okxcc::',.. ..'''
xkkxOOOOO00xddxkO000000OOxddxxddddkkkxoccclloolc:ckkdxkxkOOOO0OOOxxxxd''.'..'...
kkkkO000K000KOO0KKKXKK000Oxkkxdxdokkxxdllclloll::lxxoooddxkxxkxkkkOOOx:,,, ';...
xkkkOOOO0OO0OOO0OOO000O0Okkxxxxddoxxdxxdooddoolc:ldxdddcccoxxxxxxkkOOdc,:' ,;';'
xxxxkkkxxxxxxxxxxkkO0OOOOOOkOkOkklkxxxxxxdddoooooooooolc:;:dxxdddxxxd::;:...'...
ddxxxxddddxxxxxkkkkkkkkOkkkxkkkkxoxkkkkkkkkxkkxkxxxdddddllcodddolodol;,:,...... 
ooooooddddddodddddxxxkkkxxkkkxxxxoxkxxkkkkkdxxxxxkxxxxxxdxkOkkxl,;'.',''........
lllooooxdxddxdxxxdddxkkkkkkxxkkxxloxddxxxdxxxxxxddollcoddoodooolc:.,''''.. .'...
lllooddollodxxxkkxxxxkxxddkkkOkkOxlxkkkxkkkxxxdllclx0KXXXXOoclllccllc;;,;;;:,'..
llcloodddooodddddodddxxdxdxkkkkkOkokkkkdkxxxocccookKXXXXXKoc:ccc:;:cclolccc:...'
llllollloooooooddxxddddxxxOkkkkkkklxkkxoxxdolc:cxO0XXKOXXKd:;:c:;;:l:clc::l,.. '
cclcllloolloddxxdoodddodxdxddxkkkxlxdddoddoolclOKO'KN0;XNN0o:;;c;'oo;;ccll;'....
:;;:lccccllolllooooooloddoooooddddcocddddoc:,:cOX0'XW0;XOkKOc;;c:'ll;;ol'.''..',
cc:cccccll:cc::cloooooddddxddodoolccldo:;::,'ckkc:,XW0;0..dOo:;c;.;,''c;.....'' 
::ccllllc::;:clllcooodoxxxdloxkxd:,,:oo,';::;cxd'',xOo:l,;,::'','.'............ 
ccclllccccccclllcldddddxxddOkdddl,;::ll:,;,,,,,,;;,,;;cl:l:::.''..;,..''... ... 
';c:::cllod;cc:;:cddddoolo,do.','.'',cc;',,;';c:''',..,k..Od'..,'.::'';;... ... 
..,.'.':,.'',;'.,c;;l:c:,,;:ll,...'''.',.':x.l0k'...',,x..lok,....;:'';;... ... 
 .. .'''';''..;..cl;;;c:'..,:;;; ''.'....';:,:c;,,,''''.....:''............ ... 
  .  ..,:;'...,'..,;:;;,........ ...''...'',;;;;::;,,,,;'';:;.....   ... .. .'. 
 ..   ..'. ...''..',',,'..       ''''.'..,c:....';kO0o;0..O0O'cl,.'.   .... ... 
..... ... ....;'.....''....   .  ,,',,:'.cd:..ld,:XXXd:K'.0K0'od,.,'.    .. ..  
.. .. . . .'.,;'..  .  .......'' ',,;;c'.,,..lkd';kxxc;l''::;''.........     .. 
....      ...''...     ...'..;;:..',:;c'.'',,,,,,,,,,,,',,,;;.;:..;;....     .. 
 ..  ...........    .........;cc'.',;::'.';;:clc';dxkc;x..kKO'xO:cdc....      . 
;,''',,,,,;,''...  .....  . .',,'...;c:,.:dxkkOk:l000OkOxx0K0OO00Oxc'...        
;,,;;;::c:;...... ......  . .      ..,;,,:odxkdxxxkkkOOOkkxxxddxxxdol:,...      
;;;;;;;;:,' ........   ..           ',,,:ccloo';lolcoxxxxxddodxdddolc;...    .  
;;;:,'.',,.  . .....  .. ...''....',;;::clll:.' ,c,;:odddddddxxddoool;.... .... 
;:c;..  ..     .........;;:::ccccclllllooool.   ...;;oddddxxxddddodoocl:,...... 
c:;,.   .........'....';:ccclollllllooododoo'   ..','ddddddddxxxddddoooc'...    
ccc;,,;;:cc;,',:;'',;'',::lloodooooooooddddxdol.  .',ddxxxxxxxxxdxxddol:,'....  
::c:cc:c:c:cc;;;,'';:,',cloooooododddddxxxddddo,  ..,odddxxxkxxkxxxxxdoc'....   
c:cccc;:;:;,,;;;;;c:::clllooodddddddxxxkkxkkxdd: .;:ccldddxxkkkxxxkkkdol:'..  . 
c::cc::cc;;'...',:coolloolodddddddddxkkkxxkkxxdc.;cllooddddxxxkkkkkkkxooc,......
:::llc:cc;,:;,;'.cclloddolodddddoddxxxkkxxkkxdddolllloddxddxxxkxxxxxxxdol:'.....
jp2a-1.0.9/tests/grind-flipxy.html000066400000000000000000004444231362026105100170300ustar00rootroot00000000000000 jp2a converted image
:::llc:cc;,:;,;'.cclloddolodddddoddxxxkkxxkkxdddolllloddxddxxxkxxxxxxxdol:'.....
c::cc::cc;;'...',:coolloolodddddddddxkkkxxkkxxdc.;cllooddddxxxkkkkkkkxooc,......
c:cccc;:;:;,,;;;;;c:::clllooodddddddxxxkkxkkxdd: .;:ccldddxxkkkxxxkkkdol:'..  . 
::c:cc:c:c:cc;;;,'';:,',cloooooododddddxxxddddo,  ..,odddxxxkxxkxxxxxdoc'....   
ccc;,,;;:cc;,',:;'',;'',::lloodooooooooddddxdol.  .',ddxxxxxxxxxdxxddol:,'....  
c:;,.   .........'....';:ccclollllllooododoo'   ..','ddddddddxxxddddoooc'...    
;:c;..  ..     .........;;:::ccccclllllooool.   ...;;oddddxxxddddodoocl:,...... 
;;;:,'.',,.  . .....  .. ...''....',;;::clll:.' ,c,;:odddddddxxddoool;.... .... 
;;;;;;;;:,' ........   ..           ',,,:ccloo';lolcoxxxxxddodxdddolc;...    .  
;,,;;;::c:;...... ......  . .      ..,;,,:odxkdxxxkkkOOOkkxxxddxxxdol:,...      
;,''',,,,,;,''...  .....  . .',,'...;c:,.:dxkkOk:l000OkOxx0K0OO00Oxc'...        
 ..  ...........    .........;cc'.',;::'.';;:clc';dxkc;x..kKO'xO:cdc....      . 
....      ...''...     ...'..;;:..',:;c'.'',,,,,,,,,,,,',,,;;.;:..;;....     .. 
.. .. . . .'.,;'..  .  .......'' ',,;;c'.,,..lkd';kxxc;l''::;''.........     .. 
..... ... ....;'.....''....   .  ,,',,:'.cd:..ld,:XXXd:K'.0K0'od,.,'.    .. ..  
 ..   ..'. ...''..',',,'..       ''''.'..,c:....';kO0o;0..O0O'cl,.'.   .... ... 
  .  ..,:;'...,'..,;:;;,........ ...''...'',;;;;::;,,,,;'';:;.....   ... .. .'. 
 .. .'''';''..;..cl;;;c:'..,:;;; ''.'....';:,:c;,,,''''.....:''............ ... 
..,.'.':,.'',;'.,c;;l:c:,,;:ll,...'''.',.':x.l0k'...',,x..lok,....;:'';;... ... 
';c:::cllod;cc:;:cddddoolo,do.','.'',cc;',,;';c:''',..,k..Od'..,'.::'';;... ... 
ccclllccccccclllcldddddxxddOkdddl,;::ll:,;,,,,,,;;,,;;cl:l:::.''..;,..''... ... 
::ccllllc::;:clllcooodoxxxdloxkxd:,,:oo,';::;cxd'',xOo:l,;,::'','.'............ 
cc:cccccll:cc::cloooooddddxddodoolccldo:;::,'ckkc:,XW0;0..dOo:;c;.;,''c;.....'' 
:;;:lccccllolllooooooloddoooooddddcocddddoc:,:cOX0'XW0;XOkKOc;;c:'ll;;ol'.''..',
cclcllloolloddxxdoodddodxdxddxkkkxlxdddoddoolclOKO'KN0;XNN0o:;;c;'oo;;ccll;'....
llllollloooooooddxxddddxxxOkkkkkkklxkkxoxxdolc:cxO0XXKOXXKd:;:c:;;:l:clc::l,.. '
llcloodddooodddddodddxxdxdxkkkkkOkokkkkdkxxxocccookKXXXXXKoc:ccc:;:cclolccc:...'
lllooddollodxxxkkxxxxkxxddkkkOkkOxlxkkkxkkkxxxdllclx0KXXXXOoclllccllc;;,;;;:,'..
lllooooxdxddxdxxxdddxkkkkkkxxkkxxloxddxxxdxxxxxxddollcoddoodooolc:.,''''.. .'...
ooooooddddddodddddxxxkkkxxkkkxxxxoxkxxkkkkkdxxxxxkxxxxxxdxkOkkxl,;'.',''........
ddxxxxddddxxxxxkkkkkkkkOkkkxkkkkxoxkkkkkkkkxkkxkxxxdddddllcodddolodol;,:,...... 
xxxxkkkxxxxxxxxxxkkO0OOOOOOkOkOkklkxxxxxxdddoooooooooolc:;:dxxdddxxxd::;:...'...
xkkkOOOO0OO0OOO0OOO000O0Okkxxxxddoxxdxxdooddoolc:ldxdddcccoxxxxxxkkOOdc,:' ,;';'
kkkkO000K000KOO0KKKXKK000Oxkkxdxdokkxxdllclloll::lxxoooddxkxxkxkkkOOOx:,,, ';...
xkkxOOOOO00xddxkO000000OOxddxxddddkkkxoccclloolc:ckkdxkxkOOOO0OOOxxxxd''.'..'...
dxxxkkOOO0OOxxxxOKKKKK00OxxkOkxxkOOOOkolllldkxolldOOkkOkOO00000Okxcc::',.. ..'''
xkkOOOO00K0OOOkkKXXXNXXKK00000kkO0OOOOOkxxkOOkxxO0KK0KKO000K00Oo:;;'',.... .....
OO000KKKKXXXKKKXNNNNNNNXXXXKKK0000000O00O00000KKXXXKKKKKKK00OOko:;;,,'..........
WWWWNNNNNNNNNNWWWWWWWNNNNNXXKXKKKKKKK00000KKKKKKXXXXXXKKK0000dxl;,;cd;..'.... .'
MMMMMMMMMMMMMWMMMMMMWWWWWWNNNXXXXXXXXKXKKXKXXXXNXXXXXXXKKKOdocc:;ldc;.,,d'... ..
MMMMMMMMMMMMMMMMMMMMMMMMWWWWWWNNNNNNXXXNNNXNNWNNNXXXXXXXXXX0ddololo;,;o';'......
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWNNNNNNNNNNNNWWWWWNkc:;,,,:.;'..... 
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWMMMMMMN0oc;,,'..',..... 
MMMNNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMWWMMMMMMMMMMMMMMWXOo:,'...,,.. . .
MMWXNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNko;,''.... .. ..
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMN0c;;,;'.'. .....
WNKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOdc:;,,'.......::
MMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXdolc;,,,''.....,
WWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWkdxlll:;,;,.....
WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKKXxkd::';,'..,'
jp2a-1.0.9/tests/grind-flipy.html000066400000000000000000004444231362026105100166400ustar00rootroot00000000000000 jp2a converted image
.....':lodxxxxxxxkxxxddxddollllodddxkkxxkkxxxddodddddoloddollcc.';,;:,;cc:cll:::
......,cooxkkkkkkkxxxddddoollc;.cdxxkkxxkkkxdddddddddoloollooc:,'...';;cc::cc::c
 .  ..':lodkkkxxxkkkxxdddlcc:;. :ddxkkxkkxxxdddddddooolllc:::c;;;;;,,;:;:;cccc:c
   ....'codxxxxxkxxkxxxdddo,..  ,oddddxxxdddddodoooooolc,',:;'',;;;cc:c:c:cc:c::
  ....',:loddxxdxxxxxxxxxdd,'.  .lodxddddoooooooodooll::,'';,'';:,',;cc:;;,,;ccc
    ...'coooddddxxxdddddddd','..   'oododooollllllolccc:;'....'.........   .,;:c
 ......,:lcoododdddxxxddddo;;...   .loooolllllccccc:::;;.........     ..  ..;c:;
 .... ....;loooddxxdddddddo:;,c, '.:lllc::;;,'....''... ..  ..... .  .,,'.',:;;;
  .    ...;clodddxdoddxxxxxoclol;'oolcc:,,,'           ..   ........ ',:;;;;;;;;
      ...,:lodxxxddxxxkkOOOkkkxxxdkxdo:,,;,..      . .  ...... ......;:c::;;;,,;
        ...'cxO00OO0K0xxOkO000l:kOkkxd:.,:c;...',,'. .  .....  ...'',;,,,,,''',;
 .      ....cdc:Ox'OKk..x;ckxd;'clc:;;'.'::;,'.'cc;.........    ...........  .. 
 ..     ....;;..:;.;;,,,',,,,,,,,,,,,''.'c;:,'..:;;..'...     ...''...      ....
 ..     .........'';::''l;cxxk;'dkl..,,.'c;;,,' ''.......  .  ..';,.'. . . .. ..
  .. ..    .',.,do'0K0.'K:dXXX:,dl..:dc.':,,',,  .   ....''.....';.... ... .....
 ... ....   .'.,lc'O0O..0;o0Ok;'....:c,..'.''''       ..',,','..''... .'..   .. 
 .'. .. ...   .....;:;'';,,,,;::;;;;,''...''... ........,;;:;,..',...';:,..  .  
 ... ............'':.....'''',,,;c:,:;'....'.'' ;;;:,..':c;;;lc..;..'';''''. .. 
 ... ...;;'':;....,kol..x,,'...'k0l.x:'.,'.'''...,ll:;,,:c:l;;c,.';,''.,:'.'.,..
 ... ...;;''::.',..'dO..k,..,''':c;';,,';cc,''.','.od,olooddddc:;:cc;dollc:::c;'
 ... ...''..,;..''.:::l:lc;;,,;;,,,,,,;,:ll::;,ldddkOddxxdddddlclllccccccclllccc
 ............'.',''::,;,l:oOx,''dxc;::;',oo:,,:dxkxoldxxxodoooclllc:;::cllllcc::
 ''.....;c'',;.;c;:oOd..0;0WX,:ckkc',::;:odlccloododdxddddooooolc::cc:llccccc:cc
,'..''.'lo;;ll':c;;cOKkOX;0WX'0XOc:,:coddddcocddddoooooddoloooooolllollccccl:;;:
....';llcc;;oo';c;;:o0NNX;0NK'OKOlclooddodddxlxkkkxddxdxdodddoodxxddolloolllclcc
' ..,l::clc:l:;;:c:;:dKXXOKXX0Oxc:clodxxoxkkxlkkkkkkkOxxxddddxxddooooooolllollll
'...:ccclolcc:;:ccc:coKXXXXXKkoocccoxxxkdkkkkokOkkkkkxdxdxxdddodddddooodddoolcll
..',:;;;,;;cllcclllcoOXXXXK0xlclldxxxkkkxkkkxlxOkkOkkkddxxkxxxxkkxxxdolloddoolll
...'. ..'''',.:clooodooddoclloddxxxxxxdxxxddxolxxkkxxkkkkkkxdddxxxdxddxdxoooolll
........'','.';,lxkkOkxdxxxxxxkxxxxxdkkkkkxxkxoxxxxkkkxxkkkxxxdddddoddddddoooooo
 ......,:,;lodolodddoclldddddxxxkxkkxkkkkkkkkxoxkkkkxkkkOkkkkkkkkxxxxxddddxxxxdd
...'...:;::dxxxdddxxd:;:cloooooooooodddxxxxxxklkkOkOkOOOOOO0Okkxxxxxxxxxxkkkxxxx
';';, ':,cdOOkkxxxxxxocccdddxdl:clooddoodxxdxxoddxxxxkkO0O000OOO0OOO0OO0OOOOkkkx
...;' ,,,:xOOOkkkxkxxkxddoooxxl::llollclldxxkkodxdxkkxO000KKXKKK0OOK000K000Okkkk
...'..'.''dxxxxOOO0OOOOkxkxdkkc:cloollcccoxkkkddddxxddxOO000000Okxddx00OOOOOxkkx
'''.. ..,'::ccxkO00000OOkOkkOOdlloxkdllllokOOOOkxxkOkxxO00KKKKKOxxxxOO0OOOkkxxxd
..... ....,'';;:oO00K000OKK0KK0OxxkOOkxxkOOOOO0Okk00000KKXXNXXXKkkOOO0K00OOOOkkx
..........',,;;:okOO00KKKKKKKXXXKK00000O00O0000000KKKXXXXNNNNNNNXKKKXXXKKKK000OO
'. ....'..;dc;,;lxd0000KKKXXXXXXKKKKKK00000KKKKKKKXKXXNNNNNWWWWWWWNNNNNNNNNNWWWW
.. ...'d,,.;cdl;:ccodOKKKXXXXXXXNXXXXKXKKXKXXXXXXXXNNNWWWWWWMMMMMMWMMMMMMMMMMMMM
......';'o;,;ololodd0XXXXXXXXXXNNNWNNXNNNXXXNNNNNNWWWWWWMMMMMMMMMMMMMMMMMMMMMMMM
 .....';.:,,,;:ckNWWWWWNNNNNNNNNNNNWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
 .....,'..',,;co0NMMMMMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
. . ..,,...',:oOXWMMMMMMMMMMMMMMWWMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNNMMM
.. .. ....'',;okNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXWMM
..... .'.';,;;c0NMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
::.......',,;:cdONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKNW
,.....'',,,;clodXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMM
.....,;,;:lllxdkWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWW
',..',;'::dkxXKKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW
jp2a-1.0.9/tests/grind-green.txt000066400000000000000000000045761362026105100164710ustar00rootroot00000000000000OkO0Okxkdo:;:... k0KK0Oxkkxdolcc; xkKKKXKO0Oxxddo,. . XXXXXXK000kkxdc'. NXKKKKxkO0kkxdl;. KK00KXkxOlxkxool;.... OKXK0XOlkxOolcldoll:,........... ................... 0KKXKX0000kdxxxoc,'....................................... ................ OOO0KN00k0dxdoc:,.......'..'..,;::,,,:c:;;'''''';,''',,........';;;;,'.'''',,,;: K00kOXOOkk:,,,,'''''''',;;;:,,looccclloolc,,,,::;:;;;:;''.......,;;;,...'''',,,, 0kOxkNOdxo:''',,,;,,,:lll:::;:cooccc::cc:;;;;;l::;;,,,''.''..'''.''...'.'''',,,, XK00KX0ddxd:;;;:::;:cdoll::::::;;:;;;;;,,,,,,'c,'''',''''''''',,,,,,,,,,;,,,,,;; KKK00XK0kkkkkOddl:;;;:::::c::;,;;;,;;',''',,';c,'''',,,'''',,,;,,,,;;;;;;;;::::: 00OOxxxxxddoclolcccc:'.....';clcc:;;,',',.'''c,..'.''';,,,',,,,',,,,;;:c:;;::cc: OXKXkoddolodloddllloo:.......',:lllc:;;;:,'',c,''''''',,,,,,,,;,;;;;;;:;:::::::: OKXKOkddolxxlcOdlddo;.. .x' .O'.,llolc:;:;;:,l'''',;;;;,,;:;;;;;,;;;;:c:::cclcll NOOXK0KKxoOOkx0klxdc,:0k.x. .Ool,;oOxoodoc;loo::;;::::::;:::::;:cllcclccccc:lool N00XNO0XOk00kk00k00xdddxooolokkkooxkxxkOxccdxkxl:::;;c;;;::;;:ccclllollccc::ccld WK0XNOOXxokOod0O0K0o:;NK,O00O00Oc:o0ldOOxdxOKO0K0kkllkodoolcoooxOkdxkoddoxkxxdO0 NK0XNKKX00KK00K0KOOx000OOOOOOkkkdodkdxOKKK0O0OOXkkxxO0KOxdxdxddOOk00OOkkk00KNKXN WK0XNXKNKKNNK0KOdx0:;:K0:ko:::xkOOOOddk00OOO0OONNNNXXXK0OkkkkOK0OO00XX0kOXNNNXNN WN0XNNXNNXXKOk0OddOc::0O,xl'..dO::xKkox0OokxkkOWXKXXX0K00KKKXXXKkdO00KNKXXNXXNXX WXXNWNNWKOK0dd00od0olo0OdkxdddkkxxkOOO00OdxxkOKKddk00O0KXNNXNNKK0kO0KXNNWNNNNKXX WNNWNXXXK00kl;,,',:'.'lc':;...ox;,;;clx0kddx00K0kkOKXKXXKKKKKXXXOOkOkxkkOOO000kO NNNNXXXK0Odolc::::c:::;;;;;:c:ccld::cldxkkkOXNNWWNNXXXXXKKKKKKXK00OKKxxddxxxkkkk XKKKKKK0OOdlccc:::;::::::ccdkOxONKKxllllodddxkkOOkkkOOKKKKXXK000KNXXNKOk000kxddx XXXXKK0kollc::::::::::::c::kk0KXNXXOcccccccclcllllllooodxOO0K0OO0KKKK0KKXXXKkddo XXKK00Okdlc:;;;;;;;;;;;:::ck00NWOcc:::::::cc:cccc:ccccooxkkdxkkxxxxddooddddddodd KKKKK0Odlc:;,,;;;,;;;;::cclodd0Wd::;,;;;,;;;::::::cccclclloooodxxxkkkxddoxdooddo K00KK0xlcc;;;;;;;,;;:::;ccclloodl::;,,;;;,;;;::c:::::ccc::clllokkkOkdxxoooollddd jp2a-1.0.9/tests/grind-nobold.html000066400000000000000000002454661362026105100170000ustar00rootroot00000000000000 jp2a converted image
'''..,,,;lxoxXOXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW
'....',',;;:cookWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWM
,'.......,;;;;lOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNWW
.......'..'',:o0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNWMM
 .....;,..,,,:lxXMMMMMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
......,;'c',:lclxkO0XXXXXXXXXNNNNNNNNNNNNNNNNNNNWWWWWWMMMMMMMMMMMMMMMMMMMMMMMM
'. ...':.',lcc;;lldkO0KKKXXXXXXXXXXXKKKKKKKKKXXXXXXNNNWWWWWMMMMWWWWWWWWWWWMMMM
..........,',,,cxO0000000KKKKKK0O000OOkOO00O000O0KKKKKXXXNNNNXK0000KXKK0000OOO
''......''c:clxkO0000OOkOOkOOxllldxdollodkOOOkkdxkkxxk00KKKKK0xdxxkO0OOOkkxxxd
...,..;.::kkOOkkkkkkkkxdddoxxo::cllolccldxkkkoxxdxkxkO000KKKKK0OkOO0000O0Okkkk
..','.,;:;dkkkxxxxxxoc:cldoddollooodddddxddxklxxkkkkOOOOOOOOkkkkkkkkkkkkkkkkxx
.......,;';ccllcoxxdoloodxdxxxxxxxxxkkkkkkkkdoxkxxxxkkkkkkkkkxxxxxxddddddddddd
...''...''',,,:cloooxxxxxdooldddxxkxkxxxxxxxldxxkxxxxxkkkxxxdxxxxxdddoddooooll
....:cccclccc::ccccclOXXXXXKkoolllodxxkdkkkkokkkOOkkxdxxxxdxdxxddddolloddollll
....,ccccl,:lc,::;::o0XNOxNNxk0xlccoodddxxxdlkkkkxxxkxxxddddddddddooloolllllll
.'.....,oo':c:.::,cdKko0xlWWco0Odc;;:looddllcddddddddddoooooooolllllclcccl:::c
 .' ........''.',':ll;':llOk:''lxl,;;;';ol:;;cdxkxoodxxdooodlclccc:;:cllclccc:
 ... '..;;.':,.'..'lkc.cl,'',',:c:';;,':c:,,,';;;:xocoolododl:::cc;llccc::cc:,
 ... ...''.','....lc;'.,;',''''cdo.cc'....'''..';c:,.';c::;;c;.',''''',''..'..
 ... ...... ...',';ll;.;:,ccc:,,,,,,,'...''.'. ........,;;;;'..,....';,..  .  
  .. ...  ..''.;d,l0Kc.ox,KXXl,cl'.;ol.,;,,',.     ......'....',.... ...  ....
 ..     ....,,..;''::,';;,ccc;,:lc''''.,:;;,'..;,,......     ..,,...      ....
        ...,lxdxOdxKKd:dxlOOOl,lxddol:.,::,...,;;'..........  ....''''......'.
      ...,cloddxxddxxxkkkkkxxdddcdddoc;,;,.            ............';::;;;;,,;
 ........':loooddxddddddddl;,::...;llll:::;,'...''......   .... .. ..,'..,;::;
    ...;coodddddddddxdddodc''..   .cooooololllllllccc:;,..............   .,::c
  .....,coddxxxxxxxxxxxxdol.'. .lodddddddoddoooodooolc:'';;,',;;,;;:c::;;;:cc:
......'codxkkkkkkkxxxdddolcc:, ,ddxkkxxkkxxddddddoooooolcccc:,,,,,,;::c;:c:::c
......:oodxkkkkxkxxxxdddooollc:ldxxkkkxxkxxxddoddddoooodololl;','';;;clccll:::
jp2a-1.0.9/tests/grind-red.txt000066400000000000000000000045761362026105100161430ustar00rootroot00000000000000OO000kxOdo;;:... kKXXX0kOOkxdolc; xkKXXXK0K0kkxxo,. NNNNXNK0KKOOkxc' NNXXXKxk00Okkxl;. NNXKKXkdOlxkkooc;'.............. 0XNXKXOcOkOoc:lxoolc;'........................... 0XXNNNKK0KOxxkkxl;;'''................''..'.......... ...... kO0KXN0KO0kkxxoc;'''.''',.''.',:cc;,;:cc:;,''''',,....... ...........'',,;: 000k0XO0Ok:;;;:,,;,,,'';;;::;;oddllloooooc;,,,::;:;,,;'... ......''.........'',, kkOdxNkdkdc,,,;:::::;coooccc:clddllccclc:;;;;,:;;,,'''......................'''' KKOO0KOddkdc;:cccc:clxdolc:::::;;:;;;;;,,,,,,,c,'''','........',,,,,,;;;;;,,,,;; K0KOkXK0kOOkkkddl:;;;:::;:c::;',,,,;;,,,,;;;,:c;,,,,,,,,,,,,;::::;;:::;::cccc::c 0OOkoddddoxdloooooooc' ...,clcc:;,,',',',;,c;'''',,;:;;,,;;;;,,;;;::cc:::ccllc OKKXdlodlclolxkxdddxx: . .';odoc;;,,:,,',c,,,'',,';;;;;:::c::ccclllcllllloll kKXKkxoolcxxc:Odoxdo,. x. .k..'odolc:;:;;:;l;,,,;::;:;:ccccccc::ccclollodododo XOOX00XXdokkdd0xoxdl';kd.x. .klc';oOkdool::lodlcc:cc:;;;::ccclllodddoollodoldxdo N00XN0KX0O00kk00kO0xdddxloolokxklldxxxxkd:cdxkxc;;;;,:;',:;;;;olllldxddooollooox WK0KNO0XxxOOxx0O0K0l;,XO'kOOO0OO:;o0lxOOxdxkdk0K0kxclkodllc:ooodOkddklddoxkkkxO0 NK0KNKKX00KK00K0KOOdOOOOOOkkOkkkdodkdxOK0KOOOOOXkkxdO0KOdoxdxddOOk00OOxkO00KNKXN WK0XNX0XKXNNXKKkddO;,;0k,xl;;;dkOOOOddk0000O0O0NNNNXXNK0kxkkkOK0OO00XX0kOXNNWXNN WN0XWNNNNNXK0OKOooO:,;Ox.d:...dk,,xKkld0koxxkkOWXKXXXKK00K0KXXXKOxO00KWKXXNXXNXX MXXWWWWWKKX0xoOOlo0lclOOoxxoodxkxdxkOOO0koxxkOKXdxk0K0KXNNNNNNXNXK0KKXNNWXNNNXXX MNWMWWWNXXKOo,....;...:;.,'...ld'.'';:d0kddkKXN0kk0XNNNNWNXXXNNNKX0K0OOOOOOO0Oxk WWWWWWWNX0dlcc:;;;::;;,,,,,;;;::co;;:ldkkkk0NWWWWWWNWWWWNNNNNXNXXNXNNkxoddddxxxx WNXXNNNX0Odcc::::;;::::::::odxdkN00xlllloddxkOO00OOO0KXXNNWWWNKKXWNWWN0OKK0kdddd WWWWNNKOocc:::::;;;;;;;:::;kkO0KXXXkc::c:ccclcllllllooddk0XXNXK0KXXXXKXXNNNKkddo WWNNXKKOdc:;;,,;,,,,;,,;;::kO0NWOc:;;;;;;:::::::c::cclodO0OxkO0kxkkxdddddxxxxodo NNNNNX0dc:;,'',,,',,,;:::cloodOWo;;,',;,',,;;;::::::cclclodooodkOkOOOxxdoxddddxd NXXXNKdlc:,,,,,,,,,;;;:;::clllodc;;,'',,,',;;::::::::ccc::ccclokOkOOxxxoodoooddd jp2a-1.0.9/tests/grind-truecolor-fill.txt000066400000000000000000002565631362026105100203400ustar00rootroot00000000000000'''..,,,;lxoxXOXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW '....',',;;:cookWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWM ,'.......,;;;;lOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNWW .......'..'',:o0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNWMM  .....;,..,,,:lxXMMMMMMWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM ......,;'c',:lclxkO0XXXXXXXXXNNNNNNNNNNNNNNNNNNNWWWWWWMMMMMMMMMMMMMMMMMMMMMMMM '. ...':.',lcc;;lldkO0KKKXXXXXXXXXXXKKKKKKKKKXXXXXXNNNWWWWWMMMMWWWWWWWWWWWMMMM ..........,',,,cxO0000000KKKKKK0O000OOkOO00O000O0KKKKKXXXNNNNXK0000KXKK0000OOO ''......''c:clxkO0000OOkOOkOOxllldxdollodkOOOkkdxkkxxk00KKKKK0xdxxkO0OOOkkxxxd ...,..;.::kkOOkkkkkkkkxdddoxxo::cllolccldxkkkoxxdxkxkO000KKKKK0OkOO0000O0Okkkk ..','.,;:;dkkkxxxxxxoc:cldoddollooodddddxddxklxxkkkkOOOOOOOOkkkkkkkkkkkkkkkkxx .......,;';ccllcoxxdoloodxdxxxxxxxxxkkkkkkkkdoxkxxxxkkkkkkkkkxxxxxxddddddddddd ...''...''',,,:cloooxxxxxdooldddxxkxkxxxxxxxldxxkxxxxxkkkxxxdxxxxxdddoddooooll ....:cccclccc::ccccclOXXXXXKkoolllodxxkdkkkkokkkOOkkxdxxxxdxdxxddddolloddollll ....,ccccl,:lc,::;::o0XNOxNNxk0xlccoodddxxxdlkkkkxxxkxxxddddddddddooloolllllll .'.....,oo':c:.::,cdKko0xlWWco0Odc;;:looddllcddddddddddoooooooolllllclcccl:::c  .' ........''.',':ll;':llOk:''lxl,;;;';ol:;;cdxkxoodxxdooodlclccc:;:cllclccc:  ... '..;;.':,.'..'lkc.cl,'',',:c:';;,':c:,,,';;;:xocoolododl:::cc;llccc::cc:,  ... ...''.','....lc;'.,;',''''cdo.cc'....'''..';c:,.';c::;;c;.',''''',''..'..  ... ...... ...',';ll;.;:,ccc:,,,,,,,'...''.'. ........,;;;;'..,....';,..  .     .. ...  ..''.;d,l0Kc.ox,KXXl,cl'.;ol.,;,,',.     ......'....',.... ...  ....  ..     ....,,..;''::,';;,ccc;,:lc''''.,:;;,'..;,,......     ..,,...      ....         ...,lxdxOdxKKd:dxlOOOl,lxddol:.,::,...,;;'..........  ....''''......'.       ...,cloddxxddxxxkkkkkxxdddcdddoc;,;,.            ............';::;;;;,,;  ........':loooddxddddddddl;,::...;llll:::;,'...''......   .... .. ..,'..,;::;     ...;coodddddddddxdddodc''..   .cooooololllllllccc:;,..............   .,::c   .....,coddxxxxxxxxxxxxdol.'. .lodddddddoddoooodooolc:'';;,',;;,;;:c::;;;:cc: ......'codxkkkkkkkxxxdddolcc:, ,ddxkkxxkkxxddddddoooooolcccc:,,,,,,;::c;:c:::c ......:oodxkkkkxkxxxxdddooollc:ldxxkkkxxkxxxddoddddoooodololl;','';;;clccll::: jp2a-1.0.9/tests/grind.jpg000066400000000000000000001641271362026105100153330ustar00rootroot00000000000000ÿØÿàJFIFHHÿáXExifMM* ’˜®¶(1¾2Û<ï‡i(CanonCanon DIGITAL IXUS 50HHAdobe Photoshop CS Macintosh2006:07:18 16:29:13Mac OS X 10.4.7‚šÆ‚Î0220Öê’ þ’’ ’’’ ’  ÿÿ @ ð¢2 2006:07:06 21:40:332006:07:06 21:40:33µ _ _ ¨èv~(†ÊHHÿØÿàJFIFHHÿí Adobe_CMÿîAdobed€ÿÛ„            ÿÀx "ÿÝ ÿÄ?   3!1AQa"q2‘¡±B#$RÁb34r‚ÑC%’Sðáñcs5¢²ƒ&D“TdE£t6ÒUâeò³„ÃÓuãóF'”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö7GWgw‡—§·Ç×ç÷5!1AQaq"2‘¡±B#ÁRÑð3$bár‚’CScs4ñ%¢²ƒ&5ÂÒD“T£dEU6teâò³„ÃÓuãóF”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö'7GWgw‡—§·ÇÿÚ ?ãú‡ÛpÜ\ʶ–01¥Œsæ]éYYµ¶~•Õï»ü-Ÿ£³ù´J2è8·St²Âe­’Öî‰Ùè·ô_NÏSÔÿÏÑÖ³mÎʲ¦²×}¢ª5­£Ú*dþ‘¸ŒoôvÙ¿ô›jôÿ£ôÜlÇå—TÑnÛÇVÖE›ÀÝ]•ÖXç±Ôï{ö9úE ®º#®KÓú½¸ï¢ÖͦKÚÀÒֆĶ¿s67{_ó^¯é=5½…ÖóþÏN-µXÒfíî$éG¨Ç;ÔÆö³Öþ¿Ó\.+LuN`ºKK,s‹Fн®¬}?Þßþ þz龯R,ËeÞ‘É` 6 <ýTû×¶·XÇ;ÒjŒ×}Ó_VÃË«.‘eoc‰sXàí¤þk‹9UÂmB€Ö0U·M€9¤ô}¶Ùþz²¬ÄØI]$“HE ¤›pH9§ºJ]$ÉÒR’I$”¤’I%)$’IJB61öº¦Ø¬cÒ¾‡ùОëE5—ísÈáÕÄþëf=Ê51i±ôzO°‚æ»ivŸG{˜^Þß¾ì:¿ÿÐóúZÚÉ$9‚Záƒ~¾œk~‚ÑéRëïÆ°=­µô´>¢Ãhk½6c×G«±×·ßWè*ô÷þýuþ•SË/²Æ]XvÊÀh$4@€Ý¿Õöþ‰ˆÝ/¨dâg}»´TYd}·Ñkö ›­ý×ÿ¤ú~·é}Á?Ët WN¾ž*Ä×l©ù7_HªÇ86¿D¶ªí©ÿ§~N=/{êÿÃ,þqjtü,æÖ܆Óv%äƒm­.¥­×zžãì}ÍÛ¾Ç~‡ü-‹üGgç·íì©Ï¶Ö»v×¾æïy·Óv;«ý-ŸN¿ð•ÿ„Z—f[”Í­?gŹæÀÀíÖ9¥¾Ÿ¨÷ûlÊ·Û·s˜ÏЦHwM‡Ñ:gÖ¾—F”û`l½Ïi#é ½öYýV¹m7©2ÊÚöÂyƒÆ‹‰é‚+¹ì:9Û€a{#ôvko»þ/þ¸·q¨«¸`5Ô5‡;qMq÷û•œb@-«ü%¦V뜷“¢_i'ÍQe#ÚKì të¦îgOÁ<È(Yn‡>'ˆå8ÈkNÒï¹f;.½ÞëF’oo$34Üãµ§÷ŽÐcÍ6í.×Û+˜ùJq–Ó¢ÆûCÁÔ{Gü’v呯àHB’ ¶Ü†•1cJů0>v8Þãø«5åSxCl‚ º`‚Seât*NÌkA'FŽIðM€ßðQÅ.¤–cú¾0ÃŽÎî@§ûE»CšíÍ<½(ç„¶QÃ0,ŠtBÍwYkF­üaAßXqZ5c·xi Q Vp—ÿÑä˽µº \÷Gh푺¶µ»¶YWùˆ8ø¶Y‘”ÚÜêým¤I qÜíý8wöÕŒ\÷X+%‘ERö8Á±ÃÞÏMÚµ•ûn«ôŠ}:ú×~Òæq~ÏPci{YmÿI»ë±¾ÿKèXõ_„‹í_ŠózºÝ¤Ž¡eƒh¢«±(ɨ8¹ÛØë2):øOÑû¿ÑúŸáC…Ð11\=j±í¥íÚ}ºµàÍncÞïìûþ›?AÍ?7ŘÇw;wý«#+¶?_ûOgÐ]-ùpßyls¬h‘à'M|˜¤´ÝŽÃKimr}6ïwæîüä¬É¯gÚ5šÁÚI þìß–_Úë—c‘¸™EŸºÕ•›Ÿ•‘”æb¶ÑU~ÜHåÝ¿²+@€]Ë:›j§Ó®ï£Ïæ·¿ç!uŽ¡”Ìv œâ_-|#÷vúgmj–5y/§sÚö¹:0ã¯ý¨™Öæ´1Õ†êHÄ}=Z90 7¯5Úž…`¥®x— ‘& ß2s­¶âû¹Ó§PÓl}n¾™e@¶¦5Ψ‚ sAïh›\?è#œBçó[ƒH vḑîúU²Ý»÷&“³Ù"'³.—“së.´¹âa‘$ÏþE\»!õ Ù°]Þ˜iöIJË7àJ·§‘´em âèñú-o½Öfb0XH‹í±í"D5”W³ÛîsþЇ½Œ!Õ kÑ>.U¬ÝSöˆ‚{ÿm³û»±­ÏvAu…ÅŒ$8 c÷Y¯·è¨2¡üåăî, >0ë{"Qs@e¶qv×9‡pú.õ=žÖ»úÊ3—{¦HéÔ:uYxlµ²]¦¤q÷¤ÿµ¾—µ‘»iO?;G*mÈpqq°×ÙÄm$ô}í«Ú£fEÁÁÒ×£\û5þËTg45ñdâÚl«=¶šê¯Ô°í£¼;w©·÷›±iS]ÿgl1Í.ÕXé ´“üßµU9Ù…Çq¬ ’í5;w}ÎPwP´<—6¹N×Dq£“XcuK("‰l®sgÚ™Ž~*”ÜúÜ×XÆ—£äºÚNÑù¿ÛRûoª „Àló÷!Ùq#žHÛýÊaÍÌdG»ÿÒã)ŪÇ5ÏÐЯ·W „[´{¾¶{UË~®u‡ä¾Ú˜×0Ö]›ÜÒ,ÚÆ_±þ×7è9PÎf`Ëv=ôšÃªs)Çqú {ÛfÐGÓcGgé=EÐaY‰~3m±´dSKËì,cšïm¾ú÷³ôn¯ôOûEj)«Çð@0zˆxÜË1CÉk›c¶hywèÿ=Ñÿц;¬©×z¸ö7J&@‡ÛkþFÏÑ«ywåaáÒ=&Öë.ªæ»ÔfÛïuNÎÿƒõ£Õ1Mد cëÌ·Ñk\â]Yû7{›ÿ[±Vž<ƒå5û£Ô?ç(Šºêéãu+±(mUÛéÖÐ0ð$@þ׿û–¦>gWc¬«­m-_K±É±“%›·^æ?þ ßArÎ}ž§£]°¸[»|µ­g¸?Ûî]·Õ>“™‰Šÿ]ÎÝn×€ 63O¤×;óÓp †^¿THâ×·DD’uºkÝÐúÓôsés’]IÞcÛíöWíY¶feâÚì|ºÚ.yÝYªCKÓô·ûÞÖþsìØº\~§mßXó:7¦Ìùüæ³ùÅ£‹˜Ç=¡õÓíy32<¿7ܪJ:Þ@7àÛ{m{Yh{C\˜IkIi›«›û®þBkÈ»©Yì m8õñ'Õ²×îݧÓn+Péʯu¡ÂªXùtK€i-sKGîþkáË󳋜æ>ªw´],·—{œ½Þõ ¢ců—ÚªêÛ4=‚}•¸qúF‚@þCùßA ïccÜ|šO;v–Öíênx® Ù‰!Ñuo¦ç{ÍP/e›¦±©Ü$ý'Fßäÿ„L³à¦N²²Â}§X ‘Çò· ŠM“¿Ó:C€%ÄyiÿªÐŸ’ 481’&l‚dû½–{}¿ñŠè/{ @º!ä§¶=ÌMâ7ý«x›¢³ú2Io}®oõ}ÁÞ*µ·2¿o£uŽ& k`ÿCS¼hà.ÖYÛýšÛ}ßÖU½V6ÖպƸkC}¿ÞïÍýÔñ>µ~Z«‹Á=Í–î ²?Â<¶þò°zlv£Ý¶¢É#èítËÝ”ÆYµ–¹ß@âGvïs¿sk=E´ÒÊ÷—~ŠÆúåÅÍÙ·µÕ—=Íú~äèÈô‰$é´–ñë£ÿÓáè¹ã¥o&êÀ °ÎhöÔ=]ÞÖ~muÿÂ!;Ó»‹n{šÆ±¸àÆæˆ/w»ÜݞϠ›9˜Neí?£qk]$í-2æQÛÿ×zzýÝ0ÒÒ7›º@Ð gþ­©’Ò´½S­;c6ú1Ù“ShmVö~ŽÆ:±ú&z…ö3ôŸÈQËȲÃU×,6—XI’ÍÛêêoæéEž£‘]ÖýÎÔ÷4² 0~”Ï»vßÌSêuf¿ì¦R\K\ k~Ñm¿Ko¿bd%+â­N¾¯Mß*Ïsø7°ókÌꕵ¸ÖÜËÜXXç.{½XnƱîm{ãϬc«bÐìW¿¥côú¦ª¾³Å­«{®ô]îÚÿÐ×W§ú?O'Ô³éìÃé˜øùýGï¬w9Õ=÷8<µÌµöS깸õäd~f?þb?Ö.§WXÄ騏8taÓ™cEu<¸9¶†ûK˜ÊŸíý.çÙ¿ÔõìÿIb|aé£U§ýòGƒÙ`õæaýdËêÝJ·1Ùÿd±”4½¢ÜF7*ûkÞ[ú¿£üßóÞÿðŸá/VëýJλպÇ™”Ó^ëkn󱌆º»ÙmlnýË/­fbõN£nN-97Õ4W‹[ƒkõ6Š-së©ìªºî£Ùú/{ÿÑûÕ(Ì"}[Ea¬;`´Ôç°3ùÏô¶„ÿœ§¦úÅŸÑú†[Uµœ»_Ú¦·ÖK‡¦ûþ•m¯é¶Ç{VcrïÅ£n%ív@{àí NÖZݾÝÍ÷ÿ£Vz˺9èÅÝ»ÙÕCjoé+³i>Ñ”ÿÓoÇ÷ûŸÿž•>´ü*mé÷º¼m’ïT8»HkÞÖdÖÖú[ÞßÏL– jÁß·ý%^»ºÃ*Û:<äeÙs] —<o—ÑÝ»Ùé¨ôü§äe¿Êh°¸·t—8ûÖ»óµ¾ÍÿÍþúçÙÖnÈhŨµÕWUlõ¿xh:9®ô¾–ÿKcU|›ìª–dÖùu.c‹ž l8úsûíÚ¢/D‰Ä|ÄÙ2£­Žš~×Ð-éß£Þ 2lh$p×Û½µzžŸïz›T[‚ÐC2q} àÁ!ÜG‹}-ÞÖ®c¥ÕN]9Ý·ªcÜ\v4Š}B!¬umŽÞ÷ÿÜ‹>Ÿø  zÕŒËÈ5‡‡uU¹6’HcC£ÜòíߦÛþ 4ò‘£.òž–ÚœÛHh{~‰ o»ów¶¿}ŸCÙïw¨çVZ=îrC]¸»›#è UÕ-¥áιײà稬þˆ8‚ßÐý§"–Wî²Ú¿YÙÿÔÊêYŽéÃ3;1¸–8âÓK~Ñc‡vïõú=¿žû7ÿ/Ôýaä¿O_$J›Ó|’K µZ@?Guo{ÿIüüö‡^M¶nõé·kø¥ûCšÖ˜hýõ*ß¾“ÖU=Jæcµ™e–dÚÃa0óîõqÞê}ígî:ßOùÅe½Sª7ºÆ-wÓŽévIíß૮ƿÔôö7õç?Ñ%.Cn/úãþõm…Ó¤¾³¾‹ß[>“…Îq~‹ÞZíßø¬ÌsI±ÔRöµûÈýÆ‘w£±û)õçý£oü'éfWXÉõ{l Ç 7éŸÒ7Ó{ç]¼ìs6Ub¥•ןv%AÍm•¼l£|5Ĺ̦«6–ÙuTµž£ég󗾿[ù”£Ée„¬LwáßþåÙÿÔàql?bÊ«s[µîp™?Gù·jÝÍÙïÞ‚ue»·Û»A;`vßí¡6ÐÜM¤îÝc‹¤êto¹ƒ°ö—OÀ kñUÓ~ã‘”ñú²²`iÚç}%sìxâ‚× œçEkÉ‘í啟Ñ1Va5µ5‡Ó°9û --ô¿½îzê¬ú©~~/èmvýîõ)Éy»ež“ÓúJ1(Ü@â…^•¤¿¼¨Ù:wlWкM]w£c³nEg%ÙU›æûCKm4?ÓkôèÞô¿ÆMÅèÔtëzedvI¼[µÆÀ킟CùçZßÎóhÙQ(fv.µø¶½ÍêVÇšÖ¾‡qS}Þï̹ëÕL¾Ž)ý•Eý[Öõ=zÙV×T³Òsýfÿ[{ÿ58@[%ú.¹úµÓ_õÆÞ‹¶æàŽžÌ–Ó]ŽÞ,uŒ­öúÖ—?fÝߣú[z-ì+mûžËEÄXØk ¾ßmNkÐjú¯Ô›ÔÛFE‚¯CÔý¦ ØÀàvœzns÷7éÿ=éÿÁªÿYºvMÆ¥ÝK0u,wØæU_ªçÍïs›˜v5Înï ˆ:î‚4Ö.gXÄúÇÑYU·6‹iÉ 4ÜÀâý¾¦Çîwè­kÁ¿þ³½; ½$u,™Sß]v²êšÈ6=Í·nçWc\Ï¡·ùlZÙ'ë>^1®ËfVÕ×`Ç}ÒÐѲʽMÕ5¿¢–mý"çúŸJÈé´:ìªXÊC›[O÷55ͨîÿ ˆ7ÕDÐÒ:°ï«§µúdÐÛÛí,¯hþOøES©QètÇ[[M{Kv’wIÒumâ N3¶;mÕ ö¸ý+÷5ÏÜßsmgó‹öÕ›“F#-ȱ•¹ò›÷½û]ÿÔ†‹ äý£=…®6¹„ÛiŸ¦Ó Ý»÷¬: ‹²mi.¹®®À?Ûê-î¸Úi¢×ÎÏSH?š^~–ßßX/» ±¨º—þs'ÆïˆKÍ@:¿´=:Ëés[mmÜ+Ÿqh֚ϿômüúÕ,œá~[ÀÊÁ^ð7ƒûÎiÞönrÍ=ïuà‰¸´kÏï~wým=^­nu~‹cƒ€Ý Èkê¾ï¡aFW³·’S¢»f¸¯xsKeÎàV×·vßåþ•Ÿ¤@ÆÉÎÁ¼Væ ±„ã¿~ñ,×sÚøsšÏç6)ÕwPÉǪ­^Áéï{Ì7aý3ÏÓöÔ~V¿¦ç ‚×µÞà׃Óú76íg¨Ï ôqÏ‹˜¼ µs}[òM{®vI.$¹¡®t†¾Îvo~Ö{PÝho§` ²‘ Hp‡9föû\¦:nkk;ªt°‘½·mgµ¿D#ÕÓ²½/^ŒrëÛ¥•–—1Àû}¿àÿá>’}ÿÕófa9ÌÜéá¢d™ÐGò”Û¾§$m=È‘ùÚþrv›† ¤ëÎÒ´:~.O¨Üj¬‡jç¹°ç{\ö~ûvîPÙ;±Y.ŸÕ¬³e†°ßÒ.xPšfçnÚæþêì1òr#y‰–´ÚsµRÂmomDR*s8 ¸~hïìWý6úaÅÁ­G &?v=ÿš¥ˆÌ4¥uÙÎÑu»˜íÀo!ºxéµìS¯?$Ciˆ$F°y–ÇîÿÐbc€‘;.äÇù¿¹ýTÅpÜeºK@ÿiÛ‘¡Ù6{¤¿«ÛUO{¬À q‰’ÙÝ»ÞïßYÕý`v[×¼Tú7)v×KZ7=ümî&êÌ{zffÒÓsi±õÉZ=M?wèí\GRÍ¡¶2÷´±ÖÒÂC {Y}Nöÿ$3þhP\%Ýëp~¸ Û_ml¦óSpXáúgHs/­õ7÷-nßWôt§ê''1…¥îcdjÐ&|6û°¹.—õSªfŠ3ª¾¬ZÞííÄXÁ>Ý›Yüã¿7ßÿ»Á‰ÚÚÑø ­ÞéDÙi$¼¶E9NªÊì’ ‹ZÐCœ{qú^Ý¿Oè~båïÀêu;ô”ZÉ£i$Žþæ…é¶PÓdº9Oi’¡öghl»PÑâ>?I |ÖŒ>£¶E/Û®i‰#émwÒýÕe 0pd~w»÷—¤; ®c‰"ÀIØæHÖv¿è»j¥•…Ž`ٌ܂FÊÝka¬hÿ ¹·;üßü @wAáÍî©Ðk#÷´×NÛOýù˜ì°´°D¿~§OÞþJÐÈÀ¦ûxª’ÜFÒâ}Û}79ÔÿÛñ©±0­¡ûCkÆ æ–άsèÝ»üÅÕE`ÐèÔ·!Ö}¡åäÙ£^l€=’æ7Ýní‹g¢uÝŽÃcY¼nõî{öÀú4³c›ïÙüÖÆ9g[õ)®tVl°Ë‹Ù6ÆÝ®£éïÿGþ¯Eÿ›=E•î¦Ö‡½¦“5™†¿c·;ùßoõ£Ž¾Q²@á=üÝ1•}›A!ãMÀÈÑÛck‹=LRô{+s¾™·G¾ÝÎuOþªÂ«¡õLw‡0ø†’Oï~êéë¥Æ‘ë²’ÓÖ»|Ïõw9¾æþg½Õäi"-ôãÒ›MàÖÚ1+p[U`ݸ{61ö;ôu¿ù͵³éÿ!Rê”cÖmkkv¬vÐÇs±ÞÖ¶9Ãù¶ÆzKÏ’QΫMúb4£Oiö¬–½¯§¢ó£m¹®c\ßSný¿ØW±öÅ6ǹÁðÃ#Ùs§¦íŸÍWþ yêIcãñFž?WÒª6û‹L×À‰ü×ïÚç{¿•ý…5¾¤: s\HŸq—ûYé³óëübót”ïíCÿÙÿí?ÈPhotoshop 3.08BIM%8BIMê¦ com.apple.print.PageFormat.PMHorizontalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMHorizontalRes 72 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-18T14:28:32Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMOrientation com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMOrientation 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-18T14:28:32Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMScaling 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-18T14:28:32Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalRes 72 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-18T14:28:32Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalScaling 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-18T14:28:32Z com.apple.print.ticket.stateFlag 0 com.apple.print.subTicket.paper_info_ticket com.apple.print.PageFormat.PMAdjustedPageRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPageRect 0.0 0.0 783 559 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-18T14:28:32Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMAdjustedPaperRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPaperRect -18 -18 824 577 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-18T14:28:32Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMPaperName com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMPaperName iso-a4 com.apple.print.ticket.client com.apple.print.pm.PostScript com.apple.print.ticket.modDate 2003-07-01T17:49:36Z com.apple.print.ticket.stateFlag 1 com.apple.print.PaperInfo.PMUnadjustedPageRect com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPageRect 0.0 0.0 783 559 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-18T14:28:32Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMUnadjustedPaperRect com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPaperRect -18 -18 824 577 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-07-18T14:28:32Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.ppd.PMPaperName com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.ppd.PMPaperName A4 com.apple.print.ticket.client com.apple.print.pm.PostScript com.apple.print.ticket.modDate 2003-07-01T17:49:36Z com.apple.print.ticket.stateFlag 1 com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PaperInfoTicket com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PageFormatTicket 8BIMéxHH/ÿîÿî8Ag{àHHØ(dÿh 8BIMíHH8BIM&?€8BIM 8BIM8BIMó 8BIM 8BIM' 8BIMõH/fflff/ff¡™š2Z5-8BIMøpÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿè8BIM@@8BIM8BIM?ð@grind@ðnullboundsObjcRct1Top longLeftlongBtomlongðRghtlong@slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenum ESliceOrigin autoGeneratedTypeenum ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlongðRghtlong@urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT horzAlignenumESliceHorzAligndefault vertAlignenumESliceVertAligndefault bgColorTypeenumESliceBGColorTypeNone topOutsetlong leftOutsetlong bottomOutsetlong rightOutsetlong8BIM( ?ð8BIM8BIM æ xàáÊÿØÿàJFIFHHÿí Adobe_CMÿîAdobed€ÿÛ„            ÿÀx "ÿÝ ÿÄ?   3!1AQa"q2‘¡±B#$RÁb34r‚ÑC%’Sðáñcs5¢²ƒ&D“TdE£t6ÒUâeò³„ÃÓuãóF'”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö7GWgw‡—§·Ç×ç÷5!1AQaq"2‘¡±B#ÁRÑð3$bár‚’CScs4ñ%¢²ƒ&5ÂÒD“T£dEU6teâò³„ÃÓuãóF”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö'7GWgw‡—§·ÇÿÚ ?ãú‡ÛpÜ\ʶ–01¥Œsæ]éYYµ¶~•Õï»ü-Ÿ£³ù´J2è8·St²Âe­’Öî‰Ùè·ô_NÏSÔÿÏÑÖ³mÎʲ¦²×}¢ª5­£Ú*dþ‘¸ŒoôvÙ¿ô›jôÿ£ôÜlÇå—TÑnÛÇVÖE›ÀÝ]•ÖXç±Ôï{ö9úE ®º#®KÓú½¸ï¢ÖͦKÚÀÒֆĶ¿s67{_ó^¯é=5½…ÖóþÏN-µXÒfíî$éG¨Ç;ÔÆö³Öþ¿Ó\.+LuN`ºKK,s‹Fн®¬}?Þßþ þz龯R,ËeÞ‘É` 6 <ýTû×¶·XÇ;ÒjŒ×}Ó_VÃË«.‘eoc‰sXàí¤þk‹9UÂmB€Ö0U·M€9¤ô}¶Ùþz²¬ÄØI]$“HE ¤›pH9§ºJ]$ÉÒR’I$”¤’I%)$’IJB61öº¦Ø¬cÒ¾‡ùОëE5—ísÈáÕÄþëf=Ê51i±ôzO°‚æ»ivŸG{˜^Þß¾ì:¿ÿÐóúZÚÉ$9‚Záƒ~¾œk~‚ÑéRëïÆ°=­µô´>¢Ãhk½6c×G«±×·ßWè*ô÷þýuþ•SË/²Æ]XvÊÀh$4@€Ý¿Õöþ‰ˆÝ/¨dâg}»´TYd}·Ñkö ›­ý×ÿ¤ú~·é}Á?Ët WN¾ž*Ä×l©ù7_HªÇ86¿D¶ªí©ÿ§~N=/{êÿÃ,þqjtü,æÖ܆Óv%äƒm­.¥­×zžãì}ÍÛ¾Ç~‡ü-‹üGgç·íì©Ï¶Ö»v×¾æïy·Óv;«ý-ŸN¿ð•ÿ„Z—f[”Í­?gŹæÀÀíÖ9¥¾Ÿ¨÷ûlÊ·Û·s˜ÏЦHwM‡Ñ:gÖ¾—F”û`l½Ïi#é ½öYýV¹m7©2ÊÚöÂyƒÆ‹‰é‚+¹ì:9Û€a{#ôvko»þ/þ¸·q¨«¸`5Ô5‡;qMq÷û•œb@-«ü%¦V뜷“¢_i'ÍQe#ÚKì të¦îgOÁ<È(Yn‡>'ˆå8ÈkNÒï¹f;.½ÞëF’oo$34Üãµ§÷ŽÐcÍ6í.×Û+˜ùJq–Ó¢ÆûCÁÔ{Gü’v呯àHB’ ¶Ü†•1cJů0>v8Þãø«5åSxCl‚ º`‚Seât*NÌkA'FŽIðM€ßðQÅ.¤–cú¾0ÃŽÎî@§ûE»CšíÍ<½(ç„¶QÃ0,ŠtBÍwYkF­üaAßXqZ5c·xi Q Vp—ÿÑä˽µº \÷Gh푺¶µ»¶YWùˆ8ø¶Y‘”ÚÜêým¤I qÜíý8wöÕŒ\÷X+%‘ERö8Á±ÃÞÏMÚµ•ûn«ôŠ}:ú×~Òæq~ÏPci{YmÿI»ë±¾ÿKèXõ_„‹í_ŠózºÝ¤Ž¡eƒh¢«±(ɨ8¹ÛØë2):øOÑû¿ÑúŸáC…Ð11\=j±í¥íÚ}ºµàÍncÞïìûþ›?AÍ?7ŘÇw;wý«#+¶?_ûOgÐ]-ùpßyls¬h‘à'M|˜¤´ÝŽÃKimr}6ïwæîüä¬É¯gÚ5šÁÚI þìß–_Úë—c‘¸™EŸºÕ•›Ÿ•‘”æb¶ÑU~ÜHåÝ¿²+@€]Ë:›j§Ó®ï£Ïæ·¿ç!uŽ¡”Ìv œâ_-|#÷vúgmj–5y/§sÚö¹:0ã¯ý¨™Öæ´1Õ†êHÄ}=Z90 7¯5Úž…`¥®x— ‘& ß2s­¶âû¹Ó§PÓl}n¾™e@¶¦5Ψ‚ sAïh›\?è#œBçó[ƒH vḑîúU²Ý»÷&“³Ù"'³.—“së.´¹âa‘$ÏþE\»!õ Ù°]Þ˜iöIJË7àJ·§‘´em âèñú-o½Öfb0XH‹í±í"D5”W³ÛîsþЇ½Œ!Õ kÑ>.U¬ÝSöˆ‚{ÿm³û»±­ÏvAu…ÅŒ$8 c÷Y¯·è¨2¡üåăî, >0ë{"Qs@e¶qv×9‡pú.õ=žÖ»úÊ3—{¦HéÔ:uYxlµ²]¦¤q÷¤ÿµ¾—µ‘»iO?;G*mÈpqq°×ÙÄm$ô}í«Ú£fEÁÁÒ×£\û5þËTg45ñdâÚl«=¶šê¯Ô°í£¼;w©·÷›±iS]ÿgl1Í.ÕXé ´“üßµU9Ù…Çq¬ ’í5;w}ÎPwP´<—6¹N×Dq£“XcuK("‰l®sgÚ™Ž~*”ÜúÜ×XÆ—£äºÚNÑù¿ÛRûoª „Àló÷!Ùq#žHÛýÊaÍÌdG»ÿÒã)ŪÇ5ÏÐЯ·W „[´{¾¶{UË~®u‡ä¾Ú˜×0Ö]›ÜÒ,ÚÆ_±þ×7è9PÎf`Ëv=ôšÃªs)Çqú {ÛfÐGÓcGgé=EÐaY‰~3m±´dSKËì,cšïm¾ú÷³ôn¯ôOûEj)«Çð@0zˆxÜË1CÉk›c¶hywèÿ=Ñÿц;¬©×z¸ö7J&@‡ÛkþFÏÑ«ywåaáÒ=&Öë.ªæ»ÔfÛïuNÎÿƒõ£Õ1Mد cëÌ·Ñk\â]Yû7{›ÿ[±Vž<ƒå5û£Ô?ç(Šºêéãu+±(mUÛéÖÐ0ð$@þ׿û–¦>gWc¬«­m-_K±É±“%›·^æ?þ ßArÎ}ž§£]°¸[»|µ­g¸?Ûî]·Õ>“™‰Šÿ]ÎÝn×€ 63O¤×;óÓp †^¿THâ×·DD’uºkÝÐúÓôsés’]IÞcÛíöWíY¶feâÚì|ºÚ.yÝYªCKÓô·ûÞÖþsìØº\~§mßXó:7¦Ìùüæ³ùÅ£‹˜Ç=¡õÓíy32<¿7ܪJ:Þ@7àÛ{m{Yh{C\˜IkIi›«›û®þBkÈ»©Yì m8õñ'Õ²×îݧÓn+Péʯu¡ÂªXùtK€i-sKGîþkáË󳋜æ>ªw´],·—{œ½Þõ ¢ců—ÚªêÛ4=‚}•¸qúF‚@þCùßA ïccÜ|šO;v–Öíênx® Ù‰!Ñuo¦ç{ÍP/e›¦±©Ü$ý'Fßäÿ„L³à¦N²²Â}§X ‘Çò· ŠM“¿Ó:C€%ÄyiÿªÐŸ’ 481’&l‚dû½–{}¿ñŠè/{ @º!ä§¶=ÌMâ7ý«x›¢³ú2Io}®oõ}ÁÞ*µ·2¿o£uŽ& k`ÿCS¼hà.ÖYÛýšÛ}ßÖU½V6ÖպƸkC}¿ÞïÍýÔñ>µ~Z«‹Á=Í–î ²?Â<¶þò°zlv£Ý¶¢É#èítËÝ”ÆYµ–¹ß@âGvïs¿sk=E´ÒÊ÷—~ŠÆúåÅÍÙ·µÕ—=Íú~äèÈô‰$é´–ñë£ÿÓáè¹ã¥o&êÀ °ÎhöÔ=]ÞÖ~muÿÂ!;Ó»‹n{šÆ±¸àÆæˆ/w»ÜݞϠ›9˜Neí?£qk]$í-2æQÛÿ×zzýÝ0ÒÒ7›º@Ð gþ­©’Ò´½S­;c6ú1Ù“ShmVö~ŽÆ:±ú&z…ö3ôŸÈQËȲÃU×,6—XI’ÍÛêêoæéEž£‘]ÖýÎÔ÷4² 0~”Ï»vßÌSêuf¿ì¦R\K\ k~Ñm¿Ko¿bd%+â­N¾¯Mß*Ïsø7°ókÌꕵ¸ÖÜËÜXXç.{½XnƱîm{ãϬc«bÐìW¿¥côú¦ª¾³Å­«{®ô]îÚÿÐ×W§ú?O'Ô³éìÃé˜øùýGï¬w9Õ=÷8<µÌµöS깸õäd~f?þb?Ö.§WXÄ騏8taÓ™cEu<¸9¶†ûK˜ÊŸíý.çÙ¿ÔõìÿIb|aé£U§ýòGƒÙ`õæaýdËêÝJ·1Ùÿd±”4½¢ÜF7*ûkÞ[ú¿£üßóÞÿðŸá/VëýJλպÇ™”Ó^ëkn󱌆º»ÙmlnýË/­fbõN£nN-97Õ4W‹[ƒkõ6Š-së©ìªºî£Ùú/{ÿÑûÕ(Ì"}[Ea¬;`´Ôç°3ùÏô¶„ÿœ§¦úÅŸÑú†[Uµœ»_Ú¦·ÖK‡¦ûþ•m¯é¶Ç{VcrïÅ£n%ív@{àí NÖZݾÝÍ÷ÿ£Vz˺9èÅÝ»ÙÕCjoé+³i>Ñ”ÿÓoÇ÷ûŸÿž•>´ü*mé÷º¼m’ïT8»HkÞÖdÖÖú[ÞßÏL– jÁß·ý%^»ºÃ*Û:<äeÙs] —<o—ÑÝ»Ùé¨ôü§äe¿Êh°¸·t—8ûÖ»óµ¾ÍÿÍþúçÙÖnÈhŨµÕWUlõ¿xh:9®ô¾–ÿKcU|›ìª–dÖùu.c‹ž l8úsûíÚ¢/D‰Ä|ÄÙ2£­Žš~×Ð-éß£Þ 2lh$p×Û½µzžŸïz›T[‚ÐC2q} àÁ!ÜG‹}-ÞÖ®c¥ÕN]9Ý·ªcÜ\v4Š}B!¬umŽÞ÷ÿÜ‹>Ÿø  zÕŒËÈ5‡‡uU¹6’HcC£ÜòíߦÛþ 4ò‘£.òž–ÚœÛHh{~‰ o»ów¶¿}ŸCÙïw¨çVZ=îrC]¸»›#è UÕ-¥áιײà稬þˆ8‚ßÐý§"–Wî²Ú¿YÙÿÔÊêYŽéÃ3;1¸–8âÓK~Ñc‡vïõú=¿žû7ÿ/Ôýaä¿O_$J›Ó|’K µZ@?Guo{ÿIüüö‡^M¶nõé·kø¥ûCšÖ˜hýõ*ß¾“ÖU=Jæcµ™e–dÚÃa0óîõqÞê}ígî:ßOùÅe½Sª7ºÆ-wÓŽévIíß૮ƿÔôö7õç?Ñ%.Cn/úãþõm…Ó¤¾³¾‹ß[>“…Îq~‹ÞZíßø¬ÌsI±ÔRöµûÈýÆ‘w£±û)õçý£oü'éfWXÉõ{l Ç 7éŸÒ7Ó{ç]¼ìs6Ub¥•ןv%AÍm•¼l£|5Ĺ̦«6–ÙuTµž£ég󗾿[ù”£Ée„¬LwáßþåÙÿÔàql?bÊ«s[µîp™?Gù·jÝÍÙïÞ‚ue»·Û»A;`vßí¡6ÐÜM¤îÝc‹¤êto¹ƒ°ö—OÀ kñUÓ~ã‘”ñú²²`iÚç}%sìxâ‚× œçEkÉ‘í啟Ñ1Va5µ5‡Ó°9û --ô¿½îzê¬ú©~~/èmvýîõ)Éy»ež“ÓúJ1(Ü@â…^•¤¿¼¨Ù:wlWкM]w£c³nEg%ÙU›æûCKm4?ÓkôèÞô¿ÆMÅèÔtëzedvI¼[µÆÀ킟CùçZßÎóhÙQ(fv.µø¶½ÍêVÇšÖ¾‡qS}Þï̹ëÕL¾Ž)ý•Eý[Öõ=zÙV×T³Òsýfÿ[{ÿ58@[%ú.¹úµÓ_õÆÞ‹¶æàŽžÌ–Ó]ŽÞ,uŒ­öúÖ—?fÝߣú[z-ì+mûžËEÄXØk ¾ßmNkÐjú¯Ô›ÔÛFE‚¯CÔý¦ ØÀàvœzns÷7éÿ=éÿÁªÿYºvMÆ¥ÝK0u,wØæU_ªçÍïs›˜v5Înï ˆ:î‚4Ö.gXÄúÇÑYU·6‹iÉ 4ÜÀâý¾¦Çîwè­kÁ¿þ³½; ½$u,™Sß]v²êšÈ6=Í·nçWc\Ï¡·ùlZÙ'ë>^1®ËfVÕ×`Ç}ÒÐѲʽMÕ5¿¢–mý"çúŸJÈé´:ìªXÊC›[O÷55ͨîÿ ˆ7ÕDÐÒ:°ï«§µúdÐÛÛí,¯hþOøES©QètÇ[[M{Kv’wIÒumâ N3¶;mÕ ö¸ý+÷5ÏÜßsmgó‹öÕ›“F#-ȱ•¹ò›÷½û]ÿÔ†‹ äý£=…®6¹„ÛiŸ¦Ó Ý»÷¬: ‹²mi.¹®®À?Ûê-î¸Úi¢×ÎÏSH?š^~–ßßX/» ±¨º—þs'ÆïˆKÍ@:¿´=:Ëés[mmÜ+Ÿqh֚ϿômüúÕ,œá~[ÀÊÁ^ð7ƒûÎiÞönrÍ=ïuà‰¸´kÏï~wým=^­nu~‹cƒ€Ý Èkê¾ï¡aFW³·’S¢»f¸¯xsKeÎàV×·vßåþ•Ÿ¤@ÆÉÎÁ¼Væ ±„ã¿~ñ,×sÚøsšÏç6)ÕwPÉǪ­^Áéï{Ì7aý3ÏÓöÔ~V¿¦ç ‚×µÞà׃Óú76íg¨Ï ôqÏ‹˜¼ µs}[òM{®vI.$¹¡®t†¾Îvo~Ö{PÝho§` ²‘ Hp‡9föû\¦:nkk;ªt°‘½·mgµ¿D#ÕÓ²½/^ŒrëÛ¥•–—1Àû}¿àÿá>’}ÿÕófa9ÌÜéá¢d™ÐGò”Û¾§$m=È‘ùÚþrv›† ¤ëÎÒ´:~.O¨Üj¬‡jç¹°ç{\ö~ûvîPÙ;±Y.ŸÕ¬³e†°ßÒ.xPšfçnÚæþêì1òr#y‰–´ÚsµRÂmomDR*s8 ¸~hïìWý6úaÅÁ­G &?v=ÿš¥ˆÌ4¥uÙÎÑu»˜íÀo!ºxéµìS¯?$Ciˆ$F°y–ÇîÿÐbc€‘;.äÇù¿¹ýTÅpÜeºK@ÿiÛ‘¡Ù6{¤¿«ÛUO{¬À q‰’ÙÝ»ÞïßYÕý`v[×¼Tú7)v×KZ7=ümî&êÌ{zffÒÓsi±õÉZ=M?wèí\GRÍ¡¶2÷´±ÖÒÂC {Y}Nöÿ$3þhP\%Ýëp~¸ Û_ml¦óSpXáúgHs/­õ7÷-nßWôt§ê''1…¥îcdjÐ&|6û°¹.—õSªfŠ3ª¾¬ZÞííÄXÁ>Ý›Yüã¿7ßÿ»Á‰ÚÚÑø ­ÞéDÙi$¼¶E9NªÊì’ ‹ZÐCœ{qú^Ý¿Oè~båïÀêu;ô”ZÉ£i$Žþæ…é¶PÓdº9Oi’¡öghl»PÑâ>?I |ÖŒ>£¶E/Û®i‰#émwÒýÕe 0pd~w»÷—¤; ®c‰"ÀIØæHÖv¿è»j¥•…Ž`ٌ܂FÊÝka¬hÿ ¹·;üßü @wAáÍî©Ðk#÷´×NÛOýù˜ì°´°D¿~§OÞþJÐÈÀ¦ûxª’ÜFÒâ}Û}79ÔÿÛñ©±0­¡ûCkÆ æ–άsèÝ»üÅÕE`ÐèÔ·!Ö}¡åäÙ£^l€=’æ7Ýní‹g¢uÝŽÃcY¼nõî{öÀú4³c›ïÙüÖÆ9g[õ)®tVl°Ë‹Ù6ÆÝ®£éïÿGþ¯Eÿ›=E•î¦Ö‡½¦“5™†¿c·;ùßoõ£Ž¾Q²@á=üÝ1•}›A!ãMÀÈÑÛck‹=LRô{+s¾™·G¾ÝÎuOþªÂ«¡õLw‡0ø†’Oï~êéë¥Æ‘ë²’ÓÖ»|Ïõw9¾æþg½Õäi"-ôãÒ›MàÖÚ1+p[U`ݸ{61ö;ôu¿ù͵³éÿ!Rê”cÖmkkv¬vÐÇs±ÞÖ¶9Ãù¶ÆzKÏ’QΫMúb4£Oiö¬–½¯§¢ó£m¹®c\ßSný¿ØW±öÅ6ǹÁðÃ#Ùs§¦íŸÍWþ yêIcãñFž?WÒª6û‹L×À‰ü×ïÚç{¿•ý…5¾¤: s\HŸq—ûYé³óëübót”ïíCÿÙ8BIM!SAdobe PhotoshopAdobe Photoshop CS8BIMÿáëhttp://ns.adobe.com/xap/1.0/ 1/50 28/10 0220 2006-07-06T21:40:33+02:00 2006-07-06T21:40:33+02:00 181/32 95/32 0/3 95/32 5 False 0 3 False False 5800/1000 4294967295 320 240 2 Canon Canon DIGITAL IXUS 50 1 72/1 72/1 2 1 2006-07-18T16:29:13+02:00 2006-07-18T16:29:13+02:00 2006-07-18T16:29:13+02:00 Adobe Photoshop CS Macintosh adobe:docid:photoshop:c7ef042c-180c-11db-a440-b54e0b41fa8f image/jpeg ÿâ(ICC_PROFILEappl scnrRGB XYZ ÓacspAPPLapplöÖÓ-appl rXYZgXYZbXYZ0wtptDchadX,rTRC„gTRC„bTRC„desc”=cprtÔAdscmÔþXYZ tK>ËXYZ Zs¬¦&XYZ (W¸3XYZ óRÏsf32 BÞÿÿó&’ý‘ÿÿû¢ÿÿý£ÜÀlcurv3descCamera RGB ProfileCamera RGB Profilemluc enUS$žesES,LdaDK4ÚdeDE,˜fiFI(ÄfrFU<ÂitIT,rnlNL$noNO xptBR(JsvSE*ìjaJPkoKR2zhTW2zhCNÄKameran RGB-profiiliRGB-profil för Kamera0«0á0é RGB 0×0í0Õ0¡0¤0ëexOMvøj_ RGB ‚r_icÏðPerfil RGB para CámaraRGB-kameraprofilRGB-Profil für Kamerasvøg: RGB cÏðe‡NöRGB-beskrivelse til KameraRGB-profiel CameraÎtºT·| RGB Õ¸\Ó Ç|Perfil RGB de CâmeraProfilo RGB FotocameraCamera RGB ProfileProfil RVB de l appareil-phototextCopyright 2003 Apple Computer Inc., all rights reserved.ÿîAdobedÿÛ„         ÿÀð@ÿÝ(ÿÄ¢  s!1AQa"q2‘¡±B#ÁRÑá3bð$r‚ñ%C4S’¢²csÂ5D'“£³6TdtÃÒâ&ƒ „”EF¤´VÓU(òãóÄÔäôeu…•¥µÅÕåõfv†–¦¶ÆÖæö7GWgw‡—§·Ç×ç÷8HXhxˆ˜¨¸ÈØèø)9IYiy‰™©¹ÉÙéù*:JZjzŠšªºÊÚêúm!1AQa"q‘2¡±ðÁÑá#BRbrñ3$4C‚’S%¢c²ÂsÒ5âDƒT“ &6E'dtU7ò£³Ã()Óã󄔤´ÄÔäôeu…•¥µÅÕåõFVfv†–¦¶ÆÖæöGWgw‡—§·Ç×ç÷8HXhxˆ˜¨¸ÈØèø9IYiy‰™©¹ÉÙéù*:JZjzŠšªºÊÚêúÿÚ ?äÖúÜ:~ŒëkMq2’ý”™‘f ¤ð¦ôõ)˜ Yb$@ ²ðÙ2Ao*„Z¨j±~2ÞÊÐgº&Áà–é’×÷ tÅ#ØH¨¤™¸ŠÍ~Œ†èîÙ;󆢷2>£/Ö%·`²\'ÅÒƒŠŠ/ïÓþ²°l³•£¡ºÒöEž;…åƒK¡d£³È‡ìà#{O· ÁæxmãqÜÍrÞœze B©‘jr2ðcðƒöÿkùpqŸó› û“o#yîm2u]Fi ˆä²ÊìÎÊÿwT,kÏâøW– YçÉíºsžm¯<ÅGvé¤$gt ÄïHbÍ˦'%È_Ò‘'°‡AÁA¯!ðÓ™³¶ °¡Ø«±Wb®Å]Š»v*ìUØ«±Wb®Å]Š»v*ìUØ«±Wb®Å]Š»v*ìUØ«±Wb®ÅZfURÌh TŸlÒ@´2ÜKpí¿»ä93 Uí!Þ¹P‘—&f"<ßÿÐy‹ÈSØ[^iZmòêVv€Ou41,†&ôƒqiS—À™tÍêqø¾Îc.ù2”zNÁçækÉ9$RÂsð9Ü1¨å¿M«¾L€E&6÷3ZÜDŽU¹u¥9‚I }ã#@‹P†×"–Ñ-¸¬AAY]IäᘞNöÿÊør³ŽÍ¤”|:€‘¢{€¯UBL‹ÄQ‡íoVcö°JÓÄ4ÃMk”c8#ÔFफ़Ž[Ä)þ^¹\ª”È ¿¸†3úr$ª®YÔ 0åJ浕Æ;Û0Y„ºeÆ¥Vð”·~>±–@œd y”â8ñbIE§Úã‚Y‚ {W“üÉ¢%œ6²ÞŸ­€±pÃzl7B .-™x²²d 2©¯·Že5»v*ìUØ«±Wb®Å]Š»v*ìUØ«±Wb®Å]Š»v*ìUØ«±Wb®Å]Š»v*ìUت]¬kv:Z» é²’J€@U ÔæÊç1mÆe¸G+Â8*²€Ãà›á“0£ÍÿÑãö¿˜:…œ¶Z4ÖÚå#ŽæÕÿ}›’ðõ dê~Îcß6#)äéþ£5ò~ާ"&†8Úq*†…y8ñ™¿{ñ}œ= v71ú‹Ef KŸ…wêzÐxäiVW{i½ã[ÜÞÃ+¼qÍÛÈ'GºŽ*ëûa¸ñÿ[*îdB¸#„kë½ÕV‚›úåcc²“ùeå×Õn„ÀR;Ô/ ¡ˆ„òïöÓâÿ‰dâ86ǽ¢Z[´1´w&JOÅ‚1 Ý+Ƽ”7.æL#;ÒINý7cð­Ÿ×, ±µE$¨'¿c¶‚Þ;v*ìUØ«±Wb®Å]Š»v*ìUØ«±Wb®Å]Š»v*ìUØ«±Wb®Å]Џâ®ÅPwšMì±Étž¡ˆƒž€ŠïOò¹S ` ²Ù¦"‚¯Ômë ‹ñAØJ}ÔÄÀ †›ÿÒóûM‹XÏ¢»ÑÛpǰv®bGv²£=¬¢Þ;ˆ‰;ÕØ Aø©]ú”d.Š„L¶V?_±@G£1<ܨM{)9s•K½”YÆ™å­j[û[KKq|Ö|#xSƒú’MÈ¡â¥Yùm×ì~×\ HŸygÂRKˆÄ¨$EâM³ª &´4l)ƒ£Dµ"-brd@ˆC}°=Mú-<2ÙÓ'Ò=;Ë…aFvýÔ1¨5<üZ¡‹xq์I&q/Pò¾‰¨_Ë¡€Y_†ô­œ±‰8ÇW‘eߟ9+ð…ãö°ÆÉkmkÑÞâÙù\X:UU‰$¾£Ô ³þO/Ú̸O„Ùû¥"Óõ$ņe§aWb®Å]Šº b«LŠ0Ò-o¬´4í-»ÕÚ§lim¡:×øãKkÄ€Šà)oÁjØ5Å]«°«±Wb®Å]Š»v*ìUØ«±Wb®Å]Š»J5†ÕeGµÓdárWy ‚‹È÷'qðÕ²‰™]'ˆ%M+MÔ-Á{ûö¼•‚€ˆÑxøÿ²PÆG3msÈ!IžZÔÿÿÓóÅ—.mep¾ „D}š¯Ï1¤:†5ŠÞX5>±€(ÇeÀs”nÆÐóƒP²°–Vò<Ð Œ…&ãU2 ÙGƒ—ÙËñÏŠ$õlŒ™æ¤—òźm¤±XÛ·ªóD¿½+pÁ9ª“É$â”n?.)ñæýLˆ'Ù ¼³õõeÓm®þ³n¥$ç*”bZŠ‘Ñ‡Ù9l@ˆâ¤pîœA¦Ft×Ô&x©ê,1 +Ï‘§3éT±á_´x¦TJðìŒ['´–9 •gI Eb²ŽB §/ˆÓý–HHᣳ)°ó$ÖäZ]38C@ÉȲŠüT¢²þÎQÁæÌLõ{ï¯nuhæÅͪ:Ó”r DUé¹1™¹LËÿ™zq"o§ãém‘Ï ®lZ£©†Øimc]½ëòÆŠ,(I~AÛd¥úB½òTlj³xiúñM­kª×qòÅmMg¯£-Qn’ç½zdJmzOÆ@­¾Õ`#¹6®'bvZ{äY*†cØ Nõê+­5êŽû{T`µ¦Ì€{ãÄšp”}‰/ ðÊ{ä„ÑMÔaâvWaWb®Å]Š»v*ìUØ«Ž*ê½ñWSzýØ«Mʃˆ­|0‡ÿÔáBñ’Îq^BHÉR´ n+˜|A¤À…h¯$0E:¿8¥SP ÛfÈJ"é•(Þ[,riòÂß»»,¡É]©OJ•ßc–Àó£>uå6Õ!Ô´wÑ5 N©/©û´‰É·R„K3q¯©Æ2ìßêñý¼Æ“ÜÛ°sùm¤]YùÏR·;+O˜C©=ÂC!–r#d†Fâò—n-’•%É0‰÷$÷Ry{ô‹¯q’Ý-«‰8Mé´¬"iˆŽ?N4¯~6‹ùr¡`Püǘ\Sß)ù+Íz£K<-‘Û³D—S,KéÜÝÈ•*Y=~Ï%ÿc“ WrD ³Ònü½s1× ‰­¯é‹:#Ëe@h¿¼n?¼ãÉ‘yqÊå ÀáæÈtÌ Oµ–—¾œá Y û@P…ßn<¾ÖQœnŽÍfIàüämÁ‘Œ·%¸IN¨l)ñ|y•ó`HfZ>¿=Õ€¹¸•Bû%Û}Îfc‹%„ü“½Z|&¤ôË©…©™‰;ì{“Š«¼ºR& Ö§§ß‚’‰¨£sZ±È’”R(§Æh(;åR› §n›þ'#ÄÌEF[µˆ¨¨_æzýøAµ;-ƒ‚’ïQàpž&ŸP>¡¡è:äxW‰jê$³.쯾<+mýtÒ¡wm¶<)*ÇxHÞ¿FD†@ª­öôûÎDŘ!].kôwȔҨ¸§}°#Qgñ¶& ‚AãˆÈÇ…xjå±Ëli¼¹Å]Š»v*ìUØ«±Wb®Å_ÿÕä:„‹ŒP¼AlлÄÁOïKšÔü@/û,ÕÆí–ܘîŸ$‘XÆK2 ØöÛùs*@ÚÑw×i5½—îe…ßÕ¸øƒ²¼…xþ߷Œ9–\[ ~^ùÆßÉó\ß1vÕ=0Ö©QH²Fëñ£NO8>Ë‹ö²£u³t&#Í"¸ó£¨kú†µÍ½iâp‚¥qvH‚¾Ûdà‚£%ÔŽ~'U?È 2D­·õÄP÷'ß¾B•|w H©#}©JSHl\È ´½½ëáŽÉUK¥âzPTà,‚øîTìÔt뀲 «{é±Þ¾"E¶LWÀ­Hë½2²%nkB6 Yp« À¥Fݲ6ÇZ;Š@Ȇ¹Aê€79pÕPjáhN‡jãù›^²IŠše~)¶Q©}m‡|²9{? ±|@Þ„äÆrË©Fz¼FHgïS…Yo-˜WÔØí–Œ±-g ÅÄ‚‰±è.1ÞŽ¼Iî:Œ•±§b¯ÿÖãÜ^Μ…•j3TÔS†ã5›16RÛ‹ ‘šIKÍÈj6`H`H¯†_Ž^LM„4²ªÆ€ìå–&¦§ç–»¨`xU¥:F~Ødž¾ í”ÊI0¦õ BÑÆpŸN᢭\–ä9©?h/|ž8’we³ °ÖukM=­ÞR¶rüR[±â­JБ¶êNÍ”dÄd<‘Zz›µ7Ï,hˆá#æMk×á®ûWö¸ÿ­‘Œk`‹Gi­oׯd¦i«)œ.Æ ­8š Óö›<º ½[Êv÷&éożVñ4*­?©!fQ^[Q)OÙ͆Q'ˆrbK+¶²hÙž5ô¹…äCÄm·lʸ†Ø­Üý©*vªüp¦•¤º‚Ù(”w&œG@}ò³"SK ÔýS",axRµ®åºu×+K*UG™›‘Zu$÷ö#* £Ua’8yzˆìë÷d8í˜/’[IJÜš~¼…Ëb–I®iñHcV÷â9 >]1ã³VÅbëc‡Ú­z¿êÉð[%/­\8?h×ö9* ƒ“TµFnr¤r!£U·©ñÈœÑZxJ.¡Á,§qCS w"š ,*y7ÂiFùá°Rå¸5ß~”RäPÕ¦ä‰ sd´k»„ä=AÜ}Ùˆuê¶l1Y•¹îÔË­˜DE:¥)P|r¹3 Ñ^×jÐ×l‰‹0‹ŽìñeD³ˆ®;ô¥:e2)”{Ç©5Øâ"1Qmâ2ÈÜPt÷Á:ˆ¶C¥GͦjÆ‹Å?bR®`Ï,ú7CMCOæ[›IÔýì}Ú½qÅš]í³ÓÆ‘öºÚÝÆÎ¨ÈOBO†l0ä2èáN±õµ5úGLʤ¡¤ÔÍkÊ´äøX’…›UŒ†íC’cjÌ—°IÍ%pã`jNßNHA‰’„ÞkÔY\És!Ä1®Ã £³7ÿ׿W—ZLw†ÕùÃhd¤Œ '¹Zü9«–9m¹65Ñ/ŸI†n!fžÞ¯G -jµ¿²q Ûéi0 ^ÓÞMFݽF):ÔÓáþïìé¿×2ñHQÊHN%¹ˆÛDÌXJ…’C]ÎÔé¶S÷°”‰(ýWL†ÛM¹”Üho¢†R”*ÊcûH~Ó_òåœ;Ðܤ2»ç “4®"Œ6Νf­Aëû9b•[w¥k-i[³rI}6JĪPŽG˜#v^' …™U/½œèþFò­ý¥å£xH¢çv^l¯ˆø~Òÿ6e q”E1êÌ´=MÒ^fƒ›´¡j®y(ãáÓ<"Gñ-Úq먩ã@2Ä6Ò<‘0r(­^žøÌ©sÚÕå£3Or7ï㑞AL£†ÓïÑ%æÍÊEæÅß®ÄíCû\E3%˜§^ëÃÖæÕô U ¯v-ú²GšmºÄòBþ’‰à74p®¬LË×¼ß#)ŽÎåY‹Äu`|<)ß+”äÅ"†æäÈŒÒ0¸õ¡ï×" :²¶aixÊ´qÂN ªlh>Œ¾9Ù%:ï™n -´,ÑÊIjMNûq#o£(œ¯ÜÈ$^¤„JLªdgßrkMºå<6É8²ó-È`ÁŒZö(ðÄJQ<Ö™M¼³4ÏØ}À?´3;ˆ!†ê‹41“ÉJ°k_Àá$–A«›¨^ÖBÎ…~ÉaZx‘ö©þVcæúwfQi¨A S) TÔûf0ö`§‘ê0ÍĆâäÀí°ùåØòíGd„ºïͤïn†Š†ªÛtë¿Ñ˜ó”¯fè„ÃDÖeºä´ä@«ISãÐ q“tÈ„æ;²HZзL´†a07Ñ$>˜=G\ D“mÇd:ê(½{åœ 8Z΢WN”…Y¨ Ol¯.ÑenÂ…â¬Ü]›‡U Ì^ñ4\¨ èÎ9Æz5Ã\ªxº†èfÚŠub·ñ˜¦YyÙ•`"ì<3#L ¢ãgrDMu€²R|ØÄá Ü-H©›×¥+–ÛQCÉ7ÂHêµãï†Øúû1<Â2tÀ”¿V¼­Â1£?Ù¥Iü29;”?ÿÐâàÜQ'oŠzôPA1ŸMö܃UÌ)ã$Øo‘ïê˜èÏ5ÔðZÍÇÕm‡ÂÕ¯ש2Q’cŠÀJ¼ÀóÅhn]£iífÍR8­|xm™˜À'ȸ²Æz² }%ï¼°ï 'ƒÖ„TI* §Šå Á¶F¾ÃGŸSü½¾Õêºj¬Ò‚>ÕÄó(§O؈ÉFÌÁXåô ì÷]MÓ%òæ›ÆÙk$Hâ»z7cþUrÚ°Ã!ܦiZ`,E:©´(vé½r¿ …ºÑ-¬JÛó !p q Ùj;Pdã Ü"ûÕî¯Û€djíü¦™+µT“YˆGX¡æäub(Ë!Âošn–E=Â2éÍ[‰FW²X½„[´&I/ê¥zŽäŸ f4÷l&’ÆÕ¦V–T+êKÆ•“N¢´§<*d€Ÿ_yYUÉ+ÉHÃqÝÜ€cQiê_ºÛÒYU‰`V µ)J-rÈBÑ)<ÿV‚õ¯ Q(­èÒ‚½ú™ b³M•…ÜnͰEb͸©¨§¶ÕÄŠ”ÈÝM)Šyx31ø·©§*à¾i¤ ãD܈+M‡lˆÃ²j†Úhý%Nlªâ»51ƒ T'Òëž”jZI’ P‚ªç  ‘)ÝŽ—um Á6§#¹?N< 3%6µµ‘©Îp@ïÄå2È;™À¢?GúŒ ‘ŠžáiO¿#â2”­¿ª[Ä+)Ã|¾9šçäv0·þª!¨ @§ÌÒ¹gµ:m;OQOT5¥â@=pŒžlLIJˆ4­phS‰G_„o¿Ï.3Ü& 4ZcÛ‰ 8ÖŠÕV43¶ùe£º€;ŸÿÑæ–7V¶Ét—| 1ÎHbU‡ ”8Ü–1"­É$R&Æk3«_Áîbš#j‚9€:Çýl†\\qø¬%E#üÈÓDˆ·öò™"—0PuBzb½ÖÁ¥fî“e—êö¿ZÐ H¶-ÏÖ_N2Å£ýŽ?×xÄý(ï-Ã$^Aóݘú0Hd|BÉËjôÙs H.<¹¬yP¶¹ò–0”HBN¥ 2\H˜¢ž=ôHÜ9÷éZ|ÏA€¬W£J%n*iʧØxÓ dPPŽ÷2?¨ÐJšø äÞŠ+ÚhÄž”c‘"¥@Þ¾Ø-(]býì-…ÌÊ(DQòÝ»Wˆí•Ï ‡4Ó>g¼šPb; H¨#˜Ò©H(ÝQŽiÂÏñFR€ºžØbxy¥6ýoô…•„“:(Q6?Nd²-4öˆj£‘aÆ•¨_pC’Ä5{¤¸>„ŒBÖ½Ié¹ðð]–ôí1ÔºJçÓ,¥ƒZq®Þ$Œ³ÃµºM!‚+kˆ¦~ËýÁYYÉö^•[t×MÜwÛ uŒÆkTSZ“à8åg,:Cgky¨™Ú+«5ŽÕ‡÷Ëj±Tõ ¹²¥i¥¸uTkYÕTÊÀí·cáï•xÞe´ è©­yEŽ H‚-9~ò¼kãRND˜õ*ÔšŽ¡,>˜©wxÁÁ1…⬠O—C×*àÝjÔ-¼¿¬ÉeV$®À©aØüÇĸÊ1ÙG$úÓËWJÐÜ1õ7)GÂw§ÃòÈT*›2˜É¦Üù1u >#»T ¾Y8çŠ| :.OT«Î ŠÓ–Ç`á\N¦)8 *ÛI’EJ¨d‰\“@GCµ?dŒªZ¸†COæ¾çM¶‰â«É)HÕ”ü#}¿^WùÓÑ‘ÅKŸË¶Ìªß¥ 2ŸU‡Ç­HðÀu̼(÷ªËc£ÜOnšäð䨆ˆÊý‘·L¤ëä§„×NÓ$ƒÛLƃ‹¼ÄÓ¾Ô¦WùãÞ8ò¥Ë§é1ürZFü˜2A ¾S-Yï@ IlôàÎém »hì€üGçöií:ÓUjrjÝX,’ÈÕ–Bµ~KN¢´ÊΤ±ñG0yÛBY‘Ò/e¸»—•Kšf#cN*ŸË—gÎx빰΋){»•RáÑTU0¥»¾Q㛪_Cd<×:Šòo­ÜÎkCÅTŸÄW ÔQÜ å î²ÒôÉ+Mqq7À^4ØÕªƒ\‰É|–9wDýpL ‰€ßáj|ø’r2™ ž*õ6ñJ*ó’»–ØwØÚDÕú6–1l8ú¼‡2@ê@ÛîÃ`§ŒuS,n™n]+BëÌRºäõI®a˜D¼Êcê Ö¾Â'c“g…’zf2Vjò€ê}ò\`ubNÜТI*µ„}¦…v98ïÕ„A=_ÿÓâ0À![iÚ1‘Œf"”• Öƒ æW)”i»è­¦h×7-ûÇT±]¿—¶@° yš9íôù#Žë×·hÁd*P?iI? ûK”cÏâÛ’&! §ÞN4»AÌÇ;¢Š¹*Ѫ)áþÇ/˜²XÇpÊ›ëLáã†4•–¦oï^ÿvkŽ0á†L@nè5-Y­ÍªÍ.jÞ"ë!VªNø8Ý€Æ %rÜêú< ú3%£úÁW,üÛí3¾ÕÌÃ=¯vÈζèË#µ¾ÕtûGº½iBÆ…}aGÇó£&¯‚DÆ~’ͼ±vš}²Ä¤LUJÖP |^‚>Xh#žì£8–L|×r†8•`RT[Z ©ÉœˆÕN{)(Gó¬3ZË,ž’”ƒØ=;d¼l‡ª¬öªa«M—7;÷=ýò¼“ˆ(°ÿÿÕäzåÛiZsÃeýðJ…P_qà{ÓÛìæ>+žäPM¥%½} Ñ{Ĉ8ª­©­M)þÇ–ZbrJͽ/É)¥å›e¼“Ód©‚`J•`w÷ÌYŠ™§$€¶ååg~¶÷òÝ[ÚOAõ¼œ£ Ô+«ƒÀšíö°ÃR}¥´KÁw%Är-?z¦µƒ#(ôf –¡«ÚÚêVZx—Õ½»•#@¿²¬xò“zÿÈr#e½é ¬ÛËj…¤¸z´ep*65 Sßíf²xÌe¸qò IÕ4Á €\˜îœ±²T:¯Û?Õ S×/œµ|>ׯS¨7£U$PK+ôSO×J`ËaÂŽ J„×34"{ka$<š:©øT¯Ú;ïÜe§©zx½I €ŒòÍÍäš…¿Ô—œ‹ ,ŠCCûK“Ç$+š1]¾ƒ±’Y#C²‹/ûy»ÝÙ{›¸--滼•-íà^SLä""ŽìI¦R]ey¡gm}bË%¥ÔbH%ÜŽ*⻌4„.¥£ApŒóñ $‡ß’‰?Ö|¥¥CÖlm½V‘VÏþ_²}úŒ§.w f/;’õ‘š4ŒDѹx²€k¾çíf¯ §S­‚½ˆšiK‰•Ûb~JîÊ#!W³d,seZ}õ̱þõ‚£ŠÄ|7Øïã•Æ<%¼‚¶¡y…kv;© ±ËâE(Ch,ð­Ì3òHâp‰ZòæNIÓ¯>™V£‘c4Ý]„O°’?´¢Añ mLÃŒ Nè½Ì[ÍzŠÜãØ8Þ}Rذ^œ`-1PGú‹™xzŸè–q˜e/î”Q§š¥Œ­ABzЮÛW02F'a³\€èºÎÞán_âs ¢×ŸJ’zûäN( Al“Y¼È ÄÌÄ£L­EùtÉG'`­ ž—ê4ò*£‘Uæªn»÷©ÁĹK¦žÓI˜“ë€èxiòÀeÃbšÇîeYxv`IÛÓâ5œªT;ØPCÜÏv_÷‚(¥F‡Üo·ù8ƒ9 È©ˆln­”ÌG ~³/cSÇoö8Dˆéþ™ ì¡…”´z{ˆ¹J±åÐìi¸ë“ŽRe¾ÌT›S©’ÞA*TSÖ?+Mø“†åÓtñ5q}o*úw3ÉIA^Tb#§$¡ÿe‘%Ý `e|ÐËt!‚8ã¾*cUäİ#o7''ê¿¥lŽMÃqt‹#4Źԣ“U ñ aâÝý~Œ4Êì7l&2ÞÛ»|QÈ$€v*Ñ«êÊÌ?ÖË¥Rˆ,O%º–»}¦iñ̪®ÆâÞ'Fc²Í*ÆÄSùy×(á4|Ø µÛæo5ùnÂ÷WN´‘Ö¢»üRd"?u2:LO¤²ØÏÓv¸oJ'øÎáz(û]³µªÝhždæÐ":ÕiûUë„_ü’7Ò!–TK¤GQcBU@ä*2ÓG$Ku8e=˜=¡F…©ñ|U2/ùþÎ d”ˆìÜ hD‹ªDj „±" TtãÆ¿ì²³I,LAKî ãô®WÕ•B1«Æ¦»ñ'Ç!êŒö¶±ÍH]éIs‘ݲMñ)SJvt8ef"ÇŸ%$/º’k‘ÉŒƒ$J’:u¯L@ïA6©¤a`Eé4ŠH#z°úiMò`ãL¹"®5²c(Ò"¹ëT4÷èr8g¸°R%Þ†žï„DÑr;‡Ø³oà6ÉT2X’:†«n9˜ýbßÜ1âUHÀ9/ËÀ¤‚‡±Õõ9bQw ´l —ÓQ‡¡jvÁ“M¿6 ÝÖ­gÍÛС€% †ÍƒòäÕ’ Xš¼w@À‚1s±ô ˜Ü+æ‹ôåƒK!Ïþ:ÕeÖz´3Ø-í¥ÔfÙy«¹V4âx¸ÜÓáaß/–˜GÓ!êM¤ÚÌpÛ]]}]õj†^VQ™Ý”“¿ËÆ€zý…Ë4ý,¤ú¸cý&Xáoÿ×áþRÕoï-¤°º»c¥rZ[°=AºÅ@SÖ™Õ‘™ä˜k²I¥HdK;Vbi(IQÖ¨ÛTvÈU”Ý Bé·“Éå+›h·a1uOz*`¦ý t¥ÈÜ;•¡-ZÖ”ßnØNæÚÞÅ£yÏʰé6pF8æH#IóJ:¨ 7ZžUMüa‹]ëV—{¶¿†hźIõ˨AÀnÛ‘¶ß b©:MKZº¿K§1 †2LÐÌ®d¡ª‚T×Ù_ØÊd r- ±M6RúÌJÊܤœ±J¥ªkôædFÍ›9×áÔ¾¹¨K,õuw¤ÎŒ|fœM?k4úhV@|ØÊ'ˆ¯ò¾”·Ö±™KÁõif+(Þ¥Ä{(\ÌÕà3˜Þ¶I‰4õ»o2yWÊþ[:†¯©x£$V2»Ò¼b…¾'oø_õrÜxŒ7ØóWü­¯Ìf¾u‡Ì·âÝää£×`B“°ØíA–ŽLÇ7¼þuëZn»ä-êUÚ^Û=Ý$™Z¥[êíÈ0?~Cì¶7iÈô¿Êùc?—~_=Å”u§`*7û±Ÿ4€ó¯ùÉ·VÒ´û(–ëzS¬qžøÇ›/£ÿÎA~Žò晥 Ì–VÑZý`\ð-é RÜLmJÓ¥piñ)™ÝZižgÑlµy![QÌQ\4‹Èlµ#~ŸäåY4ñŸ4N ¼kÏ–0­Í•¬=w¡5ÚŠþ=r¬” :EÄõXUJ™~¯+‚ˆÜd×ím^™–#ŠÚÇÔŸ^ùâP)õq'¦I‚>\LJíLŒ4ƒ »§ ›hžb}n1©¬&Ý Ñ—çÄ£ùQ|l«6!ˆP<–CkUó[Au¦\G$¢Úgx¸»)ÉdW 8î á’Ób3žßç0Ú÷@Nð&»ùš9!†ÐGAÊL²´ÜŸà4ÛŠ¯ÅËâÊóhsG Ïðÿ5¨M&â{›åxmši&â\º¯2mÇ ß5ÐÃ’FŒn˜NȈšæuhç ÔdÐ(_ˆïÓÀA;6FÍ 4ý>0Òºþú •˜©¯ó©™™ƒ(À"áÒ,ç(¤! …”Ö£r¥A¨Û'w¶F¬ý gi!?“—ù\A‹·ÅkÑxä†O$p€Ê,%DhíÚé­Ø¡•Õ•Ë ÚØ*åU"{˜˜Z„b;e,%„¿šµ ;r¥:”eŒ¬ÓL¢GŶ2K#Ê‚1.1… „Zü|‡L¢PD‚$®.d“ˆf„<…‰{ú±€ˆØ™$÷º´P8.e30Ú5އ&”5Û|Èdž÷®JM¬YRDõåÈE92©V¡;LŽõô±D^ê—•ŠÞ+a<&¢Nu µø«^â™(àÜ›áf®ÐÇx‹»9cø* ¿ƒxŠtË€£EH3¯o"Ëq9–¤A©§Ã·¿íey£°;ûÚ¥ꋵó:»ÍVõAæñ:r/QÓ•;S|€„Á™G!c²i³ßÉu¦úÖ+9åyõY=ç°«A d5§Û Ë6˜õh“óý_ì‘Æm4fŽ ÿK²½¸-zß\ÊßZza‚ªÆ—âniòoçøs+ù@Ãh€Ø39)ÿÐàžVh¡€£/ïRrŒµß•;dI±aÓ0°>¨F^eªñ@­yWéÀÌäƒò¬©,mnîÈ,\ÙzŠõ¦C!áß¹ì‰ÔµkûmA ½$µ¸áCñ(wRA5-L³£Œ[X€Lí´ýx*IÍ Ê®Žë¿^C—Åðìr[Œlz$â({‰Úű¹´†+Æ*Bq5!¾È„|Yl3ÂBÅR3Þ›[h×÷1z°i¾¨*ÆŽkN¿ezá`¼=Ré. ‡ÇÊ€½ÞœXWªà4Y‹ ²ÝßÌ¢’D fã]² „²O$Ûj“ê³CÒÈVÎå’8äz—¼BŸµÈí„GšINm´ÝI´»;PÜ:ÙC~—É<ŽJMñ«–m˜ó^ûñ7˜´[K]"Îê C%äÂÚ;™¹/¢µ)ö¦¼›iŒŠww¦$zý¦’!2é÷3Is#°E„ú1¸ôÕPl°°*ìßûDTËd^…ù­æí+BÕÚxþ©¤Â«f¢ú É»}ެ?kªM”‹Í¾wóœí4øõ´ÒØ´¨mÔÄÅ¥P-Ú£lˆ ‰¶>Ú5ª¢(Y Sâ¿M11 Yæù¨tÍÏI—Gõ-ì¡Æé7z µcøN lâbzç˜4ýRæ;‡³šµ`VWÙÚµ Åz`Œiˆ¥¿¤ô¸ÑbXo‚=X±0©Üž«˜²Ò_V³ä¥w×mv/Œ-$ˆ8вì2ì8x#VÍ”ù,›´Œ%·w5Zß‘%h|F`k>ªòo‰ ß˜Ý%H‘J~ê?bò5gß,ìøÕ–™†36›47Lì^3CAUª÷5ÍÝ­›y*껈 v w )úÜr!‹6ô¯ÚkþNP1ÌÈd@gVú‡—×Õk½B%bG(ÌfŒ»Ž_åö9Vm0È9nÝcªïHMFÙ ­Ì 'Å(Äv;þj?/š2 -Œ¢ þRÔ´·¤Œ‘$@=MH߯ÄÛ“–ËÇÕô¬¢)i4Í­"e ì£á©ß‰9ˆg͘<Ð:Ÿ©uëzÒGPæC¹Ü¨ï^ç%y0Ý 414JÐFdn-:‚FýápN©„†Û.’ î,ž9­]aN*çÒ'qöw Oåç‡Ã‘ºóXìS½¬ŠÄÀ|Tb ùùQ)m'8쌒¯ŒqÎ V€nëAÖ»õ~,χfd<Ïm»ÒëÛ &¸åk87F§ö€4ª×ß§ídrh2c'èýMsÅE(µÒµ”žêçR¼.Z»R¡iJ£öi±Ê|HúXF'ªaé&‡ûÐíÖ6U¥7­ 'ù~Î@"¼ÑÐ]^” m—r•w Ž¢¸'ŠÏFUÕó¤Qˆ¼ÀãÈ‘ZŽŸŽVcíHc½Ž5¬‘<íý÷Â{õ ¡Æ0…ó“ΗÈþ¿¢ˆjâTö÷ÌÌ[ÈEx-ÿÑó¿”ï&SqHÂÕÚ9§U¡,c¯×Üà<•?ÕlÕ7¤‰(æ¼b»^àõÄ씿Ëå>»pÄ<‘¸íPnß”eí0óDf=vê4+éý¡MŠürýØb­„Ð :Åä‹[Â’woKŽjµ7âI I%½xßÎ6Å•KúTv4]óc¦€ÿœÏ-‡VÔà³Uá r Åö@=+šìyˆØ5Ç$©çÖ¶V²_4“D½Gw$IåS›èý!´Jº·œ5MjI,£‘­ô»¹«-²äÔò~ÎQ§Ò ~e<\ÑžKü¬×¼Ñ®2hÒ› K`î¡ê:$AŽÛ!ÌÀ}‘™{…·Ó^Kü®ò7—ôy,euynˆ{Û«ð×/3•Š·%D^¿ÿ­Ë!"HláñÝÆ¥æ©_Àš¥ÂÃ$ü]=V!–)?t&Ÿ> ™¤ BßD~pùf-ËZN­å™î´ËÑwYØJÎŽ÷6äÈíÁþ6#ªü8Í£$x©—ÍÏϯ{/¡©Rƒ"L±µ( «@ãö1$±#[U™4ë[[x¸jP3®]¹Ã,4ýØXÇŽE?kâeeþ\l®Î‹Wצd)nXP€oþË)éú_åuÞ£åû Qo \^À’K¦P°©¥\UGü6ÈŃùö |Ÿyi`Ñ æ»…§õÅaãÅÊâÁ¹t¯,C½OÊZƧÅ}ëFðȪ̦ªW•5Sÿ‘É@YD195¯H¼_U’uãñK /xnTíƒQ!kÄ,2/ÌZ}¯–-žòªA32ÇõŠÎ&5oŽŒ¦”Ív«²Hðô¦fê‚TóÔk6›t³Xå@Ô5sÏâ SŠŽ9•£Âa2WG>”¢+ûÙ ,¬Œ½xRµ®dÆVäë4ÐÅ@AÛy‚ ;Vspâݘ«Ô5~ “.W´ÔMݤ–ú<j—.§ôTˆcý¦‘‡Çu°Ï+“YòÔ—7º˜‰ FÁ,ÉvŽ1±&¢µz ™²©‹lÆiçÝF÷TÔ ¼7&E;ŵk¿o ˜;"I¾±ç‚éövó%¼ ({‹Rƒˆvf­*KÆ«•bÓ µ-gÕ%†'–ê(Õ›ëq¯;XÅ6¤MªÔäXü?ååœr^$ñ5ë‹m8ÈÄÆ¢¦{¸QL¡õbAn*zðÿÈcÁŒ¡h”D¶÷Ïö j¶·ý`3ž7B¼ÁaÅLewvoòyeâƒX®½çvÒãfx.RÚ^&yæ…˜‡+ûh »V¿Í˜¸t‘ÆIÄÈJ·K´?;Øê.a¹µAÇq#v§ò«Ý2þœ¥5Ô5:;/Bæò)ç™Á‰m¢y]To¹N}K†%|ÑþGó60»]f ¤»´_E隇? 0¬_ù«0Ί\¶Q]WÜy‡Ê‡RX´»é%‘Ï5²”#SSʼ‡~YFNÌCÂÆ…ì†×üÉog‹…Á—àõµV€3• ÉÏÃþN[²ñU›D€J¢ó’cШBII”ñ'¸ä­ör¬‘ô’Á0³×¡–íÑfNFgyI. !Ü1}ŸøŽSŸ²Ä8xMÊRE±=KRÌ®÷Z•ïÔ<¾………„f’ܲ»$ö^ŸhýŸÙͦ=?ƒ |ÿ‹# /È?ÿÒóî•£‹meí‹ú€ÅêGB>*šPõÆEtÒúiâ!’Ž´R7åöH¨ð9mšK’5Ôç+ödŒ°ùÔ„†ÊèÝHÇ-ýį*“Pï@ƒ!¦@ “<ÛwªZúv¯jrG¯Â(+GèñÈÙ©ßšjÍs­®«*EêÄÊÂ$,¨xŠx“–ÇOÇ„rPi8ÎÃCªÜs׋R€ñd5ÌoäØw–;U%p¥Õ^PA©5jާåLÎàRmÚ6›ci$¦íé£ÂÊAâïÔ°S¿LJAfÞFóu·—´ÝjÒî9^}N#>VPLl ½YVáÆBÃ(ʘŒ¤­×àšaµ¦Î¿Ç(µa#Õ½S¸4Zþ¼¶šÞê^hÔíÖÚþúòîÞ2 Ç<¯"‚ €@bzŠIµßZÔΟqq+Y[õ[fTf%›†Õ^Dï…†ŠÀ TL´ìýËÊì®¶2E "ÇJ- ’ábd…£þdùÂÃN·ÓãÓmæ·¶Aã›—݃ýª`àeâ†)ùúKÍ—Ö—×–"ÖKhÌ%-Ü€Ê[‘'Ÿ/Š»d¼2Ää=Õ|Ù6¡b–ךU-£ˆFÊ·aExÔÕýò2ÅbŠ%8—Ÿ_ê¶6Ð ¸ÓÒ¶¸.ˆ¥ƒ1#©Ø'üG+†.Ê­‚O{­¥Ä6–­C¨éÄ$ +°«xP ÿc1¢Kdd4âÊ…·0IbD¹¤IÁVµP *õø²ÌGˆXk”6©äž•cåÈ£ãÚ¥OQÄþÏŽHF›sç–IqI#ó1Š gJ’â*ú‹Â€h\oM÷£m€4³¨>©¢§£¡'FkLR7ýï.Ôû?ðY5LŸÍG^³}"êÆ yn©Ž¡Õá<Ð lz|9QlØž³¬ÞZèsÜD>±,sˆ£«w+V»V´ïÇ &„zÓ?—î5;!oy©\zä DRªÀ ;+·\°îô(µøî´Â‘@¶Ëx”õPV§‰P)ãˆÙ$¥vZ‡™ô¯R[¯¥«q}&J¬ñ­># ƒ—¨O¦ßìpÚùKEÒíù^<þ¥g‘â‰ÉQoÈ’*½W€û+†;îÀ¨ù»ó IØiÚ?W´Eà²8S<ܶ%ä8±ø}<œÌj‘cºu¾”ñ»Í×ëÌIõ½%XCøq€û²8ñˆŽªd¶×Ìºæ¨ ¶d’ÚÊ^@hŸ#É E)¶Lª»éw:¤¼dÔgÓí™xË$¢9¹ïA¶éü¦úG¦úO¬A1¬“(z‡u\"#š CKq-õÓÂöfÊöØ2Íhû‰€1°zµjÕÉZ*’íGPp™m)nßvæy(ÛR6¨Ø’€>ª‡FÔ`ŠgOW!…âd>Tü9ÄqqIKµ ‹y‹5¥À¸£ Š:FÃÃa‘,ŸÿÓóþpëæ4©˜'mªÕùí‚|–)ηs ÖñÉþ2k¶Ûìr1¤¤±•:¥`ëJ|ר*3ÌZÍyõ‚¢RɪŠ1¢µþWŽW`Î`"®î4»{Km•‰·…£@´5ôÀ5¨þlÇœg)‘œÂÎÝÉ Ò$Ë$éX[ T4¥:tÌÈDÄUÚb(#t¿/jz‚ fŠ «+Fþ•'(Ï«Ž>|Ñ)˜iú\ÿYô>²ààÛ.ô4;Slº9 ÞÙ 4‹òëPyµ ] vvÑÎñMÊ”ôÃp¿j´é”bÍ9)Æxr·å‡’ãóMåüz…äËõDá0©,XyÔvÛ2¤HeÛÒbü…·™ÕWZ¸ˆîHx£jâAÈ…³Âx;y†òæˆÚ+¤h½Ezň­)ß$2x%éžsò«å/.Å­½ìW±Ï$q‹h”«RE'—&ª|4¡À2oHž:oË_–žkóO—­5½9­Ò‡oÝJådA•5¢•øˆìØLé!1”¾|Žv‘aÙ‚à#Pÿ¬«ˆÊƒ„–#¨ëbÆþëM¾K”º³‘¡˜©gPèJ°OFOž¬< :$£ÍzH™ë?*pH#¨5Ç‹Í<#¹[ü] ª²¼–¼ºŽ]iá¾<×’³X^Ë[—ÒåTp‚©ìø`°š)uüzLËõkÛhÑãÖ]œrßeUâIèx’ôéþÇ+!*bRSÒo\¨eˆŠSsÔõqBo¥ËltûÈ®`[()GPªÀ‘ôó(—Múm¢im!ô˜ÐÆØûå¶Ú7Tý'1)»+V Ì’XGQïŒTKeºýµÕ‹Ke2Ë$MVÄ)–R.ÒË@\F"Y‘áêÆµ ãá‘, Ý&ñRxä8™)ZN›äÁVg$#SÐåšâÙgaÃê’\B¬_ã(àRÇzerÎÄÓ ±Ùt½:áÉôþ&«Á:(}Ç/µ@~ÐÙrÑŸP^H+ß#éBòÚ´öÎ*–A˵vVÉð¯ËSË.šyÌ;ryÅS·ý)Ç|b¥^{Å¿[ƒ ë4Ë(¢«°¥0ÊTK+/Ò1»K~u§%cP´Pu¥rÕu¤~‰Ýo–êU*JÆœMv©5ÉÆ4ÆE^êÞ "øND õz'çÄ˧eÈ],ßÿÕóv„÷SêÂåÏ6…O"Þüq*™_²;P%wå܉)+´‹v¬ÙaVíJã{1«™]pB])ðò'~äà„n˜²7EG²¶š+ƒÒ§2 ° RA0òëŽ9Ul¹.Š;¸õˆtÅ2ò™Ò5¾Ã™ ¨ ôÌŒ:£8qÂ"]pò˜ãPc2¶ÉÑ ÐùãfÖAO„Ænfô®ç‚àÈ%ÌD,d/8ÉREß§Ëoõr³Í˜úQVñÜÍ$Mn‘ʆž²íÉX ô'®Ôë“!Hny˜e–”(ß¼*ù'¯†E± RÖâûZÒmUD¯;Õ«Wsôaè¯H¿ÑÊ—xÔ’I øvö¥<J‘lkÌvÂ=<=LX"ðú2$);%öz ÏH× ¤rPªMPlS‘+¹®DÂÑi|ó_Å)‹ì*R>"Àuú2 M,Ô¤g»%©":Š.à€;ï†f@¨ióÈa/*Ò"=>>?ë{eŠK—ê!‘ÌCÓŒŠñbZ»|°L “¶ú½º¼aù­´oN®õ#s¿òåbLx‹"Ò<Ñ:é¢í«[QªEš1SCFû9­Ôc>!a)Y«ß‰o®X-ÐpÒ“¸#ùASÕFm4›cÉ´_4Žúî[”Úy"*¼Q•˜|L|_‘Ì’R°:ƒê„É4E›5Ý¿ÕãeÚY·¢©©I9³\Ú¥@4ìýæÁ"˜…öÞœzZ±<ªçÓÆ€l¶K«ˆÅÓâÇ5´ŠŠLî Èü·ÉZ)dl Iìµ4# Tì¯ñSðä¿ì°KvQç»ÿÖófqÔFªFQ‚(öé퀱nîà³C±n<)×½FAÝJ$en ¦ÍFw€ì~ŒLU$ ŽA£¥©±ñÈ‚›N­5h-£_«—*­vöŽ™“ —4WYê“O©Çtm¤•ÕÔsZšPÕHÀ0Ê0á‰XÈŽOtò3j¯sxk¸¯¬8¹ jò4o£1´¸rDîÌ „âûòWËÚÜ÷¡®á–yšiH†…Û“ìWmÚ«ö³<Î0Í&ŠÃO··´s+´‹ézȦUJ5`£í5ã?[§å¿åÅÿ•¼Ãu}uk4SZ”1BI e$0Z-n&dHªk„(óz‡®Ö®yÂ%ÈœA`´®ÔäNVCk勯ÈO==ÕÅÔvÖ’C,®êVn&ŒÄìTšeƒ#_×¼éå[0yNm"É@Ô9Û±šOÜñÉyýºdA£k8ØWü¼ò :O–ž¹iour“HÍ+/¬Á¶£ ¾Ïòᔬ¬!¶ì‚óÉÿ—óKÊ}*ÔL„ˆE0oļ¶?³‘²à‹çŸ4Yµ·™õ{{[¶·† ©R qÇŠF…7#@=ó&Ó‰=‹Óô y>óËmÕÜSÏ}=²Ë#Ç9^R½A§LªS•ór#Ž4¥ÿ*»Ë Ìïu5!—˜®Ô*˶>!G‚[ÏËM)8ýzä4•Ù• ïJd†BÇÁçuÓît=TéÐñ»‹ÓŽPìLmV®ÔðËa+ S×Ë0^IåÛ5”–êîk…Bܨ«¦jÕ—!W$ÿ oªY²ÛzÖíõSÙa t© +JòÆ¢Xeþ¬·!Õ *ùG07¨È[IšÏ%Ai7›£žI)¤¥9ÈþE²@Û8›zåâ%±i9S÷|H5¯|‘4ÉçþlÔ`ŠóÒ Í×r+Uå3a9$qjÒ ýÐT-|v4À$×Ħš¸qé?Zñwðß!%âÙ p –YƒJ¨;ŒK"n,è†E£1«F@ û#Ãa„–g–È í>8,c"AêHK=vÛqðÉBV‘Éu¾Ÿ<óY۬ÜÊUPšÑ¨HQ_}ŽFR J‘²w§Û\%…›J ™$g2½ Ÿ šü³˜º«nïöMY8|±èêí©\\,–mÉ¥€òýéj­{KÿÉxõŒ}Løè"#ò«ÝÏs+„ÎLÅx,LAZ÷äµâw噺|‚PwúÏHšãËRú)l§‰F#šŽO¹?[âû?ð¹bˉ <¥{ ‘ÊÑr¶—áõ”fï^òÈJC“(ÄóQŸÊwF¿UeŽêÊ’Ô­Aø‡ŽDK" ¶£^A$‰méÜ©?Sʽ{»%ÄŽf±ä{ÛØÄ–Ê!’•©aF?²?É!¾ÖWâÑlðíÿ×ó0ÈU¸‘^ôû²MfJÿW• ¶ÄuØr6Ê‘–âH9³þñ …ˆé±¨èr†*O­µ­C‘—š¬u,Î~€šSîÈð3ã]sæ=gÔHÑÂ(¨ä(6§Z¸ð…oæ0ÃzÓݵ´–n¼á* ?õ,y|—€HÉÞk¸”€TÕ Œr!OZ–&ðøh9QvÚì뙈õÞ:%‡¸jG/| †ETó¨TÍ-.@ø˜.æ½&Ÿ÷ÁÀŸNëÌ!´£—bc5¥Õéÿ4àÔÍ@y4Tõ)E,êÔß}é€@FD Hî5K[‰OÖ¬meY>ÙxP±<¼iZœ‘ÂüUº¯æ&‡£;M¼ôížöO«ZÛ¢R1û ¾è½1Ž&G*e.¹hį#ñ²ô­ußñ¥޵#`HØ)@ò|©Ø±ZжKϼÅwwp$ú¬!Å@sɰ³Èvùe‘Æe aÔ®¢‘å¸ýóÁ Ä~†` ¢í퇄â°–ë2k2«2N¯E3Zßß²óË«Éã‘ÁÉʬClǦRE´pÚ5 ‘Q oï=ºo…˜©£v²ž>£TTqbxŸ'v[¢’õ$Šyn|μTº±"†½öå1Zqž8íj€;Èü£Qû(»^ò·ú™k<š’0í몚>Ì| ÿ  ¢WÑ¢š«’i#ŠÔTâBØ€Š#?§3ˆÁSÀ÷ñÈñ'`…}:æDC1jˆ;(ìúrèÈtgÑNÚ0o£v/2ÇVTWâkÔÔ4û°Ë•27ȧZ½ýýÔÆ©Å!PvheÞ«˜ãKdóSÔoÂ$+"¿K«*Q‰ý¯»'ŽÉFû2o)^~›v´’C‡WæW”ŒM@+Ç­~*äñ =íØcÄweIoùí Vfj( $‘¶lÆPCƒE ,~¬ec‘Y ‹ø¹ »)®Vf 1—´F̧Ó“µ)¹zd-˜Š„°ZÉ75¸`̧àqð’7ôù䌊D)V;‹ˆ¡hA:/ÄN´ëÀWå”C8’ÿÿÐóýŒÎäºn*»õÛ¡Ì3:qÁ™tÔx…¼q’Ü‹£WÛ$ÒX80.Éɪ:òâ:mT§K\ÖŸ¤Sza%ÛVÔÊ,p#¤2'ªWe+Ó¯±É²4õ¯*´Ï§¤sÊ%œ/8ýQR ÷p§ö3"<œ˜òdñÅ •%TŽyŠñÄQµ¸ë–%‰,$î|qZGYA,l`¤šÔõ"?ÛÅBÛ­<e“á!É ½HØÖ´Ä …()À"?5bhj ñÞ¸UZ+†%1Æ…÷Ž´å¹ðïCSÞ RÅ]Ëî ì½+×|i6”ëú²ÛYÃ/ûÑ'¦ÍZI¨¦FL¢XTzÛ隊´“4°†¨ïǹë¾WͼJ™ ï™lßD½Ôm˜ Ö)}%ëûЄ®ØDº2ÇÔ<ƒHó<¾a³kÓº¶˜¼Ž Zჾßkö“Û&ZâAæôóIÕuƒ¦éÑÍ(Ž>op>%âª-^4ß cÞ‰9'“Å$Ò ¦çpÌý)¾àuÉÓ]¡î,‹2 ššª?ÃöAV+Mþ†˜±ë½V&U…4dQHZîM:v)nz–›«ÝÚH°zqqÔÜQÔŽB´÷ÀbPXmçå¾¶Þ¢EPYÎä-M@ø¿ÉÈp½Ò›Ÿ*ë•¢Ù° €hzlwù`) ´ï&ë¦T lci U Á*w¥jGN¸xIeÄPº åÊ…½0ˆøÇzGŠWìà0,M”ºm!às$‹Â4¡äO¿B@=ò‚z1!I$D¸áȉ ¤`ßõdLI÷1µÓÛ]Ѻúrý )SEÐŽÝp µ¹ESZOZšoÓß,1Y«I&SÆmÔн7üNcض¸‘hä³·GŽB Â 2Ðü_gb:•ËE‘³xÜ%—Wò[]ñ™/J‰(7ÏC8Ii1%½VêÓÓ–+™¹O"ÖÙQT§.T!Ûf_‡ìÓ8’ÆWy^üÃ!Ó Ëû²•VæÑxƒÖ›áž?U†tA°ô )´]6Õ_Öiá•b·«2lq^¡Oìýœ"V|›Æm’ùµÐ.¥ô‚G*VTQ¸÷äwé¾F\öd2&vªdH•§ ²Ô¼|w¦Ô¯ŽÔÉc—-Ùi‹úQ[¸¡¹þê)ø( Uh¯ß±øó0R—[*)#?Õî(è´}öoû`‘Šb$ÿÿÑóÜe9rV¢±§OÃðÌEa¨:(± êÃjS¦ []VÓIñqeb>Ö½zœšcæÉ4‹=&)4‚GÛÓœ)*Y¾­A ;á´ÑÖÄi¶‰;±ž8Qg•j ÌríиÂJ9¢þ©Ä™9râ(6¥ vïLšY4 éóâÍ Zíוkг’‰xôè«Nø‹Ž_äi@@ŸøeÄÉ+M®žòµ#A ÅH§­¤ÿ7ÙÃj@CˆQžDXäŽsĪãÈ‘FøÇ´® è¥/«ñ¸’9aW@Ÿ õePøýÙp…!eÞÁ#âXDŒ}"Œ¿ Ÿåá»Pÿ—è¤ Þ›ÕM•ÄSM>MXÐ! y1 R”cþFFº¥÷FòÊC1yÌS8¥y²+wQZ³{Ãd%Ž,IbšŸ–൅ï-Õá…X–^\Ý”V«RÁ…ó6cÌma¬ƒÍŒÍ-¼jD4P+@Àè2™YæÀÙæ­`í#bApNÔ'ç•‹Q›>¡3D¶’¯®’ìÑ¡ *„Ür;íá™1;y6Jù1û½<ßÞC#i\¯ÇC¹ßânÿ<¥7«jä ¡©÷ÈpSdIzn—uaI%̃ ±¨¡èÁ‚Ö§ü¬É„{ÛïfÏ¡ynë.˜Ñ”Fi'õ:iFUåÉxô`ÿÙË$Äù¿ÿÒóÏ¥7òƒé°¨;}f!Æ¥ðXļßjÑFßv°£[ å¾Ã¹®Çl²Ùlqé—.CrS§F$5Ú§Žç (5q…!˜p Á™ƒ#q¦ßdrçþ¯Å’ á¼+!€z,@0»³ãÁ«ÍŽDî’Gui;M<—Wee h‘ñ¯ÀO݉ä™YÆ ²²®¡‰j÷öÒEé‹¶Œ'îà…ª§b¥I¦Ý3Tvè%0v*°Úhº•´bíáëðλH»|@xµ6øye‘ôQ]è´ýOˆ¼I3µ$ÄŽ‡`;|?ðÙL²Ž‰ïMtŰº…â5V"‘HG>dâ%ÛùòXµáž+*·¾Y³d²GlíŤH…W‘5¯J‘ËŠæD„©°9¥ãÉWæîÞ¬çâŠ5p¾˜é»>ìÌMx.Nš&Ù‡–ííí Žþ7L¤›ˆÕL| ¤…ßý\¾ ‹Í¨yHºD^8ÝX,²Ö¼hMyTÐc(w… Cy Aˆ«ê1GŠ¥IaÐ#t¯ÏŒ22-Eå x¤•a„˜@ä¥\1$u$²ìþÎDâ e–Pž_ÔX%€)uçé€uf ±?&Ãá¤LÚ:MB;x˜ý^fôeæ­Þò¼–`ÿÿÓó¬Vó¡Pàï½OJûTæèâ¯i® ºŽ¿»#±¯S’J˜[\ß’À$@ENÿµî) é>WÖµ)ã&‘Ú‚¦Wä qíJÒ¤tË! gõMÛE€‰L’BD^ GãP:ó råüÃ28iɈ ¢Æ14ªÒÇÂM‚ÇË5Úµ ¨ßÌ&oe~ð`‚Ì"†»VžØ-*p›da¤8…æ„( "•þl K4Ëh‚I'ÂcV2.Ý*Û •¢•Ò‘¨U‰—ÓPƒÔ÷$õÀ…’$4«6b9µEIì7¦Kä–4WJI‚@)]«AU,¸i¡nïÂDÕù ªAäôëN"ƒ&é‹k†NÊ}>â:E0>¤D•,µÿ'~Øi‰,V?+i¶–gM‰XZÈæAT­@ØÕªk‰@yŸœ´„°ó°ÂÁ8W†>!Cÿ „ ì÷Ë .ãNòµ­•ªÜñ‘¥*y)%ÉSÊŸj›S"K8™¬kÀ™$e(ñ{´{õÅ)ŒšlN2–¢–Õ64c¿.ØÚÒšÙÂÌÁù3UMxrûXÚҥŜ1Lpõi\AR€’ØTˆÑªŠ ¯r:˜m¥-¬®¯‘;qph7èCWà¡ñÃli ÐJ#1B¥!¤’¡‹);•¿ðY+E7ol£Ç‘z+ŠôåÊ•ßþÝFÊfY#¯®ôXù:±~ PÒh)›ˆ½U&2JÕ„¤µ ve¯ÿ/ÚÂbI@Kkêþ¬Ï$(À•%ÐAÊ•4cÿ’;±c7ÞVòœ Ó=ÂÛÈ]®`Q²HBÔÅdÿUxæ.\b;ôk0´“JFeòåšMAciJ‚dä*Ř²š×*âéÊ^Ë@[¨=Tµ0\l²Û;©fF<ºTüxàž3înŒZéÚu¼äIã&8•j¡¨kJ“áŒb#õ5È5ØWúÇîØàÿ »rߣ´Ã-êÄäºÊ÷HÒ‚ÙÄ\Èåƒq句äz|ÊÙ1An!R×W²KØ$Ý¢Z(mКBCý°?âYl2^é4Nȉ§½úìBD:y¬nOrv üôÛn;ýœ·hrêÝÍã&©õ~\¶î»«C@9)j+1#ÃâÈK( Ži„&iÒ(ù1nQ@‘›ìÔ9tãÿÉF`òFÇ’‰‚@’ àS•”2t_ˆÐ7 údÔ `6³X2B’IüK+"r?`–eý¥ny Á²ÿÔá°3±IŠƒ é¿¶jNÎ(sw;I “ÉÈtìo œDº&"Õ¬ÓU¼¸ŽÖÌêõi Z(5¡4ÿ'$0Ù݉;=Êú-ä£]_ÊÐ Û²ZŽÛž\às*¼ÜˆG…œC¯'qz{G± T©\¾é[ ŠUUâÕ‘J/@çÞƒ K ˆ@©u!× ØR”ë+ñI°£…ÝG¨ Ä¦•!¸‘mä …•¨QÄPõÛ §{‰]£W`è% @ë’ M¡ÝàHŠš)—wRÿé½ ððú¡ã²‚iŠ1È´,êÃcACÈlvÂK²GNêeäAàÉBTž õñÛA n „µ#·íãŠ)/žßš[;UHjûWs,OÌÿ–WzðˆÛͼ±6òH Hû ®i^‡å}.ëOÓm,îæ0DåQÅXŽôÈm?·’ß‚‚æªÆŠRj:n{×SI~ÿ´)½6¥q4 –×\ÌìGÅ$œG)Q÷ — ¤lr&É1è*¬€ôU…ME’k…’c+¿Ý° âG}÷¦Z]:¸y;g1d©ëË•·‡üHÞÄßr”Ò˯£É2êEªÔt"¤l+ã© ´óÈ#¬lh= þ¨VR9#(éÓÇ Ò*Ûã("f’hSˆ+ÉiAóÁi¤×£õuÓ¨Ìx¨‚~&‡¯Ã„$¨Eé‚ *ÉrDH̵àÃqJ¹ûU\URçF²¹´›Ö@Þ Ð2’$âß´¾Ë‰ÝxBÚX-–+J¡_²¨ñSˆÔUk]Álz E ¨5¼²-¹óP¶Ddfm½HÀ'³û®W’êÒÃüÏ •ËEu$¢yT4ÆdF(ìäŽJ|?à³-óa8ß4è÷3«½•ÂÎákéÄ…Ûâa¾çüŸƒ#º<58¼½¨Ü¸·’v’ŒZ6©,7ÛŽc}Š<2Ëk+M>ÜG8s)Z¢ÈƒŠª–¦ëÔ¯ýu™`Dsd´÷DI5»™gUêŽBµ@$Õ*Ô¾[}²Ü;R´°™TI 7 DkõxÓ?jœ~ÖZÀ¢,ìe`‘}q¤Fª’¤±aö7+^?hñýœˆ€dj6í¥ÄÎ"¬víUWUßíÿnYkN†ê8}F’V†Ü*»© ± QhÝOíaµ ÿÿÙjp2a-1.0.9/tests/grind.txt000066400000000000000000000045761362026105100153730ustar00rootroot00000000000000OOO00kxOdd:::... OKKXKOxOkkxdolc; kOKXXXK00Okxxxo;. . XXXXXNK000OOkxl,. NXXXXKxk00Okkxl:. XXKKKXOx0oxkkodl:'... ... 0KNXKXOlOkOolcoxoll:,.............................. 0KXXXXKK0KOxxxkdc,,..................................... ................ OO0KXN00O0xkxdlc,.....'',.''..,:c:;,;:cc:;,''''';,''',,.........;;,,'...''',,;;: KK0k0XOOOk:;;;;'',''''';;;::,;loolcclooooc;,,,::::;;;:,'........,;;,,...'''',,,, OkOxkNOdko:'',,;;;;;;:lllcc:;:loollccccc:;;;;;c:;;;,,,''......'..''..'''''',,,;; XK0O0X0ddxxc;;:c::::lddolc::c:::;:;:;;;;;;;;;,l,,',,,,,,''''',,;;;;;;;;;:;;;;;:: KKK00XK0kOkkOOddl:;;;:::::ccc:;;;;;;;,;,,;;;,:l;;;;,;;;,,,,;;::::;;::::::ccccccc 00OOxxxdxdxdoodoolloc'......;collc:;;,,,;,,;;l;',,,,;;::;;,;:;;;;;;;::cc::cccllc OXKXkoddolododxxooddd:.......',:oool:;;;c;,,;l;,;,,,,,;;;;;::::::::cccccclccllll OKXKOkddolxxccOdoxxo;. .x. .O'.,oddllc:c::c:o;,;;;::::;:ccc:cc::::ccllccloodooo XOOXK0KXxoOOxx0xoxxl,:Ok.x. .Ool,;oOkdodoc:oodccc:ccc::::ccccccllooololloooldddo N00XN0KX0O00kk00O00xdddxooolokkkooxkxxkOxlldxkxl:::;;c:;;:::::llllloddooollloood WK0XN00XxxOOdx0OKK0o:;X0,OO0O00Oc:o0lxOOxxkOOO0K0kxllkodoolcoooxOkddkoddoxkkkxO0 NK0XNKKX00KK00K0KOOd000OOOOOOkkkdodkdxOKKK0O0OOXkkxxO0KOddxdxddOOk00OOxkk00KNKXN WK0XNXKXKXNNXKKOdx0:;:KO;xo:::xkOOOOddk00OOO0OONNNNXXNK0OkkkkOK0OO00XX0kOXNNNXNN WN0XNNNNNXXKOOKOddOc;:0O,xc...dk;:xKkox0OokkkkOWXKXXXKK00KKKXXXKkxO00KNKXXNXXNXX WXXNWWWWK0K0xd00oo0olo0OdkxoddkkxxxOOO00OoxxkOKKddk0KOKXXNNNNNXXKO0KKXNNWNNNNKXX MNNWWNNNKKKko;,,.,:...cc';,...ox;,,;:cd0kddx0KX0kkOXXXXXXXKXXNNX00O0OkkkOOO000kk WWNNNNNXKOdllc::::c::;;,;,,;c::cld::cldxkkkONWWWWWNNNNNNXXXXXXXXKXKXXkxddxxxxxkx NXKKXXXK0Odlccc:::;::::::::dxkxONKKxllllodddxkOOOOkOO0KKXXNNXX00KNXNNXOO0K0Oxddd NNNNXXKkoccc:::::;::;;:::::kkOKKNXXOcccccccclcllllllooodxO0KX0000KXXKKKXNXXKkddo NNXXK00Odl::;;;;;;;;;;;;;:ck00NWOc::;:;;;::::cccc:ccccookOkxxOOkxxkddooddddddodd XXXXXK0dlc;,,,,,,,,;;;::cclodd0Wd::;,,;,,,;;::::::cccclclodoooxkkkkOkxddoxdodddo XKKKX0xlc:;;,,;,,,;;;::;::clllodc:;;,,;;;,;;;::c:::::ccc::clllokOkOkxxxoooollddd jp2a-1.0.9/tests/html-raw.txt000066400000000000000000000021451362026105100160110ustar00rootroot00000000000000XNMMWk0MMM
ol'c0x:Oco
0X0MMMMMMM
jp2a-1.0.9/tests/html-title.txt000066400000000000000000000010111362026105100163300ustar00rootroot00000000000000 just testing
XNMMWk0MMM
ol'c0x:Oco
0X0MMMMMMM
jp2a-1.0.9/tests/jp2a.jpg000066400000000000000000000532151362026105100150570ustar00rootroot00000000000000ÿØÿàJFIFHHÿá/ExifMM*bj(1r2‡i¤ÐAdobe Photoshop CS Macintosh2006:06:23 21:59:08 ÿÿ P 2&(.ùHHÿØÿàJFIFHHÿí Adobe_CMÿîAdobed€ÿÛ„            ÿÀ2P"ÿÝÿÄ?   3!1AQa"q2‘¡±B#$RÁb34r‚ÑC%’Sðáñcs5¢²ƒ&D“TdE£t6ÒUâeò³„ÃÓuãóF'”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö7GWgw‡—§·Ç×ç÷5!1AQaq"2‘¡±B#ÁRÑð3$bár‚’CScs4ñ%¢²ƒ&5ÂÒD“T£dEU6teâò³„ÃÓuãóF”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö'7GWgw‡—§·ÇÿÚ ?õ*iªŠ™M,mUTÐÊë` kZѵŒcíkÕ5õˆæ‡›ö ›˜ipǵî äC?HÿcûŽýõÍÿ‹þ±Óƒ—W^ÊõÜlk±ë}íȵ‚ê¹ï­÷m®ÇlôÛ½%=ªJ°ê=<Ùé ªM¤í 7vé»wnܘõN˜2>Ês(¨ÍóáéîÞ’›I(ØíŒs¹Ú ‚ðÜ¿¬ã'ëVüÌå· ¤íf ^ÊÄ~o©_¾÷ÿZǤ§Ý^õCübuþ“Õi£©e[™e‚¼Š² {Ø Úl©öM­}_è×»$¥$©ÝÖzEzWçcÕgî>Ö5ßæ¹ÊÓË[ƒØíZæ™y’ŸÿÐê?Ƨþ!óþ4ÿçê—þ#ÿå©ÿ_ýS—cþ5?ñŸñ§ÿ?T¸ïñÿ(õOøšÿ꜒ž/#'/ëu¸¸ô²oê®›$·kÝqmoÞÏs6;÷V××ñmÔ>¬ôúú›²Ù›KžykKÇ;è»Üçï¯w·zÆ·9½;ë•AÌ67¨ºç0.ÜlÚü­««úýþ2ú֊ΗÓ(º±kÛfKï îmL¾Íߤüô”ôâ‡ë&_Vé¹]+>Ã{ð6z6<ËVno¦ç~w¤æà‹½c1pqCXÖcâã³@kÆóZƵyÏø•èÙøYÝ^öW˜YV4é¹µï6Ø?‘½û?ëk3üi}~û[ìú½Ò-œf¹Ù ?Î8ÚjÝþ…ŸáÒ?þùħ›ÃÁ?[¾¾ZÜ—˜ü‡¸ÛFÿQö»÷}Ÿø+×®}}éw­tÜnÑ®8î» »w–4PfÿWg½ìßéþ¿My_Ô߯˜¿U1­e=)¹9wŸÓe:í¤´7Sé?emþ·½ë¬úïõ׫_õ#¥õìÚÏ{oun%Ìk7µ´²èc›ëlÝý„”â}eÿŸW:JºËºèwT­…Õã80zŽàÛCûÙ¿ý"7ø—ê¹­ëY(ØçaÛŽë½"e­±Ž­¾£æîmŽÞ±ºþ¦UõS©äõ7úßX.Õ‹]ÏÚ\ÏÐÛXOw¨çoºÇ~þ®â×®ôî…õŒæu9”¿ô´µ¥Ä½Î­ÌnÖþöÄ”ÿÿÑÓÿjÌN‡_I9Íê.äO±¢—2Ó_üc³û 3üHtü†þÓê.in;ÅtVâ4sš]e›âæ¿ó×£õ~‡ÒºÞ;1º¦;r©­âÖ1Ĉx»½…®ú.Vqqq°ñÙ‹S(¢¡¶º«hkZ?’Ö¤§ç¼Jë·ü`WU¬m•ÙÕv½ŽÍsND9®k¾“\½™¿âïêSoõÇJ«|î‚^Y?ñ%þŽßälEgÔoª•玢ΜÁ–Û}qnë'Ôõ}Hõ6ÿ9î[É)±¨v1ÅØžŸ¦ßh #fÆìÛ·Ûû«þ`}MÿÊœ¸ÿä—@’Jyÿùõ7ÿ*qþãÿ’Zú¿ÑléC£¿§tæˆn1Ñ©|³óšíÎúkA$”àà}Eú£Ó®õñze-²ÜýÖÀ:¢÷ZÖ¨bý@ú‰2iétú­2Òòë>UÜû+ÿ¢º’SÿÒõT—Ê©$§ê¤—Ê©$§ê¤—Ê©$§ê¤—Ê©$§ê¤—Ê©$§ÿÙÿí*†Photoshop 3.08BIM%8BIMê¦ com.apple.print.PageFormat.PMHorizontalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMHorizontalRes 72 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMOrientation com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMOrientation 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMScaling 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalRes 72 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalScaling 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.subTicket.paper_info_ticket com.apple.print.PageFormat.PMAdjustedPageRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPageRect 0.0 0.0 783 559 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMAdjustedPaperRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPaperRect -18 -18 824 577 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMPaperName com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMPaperName iso-a4 com.apple.print.ticket.client com.apple.print.pm.PostScript com.apple.print.ticket.modDate 2003-07-01T17:49:36Z com.apple.print.ticket.stateFlag 1 com.apple.print.PaperInfo.PMUnadjustedPageRect com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPageRect 0.0 0.0 783 559 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMUnadjustedPaperRect com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPaperRect -18 -18 824 577 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.ppd.PMPaperName com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.ppd.PMPaperName A4 com.apple.print.ticket.client com.apple.print.pm.PostScript com.apple.print.ticket.modDate 2003-07-01T17:49:36Z com.apple.print.ticket.stateFlag 1 com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PaperInfoTicket com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PageFormatTicket 8BIMéxHH/ÿîÿî8Ag{àHHØ(dÿh 8BIMíGÿ´Gÿ´8BIM&?€8BIM x8BIM8BIMó 8BIM 8BIM' 8BIMô5-8BIM÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿè8BIM@@8BIM8BIMI2P Untitled-2P2nullboundsObjcRct1Top longLeftlongBtomlong2RghtlongPslicesVlLsObjcslicesliceIDlonggroupIDlongoriginenum ESliceOrigin autoGeneratedTypeenum ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlong2RghtlongPurlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT horzAlignenumESliceHorzAligndefault vertAlignenumESliceVertAligndefault bgColorTypeenumESliceBGColorTypeNone topOutsetlong leftOutsetlong bottomOutsetlong rightOutsetlong8BIM( ?ð8BIM8BIM8BIM P2ð.àùÿØÿàJFIFHHÿí Adobe_CMÿîAdobed€ÿÛ„            ÿÀ2P"ÿÝÿÄ?   3!1AQa"q2‘¡±B#$RÁb34r‚ÑC%’Sðáñcs5¢²ƒ&D“TdE£t6ÒUâeò³„ÃÓuãóF'”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö7GWgw‡—§·Ç×ç÷5!1AQaq"2‘¡±B#ÁRÑð3$bár‚’CScs4ñ%¢²ƒ&5ÂÒD“T£dEU6teâò³„ÃÓuãóF”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö'7GWgw‡—§·ÇÿÚ ?õ*iªŠ™M,mUTÐÊë` kZѵŒcíkÕ5õˆæ‡›ö ›˜ipǵî äC?HÿcûŽýõÍÿ‹þ±Óƒ—W^ÊõÜlk±ë}íȵ‚ê¹ï­÷m®ÇlôÛ½%=ªJ°ê=<Ùé ªM¤í 7vé»wnܘõN˜2>Ês(¨ÍóáéîÞ’›I(ØíŒs¹Ú ‚ðÜ¿¬ã'ëVüÌå· ¤íf ^ÊÄ~o©_¾÷ÿZǤ§Ý^õCübuþ“Õi£©e[™e‚¼Š² {Ø Úl©öM­}_è×»$¥$©ÝÖzEzWçcÕgî>Ö5ßæ¹ÊÓË[ƒØíZæ™y’ŸÿÐê?Ƨþ!óþ4ÿçê—þ#ÿå©ÿ_ýS—cþ5?ñŸñ§ÿ?T¸ïñÿ(õOøšÿ꜒ž/#'/ëu¸¸ô²oê®›$·kÝqmoÞÏs6;÷V××ñmÔ>¬ôúú›²Ù›KžykKÇ;è»Üçï¯w·zÆ·9½;ë•AÌ67¨ºç0.ÜlÚü­««úýþ2ú֊ΗÓ(º±kÛfKï îmL¾Íߤüô”ôâ‡ë&_Vé¹]+>Ã{ð6z6<ËVno¦ç~w¤æà‹½c1pqCXÖcâã³@kÆóZƵyÏø•èÙøYÝ^öW˜YV4é¹µï6Ø?‘½û?ëk3üi}~û[ìú½Ò-œf¹Ù ?Î8ÚjÝþ…ŸáÒ?þùħ›ÃÁ?[¾¾ZÜ—˜ü‡¸ÛFÿQö»÷}Ÿø+×®}}éw­tÜnÑ®8î» »w–4PfÿWg½ìßéþ¿My_Ô߯˜¿U1­e=)¹9wŸÓe:í¤´7Sé?emþ·½ë¬úïõ׫_õ#¥õìÚÏ{oun%Ìk7µ´²èc›ëlÝý„”â}eÿŸW:JºËºèwT­…Õã80zŽàÛCûÙ¿ý"7ø—ê¹­ëY(ØçaÛŽë½"e­±Ž­¾£æîmŽÞ±ºþ¦UõS©äõ7úßX.Õ‹]ÏÚ\ÏÐÛXOw¨çoºÇ~þ®â×®ôî…õŒæu9”¿ô´µ¥Ä½Î­ÌnÖþöÄ”ÿÿÑÓÿjÌN‡_I9Íê.äO±¢—2Ó_üc³û 3üHtü†þÓê.in;ÅtVâ4sš]e›âæ¿ó×£õ~‡ÒºÞ;1º¦;r©­âÖ1Ĉx»½…®ú.Vqqq°ñÙ‹S(¢¡¶º«hkZ?’Ö¤§ç¼Jë·ü`WU¬m•ÙÕv½ŽÍsND9®k¾“\½™¿âïêSoõÇJ«|î‚^Y?ñ%þŽßälEgÔoª•玢ΜÁ–Û}qnë'Ôõ}Hõ6ÿ9î[É)±¨v1ÅØžŸ¦ßh #fÆìÛ·Ûû«þ`}MÿÊœ¸ÿä—@’Jyÿùõ7ÿ*qþãÿ’Zú¿ÑléC£¿§tæˆn1Ñ©|³óšíÎúkA$”àà}Eú£Ó®õñze-²ÜýÖÀ:¢÷ZÖ¨bý@ú‰2iétú­2Òòë>UÜû+ÿ¢º’SÿÒõT—Ê©$§ê¤—Ê©$§ê¤—Ê©$§ê¤—Ê©$§ê¤—Ê©$§ÿÙ8BIM!SAdobe PhotoshopAdobe Photoshop CS8BIMÿáhttp://ns.adobe.com/xap/1.0/ 4294967295 80 50 1 27/1 27/1 3 2006-06-23T21:59:08+02:00 2006-06-23T21:59:08+02:00 2006-06-23T21:59:08+02:00 Adobe Photoshop CS Macintosh adobe:docid:photoshop:1e6c3631-0494-11db-9a66-ee67d6f99181 image/jpeg ÿîAdobedÿÛCÿÀ 2PÿÝ ÿÄÒ    u!"1A2# QBa$3Rqb‘%C¡±ð&4r ÁÑ5'áS6‚ñ’¢DTsEF7Gc(UVW²ÂÒâòdƒt“„e£³ÃÓã)8fóu*9:HIJXYZghijvwxyz…†‡ˆ‰Š”•–—˜™š¤¥¦§¨©ª´µ¶·¸¹ºÄÅÆÇÈÉÊÔÕÖרÙÚäåæçèéêôõö÷øùúÿÚ?ßãß½ûß½ûß½ûß½ûß½ÿÿÐÙÓùìCò»%ü·û‹n|)í¼7Oü†ÜÙM›ŠÛ9ŠÎÔÚ-¹wß\ý-~÷Ùý{ÙËqmL>ÛÞÙ}­GRÐÉüB–¢JXj"†T–D`Â}éþcm_åÛˆÛß>»¯Û=Õ¶{ yÔA[7tlîñÝûªê¨°µ»Wjv—em-Ë»qÙ-ÍIYR¹FVº¢WKO$¨`0Am{cä/AolÕ.ÚÙãÓû»qW¥\”8 ±Ù{/?š¬Ž‚’|…t”¸¬Vj®º¡(è)ežR‘‘1³µ•I {SåÆ}ù¼êzçc|ˆè½çØTRÔAY°ö§mì żé'¤T5;_¸+3pKM'¦ExFàØûEüäïÜïÅ_†Ÿ)þKí|sn^„èÖí¼ÞÜ3VSàsY…²ó“ÍMŽ’øñUuxôJƒ ¤¾"ÚYZÌ>^ýÑò³þ¹ó«dç~g5wÏŒWÇú\n[wc³_pŸÓ=‚Ù”sU[“Ú˜®º|n±¤§“˘žLÅDpBÏSZúYýØü';þó‡æGMü)ù}ÛûÃäGI|†Ü4a²wOf䪷oguoffÖhvEùÈ™÷6åÚ»Ÿ>`ÄWPåjjŪ†ª–Hžh*¾•SM <2ÔTKAÍ<ó:Å 0Ä¥ä–YªGh¤³çÙl¬ù¥ðç¹NËÈ|²øÏC¼EbãŽÓ¬ï~­¥Ü£ í¡(N }Ô™AXíÀ‹Å¬ŸÇ³#OQOWO]$ðÕRÕCE5M<©5=E<ȲC<FͰËVRU”‚ ½ÿÿÑ<_ðµ•Sü¶~: •ù­´J’*OH÷’’¤ò RGúÇÙVÿ„ƒ*Ÿå“üÍîªuoÜâµÀ:”|k+UãïKoåŸñ3¸¾s|ÓêнÙ´]=Ø}¿þÁEØy®âÄQ`ö•[nìÏbÁS6ÕFÍd!Îuþ7'lzáÉ­Q¤¨’:y¥u°/çü;óù)æúC¿vâû‡®û;+’£Ù½³²°®´Ü»7²v|ìÛárøVÏî pÕ³ÒTýæ¾)3N(ªK%;¢Mí?á9_6·óZþVYÝ¡òòoqï.©Þ“ã7nUoJX³‹Ü›í]¹¸6Æc°(ëbj\í~gkîvÃåZq)ÊÉŒ’¦¤¼µ3^ö~EwSüJøëÚïÚ•Ø­©Ô}#×9­×¸fžžŠ߯2PíÜN9!ž¿3P ÆãhbBÕ5uÓÄ…Tü¬¿á5ß ··ÍæãÕ]©ƒÛ“`ºâÞùäÿgf1pˆ°›ZlV·-ÕŽiBÓ½nçì(éá¤ÌøŠùÑJÒ½·wþ}ŸËWçoóJì?ˆ_þ;÷^S¢¾,CŒî ÷ËMÕSº2Ô»6¶Oâ=eO×8܇\müž7%Û§í—9&3Tðb©´Ë%EU3¼Lúm8ßä·ü¸?–ßAK’êOæoˆîÏ—[wqí|VsãŽCûƒ‘Ïn,^^½qùÜ….¯ò9œ×XO·©ÜäJçêf†¢š…%ó¼"KÈÿ„Q|¦î^Áëÿ˜ÿ÷ÎóÎîίé?ô5¾:‹žÉO“^¿;þ£²q{Ëom׬2ÔcöÖV}­AWn´”Õb¢X£I*§gÿÒ<ðµûvÇÇ_ü]]¡ÿ¾O¼}•øH/ý»'ùšÿáÿœÿà÷§gò†ù¿³—/ó øûó°¶Væì•ÕU{î ǵ¶mf.‹tUãwßZo¼’» Ù© ÅUVá[u-bÓO52Uˆ &x5ùRÞ?áF_ϳ¨›N zgãO_öVÐéΤÜÎÉÝîÚÇmÜ&èÝ…—¦ÜÂÑâðkrnÊLniá*ò ÕÖ´Õõ0¥2½F×ßð“߉;¿áßò²ÍöÏxc›®ò?%{+pü‚‚Û*à_ÒØ½Ÿ·vÞÊÏî5Ê-xJ,ÅÝÈ碚gœ>Bš¡™UÈ]OáHßÏk%üÇ;b«âïÆ½Ó[Mð{§w#2äñ²ÔQ'ÈþÄÃK-;v&] Ã<½y·æÖ›b‚U 7«)P¦ii" uþV_ð¥.¶þT¿±ºcùpà76{%^wOo÷gä}v3uöîýž!Nùì¥=+’‹ „ÃãÕ(±˜j%§ÇÒFX´µSÕTÔYGü*‹ù ü¹¨èÿåç°zŸ;¼z¥~cüYÄüìøö&äÈcê÷¶wvãvÕTA_½q°a²ÙM­×ØÌìR×RGöÔÙc—§’®B‹GÙŠä»×ßÈ‚J]›š¥ßÿͳ¼sûf-ØÛ‹no<ÎçêŠm­ÞXìÆwµë+q}×ûN·«0ˆ£!I=NW7.FXf…¥§£<ÿð_?¾(|Ÿï>šî<îáÅïߘÙÝKÑ8ì6ÖÊçé7õ‡zo|]M_'AQíºZs½i'jŠÆŽsif‘R9?ÿÓbÿ…ª|ÏÎUä~:/óÕü.Ç|¨—¸2Õt§½YðÛ߬ðÛ_fÑÒ4îNß©Éå[0Õm ñÍö~8¼2‰d8ÿ𔎀ìN­þNŸ0ûc{à²; òwö¦åë8²tsRI¸v>Êéê]¢Û€LˆÓáò»® L‡+E?á9GÕ½ñüßþ.u'tõîÏíN±ÞøžýÅn͇¿vþ7sílõütízÈ!ˆÊÓÔÒK5}4U4Ò…ÓTÃÑ2HˆÃéYÕßðŸŸäáÓ»óÙ[#àwS Ù‚®\–"]ß•ì>ÊÀÐ×Ç'– ¸öwdoMÙ³¤¨¤˜¤ sª´zYAwÜÝ)Õ¿!:»vt¯slìvüê½÷އ»öVRjúlFàÄAYK^¸¼ˆÅVPTËŽ–¢Š?,AñƒŠÑ³)­?ø`äÛÿzöøÿÿž|çÿ_½ûþ#ù6ÿÞ½¾?ÿçŸ9ÿ×ïfËäòòøSòŸ£ö7Çÿøå×}—Ó=aŽÁbzÓgæ(«¨ß®ñûoG·°Ôûrákñ›·i}®‚&j úwž–1¥Òëì¶u7ò2þR#¶ûjuçÁŽ™£ÅvÆÔÉì}ó>åƒsv{#µ305>O ‹Ý]ƒ¸·FèÚtõjU™±”y£ŽPÂX£upøÕü’•_ÄNÃÆvÏAü-ê½§Ù8ª|†ÛÞ™Ù÷egv®N’A-&_hÕv†æÞCjf©dŽ·´Õh~’ÿÔܧågòïøSó?Õ›å§Ç‹Þ¹~‘­Î×u£ïa™žƒûð’çé+°Ôj 6éÄeeÛ”M-^ž¾ˆ´ø†§ÔiÆÉÚ1ì¿ôsK·0øÝ†»`ìº}¥‡¡ƒ €¡Úcü=»ŒÆâVŽŸˆ¦ÄZši–$‚0¡E«kãŸòNþVÿ{h|€øíñfupì#›;G|b÷ohåkð‡rmܶÓÍšz-Ǿ³8yM~ÞÎUÒ±–šM)9+¥€ai¾ýïÞýïÞýïÞÿÿÕßãß½ûß½ûß½ûß½ûß½ÿÿÙjp2a-1.0.9/tests/logo-30.txt000066400000000000000000000055361362026105100154450ustar00rootroot00000000000000MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMX00OOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXKOOOOO00KNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMWXXd''..l0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWN0xxl;,.....'';cxKKNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMNKKc ;kXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKd;.. .,,xWWMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMWXXx::;;dKNMMWWNXXXXXNWMMNXKKKKXNWWMMMMMMMk:. .',;;'. ;OXMMMMMMMMWNXXKKKKKXXNWMMMMMMM MMMKxxl,,,,co0MNXXx;;;;;:lddl;,,,,;cooOXWMMMM0olllx0KXX0k; ,dKMMMMXOOxlc;;,,,,,;;clkXXNMMM MMMO::. .'xMN00: ... ..c0XMMMMXk0XXWMMMMMWo ,dKMMMWOll' :kkXMMM MMMOcc. .'xMN00: ':kWWWMNXNWWWMMMMMMo.. ,kKMMWNd... ..... .::kWMM MMMOcc. .,xMN00: .,,;c;''. ;OOXMMMMMMMMMMMWNl lXWMMNXl..':ldxkkoc. lNWM MMMOcc. .,xMN00: :KKXWX00c. .ccOMMMMMMMMMMM0o' .ccOMMMMWN0xx0NNNKOOxl. cXNM MMMOcc. .,xMN00: lWWMMMMMx'. .,,kMMMMMMMMX00c. ..oXXWMMMMMMWNN0xl:,..... cXNM MMMOcc. .,xMN00: lWWWMMMMk,. .,,xMMMMMMMM0oo' .cOMMMMMMMMMN00l'. .'. cXNM MMMOcc. .,xMN00: lWWWMMMMd.. .;;kMMMMMMNKo''. ;x0NNNNWMMWWk::'. .::ld, cXWM MMMOcc. .,xMN00: ,xxk0kxx; ,ddKMMMWNNx;. ..'ccccccxXXK0: .lNNXK: :0XW MMMOcc. .,xMN00: ...'... .oXXWMWNkcc. ;OOO0; ,ooc;. .,o0 MMMOcc. .,xMN00: .... .''lkXMMMMKd;...................:OOKNd''. ...,'... ..cO MMMk;;. .,xMN00: :kkxdoooddk00NMMMMMMXOkxxxxxxxxxxxxxxxxxxx0XXWMN00kdoooddkK0OOxooddxkKN MMMx''. .,xMN00: oMMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMWWMMMMMM MXOc.. .:kMN00: lWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MOl. ;kXMN00: lWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MXO: ..,ccOWWMNKKc ..oWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMW0ddxx0NNWMMMWNN0ddddxxKWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM jp2a-1.0.9/tests/logo-40x25-gray.jpg000066400000000000000000000447531362026105100167120ustar00rootroot00000000000000ÿØÿàJFIFHHÿá)ExifMM*bj(1r2‡i¤ÐAdobe Photoshop CS Macintosh2006:06:23 21:48:35 ÿÿ ( &(.óHHÿØÿàJFIFHHÿí Adobe_CMÿîAdobed€ÿÛ„            ÿÀ("ÿÝÿÄ?   3!1AQa"q2‘¡±B#$RÁb34r‚ÑC%’Sðáñcs5¢²ƒ&D“TdE£t6ÒUâeò³„ÃÓuãóF'”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö7GWgw‡—§·Ç×ç÷5!1AQaq"2‘¡±B#ÁRÑð3$bár‚’CScs4ñ%¢²ƒ&5ÂÒD“T£dEU6teâò³„ÃÓuãóF”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö'7GWgw‡—§·ÇÿÚ ?ô ž§_LÏé½"Œ'ºœ êÙe!­ª†ÔÑéµíÓc?2½«AÙXͺæÓ´’à þï+Ͼ»Áÿ¿Uò›ÿŸWUUmÍúØzõ¦¼ªî¹Ý5¡ÎÙ¿#è1žË¿Ñþq%>¹õ›ëF7Õìz^ü{ó/Êqf>>;w9Å£{ÿªÖµWú£õ×§ýifChªÌ\¬BøöÄ€é s\ߥînÕÏýNúÄÞ‡þ/)ê½uÅÞ“¬f ]üíŒ'ôTÓ¿Ýî{_ÿYgú5õ;«ô 0>°ççd½ÝWªU‘•—Š×µÕPÝî{(¹ìzߦú[ÿÑÿ-%>®ÜŠa­–1Ö7é08‹R^öÞ—GYú½ÕzmxÝ'ùÙ]Y¶öTËk­öu7Ùí«Õg«íÿEüâI)ÿÐêzÔÌœÿ®Xr̦·§tÚØ1ñCaáì.öÌmô·l³wÓÿ…õoêzRë]^¼LúºŽG¯ŒÇ3Ô5ûî»×¯Úí·3ùµØ¤’šÙ7§e2ºòqi½•©¶V׆Ž?F×´ìáBŽÒ1Ü_ƒKœÒÇ:º˜ÒZï¤Ãµ¿EÊâI)ÏWº``é¸vðßB¸ýøÙô’Z $§ÿÙÿí'ŠPhotoshop 3.08BIM%8BIMê¦ com.apple.print.PageFormat.PMHorizontalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMHorizontalRes 72 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMOrientation com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMOrientation 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMScaling 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalRes com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalRes 72 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMVerticalScaling com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMVerticalScaling 1 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.subTicket.paper_info_ticket com.apple.print.PageFormat.PMAdjustedPageRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPageRect 0.0 0.0 783 559 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:51Z com.apple.print.ticket.stateFlag 0 com.apple.print.PageFormat.PMAdjustedPaperRect com.apple.print.ticket.creator com.apple.printingmanager com.apple.print.ticket.itemArray com.apple.print.PageFormat.PMAdjustedPaperRect -18 -18 824 577 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:51Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMPaperName com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMPaperName iso-a4 com.apple.print.ticket.client com.apple.print.pm.PostScript com.apple.print.ticket.modDate 2003-07-01T17:49:36Z com.apple.print.ticket.stateFlag 1 com.apple.print.PaperInfo.PMUnadjustedPageRect com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPageRect 0.0 0.0 783 559 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.PMUnadjustedPaperRect com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.PMUnadjustedPaperRect -18 -18 824 577 com.apple.print.ticket.client com.apple.printingmanager com.apple.print.ticket.modDate 2006-06-23T19:47:15Z com.apple.print.ticket.stateFlag 0 com.apple.print.PaperInfo.ppd.PMPaperName com.apple.print.ticket.creator com.apple.print.pm.PostScript com.apple.print.ticket.itemArray com.apple.print.PaperInfo.ppd.PMPaperName A4 com.apple.print.ticket.client com.apple.print.pm.PostScript com.apple.print.ticket.modDate 2003-07-01T17:49:36Z com.apple.print.ticket.stateFlag 1 com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PaperInfoTicket com.apple.print.ticket.APIVersion 00.20 com.apple.print.ticket.privateLock com.apple.print.ticket.type com.apple.print.PageFormatTicket 8BIMéxHH/ÿîÿî8Ag{àHHØ(dÿh 8BIMíGÿ´Gÿ´8BIM&?€8BIM x8BIM8BIMó 8BIM 8BIM' 8BIMô5-8BIM÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿè8BIM@@8BIM8BIMS(Untitled-2 copy(nullboundsObjcRct1Top longLeftlongBtomlongRghtlong(slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenum ESliceOrigin autoGeneratedTypeenum ESliceTypeImg boundsObjcRct1Top longLeftlongBtomlongRghtlong(urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT horzAlignenumESliceHorzAligndefault vertAlignenumESliceVertAligndefault bgColorTypeenumESliceBGColorTypeNone topOutsetlong leftOutsetlong bottomOutsetlong rightOutsetlong8BIM( ?ð8BIM8BIM8BIM (x ¸óÿØÿàJFIFHHÿí Adobe_CMÿîAdobed€ÿÛ„            ÿÀ("ÿÝÿÄ?   3!1AQa"q2‘¡±B#$RÁb34r‚ÑC%’Sðáñcs5¢²ƒ&D“TdE£t6ÒUâeò³„ÃÓuãóF'”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö7GWgw‡—§·Ç×ç÷5!1AQaq"2‘¡±B#ÁRÑð3$bár‚’CScs4ñ%¢²ƒ&5ÂÒD“T£dEU6teâò³„ÃÓuãóF”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö'7GWgw‡—§·ÇÿÚ ?ô ž§_LÏé½"Œ'ºœ êÙe!­ª†ÔÑéµíÓc?2½«AÙXͺæÓ´’à þï+Ͼ»Áÿ¿Uò›ÿŸWUUmÍúØzõ¦¼ªî¹Ý5¡ÎÙ¿#è1žË¿Ñþq%>¹õ›ëF7Õìz^ü{ó/Êqf>>;w9Å£{ÿªÖµWú£õ×§ýifChªÌ\¬BøöÄ€é s\ߥînÕÏýNúÄÞ‡þ/)ê½uÅÞ“¬f ]üíŒ'ôTÓ¿Ýî{_ÿYgú5õ;«ô 0>°ççd½ÝWªU‘•—Š×µÕPÝî{(¹ìzߦú[ÿÑÿ-%>®ÜŠa­–1Ö7é08‹R^öÞ—GYú½ÕzmxÝ'ùÙ]Y¶öTËk­öu7Ùí«Õg«íÿEüâI)ÿÐêzÔÌœÿ®Xr̦·§tÚØ1ñCaáì.öÌmô·l³wÓÿ…õoêzRë]^¼LúºŽG¯ŒÇ3Ô5ûî»×¯Úí·3ùµØ¤’šÙ7§e2ºòqi½•©¶V׆Ž?F×´ìáBŽÒ1Ü_ƒKœÒÇ:º˜ÒZï¤Ãµ¿EÊâI)ÏWº``é¸vðßB¸ýøÙô’Z $§ÿÙ8BIM!SAdobe PhotoshopAdobe Photoshop CS8BIMÿáhttp://ns.adobe.com/xap/1.0/ 4294967295 40 25 1 27/1 27/1 3 2006-06-23T21:48:35+02:00 2006-06-23T21:48:35+02:00 2006-06-23T21:48:35+02:00 Adobe Photoshop CS Macintosh adobe:docid:photoshop:1e6c3631-0494-11db-9a66-ee67d6f99181 image/jpeg ÿîAdobedÿÛCÿÀ (ÿÝÿÄÒ    u!"1A2# QBa$3Rqb‘%C¡±ð&4r ÁÑ5'áS6‚ñ’¢DTsEF7Gc(UVW²ÂÒâòdƒt“„e£³ÃÓã)8fóu*9:HIJXYZghijvwxyz…†‡ˆ‰Š”•–—˜™š¤¥¦§¨©ª´µ¶·¸¹ºÄÅÆÇÈÉÊÔÕÖרÙÚäåæçèéêôõö÷øùúÿÚ?܆³æ4ô=(>7Dv›ã+~=Ô÷¤Ÿ$U0ã§(rÛšl몗«\Šîö ƒïŠ[È ta „´èg׳zÙÎ('alw9ÜŒ˜| ]Ùc™ËÄI./yþ!‘Š:¨™ ‡\ª$RWÔ/SßÍùÍu¿òÎÜ;#­ÇÇ‘?){“}l|×iSlŠÚg'Eµú¿må ›ßãs2W6M’¢O XKNÐ&†q«ùZÿ4Ͽ̓ã•È.ŽÇn­ýÔÝ•» ²º÷EŽƒrìMÛCŒÇæÄÖâêë1œS ”‚ª‹!&ŒºHÏ ÐÇ`›s}ì}ã6BŸhï-©ºj1ˆr°mÍÈÎMŒ˜–QB,eeSÑJYHÓ Sp}ÿÿÐ0]Ôªá_õ¤ª“þÈVöo úÿ²§¾Òÿëèãýn=êUÐ;ùYÖÿ&¿•ó¹û)†þg{K¾1kñic7†þ§ÉͲªW¨mWA²©"}SˆÉ†ÜÍ•ÉÔ_N1´Úd…Ò–:äë¿›„¿Êÿùü<ïß–¬wgÏ~ÛøÁ·öPìÚQ»S²r‘Òd¦ëýÑØ²d€Üçflí£•Æe÷-eg­ë*>¯âñ‡¥ßÛü©ú#þ÷òûdn¾ËíÏ”{ÎmÝÓõ󗮺È蜥vèí>ËÚ;c¬º/Ú;›imêJ±Z½§#udq Q$ðÏ”4dŠª%_ù{öÿDô/óøþ^=—ÕõŸ>%ô~ôMvõêÏŒ_"wÏmõÎË»Ö]¹Æéîþì-ÿ’’<—}ÖçÎØþ-‡‚j ,ĸԎ¾Í'ÿѽ½™ü™;–§ùËüœþi}Ëòlï\çêÍÃÕßúã·êqYÍ£‡Ý½eE°“±*éñ”ˆñ["‚|•% Ñÿ«Ë ¤®«žÑéädþIÿÈk|øË›êÏšyñä×nSü‚Üý·×‘CÖîÀ©Ù{{5²ú×EˆÅn^ÔëÜVçÃä©3Û2ª³E"- jp2a converted image
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMWNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNNNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMXdcl0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN0dcc:clkXMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMNo.  ;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXOc'      .:kWMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMK,    dMMMMMMMMMMMMMMMMMMMMMMMMMMMKl;.          .xWMMMMMMMMMMMMMMMMMMMMMMMMM
MMMM0'    dMMMMMMMMMMMMMMMMMMMMMMMMMMWo              .OMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMNl   ,0MMMMMMMMMMMMMMMMMMMMMMMMMMN:               cNMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMKo:lOWMMMMMMMMMMMMMMMMMMMMMMMMMMNc     ...       .OMMMMMMMMMMMMMMMMMMMMMMMM
MMMMX0OkO0KWMMWK00000XMN0xxxOXWMMMMMMN:   ;okkx;      .dMMMMMMMWNKkxxxxOXWMMMMMM
MMMWd'''''cKMMXl'''''dkc'....;dXMMMMMNc.;oKMMMM0,      dMMMMMW0o:,......;o0WMMMM
MMMWc     '0MMK,     ..       .:0MMMMNkkXNMMMMMWo      dMMMMKl'           ,OWMMM
MMMWc     '0MMK,                ;KMMMWNWMMMMMMMMx.    .xMMMWl              ,0MMM
MMMWc     '0MMK,                 lNMMMMMMMMMMMMMd     .OMMMN:    .','.      dMMM
MMMWc     '0MMK,      .;c;.      .OMMMMMMMMMMMMWl     cNMMMNc  ,ok0K0l.     cWMM
MMMWc     '0MMK,     'xXNXd.      oMMMMMMMMMMMMK;    .xMMMMNc.lKWMMMMK,     :NMM
MMMWc     '0MMK,     lWMMMWo      cNMMMMMMMMMMWd.    :XMMMMWkxNMMMMWXx'     ;XMM
MMMWc     '0MMK,     lWMMMMO.     ;XMMMMMMMMMMK,    .OMMMMMMWWMMWXkl;.      ;XMM
MMMWc     '0MMK,     lWMMMMK,     ,KMMMMMMMMMNc    .oWMMMMMMMMW0o;.         ;XMM
MMMWc     '0MMK,     lWMMMMX;     ,KMMMMMMMMNo.    :XMMMMMMMMKl'    .,.     ;XMM
MMMWc     '0MMK,     lWMMMM0'     ;XMMMMMMMWx.    ,0MMMMMMMM0;     ,d0;     ;XMM
MMMWc     '0MMK,     lMMMMWd      cWMMMMMMWk.    .xNNNNNNWMNc     ;KWN:     ;XMM
MMMWc     '0MMK,     ;0WMWO'      dMMMMMMM0'     .;:::::l0MO'    .xMMN:     :NMM
MMMWc     '0MMK,      'ldl'      '0MMMMMMK;             .xMx.    .xMMK,     ,OKN
MMMWc     '0MMK,                 lWMMMMXOc              .xMk.     ;xd;       ,:k
MMMWc     '0MMK,                ;KMMMMXl.               .xMK,      ..          d
MMMWc     '0MMK,               ;0MMMMXl.                .xMWd.       ..       .x
MMMNc     '0MMK,     ,c.    .,oKMMMMMO;.'''''''''''''''',OMMXo'.   .,dk:.   .;dX
MMMN:     '0MMK,     lNOddddxKWMMMMMMX0O00000000000000000NMMMW0xdddxKWMKxdddkKWM
MMMK,     ,KMMK,     lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MWKl      ;XMMK,     lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MXc.      lWMMK,     lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MX;      .kMMMK,     lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MWd      cNMMMK,     lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMK,    :KMMMMK,     lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMWo..'oKMMMMMX:.....oWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMKxx0WMMMMMMW0xxxxxKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
jp2a-1.0.9/tests/normal-b.txt000066400000000000000000000040721362026105100157660ustar00rootroot00000000000000+------------------------------------------------------------------------------+ |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMWk:';oXMMMMMMMMMMMMMMMMMMMMMMMMMMMWKxl;,''';cdKWMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMK, .dMMMMMMMMMMMMMMMMMMMMMMMMMMWo. .cKMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMWx;',oXMMMMMMMMMMMMMMMMMMMMMMMMMMN' . ,KMMMMMMMMMMMMMMMMMMMMMMMM| |MMMWOllcllxNMMNklllllOKxlc:cldONMMMMMN;;dO0KOo. dMMMMMWKkdoc:::clokXWMMMM| |MMMWc '0MMK, .cOWMMWXWMMMMMMd .kMMMWx'. ... .:0MMM| |MMMWc '0MMK, .:oxd:. .xMMMMMMMMMMN: oWMMMNc.,ok0XXXx. :NMM| |MMMWc '0MMK, lWMMMWx. :XMMMMMMMMXc .dNMMMMW00WMWNKkdc. ;XMM| |MMMWc '0MMK, lWMMMMK, ,KMMMMMMWO, 'OWMMMMMMMXkl;.. .. ;XMM| |MMMWc '0MMK, lWMMMMk. :NMMMMM0c. .cKWWWWWMMWx. .oOK: ;XMM| |MMMWc '0MMK, .oxOkl. .kMMMMXo. .'''''';OMO. .xMMK; ,0NN| |MMMWc '0MMK, .kWMMM0, .xM0' .c:. .,k| |MMMNc '0MMK, 'c;,''',:okNMMMMXo;;;;;;;;;;;;;;;c0MW0o;,''',:odc,'',;:oK| |MMNx. ,KMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MXc .dWMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMk. 'xNMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMWk::okNMMMMMNd::::cOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| |MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM| +------------------------------------------------------------------------------+ jp2a-1.0.9/tests/normal-clear.txt000066400000000000000000000035621362026105100166360ustar00rootroot00000000000000MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMWk:';oXMMMMMMMMMMMMMMMMMMMMMMMMMMMWKxl;,''';cdKWMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMK, .dMMMMMMMMMMMMMMMMMMMMMMMMMMWo. .cKMMMMMMMMMMMMMMMMMMMMMMMMM MMMMWx;',oXMMMMMMMMMMMMMMMMMMMMMMMMMMN' . ,KMMMMMMMMMMMMMMMMMMMMMMMM MMMWOllcllxNMMNklllllOKxlc:cldONMMMMMN;;dO0KOo. dMMMMMWKkdoc:::clokXWMMMM MMMWc '0MMK, .cOWMMWXWMMMMMMd .kMMMWx'. ... .:0MMM MMMWc '0MMK, .:oxd:. .xMMMMMMMMMMN: oWMMMNc.,ok0XXXx. :NMM MMMWc '0MMK, lWMMMWx. :XMMMMMMMMXc .dNMMMMW00WMWNKkdc. ;XMM MMMWc '0MMK, lWMMMMK, ,KMMMMMMWO, 'OWMMMMMMMXkl;.. .. ;XMM MMMWc '0MMK, lWMMMMk. :NMMMMM0c. .cKWWWWWMMWx. .oOK: ;XMM MMMWc '0MMK, .oxOkl. .kMMMMXo. .'''''';OMO. .xMMK; ,0NN MMMWc '0MMK, .kWMMM0, .xM0' .c:. .,k MMMNc '0MMK, 'c;,''',:okNMMMMXo;;;;;;;;;;;;;;;c0MW0o;,''',:odc,'',;:oK MMNx. ,KMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MXc .dWMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMk. 'xNMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMWk::okNMMMMMNd::::cOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM jp2a-1.0.9/tests/normal-curl.txt000066400000000000000000002677511362026105100165310ustar00rootroot00000000000000MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOdllllloxOXWMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNK0kdoolllllllllodxkOKXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWXx:. .'cxKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKkdl:,'.. ...,:ox0XWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNO:. .;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOoc,.. .':okKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXd, .oXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXkl;. .;oONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXo. .oXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNOo;. .ckXWMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMWNd. .oXMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWMMWMMWXkc. .:kXMMMMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWO' .xNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMWMMMWXx;. .:ONMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK: ,OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMWWWKx:. .oXWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWd. lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMWXd;. .:kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; '0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNk:. .dNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMk. dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0xc. .lXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWo cWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXd,. .cKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWc ;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMWNOc. cKWMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN: '0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMWKo' .cKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; .OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXk;. cXMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; .OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNo. .oNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN: '0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0, .xWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNc ,KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO. 'OWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWo :NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO' :KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. dWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' .oNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK, .OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' '0MMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWd. cXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' lNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK; 'OWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' 'OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWx. .dWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' lNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNo. lXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' ,0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXo. .cKMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' .oNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMWXd. .oXWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMNx;. .;kXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXx:'. ..:dXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWN0xolllloxOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' :XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' .';;;;;;;'. .OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' .,cdk0XXXXXXX0kd:. .xMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' .;lkKWMMMMMMMMMMMMMNOc. lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' 'ckKNWMMMMMMMMMMMMMMMMMNOc. :NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' 'lONWMWWMMMMMMMMMMMMMMMMMMWXd. ;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' .cONMMMMMMMMMMMMMMMMMMMMMMMMMMNk' '0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMWMMMMMMMMWNKOkxdolllllllllodk0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' .;xXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWx. .kMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNKOkxxollllllllllllloddxO0XNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMNkllllllllllllllllllllllllllllllllllkNMMMMMMMMMMMMMMMMMMMMMWOllllllllllllllllllllllllllllllllllkNMMMMMWWMMMMMWKkoc,... .':ldOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' .dKNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNo. .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKkdlc:,'... ...';codkKNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMWMMMMK; :KMMMMMMMMMMMMMMMMMMMMMWl ;KMMMMMWMMMWXkl,. .;lkXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' ;ONMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMXc .xMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKOxl:,. .,cdOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; :XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMWKx:. .;d0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' .lKWMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOdc,.. ..;oOXMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMWMMMMMMMMMMMMMMMMMMMMl ;XMWMMMWXx;. .'lONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' .:dXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMWo oMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXko;.. .:xKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMWWMNk:. 'lONMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' ,kXNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK, lMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOo;. .;xKWMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl :XMMWKo. 'l0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' :OWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNo lMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKx:. .;xXWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMNk:. ,dXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' cKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWO' lMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN0o,. .c0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl :XXd' .l0WMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWW0' .:KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX: oMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOl, ,xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;xc. ;kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWO'.lKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNl dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKo. .dNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .' .dNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO;lXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWd. .xMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWXd;. .oXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .oXWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXOKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMk. .xMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXk:. .oXWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .lKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' .kMMMMMMMMMMMMMMMMMMMMMMMMMMMWKl. .oXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .oXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK, '0MMMMMMMMMMMMMMMMMMMMMMMMMMM0; .xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .oXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;KMMMMMMMMMMMMMMMMMMMMMMMMMMMx. ,OWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .dNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; :NMMMMMMMMMMMMMMMMMMMMMMMMMMMx. ;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; lWMMMMMMMMMMMMMMMMMMMMMMMMMMMx. .dNMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ,OWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK, dMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. ,0MWMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl :KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK, .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. oWMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .oNMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' ,KMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. ,KMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMk. cNMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. .dWMWMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl :XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. .dWMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. :XMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .dWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMo .OMMWWMMMMMMMMMMMMMMMMMMMMMMMMMx. ..',;:;;;;;;,.. '0MMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl '0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWc ;XMMWWMMMMMMMMMMMMMMMMMMMMMMMMMx. .,coxO0KXXXXXXXXKOxo:. .xWMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .oNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX; oWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. .':okKNMMMMMMMMMMMMMMMMMXx:. lWMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ,0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' 'OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. .:d0XWMMMMMMMMMMMMMMMMMMMMMWXo. cNMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ..,;::;:;'. oWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMx. cNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. 'lOXWMMWMMMMMMMMMMMMMMMMMMMMWWMXo. ;KMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .;oxk0XXXXXX0xo;. ;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWl .xMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. 'lONMWWMMWMMMMMMMMMMMMMMMMMMMMWWMMX: '0MMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .:kXWMMMMMMMMMMMWXkl' .xWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK, ;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. .lONMMWMMMMMMWMMMMMMMMMMMMMMMMMMMMMMWk. .kMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .:xXMMMMMMMMMMMMMMMMMWO:. cXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWx. .dWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. .:ONWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMX: .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ,xXWMMMMMMMMMMMMMMMMMMMWKo. 'OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNc '0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. ,xXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMWWWd. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .c0NMMMMMMMMMMMMMMMMMMMMMMWXx' .dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK, cNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd. .l0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMO' .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .oXMMMMMMMMMMMMMMMMMMMMMMMMMWWx. lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWd. .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. ;xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .dXMMMMMMMMMMMMMMMMMMMMMMMMMMWWXl. ,KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX: cXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. .c0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNc .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ,KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK; .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk. .OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. 'dXWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMWo .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk. oMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX: lNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. ,kWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNl cWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMk. ,KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. :0WMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl :NMMMMMMMMMMMMMMMMMMMMMMMMMMWWMWWWO' ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX: .dWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. .cKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNo .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl :XMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWMMNl '0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMk. :XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx..oXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOl. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMk. .xMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMXc .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx'oXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKxc' .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMWWWWx. .oNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0xXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXkl,. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWl oMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMWWWK; ;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMWKkl;. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMWo. .kWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMNKxl,. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO. cNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' .oNMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN0xl,. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK, :NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX: ;KMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOxl,. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN: ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNo. .xWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWN0d:'. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWl ,KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMO' .lNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMN0dc'. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMo '0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWK: ;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0dc'. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. 'OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNo. .kWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOl,. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. 'OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk' lNMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMWKd;. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. 'OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0, ,0MMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXkl,. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. 'OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK: .xWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKd:. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. 'OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNo. .oNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKd,. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. 'OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMXx. :KMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMW0d;. .. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMx. 'OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWO, 'OWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWXd,. .cdc .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMo ,0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMM0: .oWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMNOc. 'ckXWx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKc :KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXd' 'lONMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWc ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXl. ,0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXl. .,o0NMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX: :NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWd. .xWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0:. ,d0WMMMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK, cWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk' .oNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWO; 'o0WMMWMMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO. oMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWO, :XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0, .cOWMWWWWMMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWd. .xMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0; ,0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK: .;xNWMMWMMMMMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWl .kMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKc. .kWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXl .oKWMMMMMMMMMMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK; '0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXl. .oNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMNd. ,xXWMMMMMMMMMMMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMk. :NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNo. cKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWO' ;OWMMMMMMMMMMMMMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMWNl cWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWx. ;0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMXc 'OWMMMMMMMMMMMMMMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMM0, .dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk. 'kWMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk. .dWMMMMMMMMMMMMMMMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWo .OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0, .xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMX: :XMWMMMMMMMMMMMMMMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK; .oNMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' .xWWWMMMMMMMMMMMMMMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWXc lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKc .cXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMWd. ;XMMMMMMMMMMMMMMMMMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWx. .xMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXl. :KWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNc lWMMMMMMMMMMMMMMMMMMMMMx. .xMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ,OWMMMMMMMMMMMMMMMMMMMMMMMMMMMW0, '0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNo. 'clllllllllllllllllllllllllllllllllllllllllkWMMMMMMMMMMMMMK, .dMMMMMMMMMMMMMMMMMMMMMMx. .xMMMMMMWMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .:xXMMMMMMMMMMMMMMMMMMMMMMMMMWO; cNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNx. ;XMMMMMMMMMMMMMk. .kMMMMMMMMMMMMMMMWMMMMMMd. .xMMMMMMWMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .cONMMMMMMMMMMMMMMMMWMMMMMWO, .xWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk' ;XMMMMMMMMMMMMMx. .OMMMMMMMMMMMMMMMMMMMWMMd dMMMMMMMMMMWMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl 'o0WMMMMMMMMMMMMMMMMMMMNk; ,KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWO, ;XMMMMMMMMMMMMMd 'OMMMMMMMMMMMMMMMMMMMMMMx. oMMMMMMMMMMWMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ,o0WMMMMMMMMMMMMMMMWXd' oWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0; ;XMMMMMMMMMMMMMl .kMMMMMMMMMMMMMMMMMMMMMMx. lWMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .'lkXWWMMMMWWWWMWXx:. .OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK: ;XMMMMMMMMMMMMMl .dMMMMMMMMMMMMMMMMMMWWMMd. ;XMMMMMMMMWMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .;ldOKXXXXK0ko;. cNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKc ;XMMMMMMMMMMMMMl lWMMMMMMMMMMMMMMMMMWWWKc .OMMMMMMMMMMWNWMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ..,;:::;,. .kMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXl. ;XMMMMMMMMMMMMMl ;KWMMMMMMMMMMMMMMMMMW0c. oWMMMMMMMWKddKWMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl :XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMXo. ;XMMMMMMMMMMMMMl .dNMWMMMMMMMMMMMMMMNk; ,ONMMMWXOo,.,OWMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .kWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMNd. ;XMMMMMMMMMMMMMl ,OWWWMMMMMMMMMMMW0l. ,dkkxo:. 'OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl lNMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMWk' ;XMMMMMMMMMMMMMo :0WWMMMMMMMMMWXx, .... .OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl '0MMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWO, ;XMMMMMMMMMMMMMd ;kNMMMMMMMWXx:. 'OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .dWMWMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0, ;XMMMMMMMMMMMMMk. .lkKXXXKOd;. 'OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl :XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWK; ;XMMMMMMMMMMMMM0, .,;;;,.. 'OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl 'OWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKx: ;XMMMMMMMMMMMMMNc .OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .dNMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK:. ;XMMMMMMMMMMMMMMo .OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl cXMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXl ;XMMMMMMMMMMMMMMO. .OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl :KMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMWMXo. ;XMMMMMMMMMMMMMMX: .OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;OWMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMWXo. ;XMMMMMMMMMMMMMMWd. .OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;OWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNd. ;XMMMMMMMMMMMMMMMK; .OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ,OWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNx. ;XMMMMMMMMMMMMMMMWd. .OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;OWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNx' ;XMMMMMMMMMMMMMMMMXc .OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .c0WMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNk' ;XMMMMMMMMMMMMMMMMMO' .,. .OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .oKWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNx' ;XMMMMMMMMMMMMMMMMMNx. ,x0: .OMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ,xNMMWMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMNx' ;XMMMMMMMMMMMMMMMMWMNo. .c0WMx. 'OWMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl .,. .c0WMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMWMNx' ;XMMMMMMMMMMMMMMMMMMMXd' 'dXWWMK: ;KWMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;kx,. .;xXMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNx' ;XMMMMMMMMMMMMMMMMMMMMNk, .cOWMWWMWO' .;lONMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XW0o,. .;dKWMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk. ;XMMMMMMMMMMMMMMMMMMMMMWO:. .:kXWMMMMMMNd. .'cxKWWMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMK, ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMN0o,. .;dKWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMWl ;XMMMMMMMMMMMMMMMMMMMWWMWKd;. .:kXWMWMMMMMMMNo. .'cd0NWMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMM0' ;XMMMMMMMMMMMMMMMMMMMMMMl :XMMMMW0d;. .'cxKWMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWl ;KMMMMMMMMMMMMMMMMMMMWMMMMWKd,. 'ckNMMMMWWMMMMMMMXo. .'cd0NWMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMO' ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMXkl,. .,cd0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllxNMMMMMMMMMMMMMMMMMMMMMMWMMMWKxc'. .';o0NMMMMMMMMWMMMWWMMNx,. .;lx0NWMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMO. ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMNKkoc;'.. ..';cokKWMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMWWMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMN0dl:,.. ...,:lx0XWMMMMMMMMMMMMMMWWMMMN0xl,. ..,:ldOKNMMMMMMMMMMMWMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMk. ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMWNX0kddollllllllllodxk0XWMMMMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMWXKOxollllllllllodxkOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMN0kdollllllllllodkOKNWMMMMMMMMMMMMMMMWMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMd ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMo ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMWWWc ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMWWX; ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMM0' ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMWx. ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMNl ;XMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMWMMMMMMMMM0, :NMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMWMMMMMMMMNo. cNMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMWMM0, lWMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMXl. oMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMNd. dMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMNx' .kMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMWXd. '0MMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMNOc. ;XMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMNOl' cNMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMWKxc' oWWWMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMKc. .OMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMM0' :XMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMNc oWMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMk. .OMWMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMK; cXMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMWd. .dWMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMK, ;KMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMWo .xWMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMM0' :XMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMNc .OMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMk. .oNMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMX: :XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMx. ,OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMK, .xWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMNo. .dNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMM0' .dNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMXc .oXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMWMWk. .oXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMXc .oXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMWWx. ,xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMWMK; .c0NMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMWo. 'dXMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMM0' 'lOWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMNo 'lONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;XMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMO' .;o0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMl ;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMXc .,cxKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMOllllllllllllllllllllllllllllllllllkNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMWx. ..,:okKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMXdllloxOKNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM jp2a-1.0.9/tests/normal-verbose.txt000066400000000000000000000133471362026105100172170ustar00rootroot00000000000000File: jp2a.jpg Source width: 80 Source height: 50 Source color components: 1 Output width: 78 Output height: 24 Output palette (23 chars): ' ...',;:clodxkO0KXNWM' Decompressing image [##....................................................]Decompressing image [###...................................................]Decompressing image [####..................................................]Decompressing image [#####.................................................]Decompressing image [######................................................]Decompressing image [########..............................................]Decompressing image [#########.............................................]Decompressing image [##########............................................]Decompressing image [###########...........................................]Decompressing image [############..........................................]Decompressing image [#############.........................................]Decompressing image [##############........................................]Decompressing image [###############.......................................]Decompressing image [################......................................]Decompressing image [#################.....................................]Decompressing image [##################....................................]Decompressing image [###################...................................]Decompressing image [#####################.................................]Decompressing image [######################................................]Decompressing image [#######################...............................]Decompressing image [########################..............................]Decompressing image [#########################.............................]Decompressing image [##########################............................]Decompressing image [###########################...........................]Decompressing image [############################..........................]Decompressing image [#############################.........................]Decompressing image [##############################........................]Decompressing image [###############################.......................]Decompressing image [################################......................]Decompressing image [#################################.....................]Decompressing image [###################################...................]Decompressing image [####################################..................]Decompressing image [#####################################.................]Decompressing image [######################################................]Decompressing image [#######################################...............]Decompressing image [########################################..............]Decompressing image [#########################################.............]Decompressing image [##########################################............]Decompressing image [###########################################...........]Decompressing image [############################################..........]Decompressing image [#############################################.........]Decompressing image [##############################################........]Decompressing image [################################################......]Decompressing image [#################################################.....]Decompressing image [##################################################....]Decompressing image [###################################################...]Decompressing image [####################################################..]Decompressing image [#####################################################.]Decompressing image [######################################################]Decompressing image [#######################################################] MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMWk:';oXMMMMMMMMMMMMMMMMMMMMMMMMMMMWKxl;,''';cdKWMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMK, .dMMMMMMMMMMMMMMMMMMMMMMMMMMWo. .cKMMMMMMMMMMMMMMMMMMMMMMMMM MMMMWx;',oXMMMMMMMMMMMMMMMMMMMMMMMMMMN' . ,KMMMMMMMMMMMMMMMMMMMMMMMM MMMWOllcllxNMMNklllllOKxlc:cldONMMMMMN;;dO0KOo. dMMMMMWKkdoc:::clokXWMMMM MMMWc '0MMK, .cOWMMWXWMMMMMMd .kMMMWx'. ... .:0MMM MMMWc '0MMK, .:oxd:. .xMMMMMMMMMMN: oWMMMNc.,ok0XXXx. :NMM MMMWc '0MMK, lWMMMWx. :XMMMMMMMMXc .dNMMMMW00WMWNKkdc. ;XMM MMMWc '0MMK, lWMMMMK, ,KMMMMMMWO, 'OWMMMMMMMXkl;.. .. ;XMM MMMWc '0MMK, lWMMMMk. :NMMMMM0c. .cKWWWWWMMWx. .oOK: ;XMM MMMWc '0MMK, .oxOkl. .kMMMMXo. .'''''';OMO. .xMMK; ,0NN MMMWc '0MMK, .kWMMM0, .xM0' .c:. .,k MMMNc '0MMK, 'c;,''',:okNMMMMXo;;;;;;;;;;;;;;;c0MW0o;,''',:odc,'',;:oK MMNx. ,KMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MXc .dWMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMk. 'xNMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMWk::okNMMMMMNd::::cOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM jp2a-1.0.9/tests/normal.txt000066400000000000000000000035501362026105100155470ustar00rootroot00000000000000MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMWk:';oXMMMMMMMMMMMMMMMMMMMMMMMMMMMWKxl;,''';cdKWMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMK, .dMMMMMMMMMMMMMMMMMMMMMMMMMMWo. .cKMMMMMMMMMMMMMMMMMMMMMMMMM MMMMWx;',oXMMMMMMMMMMMMMMMMMMMMMMMMMMN' . ,KMMMMMMMMMMMMMMMMMMMMMMMM MMMWOllcllxNMMNklllllOKxlc:cldONMMMMMN;;dO0KOo. dMMMMMWKkdoc:::clokXWMMMM MMMWc '0MMK, .cOWMMWXWMMMMMMd .kMMMWx'. ... .:0MMM MMMWc '0MMK, .:oxd:. .xMMMMMMMMMMN: oWMMMNc.,ok0XXXx. :NMM MMMWc '0MMK, lWMMMWx. :XMMMMMMMMXc .dNMMMMW00WMWNKkdc. ;XMM MMMWc '0MMK, lWMMMMK, ,KMMMMMMWO, 'OWMMMMMMMXkl;.. .. ;XMM MMMWc '0MMK, lWMMMMk. :NMMMMM0c. .cKWWWWWMMWx. .oOK: ;XMM MMMWc '0MMK, .oxOkl. .kMMMMXo. .'''''';OMO. .xMMK; ,0NN MMMWc '0MMK, .kWMMM0, .xM0' .c:. .,k MMMNc '0MMK, 'c;,''',:okNMMMMXo;;;;;;;;;;;;;;;c0MW0o;,''',:odc,'',;:oK MMNx. ,KMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MXc .dWMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMk. 'xNMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMWk::okNMMMMMNd::::cOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM jp2a-1.0.9/tests/run-tests.sh000077500000000000000000000166461362026105100160330ustar00rootroot00000000000000#!/bin/bash # Copyright 2006-2016 Christian Stigen Larsen # Copyright 2020 Christoph Raitzig # # This is a small script to test if jp2a has been correctly built. ## PATH TO EXECUTABLE jp2a JP=../src/jp2a UNAME=`uname -a` UPDATE=no if test "`echo ${UNAME} | cut -c1-6`" == "CYGWIN" ; then JP=../src/jp2a.exe fi if test "${1}" == "update" ; then UPDATE=yes fi ## INITIALIZE VARS RESULT_OK=0 RESULT_FAILED=0 FAILED_STR="" function print_intense() { echo -e -n "\033[1m${1}\033[0m" } function test_ok() { print_intense "OK" RESULT_OK=$((RESULT_OK + 1)) } function test_failed() { print_intense "FAILED" RESULT_FAILED=$((RESULT_FAILED + 1)) FAILED_STR="${FAILED_STR}\n${2} | diff --strip-trailing-cr --brief - ${1}" } function test_jp2a() { CMD="${JP} ${2}" printf "test (%2s) %-45s " "$((RESULT_OK+RESULT_FAILED+1))" "(${1})" if [ ! -e "${3}" ] ; then print_intense "(missing ${3}) " test_failed ${3} "${CMD}" else if test "${UPDATE}" == "no" ; then eval ${CMD} | diff --strip-trailing-cr --brief - ${3} 1>/dev/null && test_ok || test_failed ${3} "${CMD}" else eval ${CMD} > ${3} test_ok fi fi echo "" } function test_results() { echo "" echo "TEST RESULTS FOR JP2A" echo "" printf "Tests OK : %2d of %2d (%4s)\n" "$((RESULT_OK))" "$((RESULT_OK+RESULT_FAILED))" "$((100*RESULT_OK/(RESULT_OK+RESULT_FAILED)))%" printf "Tests FAILED: %2d of %2d (%4s)\n" "$((RESULT_FAILED))" "$((RESULT_OK+RESULT_FAILED))" "$((100*RESULT_FAILED/(RESULT_OK+RESULT_FAILED)))%" echo "" if test "x${FAILED_STR}" != "x" ; then echo "Summary of failed tests:" echo -e "${FAILED_STR}" fi } echo "-------------------------------------------------------------" echo " TESTING JP2A BUILD" echo " " echo " Note that the output may vary a bit on different platforms," echo " so some tests may fail. This does not mean that jp2a is" echo " completely broken." echo "-------------------------------------------------------------" echo "" test_jp2a "width" "--width=78 jp2a.jpg" normal.txt test_jp2a "border, width" "-b --width=78 jp2a.jpg" normal-b.txt test_jp2a "size" "--size=160x49 jp2a.jpg" 160x49.txt test_jp2a "height" "--height=10 jp2a.jpg" 10h.txt test_jp2a "size" "--size=40x40 jp2a.jpg" 40x40.txt test_jp2a "size" "--size=1x1 --invert jp2a.jpg" 1x1-inv.txt test_jp2a "invert, border" "-i -b --width=110 --height=30 jp2a.jpg" 110x30-i-b.txt test_jp2a "width, flip, invert" "--width=78 --flipx --flipy --invert jp2a.jpg" flip-xy-invert.txt test_jp2a "width, border" "--width=78 -b jp2a.jpg jp2a.jpg" 2xnormal-b.txt test_jp2a "width, verbose" "--verbose --width=78 jp2a.jpg 2>&1 | tr -d '\r'" normal-verbose.txt TEMPFILE=`mktemp /tmp/jp2a-test-XXXXXX` test_jp2a "width, outfile" "--width=78 jp2a.jpg --output=${TEMPFILE} && cat ${TEMPFILE}" normal.txt rm -f ${TEMPFILE} test_jp2a "width, clear" "--width=78 jp2a.jpg --clear" normal-clear.txt test_jp2a "height, grayscale" "logo-40x25-gray.jpg --height=30" logo-30.txt test_jp2a "size, invert" "grind.jpg -i --size=80x30" grind.txt test_jp2a "size, invert, red channel" "grind.jpg -i --size=80x30 --red=1.0 --green=0.0 --blue=0.0" grind-red.txt test_jp2a "size, invert, blue channel" "grind.jpg -i --size=80x30 --red=0.0 --green=1.0 --blue=0.0" grind-green.txt test_jp2a "size, invert, green channel" "grind.jpg -i --size=80x30 --red=0.0 --green=0.0 --blue=1.0" grind-blue.txt test_jp2a "width, grayscale" "--width=78 dalsnuten-640x480-gray-low.jpg" dalsnuten-normal.txt test_jp2a "invert, width, grayscale" "--invert --width=78 dalsnuten-640x480-gray-low.jpg" dalsnuten-invert.txt test_jp2a "invert, size, grayscale" "--invert --size=80x49 dalsnuten-640x480-gray-low.jpg" dalsnuten-80x49-inv.txt test_jp2a "size, invert, border" "dalsnuten-640x480-gray-low.jpg --size=80x25 --invert --border --size=150x45" dalsnuten-640x480-gray-low.txt test_jp2a "size, html" "--size=80x50 --html --html-fontsize=7 jp2a.jpg" logo.html test_jp2a "size, color, html, flipx" "--size=80x50 --html --color --html-fontsize=8 --flipx grind.jpg" grind-flipx.html test_jp2a "size, color, html, flipy" "--size=80x50 --html --color --html-fontsize=8 --flipy grind.jpg" grind-flipy.html test_jp2a "size, color, html, flipxy" "--size=80x50 --html --color --html-fontsize=8 --flipx --flipy grind.jpg" grind-flipxy.html test_jp2a "width, html, gray, dark" "dalsnuten-640x480-gray-low.jpg --width=128 --html --html-fontsize=8" dalsnuten-256.html test_jp2a "width, html, gray, light" "dalsnuten-640x480-gray-low.jpg --width=128 --background=light --html --html-fontsize=8" dalsnuten-256-light.html test_jp2a "color, html, dark" "grind.jpg --color --background=dark --width=60 --html --html-fontsize=8" grind-color-dark.html test_jp2a "color, html, dark fill" "grind.jpg --color --fill --background=dark --width=60 --html --html-fontsize=8" grind-color-dark-fill.html test_jp2a "color, html, light" "grind.jpg --color --fill --background=light --width=60 --html --html-fontsize=8" grind-color.html test_jp2a "color, html, grayscale" "dalsnuten-640x480-gray-low.jpg --color --width=78 --html --background=light --fill --html-fontsize=8" dalsnuten-color.html test_jp2a "color, html, --grayscale" "grind.jpg --color --width=78 --html --grayscale" grind-2grayscale.html test_jp2a "color, html, --grayscale, fill" "grind.jpg --color --width=78 --html --grayscale --fill" grind-2grayscale-fill.html test_jp2a "color, ANSI, fill" "grind.jpg --color-depth=4 --fill --width=78" grind-ANSI-fill.txt test_jp2a "color, ANSI, fill, --grayscale" "grind.jpg --color-depth=4 --fill --grayscale --width=78" grind-2grayscale-ANSI-fill.txt test_jp2a "color, 256 color palette, fill" "grind.jpg --color-depth=8 --fill --width=78" grind-256-fill.txt test_jp2a "color, 256 color palette, fill, --grayscale" "grind.jpg --color-depth=8 --fill --grayscale --width=78" grind-2grayscale-256-fill.txt test_jp2a "color, truecolor, fill" "grind.jpg --color-depth=24 --fill --width=78" grind-truecolor-fill.txt test_jp2a "color, truecolor, fill, --grayscale" "grind.jpg --color-depth=24 --fill --grayscale --width=78" grind-2grayscale-truecolor-fill.txt test_jp2a "color, html, no-bold" "grind.jpg --colors --html --html-no-bold --width=78" grind-nobold.html test_jp2a "html-title, html" "--width=10 --html --html-title='just testing' jp2a.jpg" html-title.txt test_jp2a "color, html-raw" "--width=10 --color --html-raw jp2a.jpg" html-raw.txt test_jp2a "color, ANSI" "grind.jpg --color-depth=4 --width=60" grind-color-ANSI.txt test_jp2a "color, ANSI, grayscale" "dalsnuten-640x480-gray-low.jpg --color-depth=4 --width=78" dalsnuten-color-ANSI.txt test_jp2a "color, 256 color palette" "grind.jpg --color-depth=8 --width=60" grind-color-256.txt test_jp2a "color, 256 color palette, grayscale" "dalsnuten-640x480-gray-low.jpg --color-depth=8 --width=78" dalsnuten-color-256.txt test_jp2a "color, truecolor" "grind.jpg --color-depth=24 --width=60" grind-color-truecolor.txt test_jp2a "color, truecolor, grayscale" "dalsnuten-640x480-gray-low.jpg --color-depth=24 --width=78" dalsnuten-color-truecolor.txt test_jp2a "standard input, width" " 2>/dev/null ; cat jp2a.jpg | ${JP} --width=78 -" normal.txt test_jp2a "standard input, width, height" " 2>/dev/null ; cat jp2a.jpg | ${JP} - --width=40 --height=40" 40x40.txt test_jp2a "big size" "--size=2000x2000 dalsnuten-640x480-gray-low.jpg jp2a.jpg | tr -d '\r' | wc -c | tr -d ' '" dalsnuten-jp2a-2000x2000-md5.txt test_jp2a "size, curl download" "--size=454x207 http://jp2a.sourceforge.net/jp2a.jpg" normal-curl.txt test_jp2a "size, curl download" "--size=454x207 http://jp2a.sf.net/jp2a.jpg" normal-curl.txt test_results jp2a-1.0.9/tests/test-term.txt000066400000000000000000000000531362026105100161760ustar00rootroot00000000000000Terminal type 'dummy-term' not recognized.