├── README.md ├── NEWS ├── tests ├── 1x1-inv.txt ├── no-output.txt ├── dalsnuten-jp2a-2000x2000-md5.txt ├── Makefile ├── test-term.txt ├── grind.jpg ├── jp2a.jpg ├── jp2a.webp ├── long.jpg ├── long.png ├── jp2a-colorful.png ├── jp2a-colormap.png ├── jp2a-rotate-180.jpg ├── jp2a-rotate-270.jpg ├── jp2a-rotate-90.jpg ├── logo-40x25-gray.jpg ├── jp2a-horizontal-90.jpg ├── jp2a-horizontal-270.jpg ├── jp2a-mirror-vertical.jpg ├── jp2a-interlaced-16-bit.png ├── jp2a-mirror-horizontal.jpg ├── dalsnuten-640x480-gray-low.jpg ├── jp2a-colorful-horizontal-270.jpg ├── 10h.txt ├── html-title.txt ├── html-raw.txt ├── 40x40.txt ├── normal.txt ├── jp2a-webp.txt ├── flip-xy-invert.txt ├── jp2a-rotate-180.txt ├── jp2a-mirror-vertical.txt ├── jp2a-mirror-horizontal.txt ├── normal-clear.txt ├── jp2a-mirror-horizontal-flipx.txt ├── normal-b.txt ├── dalsnuten-invert.txt ├── dalsnuten-normal.txt ├── grind.txt ├── grind-blue.txt ├── grind-green.txt ├── grind-red.txt ├── logo-30.txt ├── 110x30-i-b.txt ├── dalsnuten-color-ANSI.txt ├── dalsnuten-80x49-inv.txt ├── grind-color-ANSI.txt ├── 2xnormal-b.txt ├── grind-2grayscale-ANSI-fill.txt ├── logo.html ├── html-title-entities.html ├── jp2a-webp-scale-up.txt ├── logo-x.html ├── jp2a-rotate-90.txt ├── jp2a-horizontal-270.txt ├── jp2a-horizontal-90.txt ├── jp2a-rotate-270.txt ├── jp2a-rotate-90-flipy.txt ├── edges.txt ├── edges-only.txt ├── edges-only-invert.txt ├── jp2a-png-colormap.txt ├── normal-verbose.txt ├── dalsnuten-256.html ├── dalsnuten-256-light.html ├── dalsnuten-256-x.html ├── dalsnuten-256-light-x.html └── grind-ANSI-fill.txt ├── .github ├── jp2a.jpg └── workflows │ ├── full-check.yml │ └── publish-docker-image.yml ├── src ├── Makefile.am ├── aspect_ratio.c ├── terminal.c ├── curl.c └── html.c ├── AUTHORS ├── autogen.sh ├── .dockerignore ├── .gitignore ├── Doxyfile.in ├── Dockerfile ├── include ├── round.h ├── aspect_ratio.h ├── terminal.h ├── curl.h ├── jp2a.h ├── options.h └── html.h ├── BUGS ├── completion ├── bash │ └── jp2a └── zsh │ └── _jp2a ├── Makefile.am └── configure.ac /README.md: -------------------------------------------------------------------------------- 1 | README -------------------------------------------------------------------------------- /NEWS: -------------------------------------------------------------------------------- 1 | See ChangeLog 2 | -------------------------------------------------------------------------------- /tests/1x1-inv.txt: -------------------------------------------------------------------------------- 1 | ' 2 | -------------------------------------------------------------------------------- /tests/no-output.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/dalsnuten-jp2a-2000x2000-md5.txt: -------------------------------------------------------------------------------- 1 | 8004000 2 | -------------------------------------------------------------------------------- /tests/Makefile: -------------------------------------------------------------------------------- 1 | check: test 2 | 3 | test: 4 | ./run-tests.sh 5 | -------------------------------------------------------------------------------- /tests/test-term.txt: -------------------------------------------------------------------------------- 1 | Terminal type 'dummy-term' not recognized. 2 | -------------------------------------------------------------------------------- /tests/grind.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/grind.jpg -------------------------------------------------------------------------------- /tests/jp2a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/jp2a.jpg -------------------------------------------------------------------------------- /tests/jp2a.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/jp2a.webp -------------------------------------------------------------------------------- /tests/long.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/long.jpg -------------------------------------------------------------------------------- /tests/long.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/long.png -------------------------------------------------------------------------------- /.github/jp2a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/.github/jp2a.jpg -------------------------------------------------------------------------------- /tests/jp2a-colorful.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/jp2a-colorful.png -------------------------------------------------------------------------------- /tests/jp2a-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/jp2a-colormap.png -------------------------------------------------------------------------------- /tests/jp2a-rotate-180.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/jp2a-rotate-180.jpg -------------------------------------------------------------------------------- /tests/jp2a-rotate-270.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/jp2a-rotate-270.jpg -------------------------------------------------------------------------------- /tests/jp2a-rotate-90.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/jp2a-rotate-90.jpg -------------------------------------------------------------------------------- /tests/logo-40x25-gray.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/logo-40x25-gray.jpg -------------------------------------------------------------------------------- /tests/jp2a-horizontal-90.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/jp2a-horizontal-90.jpg -------------------------------------------------------------------------------- /tests/jp2a-horizontal-270.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/jp2a-horizontal-270.jpg -------------------------------------------------------------------------------- /tests/jp2a-mirror-vertical.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/jp2a-mirror-vertical.jpg -------------------------------------------------------------------------------- /tests/jp2a-interlaced-16-bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/jp2a-interlaced-16-bit.png -------------------------------------------------------------------------------- /tests/jp2a-mirror-horizontal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/jp2a-mirror-horizontal.jpg -------------------------------------------------------------------------------- /tests/dalsnuten-640x480-gray-low.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/dalsnuten-640x480-gray-low.jpg -------------------------------------------------------------------------------- /tests/jp2a-colorful-horizontal-270.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Talinx/jp2a/HEAD/tests/jp2a-colorful-horizontal-270.jpg -------------------------------------------------------------------------------- /src/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_PROGRAMS = jp2a 2 | jp2a_SOURCES = aspect_ratio.c html.c terminal.c curl.c jp2a.c options.c image.c 3 | AM_CPPFLAGS = -I../include 4 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | jp2a is written by Christian Stigen Larsen and Christoph Raitzig 2 | 3 | This program uses dynamically linked libraries from other authors. 4 | For an overview, see the file LICENSES. 5 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | autoreconf -vi 3 | 4 | while (( "$#" )); do 5 | if [ $1 == "-c" ]; then 6 | ./configure --with-jpeg-prefix=/usr/local \ 7 | --with-curl-config=`which curl-config` 8 | fi 9 | shift 10 | done 11 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .gitignore 2 | .github 3 | Doxyfile.in 4 | README.md 5 | tests 6 | 7 | aclocal.m4 8 | autom4te.cache 9 | compile 10 | config.h 11 | config.h.in 12 | config.log 13 | config.status 14 | configure 15 | depcomp 16 | install-sh 17 | Makefile 18 | Makefile.in 19 | missing 20 | stamp-h1 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | *.o 3 | Makefile 4 | Makefile.in 5 | aclocal.m4 6 | autom4te.cache 7 | compile 8 | config.h 9 | config.h.in 10 | config.log 11 | config.status 12 | configure 13 | depcomp 14 | install-sh 15 | missing 16 | src/.deps 17 | src/jp2a 18 | stamp-h1 19 | Doxyfile 20 | doxygen-doc/ 21 | INSTALL 22 | -------------------------------------------------------------------------------- /Doxyfile.in: -------------------------------------------------------------------------------- 1 | PROJECT_NAME = @PACKAGE_NAME@ 2 | PROJECT_NUMBER = @PACKAGE_VERSION@ 3 | PROJECT_BRIEF = "Convert JPEG and PNG images to ASCII" 4 | OUTPUT_DIRECTORY = doxygen-doc 5 | STRIP_FROM_PATH = @top_srcdir@ 6 | OPTIMIZE_OUTPUT_FOR_C = YES 7 | INPUT = include,doc 8 | PREDEFINED = FEAT_CURL 9 | -------------------------------------------------------------------------------- /tests/10h.txt: -------------------------------------------------------------------------------- 1 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 2 | MMNNMMMMMMMMMMMMMNXXWMMMMMMMMMMM 3 | MW:'XMMMMMMMMMMx. .oWMMMMMMMMM 4 | M0..xN;.';'.;OM00NX' .XWo::;.,OM 5 | MO oN. 'NN, .NMMMx .0MWOkoc cM 6 | MO oN. .xx. ,WWO, ;cxX. ;k. ;X 7 | Mx oN. .lclxNM0llllllxWxcldoclO 8 | W; ,XN' ;MMMMMMMMMMMMMMMMMMMMMMM 9 | MWNMMMNNNMMMMMMMMMMMMMMMMMMMMMMM 10 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 11 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu AS builder 2 | WORKDIR /app 3 | COPY . . 4 | ENV DEBIAN_FRONTEND=noninteractive 5 | RUN apt-get update && apt-get install -y gcc make autoconf libjpeg-dev libpng-dev libwebp-dev libcurl4-gnutls-dev libncurses5-dev libexif-dev pkg-config 6 | RUN ./autogen.sh && ./configure && make 7 | 8 | FROM ubuntu 9 | WORKDIR /app 10 | RUN apt-get update && apt-get install -y libc6 libjpeg8 libpng16-16t64 libwebp7 libcurl3t64-gnutls libtinfo6 libexif12 11 | COPY --from=builder /app/src/jp2a /usr/bin/jp2a 12 | ENTRYPOINT ["jp2a"] 13 | -------------------------------------------------------------------------------- /include/round.h: -------------------------------------------------------------------------------- 1 | /*! \file 2 | * \noop Copyright 2006-2016 Christian Stigen Larsen 3 | * \noop Copyright 2020 Christoph Raitzig 4 | * 5 | * \brief Round macro. 6 | * 7 | * \author Christian Stigen Larsen 8 | * \author Christoph Raitzig 9 | * \copyright Distributed under the GNU General Public License (GPL) v2. 10 | */ 11 | 12 | #ifndef INC_JP2A_ROUND_H 13 | #define INC_JP2A_ROUND_H 14 | 15 | /*! 16 | * \brief Rounds a float to the nearest integer and casts to integer. 17 | */ 18 | # define ROUND(xfloat) (int) ( 0.5f + xfloat ) 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /tests/html-title.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 |20 | XNMMWk0MMM 21 | ol'c0x:Oco 22 | 0X0MMMMMMM 23 |24 |
20 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 21 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 22 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 23 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 24 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 25 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 26 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 27 | MMMMMMWNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNNNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 28 | MMMMMXdcl0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN0dcc:clkXMMMMMMMMMMMMMMMMMMMMMMMMMMMM 29 | MMMMNo. ;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXOc' .:kWMMMMMMMMMMMMMMMMMMMMMMMMMM 30 | MMMMK, dMMMMMMMMMMMMMMMMMMMMMMMMMMMKl;. .xWMMMMMMMMMMMMMMMMMMMMMMMMM 31 | MMMM0' dMMMMMMMMMMMMMMMMMMMMMMMMMMWo .OMMMMMMMMMMMMMMMMMMMMMMMMM 32 | MMMMNl ,0MMMMMMMMMMMMMMMMMMMMMMMMMMN: cNMMMMMMMMMMMMMMMMMMMMMMMM 33 | MMMMMKo:lOWMMMMMMMMMMMMMMMMMMMMMMMMMMNc ... .OMMMMMMMMMMMMMMMMMMMMMMMM 34 | MMMMX0OkO0KWMMWK00000XMN0xxxOXWMMMMMMN: ;okkx; .dMMMMMMMWNKkxxxxOXWMMMMMM 35 | MMMWd'''''cKMMXl'''''dkc'....;dXMMMMMNc.;oKMMMM0, dMMMMMW0o:,......;o0WMMMM 36 | MMMWc '0MMK, .. .:0MMMMNkkXNMMMMMWo dMMMMKl' ,OWMMM 37 | MMMWc '0MMK, ;KMMMWNWMMMMMMMMx. .xMMMWl ,0MMM 38 | MMMWc '0MMK, lNMMMMMMMMMMMMMd .OMMMN: .','. dMMM 39 | MMMWc '0MMK, .;c;. .OMMMMMMMMMMMMWl cNMMMNc ,ok0K0l. cWMM 40 | MMMWc '0MMK, 'xXNXd. oMMMMMMMMMMMMK; .xMMMMNc.lKWMMMMK, :NMM 41 | MMMWc '0MMK, lWMMMWo cNMMMMMMMMMMWd. :XMMMMWkxNMMMMWXx' ;XMM 42 | MMMWc '0MMK, lWMMMMO. ;XMMMMMMMMMMK, .OMMMMMMWWMMWXkl;. ;XMM 43 | MMMWc '0MMK, lWMMMMK, ,KMMMMMMMMMNc .oWMMMMMMMMW0o;. ;XMM 44 | MMMWc '0MMK, lWMMMMX; ,KMMMMMMMMNo. :XMMMMMMMMKl' .,. ;XMM 45 | MMMWc '0MMK, lWMMMM0' ;XMMMMMMMWx. ,0MMMMMMMM0; ,d0; ;XMM 46 | MMMWc '0MMK, lMMMMWd cWMMMMMMWk. .xNNNNNNWMNc ;KWN: ;XMM 47 | MMMWc '0MMK, ;0WMWO' dMMMMMMM0' .;:::::l0MO' .xMMN: :NMM 48 | MMMWc '0MMK, 'ldl' '0MMMMMMK; .xMx. .xMMK, ,OKN 49 | MMMWc '0MMK, lWMMMMXOc .xMk. ;xd; ,:k 50 | MMMWc '0MMK, ;KMMMMXl. .xMK, .. d 51 | MMMWc '0MMK, ;0MMMMXl. .xMWd. .. .x 52 | MMMNc '0MMK, ,c. .,oKMMMMMO;.'''''''''''''''',OMMXo'. .,dk:. .;dX 53 | MMMN: '0MMK, lNOddddxKWMMMMMMX0O00000000000000000NMMMW0xdddxKWMKxdddkKWM 54 | MMMK, ,KMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 55 | MWKl ;XMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 56 | MXc. lWMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 57 | MX; .kMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 58 | MWd cNMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 59 | MMK, :KMMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 60 | MMWo..'oKMMMMMX:.....oWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 61 | MMMKxx0WMMMMMMW0xxxxxKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 62 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 63 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 64 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 65 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 66 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 67 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 68 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 69 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 70 |71 |
20 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 21 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 22 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 23 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 24 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 25 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 26 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 27 | MMMMMMWNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNNNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 28 | MMMMMXdcl0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN0dcc:clkXMMMMMMMMMMMMMMMMMMMMMMMMMMMM 29 | MMMMNo. ;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXOc' .:kWMMMMMMMMMMMMMMMMMMMMMMMMMM 30 | MMMMK, dMMMMMMMMMMMMMMMMMMMMMMMMMMMKl;. .xWMMMMMMMMMMMMMMMMMMMMMMMMM 31 | MMMM0' dMMMMMMMMMMMMMMMMMMMMMMMMMMWo .OMMMMMMMMMMMMMMMMMMMMMMMMM 32 | MMMMNl ,0MMMMMMMMMMMMMMMMMMMMMMMMMMN: cNMMMMMMMMMMMMMMMMMMMMMMMM 33 | MMMMMKo:lOWMMMMMMMMMMMMMMMMMMMMMMMMMMNc ... .OMMMMMMMMMMMMMMMMMMMMMMMM 34 | MMMMX0OkO0KWMMWK00000XMN0xxxOXWMMMMMMN: ;okkx; .dMMMMMMMWNKkxxxxOXWMMMMMM 35 | MMMWd'''''cKMMXl'''''dkc'....;dXMMMMMNc.;oKMMMM0, dMMMMMW0o:,......;o0WMMMM 36 | MMMWc '0MMK, .. .:0MMMMNkkXNMMMMMWo dMMMMKl' ,OWMMM 37 | MMMWc '0MMK, ;KMMMWNWMMMMMMMMx. .xMMMWl ,0MMM 38 | MMMWc '0MMK, lNMMMMMMMMMMMMMd .OMMMN: .','. dMMM 39 | MMMWc '0MMK, .;c;. .OMMMMMMMMMMMMWl cNMMMNc ,ok0K0l. cWMM 40 | MMMWc '0MMK, 'xXNXd. oMMMMMMMMMMMMK; .xMMMMNc.lKWMMMMK, :NMM 41 | MMMWc '0MMK, lWMMMWo cNMMMMMMMMMMWd. :XMMMMWkxNMMMMWXx' ;XMM 42 | MMMWc '0MMK, lWMMMMO. ;XMMMMMMMMMMK, .OMMMMMMWWMMWXkl;. ;XMM 43 | MMMWc '0MMK, lWMMMMK, ,KMMMMMMMMMNc .oWMMMMMMMMW0o;. ;XMM 44 | MMMWc '0MMK, lWMMMMX; ,KMMMMMMMMNo. :XMMMMMMMMKl' .,. ;XMM 45 | MMMWc '0MMK, lWMMMM0' ;XMMMMMMMWx. ,0MMMMMMMM0; ,d0; ;XMM 46 | MMMWc '0MMK, lMMMMWd cWMMMMMMWk. .xNNNNNNWMNc ;KWN: ;XMM 47 | MMMWc '0MMK, ;0WMWO' dMMMMMMM0' .;:::::l0MO' .xMMN: :NMM 48 | MMMWc '0MMK, 'ldl' '0MMMMMMK; .xMx. .xMMK, ,OKN 49 | MMMWc '0MMK, lWMMMMXOc .xMk. ;xd; ,:k 50 | MMMWc '0MMK, ;KMMMMXl. .xMK, .. d 51 | MMMWc '0MMK, ;0MMMMXl. .xMWd. .. .x 52 | MMMNc '0MMK, ,c. .,oKMMMMMO;.'''''''''''''''',OMMXo'. .,dk:. .;dX 53 | MMMN: '0MMK, lNOddddxKWMMMMMMX0O00000000000000000NMMMW0xdddxKWMKxdddkKWM 54 | MMMK, ,KMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 55 | MWKl ;XMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 56 | MXc. lWMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 57 | MX; .kMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 58 | MWd cNMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 59 | MMK, :KMMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 60 | MMWo..'oKMMMMMX:.....oWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 61 | MMMKxx0WMMMMMMW0xxxxxKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 62 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 63 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 64 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 65 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 66 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 67 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 68 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 69 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 70 |71 |
20 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 21 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 22 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 23 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 24 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 25 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 26 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 27 | MMMMMMWNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNNNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 28 | MMMMMXdcl0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN0dcc:clkXMMMMMMMMMMMMMMMMMMMMMMMMMMMM 29 | MMMMNo. ;KMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXOc' .:kWMMMMMMMMMMMMMMMMMMMMMMMMMM 30 | MMMMK, dMMMMMMMMMMMMMMMMMMMMMMMMMMMKl;. .xWMMMMMMMMMMMMMMMMMMMMMMMMM 31 | MMMM0' dMMMMMMMMMMMMMMMMMMMMMMMMMMWo .OMMMMMMMMMMMMMMMMMMMMMMMMM 32 | MMMMNl ,0MMMMMMMMMMMMMMMMMMMMMMMMMMN: cNMMMMMMMMMMMMMMMMMMMMMMMM 33 | MMMMMKo:lOWMMMMMMMMMMMMMMMMMMMMMMMMMMNc ... .OMMMMMMMMMMMMMMMMMMMMMMMM 34 | MMMMX0OkO0KWMMWK00000XMN0xxxOXWMMMMMMN: ;okkx; .dMMMMMMMWNKkxxxxOXWMMMMMM 35 | MMMWd'''''cKMMXl'''''dkc'....;dXMMMMMNc.;oKMMMM0, dMMMMMW0o:,......;o0WMMMM 36 | MMMWc '0MMK, .. .:0MMMMNkkXNMMMMMWo dMMMMKl' ,OWMMM 37 | MMMWc '0MMK, ;KMMMWNWMMMMMMMMx. .xMMMWl ,0MMM 38 | MMMWc '0MMK, lNMMMMMMMMMMMMMd .OMMMN: .','. dMMM 39 | MMMWc '0MMK, .;c;. .OMMMMMMMMMMMMWl cNMMMNc ,ok0K0l. cWMM 40 | MMMWc '0MMK, 'xXNXd. oMMMMMMMMMMMMK; .xMMMMNc.lKWMMMMK, :NMM 41 | MMMWc '0MMK, lWMMMWo cNMMMMMMMMMMWd. :XMMMMWkxNMMMMWXx' ;XMM 42 | MMMWc '0MMK, lWMMMMO. ;XMMMMMMMMMMK, .OMMMMMMWWMMWXkl;. ;XMM 43 | MMMWc '0MMK, lWMMMMK, ,KMMMMMMMMMNc .oWMMMMMMMMW0o;. ;XMM 44 | MMMWc '0MMK, lWMMMMX; ,KMMMMMMMMNo. :XMMMMMMMMKl' .,. ;XMM 45 | MMMWc '0MMK, lWMMMM0' ;XMMMMMMMWx. ,0MMMMMMMM0; ,d0; ;XMM 46 | MMMWc '0MMK, lMMMMWd cWMMMMMMWk. .xNNNNNNWMNc ;KWN: ;XMM 47 | MMMWc '0MMK, ;0WMWO' dMMMMMMM0' .;:::::l0MO' .xMMN: :NMM 48 | MMMWc '0MMK, 'ldl' '0MMMMMMK; .xMx. .xMMK, ,OKN 49 | MMMWc '0MMK, lWMMMMXOc .xMk. ;xd; ,:k 50 | MMMWc '0MMK, ;KMMMMXl. .xMK, .. d 51 | MMMWc '0MMK, ;0MMMMXl. .xMWd. .. .x 52 | MMMNc '0MMK, ,c. .,oKMMMMMO;.'''''''''''''''',OMMXo'. .,dk:. .;dX 53 | MMMN: '0MMK, lNOddddxKWMMMMMMX0O00000000000000000NMMMW0xdddxKWMKxdddkKWM 54 | MMMK, ,KMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 55 | MWKl ;XMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 56 | MXc. lWMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 57 | MX; .kMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 58 | MWd cNMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 59 | MMK, :KMMMMK, lWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 60 | MMWo..'oKMMMMMX:.....oWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 61 | MMMKxx0WMMMMMMW0xxxxxKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 62 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 63 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 64 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 65 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 66 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 67 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 68 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 69 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 70 |71 |
\n", f);
34 | }
35 |
36 | void print_html_document_end(FILE *f) {
37 | fputs("\n\n", f);
38 | }
39 |
40 | void print_html_image_end(FILE *f) {
41 | fputs("\n\n", f);
88 | }
89 |
90 | void print_xhtml_document_end(FILE *f) {
91 | fputs("\n\n", f);
92 | }
93 |
94 | void print_xhtml_image_end(FILE *f) {
95 | fputs("\n20 | KKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKKKKKKKK00000000000OOOOOOOOkkkkkkkkxxxxxxddddddooooooooolll 21 | KXXXXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKKKKK00000000OOOOOOOOOkkkkkkkkxxxxxxdddddddoooooooo 22 | XXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKKKK000000000OOOOOOOOOkkkkkkkxxxxxxddddddooooooo 23 | XXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXKKKKKKKKKKK000000000OOOOOOOOkkkkkkkxxxxxxdddddddooooo 24 | XXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXKKKKKKKKKKK00000000OOOOOOOOOkkkkkxxxxxxxxddddddoooo 25 | NNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXKKKKKKKKKK00000000OOOOOOOOkkkkkkkxxxxxxddddddddo 26 | NNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXKKKKKKKKK000000000OOOOOOOkkkkkkxxxxxxdddddddd 27 | NNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXKKKKKKKKK00000000OOOOOOOkkkkkkkxxxxxxdddddd 28 | NWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKKK00000000OOOOOOOOkkkkkkkxxxxxddddd 29 | WWWWWWWWWWMMMMMMMMMMMMMMMMMWWWWWWWWMMWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKK000000000OOOOOOOkkkkkkxxxxxxxddd 30 | WWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMWWWMMMWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNXXXXXXXXXXXKKKKKKKKK0000000000OOOOOOOkkkkkkxxxxxxxd 31 | WWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKK000000000OOOOOOOkkkkkkkkxxxxx 32 | WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKKK00000000OOOOOOOOkkkkkkkkxxxx 33 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKK00000000OOOOOOOOkkkkkkkkxxxx 34 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNXXXXXXXXXXXKKKKKKKK00000000OOOOOOOkkkkkkxxxxxx 35 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKK00000000OOOOOOkkkkkkxxxxxx 36 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNXXXXXXXXKKKKKKKKKK000000OOOOOOOkkkkkkkxxxxx 37 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWNXK0OOO00XNNNNNNNNNNXXXXXXXXXXKKKKKKKK0000000OOOOOOkkkkkkkxxxxxxd 38 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXXK00OOkxoool:::;;;;;;;:okXNNNNXXXXXXXXXKKKKKKKKK0000000OOOOOOOkkkkkkxxxxxxddd 39 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0xdlc:::::;;;;;;,,,,,,,,,'''''',:ldkOKXXXXXKKKKKKKKK0000000OOOOOOOkkkkkkxxxxxxxdddd 40 | dxxO0KXXXNNWWWMMMMMMMMMWNXKK00XNWMMMMMMNKkoc::::::;;;;;,,,,,,,''''''''''..........';;:codk0KKK00000000OOOOOOkkkkkkkxxxxxxddddddo 41 | ::ccclllooodddxxxxxxxxddxxddollcclooooc;;,,,,,,,,,,,,,'''...................................;clddlccc;;:;:;:lddd::,',';,lolcc;:: 42 | ,;;;:::ccccclllcllccc:::::clcc;;;;;,''........................................ 43 | '',,,;;;::::::::::::;;;,,,,,,;;,''''''................................... 44 | ..''',,,;;;;;;;,,,,,,,''''.....'''......................... 45 | ......''''''''''''''''.......................... 46 | ............''................................ 47 | ........................................... 48 | ................................... ........ 49 | ...'''...',,,,,,,,,,,,,,,,,,,''''',,;;;;;;;;;,. ......... 50 | ....','.',:ldxdddxxxxxxddooddollllooolllllllcc:. ...... 51 | ......',;cox0XX0kkkxxdl:,',cc,....,''''......''. 52 | .....,:lodOWMWOxxxdxxl,'.',............ 53 | .....';;cxKWMMMWXXKOOx;'''...... 54 | .'';,;;;cd0XWMWX0xoc;''....... 55 | ......,;:cdxkkxocc:;,''..... 56 | .......',;;:::;,,''............ 57 | ........'''''................. 58 | .. .................. . 59 | .............. 60 | . . 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |69 |
20 | ........................................................................................'''''''',,,,,,,,;;;;;;::::::ccccccccclll 21 | ........................ ............................................''''''''',,,,,,,,;;;;;;:::::::cccccccc 22 | .................... ..........................................''''''''',,,,,,,;;;;;;::::::ccccccc 23 | .......... .......................................'''''''',,,,,,,;;;;;;:::::::ccccc 24 | .... ..................................''''''''',,,,,;;;;;;;;::::::cccc 25 | ...............................'''''''',,,,,,,;;;;;;::::::::c 26 | ..............................''''''',,,,,,;;;;;;:::::::: 27 | .............................''''''',,,,,,,;;;;;;:::::: 28 | ............................'''''''',,,,,,,;;;;;::::: 29 | ............................''''''',,,,,,;;;;;;;::: 30 | ..............................''''''',,,,,,;;;;;;;: 31 | ............................''''''',,,,,,,,;;;;; 32 | ............................'''''''',,,,,,,,;;;; 33 | ..........................'''''''',,,,,,,,;;;; 34 | ...........................''''''',,,,,,;;;;;; 35 | ...........................'''''',,,,,,;;;;;; 36 | ........................''''''',,,,,,,;;;;; 37 | ...'''... .........................'''''',,,,,,,;;;;;;: 38 | .....'',;cccldddxxxxxxxdc,. .........................''''''',,,,,,;;;;;;::: 39 | ..;:lodddddxxxxxxkkkkkkkkkOOOOOOkdl:,'......................''''''',,,,,,;;;;;;;:::: 40 | :;;'..... ...... .,coddddddxxxxxkkkkkkkOOOOOOOOOO0000000000Oxxdoc:,............'''''',,,,,,,;;;;;;::::::c 41 | ddooolllccc:::;;;;;;;;::;;::clloolccccoxxkkkkkkkkkkkkkOOO0000KKKKKKKKKKKKKKKKKKKKKKKKKKKKKK0xol::loooxxdxdxdl:::ddkOkOxklclooxdd 42 | kxxxdddooooolllollooodddddolooxxxxxkOO000000000000000KKKKKKXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWW 43 | OOkkkxxxddddddddddddxxxkkkkkkxxkOOOOOO000KKKKXKKKKKXXXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNWNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWMMMMMM 44 | 00OOOkkkxxxxxxxkkkkkkkOOOO00000OOO00KKKKKKKKKXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNWWWWNNNNNWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMM 45 | K00000OOOOOOOOOOOOOOOO0000KKKKKKK0000KKKXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMM 46 | KKK000000000OO000000000KKKKKKKXXXXXKKKKXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMM 47 | XKKKKK00000000000KKKKKKKKKXXXXXXXXXXXXXXXXXNNNNNNNNWWWWWWNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMM 48 | XXXKKKKKKKK00000000000KKKKKXXXXXXXXNNXXXXXXXXNNNNWWWWWWWWWNNNNNNNNWNNWWWWWWWWMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW 49 | NXXKOOO0K0OkkkkkkkkkkkkkkkkkkkOOOOOkkxxxxxxxxxkKWWWWWWWWW000KKXXKXNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWW 50 | XXK0OkO0Okdl:;:::;;;;;;::cc::cllllcccllllllloodKWWWWWWWWWNN000KXXNNNNNWWNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMWMMW 51 | XXK000Okxoc;....,,,;;:ldkOkook0000kOOOO0000K0OO0NNNNNNWNNWWWWNNNNNWWWWWWWWWWWWMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMWWMMMMM 52 | NXXXK0kdlc:' ';;;:;;lkO0Ok0KXXXXK00KXXNNNNNNNNNWWWWWNNNNNNNNWWWWWWWWWNWWWWWWWWWWWWWWWWWWWWMMMMMMWWWWWWWWWWWWWMWWMWWMWWMMMMMMMM 53 | XKK00Oxxo;. ...'';xOOO0KKXXXNNNNNNNNNWWWNNWWWWNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWMMMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMM 54 | KOOxkxxxo:.. ..;coxOO0KKKXXXNNNNNNNNWWWWNNWWNNNNNNNWWWWWWWWWWWWWWWWWWWWMMMMMMMMWWWWWWWWWWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMM 55 | XXXKK0kxdo:;,,;coodxkOO0KKXXNNNNWNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWMWWMMMMMMWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMWWMMMMMMMM 56 | XXXKKK0OkxxdddxkkOO000000KKKXXXNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 57 | NXXXXKK00OOOOO000000KKKKKXXXXXXNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 58 | NXXNNXXXKKK00KKKKKXKXXXNXNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 59 | NNNNNNNXXXXXXXXXXXXXXNNNNNNNWWWNNWWWNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 60 | WWWNNNNNNNNNNXNXNNNNNNNWNNNNWWWNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMM 61 | WWWWNNNWNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMWWWMMMMMMMMMMMMMMMMWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 62 | WWWWWWWWWWWNNNWWNWWWWWWNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 63 | MWWWWWWWWWWWWWWWNWNNNNWWWWWWWWWWWWWWWWWWWMWWMMMMMMMMMMMMMMMMMMMMMMMWMWWMWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW 64 | MWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMWWMMMMMMMMMMMMMMMMMMMMMMWWWWMMWMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 65 | WWWWWWWWWWWWWWWWWWWWWMMMMWWWWMMMMMWMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMM 66 | WWWWWWWMWWWWWWMWMWWWMMMMWMWMMMMMMMMMMMMMMMMMMMMWMMWMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 67 | MWWWMWMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 68 |69 |
20 | KKKKKKKKKKKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKKKKKKKK00000000000OOOOOOOOkkkkkkkkxxxxxxddddddooooooooolll 21 | KXXXXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKKKKK00000000OOOOOOOOOkkkkkkkkxxxxxxdddddddoooooooo 22 | XXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXXXXKKKKKKKKKKK000000000OOOOOOOOOkkkkkkkxxxxxxddddddooooooo 23 | XXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXXXXXKKKKKKKKKKK000000000OOOOOOOOkkkkkkkxxxxxxdddddddooooo 24 | XXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXXXKKKKKKKKKKK00000000OOOOOOOOOkkkkkxxxxxxxxddddddoooo 25 | NNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXXKKKKKKKKKK00000000OOOOOOOOkkkkkkkxxxxxxddddddddo 26 | NNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXKKKKKKKKK000000000OOOOOOOkkkkkkxxxxxxdddddddd 27 | NNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNNXXXXXXXXXXXXKKKKKKKKK00000000OOOOOOOkkkkkkkxxxxxxdddddd 28 | NWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKKK00000000OOOOOOOOkkkkkkkxxxxxddddd 29 | WWWWWWWWWWMMMMMMMMMMMMMMMMMWWWWWWWWMMWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKK000000000OOOOOOOkkkkkkxxxxxxxddd 30 | WWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMWWWMMMWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNXXXXXXXXXXXKKKKKKKKK0000000000OOOOOOOkkkkkkxxxxxxxd 31 | WWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKK000000000OOOOOOOkkkkkkkkxxxxx 32 | WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKKK00000000OOOOOOOOkkkkkkkkxxxx 33 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKK00000000OOOOOOOOkkkkkkkkxxxx 34 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNXXXXXXXXXXXKKKKKKKK00000000OOOOOOOkkkkkkxxxxxx 35 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNXXXXXXXXXXKKKKKKKKK00000000OOOOOOkkkkkkxxxxxx 36 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWNNNNNNNNNNNNNNNXXXXXXXXKKKKKKKKKK000000OOOOOOOkkkkkkkxxxxx 37 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWNXK0OOO00XNNNNNNNNNNXXXXXXXXXXKKKKKKKK0000000OOOOOOkkkkkkkxxxxxxd 38 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXXK00OOkxoool:::;;;;;;;:okXNNNNXXXXXXXXXKKKKKKKKK0000000OOOOOOOkkkkkkxxxxxxddd 39 | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0xdlc:::::;;;;;;,,,,,,,,,'''''',:ldkOKXXXXXKKKKKKKKK0000000OOOOOOOkkkkkkxxxxxxxdddd 40 | dxxO0KXXXNNWWWMMMMMMMMMWNXKK00XNWMMMMMMNKkoc::::::;;;;;,,,,,,,''''''''''..........';;:codk0KKK00000000OOOOOOkkkkkkkxxxxxxddddddo 41 | ::ccclllooodddxxxxxxxxddxxddollcclooooc;;,,,,,,,,,,,,,'''...................................;clddlccc;;:;:;:lddd::,',';,lolcc;:: 42 | ,;;;:::ccccclllcllccc:::::clcc;;;;;,''........................................ 43 | '',,,;;;::::::::::::;;;,,,,,,;;,''''''................................... 44 | ..''',,,;;;;;;;,,,,,,,''''.....'''......................... 45 | ......''''''''''''''''.......................... 46 | ............''................................ 47 | ........................................... 48 | ................................... ........ 49 | ...'''...',,,,,,,,,,,,,,,,,,,''''',,;;;;;;;;;,. ......... 50 | ....','.',:ldxdddxxxxxxddooddollllooolllllllcc:. ...... 51 | ......',;cox0XX0kkkxxdl:,',cc,....,''''......''. 52 | .....,:lodOWMWOxxxdxxl,'.',............ 53 | .....';;cxKWMMMWXXKOOx;'''...... 54 | .'';,;;;cd0XWMWX0xoc;''....... 55 | ......,;:cdxkkxocc:;,''..... 56 | .......',;;:::;,,''............ 57 | ........'''''................. 58 | .. .................. . 59 | .............. 60 | . . 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |69 |
20 | ........................................................................................'''''''',,,,,,,,;;;;;;::::::ccccccccclll 21 | ........................ ............................................''''''''',,,,,,,,;;;;;;:::::::cccccccc 22 | .................... ..........................................''''''''',,,,,,,;;;;;;::::::ccccccc 23 | .......... .......................................'''''''',,,,,,,;;;;;;:::::::ccccc 24 | .... ..................................''''''''',,,,,;;;;;;;;::::::cccc 25 | ...............................'''''''',,,,,,,;;;;;;::::::::c 26 | ..............................''''''',,,,,,;;;;;;:::::::: 27 | .............................''''''',,,,,,,;;;;;;:::::: 28 | ............................'''''''',,,,,,,;;;;;::::: 29 | ............................''''''',,,,,,;;;;;;;::: 30 | ..............................''''''',,,,,,;;;;;;;: 31 | ............................''''''',,,,,,,,;;;;; 32 | ............................'''''''',,,,,,,,;;;; 33 | ..........................'''''''',,,,,,,,;;;; 34 | ...........................''''''',,,,,,;;;;;; 35 | ...........................'''''',,,,,,;;;;;; 36 | ........................''''''',,,,,,,;;;;; 37 | ...'''... .........................'''''',,,,,,,;;;;;;: 38 | .....'',;cccldddxxxxxxxdc,. .........................''''''',,,,,,;;;;;;::: 39 | ..;:lodddddxxxxxxkkkkkkkkkOOOOOOkdl:,'......................''''''',,,,,,;;;;;;;:::: 40 | :;;'..... ...... .,coddddddxxxxxkkkkkkkOOOOOOOOOO0000000000Oxxdoc:,............'''''',,,,,,,;;;;;;::::::c 41 | ddooolllccc:::;;;;;;;;::;;::clloolccccoxxkkkkkkkkkkkkkOOO0000KKKKKKKKKKKKKKKKKKKKKKKKKKKKKK0xol::loooxxdxdxdl:::ddkOkOxklclooxdd 42 | kxxxdddooooolllollooodddddolooxxxxxkOO000000000000000KKKKKKXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWW 43 | OOkkkxxxddddddddddddxxxkkkkkkxxkOOOOOO000KKKKXKKKKKXXXXXXXXXXXXXXXXXXXXXXNNNNNNNNNNNNNNNWNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWMMMMMM 44 | 00OOOkkkxxxxxxxkkkkkkkOOOO00000OOO00KKKKKKKKKXXXXXXXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNWWWWNNNNNWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMM 45 | K00000OOOOOOOOOOOOOOOO0000KKKKKKK0000KKKXXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMM 46 | KKK000000000OO000000000KKKKKKKXXXXXKKKKXXXXXXXNNNNNNNNNNNNNNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMM 47 | XKKKKK00000000000KKKKKKKKKXXXXXXXXXXXXXXXXXNNNNNNNNWWWWWWNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMM 48 | XXXKKKKKKKK00000000000KKKKKXXXXXXXXNNXXXXXXXXNNNNWWWWWWWWWNNNNNNNNWNNWWWWWWWWMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW 49 | NXXKOOO0K0OkkkkkkkkkkkkkkkkkkkOOOOOkkxxxxxxxxxkKWWWWWWWWW000KKXXKXNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWW 50 | XXK0OkO0Okdl:;:::;;;;;;::cc::cllllcccllllllloodKWWWWWWWWWNN000KXXNNNNNWWNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMWMMW 51 | XXK000Okxoc;....,,,;;:ldkOkook0000kOOOO0000K0OO0NNNNNNWNNWWWWNNNNNWWWWWWWWWWWWMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMWWMMMMM 52 | NXXXK0kdlc:' ';;;:;;lkO0Ok0KXXXXK00KXXNNNNNNNNNWWWWWNNNNNNNNWWWWWWWWWNWWWWWWWWWWWWWWWWWWWWMMMMMMWWWWWWWWWWWWWMWWMWWMWWMMMMMMMM 53 | XKK00Oxxo;. ...'';xOOO0KKXXXNNNNNNNNNWWWNNWWWWNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWMMMWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMM 54 | KOOxkxxxo:.. ..;coxOO0KKKXXXNNNNNNNNWWWWNNWWNNNNNNNWWWWWWWWWWWWWWWWWWWWMMMMMMMMWWWWWWWWWWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMM 55 | XXXKK0kxdo:;,,;coodxkOO0KKXXNNNNWNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWMWWWWWWWWMWWMMMMMMWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMWWMMMMMMMM 56 | XXXKKK0OkxxdddxkkOO000000KKKXXXNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 57 | NXXXXKK00OOOOO000000KKKKKXXXXXXNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 58 | NXXNNXXXKKK00KKKKKXKXXXNXNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 59 | NNNNNNNXXXXXXXXXXXXXXNNNNNNNWWWNNWWWNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 60 | WWWNNNNNNNNNNXNXNNNNNNNWNNNNWWWNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMM 61 | WWWWNNNWNNNNNNNNNNNNNNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMWWWMMMMMMMMMMMMMMMMWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 62 | WWWWWWWWWWWNNNWWNWWWWWWNWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 63 | MWWWWWWWWWWWWWWWNWNNNNWWWWWWWWWWWWWWWWWWWMWWMMMMMMMMMMMMMMMMMMMMMMMWMWWMWWWWWMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW 64 | MWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMWWMMMMMMMMMMMMMMMMMMMMMMWWWWMMWMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 65 | WWWWWWWWWWWWWWWWWWWWWMMMMWWWWMMMMMWMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMM 66 | WWWWWWWMWWWWWWMWMWWWMMMMWMWMMMMMMMMMMMMMMMMMMMMWMMWMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 67 | MWWWMWMMMMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 68 |69 |