From 81ac62fada354cb9d03fe5fdd0535157bc09b663 Mon Sep 17 00:00:00 2001 From: raster Date: Sun, 17 Aug 2008 07:44:18 +0000 Subject: [PATCH 1/1] move around - flatter. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eet@35497 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- .cvsignore | 40 + AUTHORS | 3 + COPYING | 28 + COPYING-PLAIN | 33 + ChangeLog | 86 ++ Doxyfile | 139 ++ INSTALL | 47 + Makefile.am | 86 ++ NEWS | 2 + README.in | 45 + autogen.sh | 16 + configure.in | 254 ++++ debian/.cvsignore | 8 + debian/changelog.in | 5 + debian/compat | 1 + debian/control | 77 ++ debian/copyright | 41 + debian/eet.1 | 50 + debian/libeet-bin.install | 1 + debian/libeet-dev.install | 4 + debian/libeet-doc.dirs | 1 + debian/libeet-doc.doc-base | 10 + debian/libeet1.install | 1 + debian/rules | 22 + doc/.cvsignore | 5 + doc/Doxyfile | 139 ++ doc/Makefile.am | 46 + doc/e.css | 161 +++ doc/eet.css | 178 +++ doc/foot.html | 6 + doc/head.html | 44 + doc/img/_.gif | Bin 0 -> 266 bytes doc/img/b.png | Bin 0 -> 40323 bytes doc/img/eet.png | Bin 0 -> 74944 bytes doc/img/eet_big.png | Bin 0 -> 937116 bytes doc/img/eet_mini.png | Bin 0 -> 753 bytes doc/img/eet_small.png | Bin 0 -> 3755 bytes doc/img/hilite.png | Bin 0 -> 6127 bytes doc/img/n.gif | Bin 0 -> 1700 bytes doc/img/n.png | Bin 0 -> 2057 bytes doc/img/t.gif | Bin 0 -> 979 bytes doc/img/t.png | Bin 0 -> 316 bytes doc/img/tl.gif | Bin 0 -> 74209 bytes doc/img/tl.png | Bin 0 -> 88378 bytes eet.c.in | 188 +++ eet.pc.in | 11 + eet.spec.in | 74 ++ gendoc | 8 + m4/doxygen.m4 | 73 ++ src/.cvsignore | 5 + src/Makefile.am | 3 + src/bin/.cvsignore | 5 + src/bin/Makefile.am | 18 + src/bin/eet_main.c | 251 ++++ src/lib/.cvsignore | 10 + src/lib/Eet.h | 1246 ++++++++++++++++++ src/lib/Eet_private.h | 84 ++ src/lib/Makefile.am | 33 + src/lib/eet_data.c | 2997 ++++++++++++++++++++++++++++++++++++++++++++ src/lib/eet_dictionary.c | 335 +++++ src/lib/eet_image.c | 1155 +++++++++++++++++ src/lib/eet_lib.c | 1836 +++++++++++++++++++++++++++ src/lib/eet_memfile.c | 149 +++ src/lib/eet_utils.c | 203 +++ src/tests/.cvsignore | 5 + src/tests/Makefile.am | 17 + src/tests/TODO | 3 + src/tests/eet_data_suite.c | 163 +++ src/tests/eet_suite.c | 1195 ++++++++++++++++++ src/tests/eet_suite.h | 21 + win32/MANIFEST.txt | 11 + win32/README.txt | 8 + win32/set_env.bat | 25 + win32/vs8/eet.sln | 20 + win32/vs8/libeet.vcproj | 239 ++++ win32/vs8/start.bat | 33 + 76 files changed, 12003 insertions(+) create mode 100644 .cvsignore create mode 100644 AUTHORS create mode 100644 COPYING create mode 100644 COPYING-PLAIN create mode 100644 ChangeLog create mode 100644 Doxyfile create mode 100644 INSTALL create mode 100644 Makefile.am create mode 100644 NEWS create mode 100644 README.in create mode 100755 autogen.sh create mode 100644 configure.in create mode 100644 debian/.cvsignore create mode 100644 debian/changelog.in create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/eet.1 create mode 100644 debian/libeet-bin.install create mode 100644 debian/libeet-dev.install create mode 100644 debian/libeet-doc.dirs create mode 100644 debian/libeet-doc.doc-base create mode 100644 debian/libeet1.install create mode 100644 debian/rules create mode 100644 doc/.cvsignore create mode 100644 doc/Doxyfile create mode 100644 doc/Makefile.am create mode 100644 doc/e.css create mode 100644 doc/eet.css create mode 100644 doc/foot.html create mode 100644 doc/head.html create mode 100644 doc/img/_.gif create mode 100644 doc/img/b.png create mode 100644 doc/img/eet.png create mode 100644 doc/img/eet_big.png create mode 100644 doc/img/eet_mini.png create mode 100644 doc/img/eet_small.png create mode 100644 doc/img/hilite.png create mode 100644 doc/img/n.gif create mode 100644 doc/img/n.png create mode 100644 doc/img/t.gif create mode 100644 doc/img/t.png create mode 100644 doc/img/tl.gif create mode 100644 doc/img/tl.png create mode 100644 eet.c.in create mode 100644 eet.pc.in create mode 100644 eet.spec.in create mode 100755 gendoc create mode 100644 m4/doxygen.m4 create mode 100644 src/.cvsignore create mode 100644 src/Makefile.am create mode 100644 src/bin/.cvsignore create mode 100644 src/bin/Makefile.am create mode 100644 src/bin/eet_main.c create mode 100644 src/lib/.cvsignore create mode 100644 src/lib/Eet.h create mode 100644 src/lib/Eet_private.h create mode 100644 src/lib/Makefile.am create mode 100644 src/lib/eet_data.c create mode 100644 src/lib/eet_dictionary.c create mode 100644 src/lib/eet_image.c create mode 100644 src/lib/eet_lib.c create mode 100644 src/lib/eet_memfile.c create mode 100644 src/lib/eet_utils.c create mode 100644 src/tests/.cvsignore create mode 100644 src/tests/Makefile.am create mode 100644 src/tests/TODO create mode 100644 src/tests/eet_data_suite.c create mode 100644 src/tests/eet_suite.c create mode 100644 src/tests/eet_suite.h create mode 100644 win32/MANIFEST.txt create mode 100644 win32/README.txt create mode 100644 win32/set_env.bat create mode 100644 win32/vs8/eet.sln create mode 100644 win32/vs8/libeet.vcproj create mode 100644 win32/vs8/start.bat diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 0000000..13e3ed0 --- /dev/null +++ b/.cvsignore @@ -0,0 +1,40 @@ +.config +autom4te.cache +build-stamp +Makefile +Makefile.in +aclocal.m4 +config.guess +config.h +config.h.in +config.log +config.status +config.sub +configure +configure-stamp +eet.pc +eet_docs.tar.gz +libtool +ltmain.sh +stamp-h +stamp-h1 +stamp-h.in +install-sh +missing +mkinstalldirs +stamp-h1 +autom4te.cache +depcomp +doc +*.tar.gz +*.oe +*.bb +*.spec +README +eet.c +m4/libtool.m4 +m4/ltoptions.m4 +m4/ltsugar.m4 +m4/ltversion.m4 +m4/lt~obsolete.m4 +compile diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..c491082 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,3 @@ +The Rasterman (Carsten Haitzler) +David Goodlad +Cedric Bail diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..474fcc5 --- /dev/null +++ b/COPYING @@ -0,0 +1,28 @@ +Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies of the Software and its Copyright notices. In addition publicly +documented acknowledgment must be given that this software has been used if no +source code of this software is made available publicly. This includes +acknowledgments in either Copyright notices, Manuals, Publicity and Marketing +documents or any documentation provided with any product containing this +software. This License does not apply to any software that links to the +libraries provided by this software (statically or dynamically), but only to +the software provided. + +Please see the COPYING.PLAIN for a plain-english explanation of this notice +and it's intent. + +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. IN NO EVENT SHALL +THE AUTHORS 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. diff --git a/COPYING-PLAIN b/COPYING-PLAIN new file mode 100644 index 0000000..376875e --- /dev/null +++ b/COPYING-PLAIN @@ -0,0 +1,33 @@ +Plain English Copyright Notice + +This file is not intended to be the actual License. The reason this file +exists is that we here are programmers and engineers. We aren't lawyers. We +provide licenses that we THINK say the right things, but we have our own +intentions at heart. This is a plain-english explanation of what those +intentions are, and if you follow them you will be within the "spirit" of +the license. + +The intent is for us to enjoy writing software that is useful to us (the +AUTHORS) and allow others to use it freely and also benefit from the work we +put into making it. We don't want to restrict others using it. They should +not *HAVE* to make the source code of the applications they write that +simply link to these libraries (be that statically or dynamically), or for +them to be limited as to what license they choose to use (be it open, closed +or anything else). But we would like to know you are using these libraries. +We simply would like to know that it has been useful to someone. This is why +we ask for acknowledgement of some sort. + +You can do what you want with the source of this software - it doesn't +matter. We still have it here for ourselves and it is open and free to use +and download and play with. It can't be taken away. We don't really mind what +you do with the source to your software. We would simply like to know that +you are using it - especially if it makes it to a commerical product. If you +simply e-mail all the AUTHORS (see COPYING and AUTHORS files) telling us, and +then make sure you include a paragraph or page in the manual for the product +with the copyright notice and state that you used this software, we will be +very happy. If you want to contribute back modifications and fixes you may have +made we will welcome those too with open arms (generally). If you want help +with changes needed, ports needed or features to be added, arrangements can +be easily made with some dialogue. + +Carsten Haitzler diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..0569349 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,86 @@ +2008-04-20 Carsten Haitzler (The Rasterman) + + 1.0.0 release + +2008-04-28 Carsten Haitzler (The Rasterman) + + * Fixed allocation of a list (EET_G_LIST) of simple types + (IS_SIMPLE_TYPE) to alloc the correct amount (using the correct type + offset). Also fixed a hash (EET_G_HASH) of simple types too. + +2008-05-14 Cedric BAIL + + * Fix convertion from a text to a hash (EET_G_HASH). + + * Fix inlined string (EET_T_INLINED_STRING) dump/undump by introducing + the new word for the parser 'inlined'. + +2008-05-15 Cedric BAIL + + * Fix a typo preventing the parsing of unsigned int (EET_T_UINT). + + * Fix group of simple type by implicitly creating a structure with + the simple type in it. + + * Remove dead code handling group of simple type and put assert + instead. + +2008-05-16 Cedric BAIL + + * Fix eet_data_descriptor3_new as it purpose was to introduce + str_direct_alloc/str_direct_free usage. Application should now receive + direct pointer to read only (mmaped) string. + + * Fix EET_FILE_MODE_READ_WRITE when file doesn't exist. + + * Fix some miss use of efn->offset. + + * Introduce unit test in EFL. The current set provide an overall + coverage rate of 2111 of 2607 lines (81.0%) for eet. It helped + finding and fixing the bugs of the last three days. + The test suite is based on library check. At this time we need + cvs version, look at http://check.sourceforge.net/ to find it. + The covering is done by gcov + The html report is done by lcov version 1.6 or above. + You can found it at http://ltp.sourceforge.net/coverage/lcov.php. + +2008-05-19 Cedric BAIL + + * Old Eet file format is now marked as deprecated and accessing old + file will display a warning. You can already remove completely all + code related to it, but it's still enabled by default. We will later + disable it by default and at some point drop the support completely. + + * Remove use of strcpy and sprintf definitively. + +2008-06-02 Cedric BAIL + + * Introduce tile support and the possibility to decompress eet + image inside an existing surface. + +2008-06-26 Cedric BAIL + + * Massiv code cleanup. + * Add EET_G_ARRAY and EET_G_VAR_ARRAY support. + * Plan for version 2.0 API break of eet_data_descriptor_element_add. + +2008-07-17 Cedric BAIL + + Implement various speed improvement : + + * Use the precomputed hash value for Eet_Data_Chunk. + * Use a hash table instead of a list for pointer that need to be freed. + * Use directly the pointer from the dictionary to do a pointer + comparison instead of a strcmp. + +2008-07-24 Cedric BAIL + + * Fix wrongly stored image when compressed size is bigger than + uncompressed. Fix bug #523. + +2008-07-24 Vincent Torri + + * Add Visual Studio solution and vc projects to compile Eet + with Microsoft tools. + + Written by Dmitriy Mazovka. diff --git a/Doxyfile b/Doxyfile new file mode 100644 index 0000000..45f743b --- /dev/null +++ b/Doxyfile @@ -0,0 +1,139 @@ +PROJECT_NAME = Eet +PROJECT_NUMBER = +OUTPUT_DIRECTORY = doc +INPUT = eet.c src/lib/Eet.h +IMAGE_PATH = doc/img +OUTPUT_LANGUAGE = English +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = doc/head.html +HTML_FOOTER = doc/foot.html +HTML_STYLESHEET = doc/e.css +HTML_ALIGN_MEMBERS = YES +ENUM_VALUES_PER_LINE = 1 +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = YES +EXTRACT_ALL = NO +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO +HIDE_UNDOC_MEMBERS = YES +HIDE_UNDOC_CLASSES = YES +HIDE_FRIEND_COMPOUNDS = YES +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +STRIP_CODE_COMMENTS = YES +CASE_SENSE_NAMES = YES +SHORT_NAMES = NO +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = NO +SHOW_INCLUDE_FILES = NO +JAVADOC_AUTOBRIEF = YES +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 2 +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ALIASES = +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +SHOW_USED_FILES = NO +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +FILE_PATTERNS = +RECURSIVE = NO +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +INPUT_FILTER = +FILTER_SOURCE_FILES = NO +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 2 +IGNORE_PREFIX = +GENERATE_TREEVIEW = NO +TREEVIEW_WIDTH = 250 +GENERATE_LATEX = YES +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = YES +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +GENERATE_MAN = YES +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = YES +GENERATE_XML = NO +XML_SCHEMA = +XML_DTD = +GENERATE_AUTOGEN_DEF = NO +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = NO +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +CLASS_DIAGRAMS = NO +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = NO +COLLABORATION_GRAPH = NO +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = NO +INCLUDED_BY_GRAPH = NO +GRAPHICAL_HIERARCHY = NO +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 512 +MAX_DOT_GRAPH_HEIGHT = 512 +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +SEARCHENGINE = NO diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..df426ed --- /dev/null +++ b/INSTALL @@ -0,0 +1,47 @@ +COMPILING and INSTALLING: + +If you got a official release tar archive do: + ./configure + +( otherwise if you got this from enlightenment cvs do: ./autogen.sh ) + +Then to compile: + make + +To install (run this as root, or the user who handles installs): + make install + +To run the unit tests (See Note 5 below): + make check + +To get the coverage report (See Notes 6 and 7 below): + make coverage + +The report is created in the coverage/ subdir + + + + +NOTE 1: You MUST make install Eet for it to run properly. + +NOTE 2: For compilation with MinGW, fnmatch.h is probably missing. + That file can be found here: +http://www.koders.com/c/fid2B518462CB1EED3D4E31E271DB83CD1582F6EEBE.aspx + It should be installed in the mingw include directory. + +NOTE 3: For compilation with mingw32ce, run configure with the option + +--host=arm-wince-mingw32ce + +NOTE 4: For compilation with cegcc, follow the wiki: + +http://wiki.enlightenment.org/index.php/Category:EFL_Windows_CE + +NOTE 5: If you want to be able to run make check, you need library check + from http://check.sourceforge.net/. + +NOTE 6: If you want to be able to run coverage test over eet, you will need + gcov (usually any distro provides it) and lcov from + http://ltp.sourceforge.net/coverage/lcov.php. + +NOTE 7: For coverage support you also need check support. diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..76993fd --- /dev/null +++ b/Makefile.am @@ -0,0 +1,86 @@ +ACLOCAL_AMFLAGS = -I m4 + +SUBDIRS = src + +MAINTAINERCLEANFILES = \ +Makefile.in \ +aclocal.m4 \ +compile \ +config.guess \ +config.h.in \ +config.sub \ +configure \ +depcomp \ +install-sh \ +ltmain.sh \ +missing \ +eet_docs.tar.gz \ +m4/libtool.m4 \ +m4/lt~obsolete.m4 \ +m4/ltoptions.m4 \ +m4/ltsugar.m4 \ +m4/ltversion.m4 + +EXTRA_DIST = \ +AUTHORS \ +COPYING \ +COPYING-PLAIN \ +autogen.sh \ +eet.c.in \ +eet.pc.in \ +eet.spec.in \ +eet.spec \ +README.in \ +README \ +Doxyfile \ +doc \ +gendoc + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = eet.pc + + +if EET_ENABLE_TESTS + +check-local: + @./src/tests/eet_suite + +else + +check-local: + @echo "reconfigure with --enable-tests" + +endif + +if EET_ENABLE_COVERAGE +lcov-reset: + @rm -rf coverage + @find . -name "*.gcda" -exec rm {} \; + @lcov --directory . --zerocounters + +lcov-report: + @mkdir coverage + @lcov --compat-libtool --directory . --capture --output-file coverage/coverage.info + @lcov -l coverage/coverage.info | grep -v "`cd $(top_srcdir) && pwd`" | cut -d: -f1 > coverage/remove + @lcov -r coverage/coverage.info `cat coverage/remove` > coverage/coverage.cleaned.info + @rm coverage/remove + @mv coverage/coverage.cleaned.info coverage/coverage.info + @genhtml -t "$(PACKAGE_STRING)" -o coverage coverage/coverage.info + +coverage: + @make lcov-reset + @make check + @make lcov-report + +clean-local: + @rm -rf coverage +else +lcov-reset: + @echo "reconfigure with --enable-gcov" + +lcov-report: + @echo "reconfigure with --enable-gcov" + +coverage: + @echo "reconfigure with --enable-tests --enable-gcov" +endif diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..eecaa10 --- /dev/null +++ b/NEWS @@ -0,0 +1,2 @@ +2008-04-20 + 1.0.0 Eet Release diff --git a/README.in b/README.in new file mode 100644 index 0000000..de400ff --- /dev/null +++ b/README.in @@ -0,0 +1,45 @@ +Eet @VERSION@ + +Requirements: +------------- +Must: + libc libm zlib libjpeg + Windows: evil + +****************************************************************************** +*** +*** FOR ANY ISSUES WITH EET PLEASE EMAIL: +*** enlightenment-devel@lists.sourceforge.net +*** +****************************************************************************** + +Eet is a tiny library designed to write an arbitary set of chunks of +data to a file and optionally compress each chunk (very much like a +zip file) and allow fast random-access reading of the file later +on. It does not do zip as a zip itself has more complexity than is +needed, and it was much simpler to implement this once here. + +It also can encode and decode data structures in memory, as well as +image data for saving to eet files or sending across the network to +other machines, or just writing to arbitary files on the system. All +data is encoded in a platform independant way and can be written and +read by any architecture. + +------------------------------------------------------------------------------ +COMPILING AND INSTALLING: + + ./configure + make +(do this as root unless you are installing in your users directories): + make install + +------------------------------------------------------------------------------ +BUILDING PACKAGES: + +RPM: To build rpm packages: + + sudo rpm -ta @PACKAGE@-@VERSION@.tar.gz + +You will find rpm packages in your system /usr/src/redhat/* dirs (note you may +not need to use sudo or root if you have your own ~/.rpmrc. see rpm documents +for more details) diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..995ff2f --- /dev/null +++ b/autogen.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +rm -rf autom4te.cache +rm -f aclocal.m4 ltmain.sh + +touch README + +echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS -I m4 || exit 1 +echo "Running autoheader..." ; autoheader || exit 1 +echo "Running autoconf..." ; autoconf || exit 1 +echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1 +echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1 + +if [ -z "$NOCONFIGURE" ]; then + ./configure "$@" +fi diff --git a/configure.in b/configure.in new file mode 100644 index 0000000..ebf301e --- /dev/null +++ b/configure.in @@ -0,0 +1,254 @@ +# get rid of that stupid cache mechanism +rm -f config.cache + +AC_INIT(eet, 1.0.1, enlightenment-devel@lists.sourceforge.net) +AC_PREREQ(2.52) +AC_CONFIG_SRCDIR(configure.in) +AC_CANONICAL_BUILD +AC_CANONICAL_HOST +AC_ISC_POSIX + +AM_INIT_AUTOMAKE(1.6 dist-bzip2) +AM_CONFIG_HEADER(config.h) + +AC_PROG_CC +AM_PROG_CC_STDC +AC_HEADER_STDC +AC_C_CONST +AM_PROG_CC_C_O + +AC_LIBTOOL_WIN32_DLL +define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl +define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl +AC_PROG_LIBTOOL + +VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'` +VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'` +VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'` +SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'` +version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN" +AC_SUBST(version_info) + +PKG_PROG_PKG_CONFIG + +WIN32_CFLAGS="" +WIN32_LIBS="" +lt_no_undefined="" +lt_enable_auto_import="" +case "$host_os" in + mingw*|cegcc) + PKG_CHECK_MODULES([EVIL], [evil]) + AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed]) + dnl needed for correct definition of EAPI + AC_DEFINE(EFL_EET_BUILD, 1, [Define to mention that eet is built]) + if test "$host_os" = "cegcc" ; then + WIN32_CFLAGS="-mwin32" + WIN32_LIBS="-lws2" + lt_enable_auto_import="-Wl,--enable-auto-import" + else + WIN32_LIBS="-lws2_32" + fi + lt_no_undefined="-no-undefined" + ;; +esac +AC_SUBST(WIN32_CFLAGS) +AC_SUBST(WIN32_LIBS) +AC_SUBST(lt_no_undefined) +AC_SUBST(lt_enable_auto_import) + +dnl Checking for __attribute__ support +AC_MSG_CHECKING([for __attribute__]) +AC_CACHE_VAL(_cv_have___attribute__, + [ + AC_TRY_COMPILE([#include ], + [int func(int x); int foo(int x __attribute__ ((unused))) { exit(1); }], + [_cv_have___attribute__="yes"], + [_cv_have___attribute__="no"]) + ] +) + +if test "x${_cv_have___attribute__}" = "xyes" ; then + AC_DEFINE(HAVE___ATTRIBUTE__, 1, [Define to 1 if your compiler has __attribute__]) +fi +AC_MSG_RESULT(${_cv_have___attribute__}) + +AC_FUNC_ALLOCA + +AC_CHECK_HEADER(zlib.h,, AC_MSG_ERROR("Cannot find zlib.h. Make sure your CFLAGS environment variable contains include lines for the location of this file")) +AC_CHECK_HEADER(jpeglib.h,, AC_MSG_ERROR("Cannot find jpeglib.h. Make sure your CFLAGS environment variable contains include lines for the location of this file")) + +AC_CHECK_HEADERS(netinet/in.h) + +AC_CHECK_HEADER(fnmatch.h,, AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file])) + +fnmatch_libs="" +AC_CHECK_FUNCS(fnmatch, res=yes, res=no) +if test "x$res" = "xno"; then + AC_CHECK_LIB(fnmatch, fnmatch, res=yes fnmatch_libs="-lfnmatch", res=no) +dnl Test for compilation with MinGW. +dnl fnmatch function is in the libiberty library + if test "x$res" = "xno"; then + AC_CHECK_LIB(iberty, fnmatch, res=yes fnmatch_libs="-liberty", res=no) + fi + if test "x$res" = "xno"; then + AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty]) + fi +fi + +AC_SUBST(fnmatch_libs) + +dnl These are needed for fmemopen/open_memstream +AC_DEFINE(_GNU_SOURCE, , [Enable GNU extensions]) + +AC_CHECK_FUNCS(fmemopen open_memstream realpath) + +dnl Check whether the null pointer is zero on this arch +AC_MSG_CHECKING([value of the null pointer]) +AC_TRY_RUN([ +#include +int main (int argc, char **argv) { + void *foo = NULL; + int bar = (int)foo; + return (int)foo; +} +], AC_MSG_RESULT([yes]), [ + AC_MSG_RESULT([no]) + AC_MSG_WARN([Your system is a bit too funny, eet might not work properly]) +], AC_MSG_WARN([Cannot check when cross-compiling -- assuming null is okay]) +) + +dnl Unit Tests + +AC_ARG_ENABLE(tests, + [AC_HELP_STRING([--enable-tests], [Enable tests @<:@default=no@:>@])], + [ + if test "x${enableval}" = "xyes" ; then + enable_tests="yes" + else + enable_tests="no" + fi + ], + [enable_tests="no"] +) +AC_MSG_CHECKING([if tests are built]) +AC_MSG_RESULT([${enable_tests}]) + +if test "x${enable_tests}" = "xyes" ; then + PKG_CHECK_MODULES([CHECK], + [check >= 0.9.5], + [dummy="yes"], + [enable_tests="no"] + ) +fi + +AM_CONDITIONAL(EET_ENABLE_TESTS, test "x${enable_tests}" = "xyes") + +dnl Coverage + +AC_ARG_ENABLE(coverage, + [AC_HELP_STRING([--enable-coverage], + [compile with coverage profiling instrumentation @<:@default=no@:>@])], + [ + if test "x${enableval}" = "xyes" ; then + enable_coverage="yes" + else + enable_coverage="no" + fi], + [enable_coverage="no"] +) +AC_MSG_CHECKING([whether to use profiling instrumentation]) +AC_MSG_RESULT($enable_coverage) + +if test "x$enable_tests" = "xno" -a "x$enable_coverage" = "xyes"; then + enable_coverage="no" +fi + +if test "x$enable_coverage" = "xyes"; then + AC_CHECK_PROG(have_lcov, + [lcov], + [yes], + [no] + ) + if test "x$have_lcov" = "xyes" ; then + COVERAGE_CFLAGS="-fprofile-arcs -ftest-coverage" + COVERAGE_LIBS="-lgcov" +dnl remove any optimisation flag and force debug symbols + CFLAGS="-g -O0" + else + AC_MSG_WARN([lcov is not found, disable profiling instrumentation]) + enable_coverage="no" + fi +fi +AC_SUBST(COVERAGE_CFLAGS) +AC_SUBST(COVERAGE_LIBS) + +AM_CONDITIONAL(EET_ENABLE_COVERAGE, test "x$enable_coverage" = "xyes") + +dnl Disable support for old eet file format. +old_eet_file_format="yes" +AC_ARG_ENABLE(old-eet-file-format, + AC_HELP_STRING( + [--disable-old-eet-file-format], + [disable old eet file format support. [[default=enabled]]] + ), + [ old_eet_file_format=$enableval ] +) +AM_CONDITIONAL(EET_OLD_EET_FILE_FORMAT, test "x$old_eet_file_format" = "xyes") +if test "x$old_eet_file_format" = "xyes"; then + AC_DEFINE(EET_OLD_EET_FILE_FORMAT, 1, [support old eet file format]) +else + AC_DEFINE(EET_OLD_EET_FILE_FORMAT, 0, [support old eet file format]) +fi + +dnl Assert or fail. +prefer_assert="no" +AC_ARG_ENABLE(assert, + AC_HELP_STRING( + [--enable-assert], + [enable assert, [[default=disabled]]] + ), + [ prefer_assert=$enableval ] +) +AM_CONDITIONAL(EET_ASSERT, test "x$prefer_assert" = "xyes") +if test "x$prefer_assert" = "xno"; then + cflags="$cflags -DNDEBUG" +fi + +#AM_CHECK_DOXYGEN() + +AC_OUTPUT([ +Makefile +eet.pc +eet.c +src/Makefile +src/lib/Makefile +src/bin/Makefile +src/tests/Makefile +README +eet.spec +]) + + +##################################################################### +## Info + +echo +echo +echo +echo "------------------------------------------------------------------------" +echo "$PACKAGE_NAME $PACKAGE_VERSION" +echo "------------------------------------------------------------------------" +echo +echo "Configuration Options Summary:" +echo +echo " Tests................: ${enable_tests}" +echo " Coverage.............: ${enable_coverage}" +echo +echo " Old eet file format..: ${old_eet_file_format}" +echo +echo " Compilation..........: make" +echo +echo " Installation.........: make install" +echo +echo " prefix.............: $prefix" +echo diff --git a/debian/.cvsignore b/debian/.cvsignore new file mode 100644 index 0000000..85c5efb --- /dev/null +++ b/debian/.cvsignore @@ -0,0 +1,8 @@ +files +libeet0 +libeet0-dev +libeet0.postinst.debhelper +libeet0.postrm.debhelper +libeet0.substvars +tmp +changelog diff --git a/debian/changelog.in b/debian/changelog.in new file mode 100644 index 0000000..37c09ac --- /dev/null +++ b/debian/changelog.in @@ -0,0 +1,5 @@ +eet (@VERSION@-1) unstable; urgency=low + + * a CVS snapshot release. + + -- Falko Schmidt Fri, 4 Apr 2008 15:13:56 +0000 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..1e8b314 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +6 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..8e7f9d8 --- /dev/null +++ b/debian/control @@ -0,0 +1,77 @@ +Source: eet +Section: libs +Priority: optional +Maintainer: Falko Schmidt +Build-Depends: debhelper (>= 6), cdbs, automake1.7 | automaken, libtool, pkg-config, zlib1g-dev, libjpeg62-dev, doxygen +Standards-Version: 3.7.3 +Homepage: http://www.enlightenment.org + +Package: libeet-dev +Section: libdevel +Architecture: any +Depends: libeet1 (= ${Source-Version}), zlib1g-dev, libjpeg-dev +Description: Enlightenment DR17 file chunk reading/writing library development files + Eet is a tiny library designed to write an arbitary set of chunks of data to a + file and optionally compress each chunk (very much like a zip file) and allow + fast random-access reading of the file later on. It does not do zip as zip + itself has more complexity than we need, and it was much simpler to implement + this once here. + . + This package contains headers and static libraries for development with libeet. + libeet. + +Package: libeet-doc +Section: doc +Architecture: all +Enhances: libeet-dev +Description: libeet1 API documentation + Eet is a tiny library designed to write an arbitary set of chunks of data to a + file and optionally compress each chunk (very much like a zip file) and allow + fast random-access reading of the file later on. It does not do zip as zip + itself has more complexity than we need, and it was much simpler to implement + this once here. + . + This package contains documentation (html and manpages) for development with + libeet. + +Package: libeet1 +Architecture: any +Depends: ${shlibs:Depends} +Description: Enlightenment DR17 file chunk reading/writing library + Eet is a tiny library designed to write an arbitary set of chunks of data to a + file and optionally compress each chunk (very much like a zip file) and allow + fast random-access reading of the file later on. It does not do zip as zip + itself has more complexity than we need, and it was much simpler to implement + this once here. + . + It's small, fast, and does a job. It's heavily commented and fully documented. + +Package: libeet-bin +Architecture: any +Depends: ${shlibs:Depends} +Description: Enlightenment DR17 file chunk reading/writing utility + Eet is a tiny library designed to write an arbitary set of chunks of data to a + file and optionally compress each chunk (very much like a zip file) and allow + fast random-access reading of the file later on. It does not do zip as zip + itself has more complexity than we need, and it was much simpler to implement + this once here. + . + This package contains eet, an utility that allows you to extract, insert, + encode and decode config blobs created with libeet. + +Package: libeet-dbg +Architecture: any +Section: libdevel +Priority: extra +Depends: libeet1 (= ${binary:Version}) +Description: Enlightenment DR17 file chunk reading/writing library - debug symbols + Eet is a tiny library designed to write an arbitary set of chunks of data to a + file and optionally compress each chunk (very much like a zip file) and allow + fast random-access reading of the file later on. It does not do zip as zip + itself has more complexity than we need, and it was much simpler to implement + this once here + . + This package contains unstripped shared libraries. It is provided primarily + to provide a backtrace with names in a debugger, this makes it somewhat easier + to interpret core dumps. The libraries are installed in /usr/lib/debug and + are automatically used by gdb. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..7dc25b6 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,41 @@ +This package was debianized by Falko Schmidt on +Fri, 4 Apr 2008 12:23:41 +0000. + +The source is downloaded from the e17/libs/eet module of the enlightenment CVS +tree. For more information, see: + + http://www.enlightenment.org + +Upstream Authors: Enlightenment team + +Copyright: + + Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS) + +License: + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies of the Software, its documentation and marketing & publicity + materials, and acknowledgment shall be given in the documentation, materials + and software packages that this Software was used. + + 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. IN NO EVENT SHALL + THE AUTHORS 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. + +On Debian systems, the complete text of the BSD License can be found +in `/usr/share/common-licenses/BSD'. + +The Debian packaging is: + (C) 2006 2007,Debian Pkg-e Team + and is licensed under the GPL, see `/usr/share/common-licenses/GPL'. diff --git a/debian/eet.1 b/debian/eet.1 new file mode 100644 index 0000000..2abe11c --- /dev/null +++ b/debian/eet.1 @@ -0,0 +1,50 @@ +.TH EET 1 "November 4, 2007" eet +.SH NAME +eet \- Small tool to handle eet files. +.SH SYNOPSIS +.B eet +.RI -l " FILE.EET" +.br +.B eet +.RI -r " FILE.EET KEY" +.br +.B eet +.RI "-x|-d" " FILE.EET KEY OUT-FILE" +.br +.B eet +.RI "-i|-e" " FILE.EET KEY IN-FILE COMPRESS" +.br +.SH DESCRIPTION +This manual page documents briefly the +.B eet +command +.PP +\fBeet\fP is a program that can extract, import, delete, list, decode and encode data from eet files. +.SH OPTIONS +.TP +.B \-l +List all keys in FILE.EET. +.TP +.B \-r +Remove KEY in FILE.EET. +.TP +.B \-x +Extract data stored in KEY in FILE.EET and write to OUT-FILE +.TP +.B \-d +Extract and decode data stored in KEY in FILE.EET and write to OUT-FILE +.TP +.B \-i +Insert data to KEY in FILE.EET from IN-FILE and if COMPRESS is 1, compress it +.TP +.B \-e +Insert and encode to KEY in FILE.EET from IN-FILE and if COMPRESS is 1, compress it +.SH BUGS +To report a bug, please visit \fIhttp://bugs.enlightenment.org/\fR +.SH AUTHOR +.TP +eet was written by the Enlightenment Development Team +.I http://web.enlightenment.org +.PP +This manual page was written by Albin Tonnerre , +for the Debian project (but may be used by others). diff --git a/debian/libeet-bin.install b/debian/libeet-bin.install new file mode 100644 index 0000000..3399d7b --- /dev/null +++ b/debian/libeet-bin.install @@ -0,0 +1 @@ +debian/tmp/usr/bin/eet diff --git a/debian/libeet-dev.install b/debian/libeet-dev.install new file mode 100644 index 0000000..4a70bfa --- /dev/null +++ b/debian/libeet-dev.install @@ -0,0 +1,4 @@ +debian/tmp/usr/lib/pkgconfig/* +debian/tmp/usr/include/* +debian/tmp/usr/lib/lib*.a +debian/tmp/usr/lib/lib*.so diff --git a/debian/libeet-doc.dirs b/debian/libeet-doc.dirs new file mode 100644 index 0000000..a110659 --- /dev/null +++ b/debian/libeet-doc.dirs @@ -0,0 +1 @@ +usr/share/doc/libeet-doc diff --git a/debian/libeet-doc.doc-base b/debian/libeet-doc.doc-base new file mode 100644 index 0000000..2d1ef1f --- /dev/null +++ b/debian/libeet-doc.doc-base @@ -0,0 +1,10 @@ +Document: eet +Title: Eet Guide +Author: Carsten Haitzler +Abstract: This document describes Eet API + and provides sample C code. +Section: Programming/C + +Format: HTML +Index: /usr/share/doc/libeet-doc/html/index.html +Files: /usr/share/doc/libeet-doc/html/*.html diff --git a/debian/libeet1.install b/debian/libeet1.install new file mode 100644 index 0000000..c45ebcf --- /dev/null +++ b/debian/libeet1.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/lib*.so.* diff --git a/debian/rules b/debian/rules new file mode 100644 index 0000000..3833157 --- /dev/null +++ b/debian/rules @@ -0,0 +1,22 @@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/autotools.mk + +DEB_INSTALL_MANPAGES_libeet-doc := $(DEB_SRCDIR)/doc/man/man3/*.3 +DEB_INSTALL_MANPAGES_libeet-bin := $(DEB_SRCDIR)/debian/eet.1 +DEB_DH_STRIP_ARGS := --dbg-package=libeet-dbg +DEB_CONFIGURE_EXTRA_FLAGS := --disable-rpath +DEB_MAKE_CLEAN_TARGET := clean + +build/libeet-doc:: + cd $(DEB_SRCDIR) && ./gendoc + +install/libeet-doc:: + cp -R $(DEB_SRCDIR)/doc/html debian/libeet-doc/usr/share/doc/libeet-doc/ + rm $(DEB_SRCDIR)/doc/man/man3/todo.3 + +clean:: + rm -rf $(DEB_SRCDIR)/doc/html $(DEB_SRCDIR)/doc/latex $(DEB_SRCDIR)/doc/man + rm -rf $(DEB_SRCDIR)/eet_docs.tar.gz* + ./autogen.sh --prefix=/usr $(DEB_CONFIGURE_EXTRA_FLAGS) diff --git a/doc/.cvsignore b/doc/.cvsignore new file mode 100644 index 0000000..8723dbe --- /dev/null +++ b/doc/.cvsignore @@ -0,0 +1,5 @@ +Makefile +Makefile.in +html +latex +man diff --git a/doc/Doxyfile b/doc/Doxyfile new file mode 100644 index 0000000..b553e4c --- /dev/null +++ b/doc/Doxyfile @@ -0,0 +1,139 @@ +PROJECT_NAME = Eet +PROJECT_NUMBER = +OUTPUT_DIRECTORY = . +INPUT = ../eet.c ../src/lib +IMAGE_PATH = img +OUTPUT_LANGUAGE = English +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = head.html +HTML_FOOTER = foot.html +HTML_STYLESHEET = eet.css +HTML_ALIGN_MEMBERS = YES +ENUM_VALUES_PER_LINE = 1 +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +EXTRACT_ALL = NO +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO +HIDE_UNDOC_MEMBERS = YES +HIDE_UNDOC_CLASSES = YES +HIDE_FRIEND_COMPOUNDS = YES +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +INTERNAL_DOCS = NO +STRIP_CODE_COMMENTS = YES +CASE_SENSE_NAMES = YES +SHORT_NAMES = NO +HIDE_SCOPE_NAMES = NO +VERBATIM_HEADERS = NO +SHOW_INCLUDE_FILES = NO +JAVADOC_AUTOBRIEF = YES +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 2 +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ALIASES = +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +SHOW_USED_FILES = NO +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +FILE_PATTERNS = +RECURSIVE = NO +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +INPUT_FILTER = +FILTER_SOURCE_FILES = NO +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 2 +IGNORE_PREFIX = +GENERATE_TREEVIEW = NO +TREEVIEW_WIDTH = 250 +GENERATE_LATEX = YES +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = YES +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +GENERATE_MAN = YES +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = YES +GENERATE_XML = YES +XML_SCHEMA = +XML_DTD = +GENERATE_AUTOGEN_DEF = NO +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = NO +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +CLASS_DIAGRAMS = NO +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = NO +COLLABORATION_GRAPH = NO +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = NO +INCLUDED_BY_GRAPH = NO +GRAPHICAL_HIERARCHY = NO +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 512 +MAX_DOT_GRAPH_HEIGHT = 512 +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +SEARCHENGINE = NO diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..5744849 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,46 @@ + +if BUILD_DOCS + +# install documentation +docdir = $(datadir)/$(PACKAGE)/doc + +all-local: doc-build.stamp + +# rule to remove all old created files +doc-prepare.stamp: + @if test -d html ; then \ + rm -rf html/ latex/ man/ xml/; \ + fi + +# rule to build documentation and copy necessary files +doc-build.stamp: doc-prepare.stamp + @doxygen + @cp img/*.png html/ + +# rules to clean +clean-local: + @rm -rf html/ latex/ man/ xml/ + +# rule to install the documentation in $(docdir) +install-data-local: + @if ! test -d "$(DESTDIR)$(datadir)/$(PACKAGE)"; then \ + $(mkinstalldirs) "$(DESTDIR)$(datadir)/$(PACKAGE)"; \ + fi + @if ! test -d "$(DESTDIR)$(docdir)"; then \ + $(mkinstalldirs) "$(DESTDIR)$(docdir)"; \ + fi + @cp -pr html/ man/ latex/ xml/ "$(DESTDIR)$(docdir)" + +# rule to uninstall the documentation +uninstall-local: + rm -rf $(DESTDIR)$(docdir) + + +MAINTAINERCLEANFILES = Makefile.in eet.c + +DISTCLEANFILES = Makefile.in eet.c + +endif + +EXTRA_DIST = Doxyfile eet.css foot.html head.html img/ + diff --git a/doc/e.css b/doc/e.css new file mode 100644 index 0000000..604ee7f --- /dev/null +++ b/doc/e.css @@ -0,0 +1,161 @@ +body { + background: url("b.png"); + background-repeat: repeat-x; + background-position: top left; + background-color: #f4f4f4; + text-align: center; + font-family: sans-serif; + padding: 0; + margin: 0; +} + +div.main { + margin: 1em auto; + vertical-align: top; + font-family: "Bitstream Vera", "Vera", "Trebuchet MS", Trebuchet, Tahoma, sans-serif; + color: #444444; + font-size: 0.8em; + text-align: justify; + width: 80%; +} + +td.t { background-image:url("t.gif"); } +td.t[class] { background-image:url("t.png"); } +td.tl { background-image:url("tl.gif"); } +td.tl[class] { background-image:url("tl.png"); } + +td.nav, td.lnav, td.rnav { + align: middle; + text-align: center; + vertical-align: middle; + width: 100px; + height: 25px; + font-family: "Bitstream Vera", "Vera", "Trebuchet MS", Trebuchet, Tahoma, sans-serif; + color: #000000; + font-size: 9px; + font-weight: bold; + white-space: no-wrap; +} + +td.lnav[class] { background-image:url("n.png"); } +td.lnav[class] { background-image:url("n.png"); } +td.rnav { background-image:url("n.gif"); } +td.rnav[class] { background-image:url("n.png"); } + +hr { + width: 200px; + height: 1px; + background: #dddddd; + border: 0; +} + +p { color: #444444 ;} +p.tiny, small { + color: #888888; + font-size: 0.5em; +} + +h1 { + text-align: center; + font-size: 1.3em; +} + +h2 { font-size: 1.1em; } +h3 { font-size: 0.9em; } + +span.keyword { color: #008000; } +span.keywordtype { color: #604020; } +span.keywordflow { color: #e08000; } +span.comment { color: #800000; } +span.preprocessor { color: #806020; } +span.stringliteral { color: #002080; } +span.charliteral { color: #008080; } + +a:link { + color: #445566; + text-decoration: underline; +} + +a:visited { + color: #667788; + text-decoration: underline; +} + +a:active { + color: #88cccc; + text-decoration: none; +} + +a:hover { + color: #112266; + text-decoration: underline; +} + +a.nav { + text-decoration: none; + display: block; +} + +a.nav:link, a.nav:visited { color: #888888; } +a.nav:active { color: #000000; } +a.nav:hover { color: #444444; } +a.code:link, a.code:visited { text-decoration: none; } + +div.fragment { + font-size: 1em; + border: 1px dotted #cccccc; + background-color: #ffffff; + text-align: left; + vertical-align: middle; + padding: 2px; + margin-left: 25px; + margin-right: 25px; + overflow: auto; +} + +td.indexkey { + font-weight: bold; + padding-left: 10px; + padding-right: 0; + padding-top: 2px; + padding-bottom: 0px; + margin: 0; + margin-top: 2px; + margin-bottom: 2px; + border: 1px dotted #cccccc; + border-right: 0px dotted #cccccc; +} + +td.indexvalue { + font-style: italic; + padding-right: 10px; + padding-left: 0; + padding-top: 2px; + padding-bottom: 2px; + margin: 0; + margin-top: 2px; + margin-bottom: 2px; + border: 1px dotted #cccccc; + border-left: 0px dotted #cccccc; +} + +.mdescRight { font-style: italic; } +.memitem { + padding-left: 2px; + padding-right: 2px; + border: 1px dotted #cccccc; + background-color: #ffffff; +} +.memname { + white-space: nowrap; + font-weight: bold; +} +.paramname { font-weight: normal; } + +div.ah { + border: thin solid #888888; + font-weight: bold; + margin-bottom: 3px; + margin-top: 3px; +} + diff --git a/doc/eet.css b/doc/eet.css new file mode 100644 index 0000000..6117b39 --- /dev/null +++ b/doc/eet.css @@ -0,0 +1,178 @@ +td.md { + background-color: #ffffff; + font-family: monospace; + text-align: left; + vertical-align: center; + font-size: 10; + padding-right : 1px; + padding-top : 1px; + padding-left : 1px; + padding-bottom : 1px; + margin-left : 1px; + margin-right : 1px; + margin-top : 1px; + margin-bottom : 1px +} +td.mdname { + font-family: monospace; + text-align: left; + vertical-align: center; + font-size: 10; + padding-right : 1px; + padding-top : 1px; + padding-left : 1px; + padding-bottom : 1px; + margin-left : 1px; + margin-right : 1px; + margin-top : 1px; + margin-bottom : 1px +} +h1 +{ + text-align: center; + color: #333333 +} +h2 +{ + text-align: left; + color: #333333 +} +h3 +{ + text-align: left; + color: #333333 +} +a:link +{ + text-decoration: none; + color: #444444; + font-weight: bold; +} +a:visited +{ + text-decoration: none; + color: #666666; + font-weight: bold; +} +a:hover +{ + text-decoration: none; + color: #000000; + font-weight: bold; +} +a.nav:link +{ + text-decoration: none; + color: #444444; + font-weight: normal; +} +a.nav:visited +{ + text-decoration: none; + color: #666666; + font-weight: normal; +} +a.nav:hover +{ + text-decoration: none; + color: #000000; + font-weight: normal; +} +a.qindex:link +{ + text-decoration: none; + color: #444444; + font-weight: normal; +} +a.qindex:visited +{ + text-decoration: none; + color: #666666; + font-weight: normal; +} +a.qindex:hover +{ + text-decoration: none; + color: #000000; + font-weight: normal; +} +p +{ + color: #000000; + font-family: sans-serif; + font-size: 10; +} +body { + background-image: url("hilite.png"); + background-repeat: no-repeat; + background-position: left top; + background-color: #dddddd; + color: #000000; + font-family: sans-serif; + padding: 8px; + margin: 0; +} +div.fragment +{ + background-image: url("hilite.png"); + background-repeat: no-repeat; + background-position: left top; + border: thin solid #888888; + background-color: #eeeeee; + padding: 4px; + text-align: left; + vertical-align: center; + font-size: 12; +} +hr +{ + border: 0; + background-color: #000000; + width: 80%; + height: 1; +} +dl +{ + background-image: url("hilite.png"); + background-repeat: no-repeat; + background-position: left top; + border: thin solid #aaaaaa; + background-color: #eeeeee; + padding: 4px; + text-align: left; + vertical-align: center; + font-size: 12; +} +em +{ + color: #334466; + font-family: courier; + font-size: 10; + font-style: normal; +} + +div.nav +{ + border: thin solid #000000; + background-color: #ffffff; + padding: 1px; + text-align: center; + vertical-align: center; + font-size: 12; +} +div.body +{ + border: thin solid #000000; + background-color: #ffffff; + padding: 4px; + text-align: left; + font-size: 10; +} +div.diag +{ + border: thin solid #888888; + background-color: #eeeeee; + padding: 4px; + text-align: center; + font-size: 8; +} diff --git a/doc/foot.html b/doc/foot.html new file mode 100644 index 0000000..0d3303d --- /dev/null +++ b/doc/foot.html @@ -0,0 +1,6 @@ + +
+

Copyright © Enlightenment.org

+

$projectname Documentation Generated: $datetime

+ + diff --git a/doc/head.html b/doc/head.html new file mode 100644 index 0000000..c2ec935 --- /dev/null +++ b/doc/head.html @@ -0,0 +1,44 @@ + + + + + $title + + + + + + + + + + +
+ + + + + +
Download
+
+ + + + + + + + +
+
+
+ + + + + +
Support
+
+ +
diff --git a/doc/img/_.gif b/doc/img/_.gif new file mode 100644 index 0000000000000000000000000000000000000000..60fa7a1acfebae5abb3f687985ff70ca668a9397 GIT binary patch literal 266 zcmZ?wbhEHbWMp7uSjxb_%*?Eypy1`@Ra;xz-rhcM-n<<(9l@1Vg(l$ z*S~-N?Ck8)($dbIJNKW)K=Ge~bACZ(QD%BZi9$$5szOj=aY<@XZepH-hO?%E5zv7Q aia%KxxftXbbQpjD_C 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 literal 0 HcmV?d00001 diff --git a/doc/img/eet.png b/doc/img/eet.png new file mode 100644 index 0000000000000000000000000000000000000000..47597a8d4439b4999a1c1f6d5f4ae1427e4f1097 GIT binary patch literal 74944 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

Ge~ohFmh4^uFmPVot&RG=&7r7IY8UkJ5G*f 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

    _*~<6{7!bbm5Xn5?q%&Jo*u-pmZ2>&)4$h zv(dmbq`_EA<)fq~L@PjlG%Ei7l}@>VA7afYdVjetpi!^mVS%@Nl9?lUm~lt~(vtIgtvX9;`$X>UCy@OBWQ&CWGP1 z5ZrzoIZ4$6^vs(5`R*)4<5Iy!gem+4Pi-!kJzK;xXx( zfGD0IZ*g+3F>MJ6mD3qVMcX$}_HE@Y&lg66Avj$2?oug1PD>|Yed!okyrSlw88;04 z@9dmwA;!9I>`$j32#hg4@_}9f~Z_{;cucRSx5m1swWZ6NwlAZE8vSRoCvR)&bymCO}) zP$a)gzVET|-=u z0Bk{fYAfZ1Zs7Li5@=Ap)=%}El4n^8WFjC)NVRSecTSw%%u^xAGk0!d@$=dj)!tv5k_cRI(eOUEQV3sA z6!3u}M=s-Rqo`k7av4`hn)dI_n$p)Cf#>fQ$+X_v>$Ro8#IFYhVSVUo_5L!1m6`oo zO{i6NO9nnW$(XDKc8_Rf#UPVUZQK5c=KQ}cw|U4Ca0KR=zm!JnLzG2QuE)|ZRF>6B z=7mKb$jHD$bblIS(9ADzH4k8+!TKX~a7Elx>-<0dZcPqt2L^r!9O;Nikc_UN0xmNy&|6i8sf zS|jp5%8HkPCYus!E#+#js5;Vr9*~9E9~la1sGrKqvcHIL1Eb=!fBY?D0SDrT zK8x2W(=va~!ormD8Myf&ibUXZb;=tn?z+IPc}@%a4`+VOdWEec#pg&vhu_|bjmHqd zP}sS$e0&%waA8}^COCPXi>_ro+f?A;Z@CaN$WKqmy4d~Ssk)IAt?iVrhTtJFs)`JL z+XAI9tkeh5X=Llgx|7O;5{aoC>Z~4$y)g{x{H%EaN$+k_j_}K_3$u0BFTJ5Uhw8QePr%ifvOgF>hp|8zIrXdj z?YZI&JQUm`q66%xNb_-b9^(MZVhPkB%c5>#e3fo_Kk|i#ps!P=!ueH@;}H5=fOP&X zoWi-m_E{4;;#pZWn*E36kVGr27<@TPKig`2$``_Om_G^J&&$-EPm04Z{(#V9%}w*Y zGta0B58ha)mvQS-%FA}Uz55({&z1y@)(PaI*68gvqU5ave0_XG2 ziX~v16@19$1X=<_OPf#L%``mm;5Y%v2joaTR;EXWju=(b*S4sMrZGPFMyo z^E-OmTCSFw@v2cZ7@Q}!{dU?ySH1E+4`*=B7^^^Jp+5~xN$&M?*{E{1;rZ>T?Mn)S zjoQ_S%{(j;$7GN1rcxtN84W{j33^q~RJ9q&wVkLtSm#i(=cJK?YQHzPrhf85M*iC6 zETl(e6G`W69AcxD8Er_xsNplZN=AmRIA#%fb5*Wufb2OXaeSf(@YboGdN(uGPa7*B=6-d(TEoK~^-2~rNofh-2W#rr#>8pD=<)`i_Hwtra(CW;sPSdj zH8_;p;^PFo{cS6390MUPXlN57)ERl33}DWlQ9OKi z3p>yaF4uVFUe$#5TAda|BLwGc<8DK*Z_^?Gd^pK#SQRti|3!e6NE| zL2~YDvXz<0g|70nCn} zJCdSmqQ-S?2QSNd#3e=CF16Aw`bD?C%<10>>1@(j?l&n);hI*$tlT*2y?>Yi%W@}# zW}gs0xt6TLUu z=a%-1F(=b#0^U~r^ZcqU1NXc})2>z)p$!8pWB5Bq|5&Ad-u;6-aLV04xcta+?c7)P zJNw3`i(1Q!?EIVS<)r5gIw*)y}{?CP@1sL<04&5!z)MIzqP=|Y@=~MHEHkri2h!5 zX~lyFvgBd2-@3ieS!VY6RK139N4I`lo&GSw4e~kM$ZvZiZV;=eWSFS{;s57y$R-MB zM-aVR4?9Xc;DJaUcpUh8)N{o4exCnMs!D-%fR|7IG_8!<%U_}E^&Y$QTnv=pi9qJ5 zQsewJ?AhO0p3yk>)jcmvMlm55GlN&$K+gv2KttK!jfOULKzrbb^{De)W1l?UZOfw0 zL!D8wM4>^#eUZ%{>$bo zl<_YiB|(2&x+xGBGe9^ul*Yg;+0tA4cN1Nbw%H=;u|4gjEN+^;d9caX!?n&j`c=up zBmUx%F?W3OOz7ldXhQ#htm)sjr=`Tds+*e8UDf8|?ILnJ@zSG8$^e25G<$ap>zIxM=ZKBL%;$d7`BHU z*KFcNdgi@D45Ap)?YE|}#8-z@IEUgDO8JAc^ zFp#xDU+q$Lka&=m-DGz1Qx3JS_e-eT-&N#ln&DA|BbL2fNy}ClpQo=nto(i4j#7+O zYcadv8}uvph?6r+q7IBL%D1E341T;)DU@^_C%r+J)go=s)_(5M$Cc-2+UF{)&D?4e zw4sa1e{>`+mc+Cn^{pN19h*Gq2Pa)aztL^e`{Y(xQ-XfDg?wxjv$<$9Od*6L9JMHW z8wr5KP*Z%y8gC$nm4Fpvs*7V@>RgZwvmF##^a?xPN#-3OvLO{q?uuhtbg<=c~C+v^h<9lhD8LnO zju1Z-9rK2vUB~=cIZsYYFGZ*ncZjnlyR-{mxJeDCTJ+bB+CT{SNT&lhvJYimuj5t7 z&+9^>98y9w#^EmqCxgy><$OJ=fH72H+wRbUw`O;BQX(5)P1kGW$1E8?g>Mt{fQG1Y z8qkn+U6onubDJp*yt)5pdp}>s_@`S^#@l45{Mm(I?OzU&?oV1UP72$(^(q*6Yt-sH ze6`^=(iWeiuvW0OuY~OUOXkv+54l~z)P~&`^po_Tt%K~&Wy%lX5Qt115#K*ohg#LU zC*XEmu;5*R$zqRqeoPP}0iM4=n~FG1Swn z;X4f?mg@1L+f0h1Fv@{g*}a{&zvd?4mGGcsM{1zu^x5cv@K$p)4Ock_RPHYl)=C=P z@q6HU+?h5hcWlpUsRn+RhqrSj#NNFKg#a{+jKJfALd>8&mmnNid9r}EzFuAme9;!* zw-$~bsQIrJKn^M~`3+!?qVRhki2=in4fCLQDtQQ|cgw7x*h1YN%R%w9A0HRC`b_ER zZvRz*E}>;x>xNATi@WUCa2o=al$pLHZx;=y#$RqK!ZY^N(x#S>#}S#VSSaaBslq+V|DT2_iDmi9J{r*65YzasNF-brrvj3g^$RZ)50>70IQK-%w(5 zHmv*GC!l4z*wVd;s_efw-GZuf@1|A5xE#XQDrYjndUIOgCaY0zjI*qgt7rz8E@IBo0PZnK!lYdsraAI*Q!vlECp!6u%J;Na;&;WY z<>}6ajIvDw?D(?|EGmR3RrU-@KbPDg$|XhUvXmRq{AZ*3?_%~*vRcuGE&;cZSzbd5 zM9Tvi5*ARdrIS`Ge}Q)9feNP!cn7}80LkPC9{84S^3z+)(P}J{^~|-nKlBH8e66T~ z3F3p8e>0^2E$SB=gDjdApy1Zm8eo3^(Ta@pLrdm@V?}jBGM3NwPo3gBS>GLgO7Y7^vUYJkHyBgRP-)TbCagg5-52f$sM&WAysh2Izn~ z%E}>h{>Y?}K!LrUT|N_TxDO%i7pfV1Uu`Bj6YjNZKyDBmRoo~m@kQU?FSbYG`fV5S z?9x^yUTF2My{k@wBw|{!z%cP%%t%OW1K7Nit&?%5C+0JQ@J*o8IltE-L8~8ZUI$nN z-+OP+>JH(Hb&~I&xZLBG3sAG8UBDUv82vcG9tt-BfFv?H5+kowB6}<$sXk}XyIu2w zBXS#_9{p${V%15$8HD0?;U=VElD2rYQ=1*@{FpwL3o{3e==9;PsYI=a4mE{7w>vegYvD?dy(Av?s?Djo4n{V4 zj<9zL9b!I#I}o`U1&*l%vWzFhbAM9idl4d&oMk6}RA4RzCqdifNIgn6L7c{o!U)L3 zs>q!Es;A?J{~oO#Fk)ILWVI-;32dzmpd{z*PIlyy1iEAOf#d z<5l2(z~AaaQoR*M$SEC{0|!`P4&T5BsHG5mb3l1b{oK4@ z__-vn!HETc$KxHJz1JIW#b>=G7}x&um`X8j9-Mn8;7RABVqB;a@QvyKNU{ zXp=3_-w_J-FDX#SE&YOFtN&J=`Zo!{<=pX7Fy1&_Y5&ONpf^4v`GwS{Un*!({l%A{ zkjugm6<=YX_Rp;Qiu@*?*{CLrJ}sOSypEL_EZHMluipKwAJY+j~jAJKWg z0;jK)MZH7wU!F_7hP8}#`b6J*^Tl_AA4Q*r6ZqIBnF!S_@4Yu)XYEx^f0CXHL`K1U z!PST49)Ue&SP*wX$eXN(HK!Vh{9qe^sM_mk2pg5N-z-|+F@(_T=oPVMUoAru0`dso z1)|gKYWA5UX`rTtmfs>vaT}x1az-J>3NMOehsJG2Q!asz7?V>o%R~Y=iCMa~B}(8H z;EFG_+-2PO->57uTHrJ!1;ZzY1P*`;!;DR{OsnHNsb)@PB#`vuqo= zku34!6-?Rq_W7szIe@`ZdKXCLvjQ~qGJ3xI>aIVmGw@hU%r^M33FvV+En5Q})@{G% zIljg2-zU!l2|VqyN=i0pE^K1c%8xt><+3b@Nav<}J19EhjqM+Z`t@%Q)qbdGBnVA| z3GSSh4bdU~Z|5ZiBG`?XWlY1rzgMhr5FQqMwG3aAq7yiQ8Bdl4d=J` zl)1Yz@5IOKx`5#*ssJNB-hY{_%NfzX<#A|NKWL8>6teLw!A8%em-CT0Q&8aqs+0o* zKt9Pg`rqgMt@8Di+N)gxb4&iz)50HM=bpl3ab-f^9skEBUdf7GFW40`FdcBiNXdWs zmbE@|ZDtGkPxtVxy|zRi{d4I@quSZsPoh2*k_mdug5p^iDs;>N6XeDT_Ml4bd>n$R zMv=<=e0Qde2cZFORPm8T7}`S8Q>VR8CC0#PO_fS`T_xwH$3u4U8+sGSuisJ6pE<~$ zhw(C%N{N+z0z!kY&))kQp};X)$^E_Tw>SL*Hu3F*yzav5-vxS7Ri@qN+CeExo|6p; zqSXn&Bm=+vd-JItJOaxq6fRBsKmRM+01BjE=zLI%UcMV49iFzfv(+HREIF^OP*@aMyeuW+8V%P zS%0DJmL51Aq=D#bI+MD6!TmXPWe(^FS_hcSF{5Y0H1aC~2NbaSnWI5|ul&^}rG!J$ zSc#DXF!fc=goEx7%C|Lx*R_{Rc_mGMkVHhMU{J-EFhVjDlcXsP79g|{Z~E!sY2;4V zgl)si`y?qZ8k2VN@D-&f#ecOM!wzv*<-}e@9CtTM=>{YfYW;vuQcs$Kl3>bT!2NkI zPyrbjuN-Tt$ktPxqDqT61F#o1GH$FYgw$I?@OJPkaImCzk#JDd4t6%zTv@A)b41Yc z1U4_B94)it2k1V>dm`uiF_%`OdvD51zfBCY-A)>Lrv<(l?q+kG+>sBU)}Wk5eF^JK!YMiKDt$4-0FK^F2x>k6HnVOI$|=HC>o))(CJ*T$ zCJIGGn}WIC1;T+rhJF3aiUKtW`*&FikmwortxyKY!Z5wta_jYVn8zSdDCS&u(C~h> z#=A=M^D^c@w+Uz9Kd!XOoC6;b$Pv1xFwrTvE!I(|RT>?(SKsb)mO$^;yoRp4YaG22 zSV#(UZn+NAf3{(2gimnxCF!ol>Di)=;2rmMoVahA zx50ko5;H~T?{fHZ2EVk!_;vtqVD*-)n;${pj+!_QtW0^Yfa8C!j|%5Zt=vqhVe`n@#5Xpie_ZQ2C`EXLdjx>v1IaFW6ugsaOL z)>uOlhOPNd$g@6>3yCgOII&Sxv#cNkznZ3HvBP9`_Fw@g6FNgLYRk^!E- zsEH%+5lr?=q(88i99kU7i9G&Aox=0o@DIox&TAc`BNN@}zBL=#cLzUUA?*T)58mX} zbdgAGy4^xw244MOts{5a@CIY0zdv5K9UycBVDa=nPZC>-*XngvN1#D|2!MiA)P!r7 zzE01W1nLP25XO)qdcE6rgU&qkw7DXhiNHNM5VLow@kX;WHFRxQfe)u=$Bfg_4ih;3 z9gdN(irT%JGEG?|ASIIZ66`vH{JVLYHr|mi5K}8-LXi430Wh_@v~YwbXRy!6+cU@G zH{2m|RYzvbFaLBj9>lV*&&P(~eW2TFYouv!kyQs4sS{IiD_7S}jQXp3jL63EDET;N z2#(glR;Bj0{v*UAZ*;JxEq_g1LY?NB$0=rt`YyoZoBM=4?Lm+_R8XKtQ4pULN=d9A z@Y6;k6f*Xz`IXlRZE%tAC|Eweg`5{5HTI^0JveENlNRc6tM0r-YWH?p-zuGZX}E+F zBXgARmk}3N;CWN@>G{s^?|`!6y0z$LH#%|ZAP_7(7nZf8n}^B(UZy<5>@HNaE1qx->xvYLgLU)Jj63 zOtSD|tps7tvmK^1adWRt4L%!2qa1LTHRDSWEu`JC-HKD?y4}O#@8B&C*DB8yb=?lH zRCS(;_-jO%fvztL_E=7AeNj?SD*(xKsh*f*J&8=@%y3f(3$)M;j)_!CHJ41&3I>IT za&(8nc?pyRA*_g^klAu>K5la$3SP5IV?;%k3wU#z+e$q3g+G%YmF7P%@_#`Reg8Dv zlfqkqkT68}91d&^-hq&U8SuKjX%r?+uwY#R# z>VaBqc*`2P?9ev}-O4TXXj>s+p-aFBP|*C2^3B{Lc+?($VNTD_x{4>XqohW>5xFD0M`_OWv`)o9P@gx-bi@p)l>2p)T1<=zS8l28Gs}78(Dew|-W&TAd?rMdQC!=*#2QoG-An;KRQRwUn89FeAA3f+cs^ zK~wh)8-4R$GF17-W*8k7w`BkUpd!A%Oc=IE}HciI*V*Nt&FN zuq5Nbl{=MD+Olkaq->Ih5GSsJ46Ayw%3gxiPzK9zXYxd$g_uE*B>NT9& z#CdK$E<$96XTH-y;ngC2Q>Z4~wX@MtG5g0Nvu;_-Ht*glJ$h>hw22GKo@a(MY>(Xc=~&o*rM9BS+9}uNq43EbrYu}*j6W8CCBTB?PqBZ z9+w!({ave6#6*MWT8!I|GHG$xX;72~o=~bb(FWGZdmvl{odlgAS0H(;Pa7$-af(B< zg6W_~e6TBGYdsOGMG=?tf={(Nb6*!LNzH{lp{vjP@4-`bO%60FXDsX|ZzgAoz&?Ob z`^z$dc^rZAt1+4Y(prZciylS4XR6=}_3gvu6k_px;fXZL65k2=v#^tjwqw8^^VZ2W zYd5KojMx1o7c#BjPMhfMus_|a_YM(>jj&(@S zJrA2;REjhu4Qt`_Oj&@eL+y)CaHoaA z@=TCgiEUlW19&Ibv#fP-{l4j>E#OB(Q!v~5*B1lNK*^#PmbKKp(TElt(Re5+;g<~m zU8Hjrwz-@e6veES!W#iBj@*M%BRq)Tr6&lniAJ20Od%E|^Ruf(9j7tr`K4b!PqGHU zdgnKZTuff-F^r=ea!fyd)6^XnCxWVsw}x&eM6`0EocPL;hDg4yI~}HdTDz1)@XaI@ zC9<5Us0h0wsUuY=W9vhU7Rhw&+MmE*t~4~p__-eY&D;M8C3 zFbO)pTi}$6Wty^(cWnHm`35w>0mC3#b{ubo(IeE*y*b+l$TrEo1nRPr{HLb!DUSR+V8fheva(`3l z&YDFlq1ck^^3Lk1(><>KHhQLx8d#IYnX*XP+3&>oOBh3fOCHx; z5*2qeWn z309?C?TsLDYseQW8#KIwoF%YrrN2(|E1vC1DC+2DOL1{>AmSG#@r4Y)HXsC^Wse*> zxz2Ph(`+Ywtn_=p&!c>uG%A`qU6{O=R%54j-XnbA2GmHpqNEapKCsw~lUK)gu zZ09+TzAd=Zq~W4K%g$<#2tFNC?2?jt6)<}RAh9ir;1jlzoMSF*Q{ zecUkITr&;PHwyIM5neXnyKaT|Azq#2KX!IqUoWOdy`2YPJs#PUdRjH36zd27&Gfw0`s4h67<4QCmj09l_j_P# zK(RjZebk?M4HmGs{C|$YMnw}VfVd@DU{`|AxhyLZXM>U%>HsDWazo;u%oYM?j%|EV zHed+Qw<<05+4QY@Lgm#?iw{zfi3YuKqBQ@ScxJ(7WYt9h`040QIOg)R$s_@v4QG6i z0^iVWU1?q~ztb&OPr%eQLjs+4@{oZ8T4e2NV{5PiFPRwH#|o|R_o9Kpu|?-)W;sMN zrT0&K=9LKaSUB`GnNOkh!uY}3RnqxM$CEp+40WomUL%T;v_0nKd+PKOM94e?cWYD{ zN_;>xk)EK^n!O`U>e@z}q=!;UY81?htX_{LjRlgKz1A;TaOX>$L`m3;G35w`A~6Jx zYGm2z7>Nd<7#*TD4}%%LL`E@emNW`&Ie|QoO3`e!I-YnTDr}8s+E1z$$D&Agxpfq> zBriFdszK#2LN&9FXM(?paJ;zSGFBpkbH0e3$)`nqFyVVrLm9BNn6zL4iSvIUw;>n#xAn73_5T zaUo)L*%a_>25Nd-E1f>R5X2hZbU_Vn-Rxx{mzp*=l8=J@$^vWP9? zN5V=sx--dt77;bC8w&^DEM37-LTVyS^}B+yeX_Sa5dm*>YalkeC>=F{L;<*x)gO)J z^n#t!hCH>6Y;_s#Yz)*j0o5)erQ^!kM`NmTXj3&3if`+i{GDs+UGA~=&;a5+t#ED8UFPk`oA0}pJu}^FXI9x2{vgX%Re*gAwz-+L{l#>Un=FZGE(;*;~Z3bvTokt-rr; zgGci;8OW1}lUGv0mpQ99(@%>JC++SpKg*{ezk zJ!W@AVNBdEANd6dzOQgro@_&Z<;uz`#(dgH+LlNy=P_5_gaTO-O$_o_Unhdif_Lmd zq^H^u2=PFVB2aIqE~rBheGjXyxhst@heF=07-g0 z3#PRqZFUO>4nNHR75S9>XRh9&e<-4X$7?9J zLBA3pu6YndoQCZ3v+Fz;pwFbkTOM{SvqCT$OsT6SbE<9X*#4M`RQ2!bi`BbE`&OBL zcADp(YU)ubuggb8--Fvmae_rwol1DFrDQ+Ft=+siPD{U5L~7$lW(0D-uBJgqGmI1Q-B_@fe77rl2m)1YVy@!}M4QyZSRo?d zO4F8%^o_l4VZAO0PKd4aVo{9d<_pl-f2lJ9)UIvt(s5sH=-|a^B55D5ZIil~_8{6rUD&DY zGx9ZZSVIZ*JM=lJn&Af+w8URRmv;vzPIP`zQAh>q!Uxt%6a_WVu6790nvE~nP1v1e zOqM7#HyiUr%<}0LE`y6Gwc`60@R=p08D|5r%%niIe)FldP3Z}KVORQo-b;8@QPXDWOio3 zv5-X&KRQomKa&@q<$yQoH>-Kj(Rh;OJN5!hj~=`sRqw*qhojwH(H&V#htvei#w^; zJ;Uyc{lU=JGEgnT?35_X71|+-0?LMFXjTxXGw(|;IJ89|ZMNz;SJ3Mdz|2joo|8_X zKi>1o{iuw_Z?vSC<51tmvoCLJM;)GheJS9z_l4YzZk)ebUFGuX^#_%K{%hVS{Tgq6 z7ET13JXM%e*+OkPR(4$4f3*O4qsb-`V<>=8*~*{#APBVFIOZ;fC$ZC_oU=!x+PC7G zoLRUpM6n-VgevlAVYpzverYZ-8${4V=FgcE?^G7?3@vq3ULidiEGu;WMu(&Sz0mq( z^TZC%yiFyoS|weh`!o|R>BEyF8d3qWI|~Iz!GnS6l+PS7BP=-9*z$)9OS(j;qE+mc z(cB-&qYg#_=0U>m9fk$OUK<2_KNmqGNI}%$(NeSUX$^^ue5kIMX=!mLraNi&R}2$e z0wbpQQ8+37ex7g1onywy!agRLU)^9DX)_h@|HSOI*Q+4=QRJff_56tR*N5i%X%Y1+ z3P$ql8riHWM|OgF=$AUx7o6hcwNaYf_*08y?B$YkXPyWwJ*zTi1>5n5*1d&?C|9eJ z4c`xHbRnmN26U0$zZU4dU3fcZ-hA$!T-_PD3E#z2>}S47rgz)g7;L=b)PcGozap7~qvp!D0I(yRLpfKCSj`faew zM^5A4096<&cqHhRvM^sYV5bI$kt}(k>R`qIW{by&$%sQEy@UN#5xERG8xd-yI}mrEvp9h%tek9|P-oMJH;yMgjz9s#bL~JFO|D)%C(M(?aQdex&P?77Iu8!p3W~@$%ch8tm(ef){ zONz*pEL6@pE@5j*#A?tAq`=Kyy25vOU$#HYaPcv9oR0RFiGnwr$&-Fu5lC_MLOjz5m1WTkrF(X8|AD zDJ3Z7k8cFJ*n-qvKDX2?6X3nb0P%-2T=awE!ZbpGL6ocma1pUDJDC_L8WD`ZOr7;kpS*NnG}{D8Y7%qF6{d-Ym{!;lthRNZIQwHv68XRB}Z^9pW7TBwuZ& z!auNDK{%=$!WjxPRN)m*GGt@1o*K^NX$$6UgKnT%OfdHT8K7c7$JCZn*2&hZ*wj=x zc#0Pp{+Kemaf>1Npy0lDD&S`GBW1*@qovi|qK~sv=P4_Kp40AXAAe@;g1P5mkipL9 zom=3^YXw(5q%E}P?H;=wkr@eAxR?Culp;g|hO9#1MQ;^WUlQinX*CBWit#AoJEnDG z4+BkD-*~P?nBy|&pK-2T66LZ?sL-Z)OuB>%BW|Sx6W)-KNy#1fWW$|TGfk!1Ziw0L z!^rcl;H$~B3c`A@NsTHVVni@Hg<{x{#>}c}WR;_pzNR}9-m30X={H49-mr&hH~xo5 zcZ>Lb-XzRw*2SlSukn&lYK{9EuaLd<$f+lEP+RnCT0tap^!TRM2GF-ecDbCn9I3cI zGZX7D24 zG8$#>lo#s6n%Xp>98CMhi@4LiI7r&oGr3A?H=XjOR667&}65<@)dAgffLcbqUj};>=-QpoX?y zf(lO-6&I7HyXGuKItIL>EFH`sG0$})yJ0n+Ik0ZsMqe+Q89gXD>Le9t4LoRIp=XU} zAcUlrHu=LmEnDOivW_dBl-JCJuPJZ4WF3RVt31$_pgg_hgYE{xJG6i=h20sJs5W%T z`ChY8&?4L;g80xSW*lmZd1dieRW0pioLhCJVcP(Xuz}`-P$iQ25|cgnj0ClqoKRk4DTl^QyvB9gw*2XCv7| z;~qFkVjNb8)=Tyvn34qW;k5<(BU>&H()E>%*8o_5M)LKQ98%L?Q|OSI(|LyuD2>@a z4^u;#^*?&0sK^m$Cke7hqYTLYP)c9?UA-GmT^*3(D!=SdPKe}XUT($ccw!VM`B&aC z|1+Tk9|FY6f%xBgmO?V&a)5Y_cAi{m(DLh#cK;4d$Kgjp&qMR)S#?5kRu!6?%}L*e z+}enWZT7c(58bX3c))y*2`)UAB`f{D8Mv$d8=u^n1A}zgr9c;^W*usStqP=Y5(nxO zOJF^Jwbv}QkKObHW2OlI+vSjz&a%@cdxEg`k6GmGyt3nB;Be>}y-aWYx2@p8n?mRe zlarq~FmG4^J-T%{i;^b7+YNNV6}ecfr)!;}F9NhdC%xj2T}9ksW1$-85!lywkOiWD zziNHyI}F$!ypl3iMmQ`QA4bt-?$__t#{8QX69*_^{b+WI*e)KgDC313U8q~+gna^*unWf% zk_;$;O!mcLC2pC+U*r9wnwe1IO(q=p%tY!MX5^Bil~R{*cv1TSm(@)3kI3m1Q5g7Z z-_GW*iUyfPcRBbyxeeC>p8p6w_@;YI4APb!|GR)rshRQ^YU@SdOniUW^?k=k@%Y-;W-%5-`B!d5myu9o0HrUO;eXwqIw;*_}cN8&d&Q6q$ znpP>#ZVkVHFrmcI7Yia}o1w=w#v$ZbHmNnKe-4fqG2{y$DI%hzqHEC5c1G`u{sCnC zoN%&`>BEaaxjo7GP|fak&f@%RTkyVHVQf$=vPtBx;X;dKUnG;IEmA#PCb-VtO?t-? z;}6B1@4nTIdH0F7L-Wi0tN}GI*BMN>-n8#Ox>&F9Ogs%xv1$(Z+Gu=zE17gM>TvZz zz?5z9jY0`NuA?ZS9xzuKUFdxR-aoTbA=UcfuGeLgFhrG4yWAHC8pTW@8V_DG7{hZ! z+B}1QgJMFEY56{^b!t!(QD3Huhv}kF2qPB9`r%93VXwI50M`h_uWU2tS-YE+H9@?4 zi3h*+m@MIgex0je$Llcg^rb;8Vk*)<$Ruil+V>SPJ>&+mU$#l|5DXYDG9rlbry=-n zZ7Fdi(aTsM%QJ4|F>cXj2jdIX#o*M~2qTQOQf$UCu35*aAmxgs1~qsUCET6!!%-x%&k~&+(nq9H@39srRY!stFQ) zPE}T?M$;A>jVzDWt7?mLD3&N1VQ9U1%Xhf(N*&wwZM&>?z`U;PEmN-gpkb*SI3T6t zquK_s<=TJ?(Z+7hP~I8#u3%ue((}6tAHz8xa_6Bv&g>IRE3YKMDyYg@4vbZ$Yj@Dw zy*p8tiE;Z`PD%(qli7JLMWXP3fSe}=YR$3uUgl}O= zkL)Xg`JwHEE$tJ&?^Q^kq2g-JAtjm{q~J;|aQ-+dD-Rz9Ev1ds*Ro%xRkBj=PSS9B z!N_kSB_J3OgXzI^60{PxMwsjO{9qd_jo@xZH}*hYM}S-08BOVVX3yM+2J@PMEl*ry zsu#)l;OOe-E7S;M%R`-+n07lVUAH6TZJIPDT+T3wHfWAE!bV}_NA)0Va9N}{4f(Yi zi8RoJn{iW;c*t{V>X6BY;U!yqrs#TR_p#LScB@P+k(thYxm_otIzbx$P;d9c*yovi zf*15%Vv(ren;v|eN9*%`0#NBP8E>zDjb0`1K42FzUmAe7!Q`C_7qC_;f9@YPpGLv& zwZ>1~H}HVydl?prx(F_g-g=J1=h_8G>qX&S*M>6+}3Z-Qd_yn0Tc6~h{2mA$QCHOa3zs_ zkc;(8P#dp$XyyKlyQW04|EMdjHJf=>mOd{*Xums-zpX92Dk6WKqc`y_$_Ab|HiV0s z6mI0C!4ZJ9_l_Ikx6_aFYa7A|QIS*xl8P0?1APkrx}5p9x%Se@2v5 zLdM00Cp7b#f2w_t?~klfLaW*>E=s5aMRtK^g@CKCsTz9)q*B$^TjwQDhg?Y2P zZp--qWAu9W5ct~j?X5^RwV=cdXF`o}j7kw@>00Yn>aSrS8f|)8NO55Z#~t5WBx;pM zPEKAx>q9$IB#z%1I2eNu*O_!PZbk$+nyvjlf8G4L`;GBvg$Cw*Fh!F(S4+g5E$cRQ_CQ z7bY8)LYtja?1L`aR5TWbSCr3raJ-pUK|A+bbv*0vb$k#N;<6IpXd`>I#)^6L<=}Q?qRZKd}l)F6-^fu-Qp1p9!kYfoMe%W$8 zG4Q(w8ezX}5^irNQt_fJI2AUisFhWo=!xZ{rWV;o9nZ&Ad;=j-4 zrw@2LvJPueHWjV<7n@g-ph{A~*7lt;m2gzLQeAh*=e)c%#tJ(N5tll)N!7pd1rY0^ zp|hBa>jb^4)cV1uUft4J$$lP*_=-@=Ay??G{N{rIWpYliEuoBL1R=mYNlJkGtFu~v zwRRigqg3F}Jo1P9#s0(&zvza$8i^+NaF?fQ;l$Un1!HeBZ0ZdMUgn}n5^Ca@R8s?~ z;RslL2{c{#IMVl-=)qa~`oLOrA?pynrPmk8I0?pJkv7%WU-{5qqldr{0CaqgXt0FK zhH|lpKFVp#Gn?*(ne!WiBbiF;S#cl5L19B4yKfdEijn<-??n}xUas?UzaEMaV9mJz z=`W*&bh{`=a$|j(7E6hBNzG;79}0~ZSlBe-+mfnlsOx^h?GEwGedE`Mj$IIVkPssm zO?3;%I}<%!&9_bC|4u)(@{dQ{4=hj4;5%X|#X?i@p;Im$2-cs4(Jr-a>Cb@ghA6oF zf@adPkNLe`pytwSK>G9~`9*AZHbd4QPbQp-QQv}&?v8y{yh1Mdn+`d6mgccMvA~AxP5h2wZ~WKoWmG0O z=l2yl{YrwMyUTxe{6Qt&3??dD$}t1JmE&I=S2dXom!m;3^yoO4l@<-IJF9v#m97 zOv?>{=iT*}elY54x|;XLOJEq9ZSZ#+8_Z0obOY3;#bqP^DboTG3LvW4D0Htr+A_aqW|c6UPv>Eu41?A zO^4oO$IkBBCsQljmFTKC0^yjGfQ|^~qh*%Auj9RRzqTLv1=Z-;zwzsNq^;z5;Q=D) zf;67C%n+gSkevI*w&`q`o>0x%VTkZk`0mk7Ofd=!0*cp6%+!94&61Elz9PO9wpZw4 zB~V(Vrb5P#)-#>@D_)YH5s z(We97(02Y6{W3Oe9MN+CCQ5)&RId5LN$bU=n8Q zQgX3CcL<@J^Xw+T8#9-MR**wtScw_;!i)svA>>WXR3H+tHjGJ_&DqMDwb+G!W5QHQ zRyS3XLxIOgjTzM9<0#KYUBBEctt_f0TsTR+sDjgONUth0;%Sl{PCl7r&RSAwKsy@5 zk(W0#gP^9Wt*chjN!%Y3Gt z=U$cFcy$3w=6Eemc<1@YVZ#garkn2CSQmzdJHD zrAc%rA*t%lWN1@U!%0(rX2Xcn2{*ZYQX)}b>rYh- z1m9FyXK`991?uUmV3@$=G%UQd(7f%w{L!tCml&n$0(Upm=B|2uK4#WhjQqQ?)WK4( z_S^La)i6I4h*dHX;*nLPdkS;YBPsj+(IyuqwgribI09Ll>6n_pgys@O9DeLb8M`Xc zr+ud+uAcxkTQR=Q?035?lYrpx@{4@IV)8+MStmSMrnTfOMQG}qSUM73dm7cP&<#XwT;Ksa1OaX<+l8@YGCJfrm@6%o*fM3qQq1n@>r&W+(Q#dzV&0zLu{4oj-Ri&TL@<3Ao~PZ1Ns zf+E_q80zTvdnrnInd7#26boJg^TuOX^y$cBSzcl=Q*!!Ev#A2A-tV0HIDK|n{{0br z!Qni5Re^ZjHq1H>-Y^n)g;h_TY<53= zA014hwL~4REIf8!151V7jx%=xH>&*MBxC=&rcWPm0GeQE&8`uOl2B>L*nbmTsd_Et$FZAWbnW{iWA8`ous}<8wH9(1oq6w0Djx7uXUZD#tXL}v5OB!!{ zRuJmmjahzF+YEFEfHr^%&>hwJb9PlN?$xRiKni;UvGY6|WG%M^CZ@340vV>l_57@$y65X zKp&aOREMPvCYS*K87Y{FW_g_7xY=3JA>EMVcpq5jE(>fM+2-H)1CZ2^kPF-Gl2Gey`=2Z^cUR`JZX zCz?B+JGwi3E1*-znbo?CcA_l{t-3xklBqelD(tXK2BG`rO#bHN7`yZ3GJR!>^C(Z< z=B95%zi{X}OWz5i=|13zj^y_pw>WX_+&C#&_p*4_m1rpr@#ve(X*ZV2}AIi4q)Zb zn=oZBp8e_=u-gNHjk;?1B2 z@z#eM_$!Q<^L~|$-;OMWDejMkdPsDGj zU=^r5X2$U!#TDg-bNTxg8-{>#%gd|r-2C6X$$++(DR%w{p@8uPe2}~<3K(y*^kgrv z@M>mUs~5G&Z_TOutS7w33c|eD34C&I+Cwmn%)j02sPnsP?X)w$lki`i4Hl_nP2g{( zrGH!*frsJJ^7u0|MPSB8`GXbBA|}D(T9K6NBORlzE^|=0Iym?j>t}G0rcBbwN3Mw! zfoUcVbf-IxJuo3Y8m2$MiT^ev5X!(btNMHT4{EBM{P zRd2z|ihcQz>i_}m>^k22JdfK>Fdc3|`X2}ESR4AT3KQhUrwrCo=WP}L)&CiY*gTP_!~6v5vWKGz3gqNzhPZA!(h{FndXVdr-sXJeWo{pef_m^b{(>Q>7%CnAsY zO`IVe!Fwyn2*C8HCE1iXOr1P2@X#nO`=-;3$C=d!9qA@t_orgDq)6-6^xb3}&2p}> zku+HD(7Ursm})B{7P{zCQ5MDg+63%3=4ZbUj$f-ec8KZ5fdS}NgGL6teR7ViP8<(c z5#kdMDwXPepbVi5tXxtaY4L>Kr-phg*81Ai2GpXYzqZBDNi^c|g|p6C#%n%I#wP}b zHB~?K7r_*d}BDf zEXQH}UVn5y-yeV7x6iLX`F!bF`Yni;VII8ywQ=oRrUnPk^Yn0jnzy{2Z1_)4edCI0;TJdUuM^ij?fqpfiRjf$PI$x2_eHn8{qj8g`%TB$ z`S;SQBO(U}i^D|7>`%>6ZVS0MbdB_LO|yezE(?#oPCL5PXu&n_w>A4IA4?dU4H$H0 zs&du~_6=UpxeNh=hEyw#&uDB0wQ%-NpkeL~1XE64IjkcKlOia?B4!X2lQ5(>qMGQ6 zhw_oQi>5A&_wP32f^lZY`Ho9ClH@s^)D|>nXySH)S{xEWb9PjvS?8stWOSP&{-DzQ z`t#9${4^k2&x$vJT^?bBM1QD-y;7FSRmF#;wLxQZL#z3YRI^whO;wxS7@W^+{V0iO z^@Jfq+9JhHLBj-W#MvgjT$)WXJ!X`%GA#FBocgH_XCh({dchB4k|-&miLd&tcE`vp zBNj(lGuCtCL zeP3YKsRApTqmHW|PYM?R)!x6;w_{JWrOxg@&j4OH04!s;% zGmkZj6z<<^`x(>qN+|di{dL6)LbKlzHLekd?oDTIY;vnqFFYX?l2k_}t~kAQq2=U< z(jjDDQDe~|cfVg5pcatU#ch^I)^^HcLG3L3nDliV!wH>rj%=$-k7PxRK()6z$cX7W zjw5y-LE(SVQ+w1T3?0&f9Ys!9tErFDhn`luccy_|t1h^#8F9ef{_i3DpOMoi^FQUf z;zb^4g4ZE*3DWXneZ}{?-$PlHPgP?o+oE-LnIx6*x0W(48R{~FretHA9YvJQEl0!} z7|F)k_QmTI7azq5LLnmdU)=0st>Qs===N1O!UOkxJN}YAEUP81qXnCBfM-ndoy5yY zx-n5`MpF}u&rz_P@h#qVh}wnb(7MpGC(DG6eB%}QQNXGJx3AbKUI0%XSSYl&scne9 zWG1Um%(mTN{wu7a%u;b@*l|;Yz4@SGnKmmv~Gvh3pD;CV;BmhSAJ? z$~FQ&tx@{L@?}-wy1b0n=g+lp+Uwign9iM=WRHm~s!n?ClU|xCRjol-v~-K&xG}%R zD*L0Ya8#MH`i+x~ZE1KXqHyrETlYD1AcAW19|}{islm(nchz3n5ZY1l!ggsPD^W?F zp3Jq(eZcEQ-qJ1(JF-Ce4id0XMrs2YJ)mI)-_3>=bBFJOuQwZ!ReR#Bhsr6(-W%E< zd_7OMJ?IUo8~oiLN!s4mH`q@{D_H|xa$p?k0*F*Vwr@gDe3McKj4JQ`Szm zE5XzyrtJD&fSZTyI?J&l1j28>*lUtzYQ}H6;2$tI+uv@j%a|PPjRY?{#L0RN=g;H7 zz0Z`VU7UezV_zjT2+heHeWP=j?8qgYo?nK*weItfto-KK!cizDmd z=pG3h%%qEp7K%3}iq%EDWuD|$>-CqKtkI6kAEE6@7Rkhjy-bxrE3dAR=gqaF9KROX zm~Ezyc!ua{f%QUY?SgHw>;JIP*bEtBVDp;Y4z$O(^8}W+iLh0-rmdFo=Ofm7Z_4-5 zvTCgOAN!jL>HFKmt)Drp@x&MaH||1Fg_rvW$OesX#P`X?MA6HCo>OK_8CW4uEhK(Y zmc>+D_-9B?tl|#h0s~g`QWbdzF1oO~9zr+oFs8FJZ?wNSc9G!XDWE!(=0$!V-rk7d z8wHNx`LEdiq8PmY0PE@`;!s&EC>B?=xb}QPYlI}2GIxNq>4R1Qz_rQ7G20=)urX{l zc3d9HNJMWRUbUcH+h6FoC6*+0nI#O_H`ueIW`t5XhMi}8jlM__Mo#24L++OnG!+=C z*;VtOmp1s#@CaAGG+_9jQz)+a=Ck#||1qC$VPG`_I*3r*S1Wh(`F$>rW&(XvIYScfKacdQ5McsP)bhY50ljDICUbQB2 z(sUC)1gIjABZRhm*Vg;<;ePGbF-%>D!t@zgBeGr)R$+)1NS`Hjd02jQ&Hi|u7W;Sg^97hzUaM=Be*e= zB$9^6O0owLNAPk=AE}B`h|sQOkMsh+#&N8{&sk#rfW2S#!8bV`AiFEs$(3vTOHYWy?R~@X@1*W;3NC(1&Zz2K%-m2Z+ z1A*;jUlsqVjlpGs^=t{G8aGaq0bj_?_lHz&8B0Lqq`Iqr9nJ6OMVia?bSC@(`6^i} z!@`zQ;N~)o0)N-YM)!@tv@L#l`w^#rOIXhn=Ei>zCIqzedk76?g**m`FF3 zkCaP#&K{~IGSvstXt|>E0e`!N^!K3i%{51sCjDqMYRbH2`-N*ETtmX877882l>#DRw zlXy2sDUHuKg^yi z-Jg(Rs~9EER8^Q8AKp*So*MQbG%M7YEsh$+FQ+H!$K>ojGj*=;=?t=4bhb9kfutNe z7e;U$`Bn*Iu7!QC!=`JeI<4{ekiZevGa( z15;2AH#)aczAP4d9G*!pWgA-0W-^=8!vZxP>>-6B5-OkB<;m9IvwrXO!zeO8zrn-L zM9T0hCE`&woH{?xzVP2oGe~}R(%QYy z)f_{9j@a2>xb7|j1pJ&b#xLd@L+HE^x+_C;1^4eCSI!wM(+$km0i9jqa7UnRMO93) zI!!0*UtP-}5$6m(X|1Q#j-4BnWd-a*Rx*NwN)5A_Y0?ROqKe`=wJ|7lX6uQb&^>x1 zw!j|)tD1;NHr>^~+%H`$p?=E7W8vc~z!^E2W(pTY@@Vja>yN{&v>{gKKO!e!6Hzk% z`ooLOfNx%z0L{>mLSS0!Kn+|GcWlLF^jMu@SdEwoh|K8)_FzI7PKRs$717odZnhS4lNFlTEb)=E&6Oo#8 zOVmtIB2s5jQ>vxbW&C-n&U$Ee>t@Bclh7@#U=jqPWU8j6a`|CHpA@ww{%4$}j9v{Q ziFq-ppqe15iOb9gjS}4^55q|rH;CCmjWgqELW3!Sxqv6iw#fCKEMt!WhnpP|BU|SN@bLQw$Ze8~>lg z)vELB)Gx1X#GkS(d_A+@aWi2Qn30iXC-rNxJ11509`bZ(BfFxZDYg& zK7>g9C(K+B@>;fDrSF+pu6;!t*$CA1JrALrt?n){cJBAcJx^h0o%@$IdcG-t!j7?1 zX^Gl)p3mj<-h0CiXwqIDqnXL?%JiQt^xlznx{HSerHNW~R%$xx373zP0_v&_8sG3- z>441I6{*#Zn(V94=Uo7GyX&`m|3_{OLZ&&)#5=bFyoMtcNP$5CRbmR}8OOhvA2mJ` zRz#jVJ@^_FoCgZ4bL}#R_#h4laFt7TVmOa{m9qP3e6=N zB6II7Rw986ICyf~+k^vLw_)4u4pZZ5Hau)o2XD2e{?#iriFBG{V;HlMXFp`M=y|BH zirBW*LvZ8E17IeR?k3JVi+b&noP3gTfKyJ4(iZT1*hVoC#xUofPvu#F(2g>h%5;r8 z0%tvEN?jVW5I_)eAPeumy;b?GckQ5FI$=i%brL77X4ZyT;}RlN%B~d(*YCI{rOsde zs{o_8{xcRCE(`F)=E@nsXEq(V`zjvpcKj}MP$(nl? zJ2xD@r}`fhHD0-D?@Zf_8J6*Kd99(Qk$uD+J8Uuyn2 z6Zx8p(twFhZFHN~y^h9!WmP=cDLmD=#qPJwc5y&}gU#wrM7^P0WW{e%^HV98lPhJT znLNBaIC{K7PAYEi&}v7NUw_h!2!N-eiF_|)2-)ha5UTFrn^~FO~V%rqbCO-MEIwT z9o&+wqGGV;$O-36Sxg!rAjPeQdM5MjVG{YcIa=9^Qi#MSmmweaU&}vFX%+)O z`coVQ=Q+V+A|(d=g^>ETsc5F*C7486;liLT#fqp^;nl;}%?67uWL?wLXvA7&PnInR zux&(ZNR){B%`9;oN}N12DSZeed{)5w=Oe$!LMsq3tyy`H*#Ib$^wB}Zr6G3gttD9< zLPF5I{5i->2`j7u&^Q)UFX}H%Ev7AWNaE_x< zV7D@2q}13F9#$|xpAH1368-}05R{H<(gAC>ZexTiHH&$j{AD_T{YyT+h?a(;-E2*A zzM6m}3x5O;>9;xslq`8_mj_=r9ulb1X{<=$1V~qPVkZ0V0p_AF71N#}Zvbl0+f`jE zCGM+2h(Gp}J>DS=ch=M(Nmv^hqgu&UgP&5XHYTk3jJ?M9R_^0k|BVV;Ue5f%?shJQ zZ{lIq-e<-T~ zE|)(Vt+@ET|0${{M~&adkgXh&3_F^GEP6kxF}Msaq8YY48;uOrjOh4DxD%}tvf=yd zaXY#^nWqM|RD$h1rl3^&N(g94XG69jcuEIzjil7}-FqD`?~oz9@71?v7~dxsI?o#^ zDX3(PQ6ZLX_Ihy?pxD!xX(%mZJV1BPKS^B}gZGp1g%@W{1+Y1&F!zUz>Fz${LR4@{ z6tu{7`RT_D6_l831Ol6X+Tg5U?KC&8iz~w*SSnGen$L;XkqmESa9Hac#iap)f`8TjsoS^f=AaDN#rRqjKkj0vQZcc~S+yg|ox&+>RmRxTo#ns7F;r7T(Tgci~jrI5{O2J1nM|=JYf$wK*r8D8{Cm+d;3V zV(C6AH;2@Z>Rp60nEKmLUH^?Sl;z3@y84oS6+JZ?xS>5B#XnOPcQ}9B(YY7EoWihm zFtDPn=eLunW@Ng?2QaEAg?YesIxUYLQU69gU&pM+h9^QGHCkCw=Q0Hq4-BX&09*bk zWVLiQF`=DIL)hr&qeU6{TrmIZZnMBpQ-OYk-a@i{t#ZI3@{@^iGPWw#oy>z4{yPPG` zl)RL%boQKmv%4wcQDnjW;Q{{vTS~=3$&fbLU$`7l$v0Qtfh6(=(#8r7y~rl+;_S9e zlJ!8u&Js;TQYa6FU>deGK`|NYMK`udOo5I@?00eJH@L;?7c3k znM`o&khy!{B6RgV*$Q*%S?RLj|3B)?e8+Gd!M^Xg@7np7*Uln)`ki>}M_rnk!Uz1xh>`by6vdMI9ub307RfZLH17=air+frY4-K${tk@@GgaEJlaKtjLl9R+H<m1(5-fS_F+>~L843^+;k%wC*^U%5qvR8lSXa+AbHJ65v7KnXS4od9 z;-*F#@&(*90u%)z4Mx3uGPkv<6_Ye+wZSS_^urD7c9^xfK{O1XJFnXy76( zP=oOZMFp%2bG@(;M~-xj(!Cz@@@zA>SF7&2;Gup|7Yj&gYDa>lQ05qEZ4KM=sJA{D9MoH0Caca5np0vgM9Q6byraI>nN|6 zbh=Xs`=9SizThn1xeUpndB?3yE3lm2y1k(?N?r{U^}%JljnHX#dwIu#Js?@{C3&rK zdS4gU7<8ydoe~M?iHMRCc zjAR2)>+nTy!WW@ID|I>90qM^=OF5!V1r%}bI)Es!o(bV}@E67+OoFT0 zR7Ud$f{4VeC62n7>ifBH-p3ia;jiu@(%F|m1`X^rM&fJIKbE4u32-TJF=%o%WO)Bg z>j^q{Nv3U`W|AvwCdT~4PjvO`+lCNN8oF$e6=!H;)1qopi3EfbzFf4Gng6&#x?v?wLCa?_-qW{9TJ zglS1A8e)a4YQun@sjvP>>Au2X{+f-dmOUHEc}lIuX^ts#759 z)vD;Mwp%Rmt3_PM>emFMpva5TQx6Eh7~jRT{uz?ioyJr9v9WHSjlAx>>V7_d;oqxY zna=WCUUCL@bM-AK4Pi#jwXzZcH=`^> z3bDp#@_jx*B-3sKznVM?M7e^-s;f+d zjlu2TVb!}yfhaK8iQ-UKNgRVh#w*MO$qb2b9CA}BCi(tLbFEc%1h0G*pyiaVTx>Nc z5=SiZEjGvm4)|}YUM^2`$+U|>0Y~so!e3m|m|A-$uC`3i0%*K1rKm7Qwn~Cas^J-* z=!okP%8cK*Y$|CYRs~RNdCM)BRW>YP4H3L9tDk=ZWlP;ULQq2_=olHGRv!+ z<`}k*Ct4tkjvOPD{TzMQyUAzW5i+Eh(8*c(=Dk+VLu$~>(tto|{HkH*&g0jfU(X_aP1@v#9jIlSG%V0Y1mR3}$CLO)_W`I-SL7IJF-|Ih!~RQ%9Jij~A&VnoDNaX~ z&Omh&ihC9*wr!c$3EV!dg!P0(%l*<3b{4{cX?aAHW{x<9^p}kCRb$YJ!;0Xf zYXiKHRh&2&(O^1f1d!Y?@_^7-;8|)3I!RSU*Gg4rCAbD9DqTxKzKC>A_+;>y6ejg^ zqJ*vWFUI|U2?jsx5s_bInDVk}R-!!EJw+Q5%{73#5Nsd8#jhm_P+gdCPUy`~v6c4w z8Xp_dj$e2MG7&))b4UZB>iD4YvgG@cKisCzi;A26E3u$^u=&7|B)GFI zLV2(jolV_erb|uP8PlQ*7Anmm?B1#rZzMtjN=;u}npJk1U+U=XL=5EZQ2*GVZ-+rL z;d;z+{MMjf!Rp?C^Gh$Muc+dl#Od;@o$62T9#nt*+ zsxw*3-wFWAyq=RrCTe>M^!VYfj;51!Lup0anUB3a2;V1ZLf8V|ZC9quf#5Y{T&=b^ zJ1*g`%{hn5BJK~;Q;oK3J%mM}DLGw3!5yaF`>ZKnhG_MiocZ#+d*+0Sd&Q1}z%+{H z&$kqe2@`bp$1;5OLD3#Qfoqgcj-4B~&px~dOUzLoL>)qySq*Sg6F7pyM|Wh-e*g*p zw!`D*g*?UKB$9|!BlBB}%E0iL6{;{t8#>g;d^u1CrSpn(4Y(Qd5bBxG63-y5pID6Q z5h3N%Ke}El0{N+G2sMcSrf4v;FWJohQVnJ{vX+MDh#TY!`Zp*{xYgkZWu;ZkIbp6iM{N3;;- z5G7KA34|ov7Zz7w8mI{I`w5<`NY|hnz?83nTV3yOCH3)9IPC@Ig*d~;t28!M=Ut2; z*%2ING~28C)r^Lgoq7!*suhl0iFMYxVI#XK8$RorRjY$h%+Wf7+{Uc?brdK|xT?q! ze^_Jgd4m?W7l>^#MCHt+JGgv3S(|uhi;aGMPYr|e%BcYCjkA-a}CF5 z!s{H@9gYHjK?YH|dmEM^j~Ot>W~$U?ou)?}tMs6f#IMAVLyxFgrUcQdgOXm9ztNzF zW`f>p>F@C}Ht)8Id1f3_YNuH)Iw4R?$wcJ`m#$FDTGrZR?m%U4YTDMm;kaeX3ip}` z7r@i#efW;q^H7HGJz!Phz3^qxu@m^#tE+uc^?XFFDHMsfJnjt1Pp6rLTUM} zs@7>jruM_{I;FBc|7)%RA*_HG)E@a%`2TCapJT6?G30|dUaiK~>7-wb1>stcx61U= z&A=6Qj};r`$eHOli{WDn-Vf~D=lC3>bbjVkuEP1LR4&WZg$u&F6E07cDtdT=!huiI05&-v^4WdFfO)BB z7gK6Q{69pUWm{B%+O}tgPKWO9?(UY5M!Hi#x+I70PLb~J&H?F`22qAa8fmGQeeC@l z?+;j?)>?O-*L}S%^ITk@KxIihDbS^UT20pJX?T^sFJuJ{^ANv zN&1I}NHrC%B_9#rX4V-+=bkBBk?_$EIBu2YhZA*=#<<7yAqQkvN z=-DM#slv2xRlT5*Rz_#}?OeQLzL%aH{%cq~b%N84v-fi)b7*baA8Pe!`mD7ySDj*; z%(l;+U#|F9>dxIxC)j3kM7}%v4cckCP7n?;zQnw|p7c62d|uNbzm4ZwG4MNgp9#3u zI?CV#1uw>f%Le#YrQS;yG4o4je4rx~N!NyUOgto0)Tz^^S3Ri|Fpo=g=b%dDxG^VI zB~f#K%s~Z)s({U|p<}?_Y<{cvk!ENo|Al-%g1&!G65pKz_T~Ivf06@q9sOh> z?*eB%{qJ|$c_wc*Uq{^Uy?@^zTFMl6phQb<3r<>}kl!|Fb%PSiCFd4hfnFj67VpML z;2a1~3{T+>m$1OdAEuXA_MPzn!9*G-PpAzj^)WDU3|29@pIm}}F!)+}iZq>;( zlq5_CgO#}^L!d#>q#*E1u&z`7&QsB_ZvPYOM+LN+1bjgu{jL2=l#FTAcBlO9Ysb(J z)vGZUz0v#31T_4f;q>r}!Rj1DjZ`fT5b1Dr9lQ3{^c_^$PgrEEt*7BPXWo zSr)eJE_pIyR)>+xDtSSrubQrsKf5kvwbowwh?6Wpc4&tq_D+|U^-d|^xjh}e-`(lH zrnn;!tuM$k7EAGWAzw@h31M$X$$YEm3_WiD$S6_}v>OV;QaGRb%|x}7V)i&DEMAPvT2CCZ6=#HGbB*7cC3vc+Aze}n2QN{7iuiGu92HmMALtZZ-_=X zEZ4aW20d-_3@^L!1jS9;#CAEIIMZo^WjWiJod$V4%^evaIPws5PByX)gu#jDzSwl) zV}@^T8l;a2TU;~%f;GodRCKz=aWoGlPzR3KFYdW! z@d8WUtBJfLhwHQB7fDlx3*8~%6?&P_SRT$(*ZtO}c}oNp z7Gt-Cvtp?le=us_nx#Wz=WOfe6*UTvH!EZN%k@f`}BklCwz2hJ=9}Np+CFk~u zTk3NKHQ*k<<_2Nh*9L`EVLP?~gYFeLb_~f)woN765vfLMMX(YBCP^;$>U+Y@A2U$< z|J9ogyz?LB`h7Ko6}Xo=yTuW7R~+TkKoe-h7&VH)sfR!;Wfj%nE^MpC#^vTwhH9rumf`pV~mPc(VU#*ES;qUr*Mli5q?<5-aNRl52 ziuiZg%ZnfxX8Q8*?)lfdrxT9nP^=^#>y;P#8d&}I#}1CrZlA(TQ}4y|nnm`r=}m#+%*hX^O)i z+u2XXGPrxr#7U2dL|fC_+PfKzgIloH*?g^TJXN`MY@66Ic3rINYV`dVKKP^H4(YbT zKSni92?N@IMq2k0BTD)a=Bn#|18rDh0t%C1^VC0Mdcb_EOpO0}3Mz^qGVvL2mVe-L zN7uIB+t=411%r>ckyZ*`S(Oh4JwQBaYg+^ol#AfT@W=7>XQ48Zo&?c`z7=j>tF{yT3#!P z7}eR(?kBZVdz)M^n;)}J0KqCi*Nw=i{&S?Zyt@%KmxS0po_+=#@>f$8`D$Gp)EUWFgb!Q*aQRaN~# zfe#0-EdDUt*Wbue(ju#M#u*ou1&W-XDf%a^oIBoqhyO^JU4m}%+Qtw(8$cWk0zEwB z#c?d|bw#V)aY|Xhd>3HLEF_D3=DlSbhQzH_qh3u$T9n6No8!Rs5x7UV3#WCE)nsG(9Vromr-`f4{I=9?c=?6 z2>55zu>wXB=yhMj8G?l+=bohtS+C(u(djkBPL-zH)4|fF`TYo|_GS?IPvMhv+w5(c zL;bL0H^D?zZ*Q_x^mi7dRLltvGi1#nn)JtLu9jh44o7vuU!NkI<%_ZrSu(D&EzJ2O zRCcvL%)}_(R;qsxGtMSb(rHd@FGnbH6g4wDq^E9ks9-JRlHNrhB>;)nLH0n^kt8+b zASa`m2C=t;yG6spe~6E#@qg;7HX3DV$T!!xv^ctWJR`$!>>L|AJ0MPN$UsRW8Ex+S zJ?_-1+qE0}A3`8R4*uxWKD?5UDm=?JS+V8`G_}vC4~Js76o_fBbx28+Fv%@;!(Rb6mmAizX5dW4|j$rKd4o%asd0j5b!t7urA+Z!!LM$PF zN>C2Pgt@)y7(#jk2OZPH`&E)qc{SaS-aq@oi(UXe-dwe@(i!<3Vs!NRpl~=6n)c&d zj%5a-O@15o84X4AKS^}jneF?6PzGuH9KbzlHCGff?Hen%AlbvvRJS@{VutvjnqhqHW2$~I&b;8P*qhw>4u>w2pf(07LGX56SJqodJdTp6HMG$+T=$&!)e+ zu$W|6fJ_1gTXTh*Mhe|3>V~ESNAKy`k4EN$b9?h}&dG|GAt^1tgewf45p6f-I~DMR zQOqZnm~)YYe5 z0Y-6lpZwGQQBF%~i^_@+s!|M~HtLl#eMcSea9$!TAUDy1^WxEJ*=bV6*+o%<3~q6K z3WgTMG*saI^vq^#a$tRUm=5fUF_q%~wtAE6o82-kk@XN^Q7A(tjc*|%!gx^NdJNCH}SHSPd{yyQ(3FDUhPCjAf46b)7qDo*D(n>(ZlR}o%o@F|!5mxaXL)CG23FW3`=C>M3 zX*%_eW@}4UPo~a6J1P+D(%RZx2TfjK;8)W%w5TxEL3UE{K8_x&8nM2G6UlCqP(HH& z-vr-gL{kyOy4WgKkJP=9TJ2Q5w<9mYZZHGVxQ9^HWQtpp3e9Kv$zMUH#aAQo6S%7D( z-0-cRuGH1gW5Mi`_(#w11ufXu?wCk5{EmQQ^v!=RQ0FI!df2aXJt7wi5nQR@cVeDo z6fZ-{kV&W4Zqrxdz`wr|NfZ?=RG(E=V|-9`gqGo;e2AEyYQ|!8e|CU~Uwz4GBpp!S zV@OEwtz?M50vb4(98*O%qt&s@t5L0QpXDhPHSjEI1iHJKe-3F6$9b_t4eZU~>|_SL z$OIk0NjxgQV%+i=MTS)Ae)lpSZgh!jBu>RiXf#^Ax&*!PWYM+p%2qGIiT z@7eDMFH!24zOu?MNoF`($%W@&BJW7I$r$PDudT3YV*4d9u#JH(6P!ouN5TP{VPyYFQo_%4rc;o zh${>iNIz|mFW2K181rwLrGijU*kt?AE_nD7^~McovZO~|+u$fLqlx0teMw&Rw!wf_ zA>vPBs?d#_7%y^8kcI1YUYS;)a?)aUfeM^9RTqOZ8ABiJxL2Uu*!EeXxyoJGJ|bWo zId3!40=ZLw@nV8;s0bB3egdwZ^XULN)Tl8)zTHNm-X3;*Jw@2C`2FK!v7*=CQmj$1 zOZwL6AN*gq?MI7#I>NYamwk=aVbQ{!H32l3=eoq^mZ}*r``9ady@qW8i6^Wl5{V}` zLHifN^6FzjgBG6!?>@5ryCt=)Z=2{nd*S#L&&5CQl{dZMg2xz0kq3gPzMT?(=!Lh| zT>M>32_J)O7Ug61g`6NO0}E3MkKX>8>4LZFZ(c{)(NKRRz=48`dkEG0RMf&ugX@qw zBnq6>kiZ0&1b*LO4dI1QdPS&bqGef4;u{z4tUSIP#f4)gav9Z+uy-ZV#&Zodx)~YqM32!nFPQgkPT}(0X3zjPn6OnX zCYG_SY8APddf;Ig!D;h1<)U|kJ+qM?j8I{eMZ0l?w9^eWaC1AP&&&Y15na z1w_mj5BmI6T5G1mnNmWbh0oNlW=d*2|9hWXu(KI?_?1l&rQG!Cv*^RJL&p`8VUI`S z$OBqX+s19zoK|0Jop$xS3!k(+l@`_fdHyfKV=Cdf-R20W&b>?PqTWF0F84Y>O^`K>sFGa!YIuSwktv=S*zOi{<|MJ<$Rvk9-%9rRmubb|~4X*&(HoBP4&BVH=tN932s3xA23-79IG-8kMECe{VOZu4u z9R4`!9`&!w8y?(ra#^7oQYc}I@`JG%KQUrtmGrP`BC)%CF`r_!996}GmPay;tu#i- zB>m+vI<#rEJgAU`@y^I5;TNv|ao+$kdm+}LI>9tgDxl=>;O3=BDFC)&VB?5vnJ3T(+AqTmv!a24{)ED zH$DgVzvL-g{*ma3MFgG)Zo|JmGUN{@ir+9I$Gi*p&p;4|u zimDc3jLN`#O9BU|d4u}DrJVlBd#G=GYsZlzJ^$66lb`i734GtO#fQ29DJ6$|H|9Or zJ1h1b*m*2e3jbokq6#uX343RcQ7x+y9Xe#rBH5k_Syxt@%G7V!GaP)t9!N1GL+^H( z>;D%%M9<*v*O|~Z;Ogj|@q_N1`(C}j#kg+Bg2R8e`pYgY8aA_!qGG*j8aqylE5aykNp9XFS`m$4ZF*@idV+dr`^J6KC%lOyU32bJ39sjTO~K zM3vwe1HaX}HJR8&o$HG7HjW8P0uPW?@>d=2u8#N%vp_7p$tF?-X0G>la#$<>+}=tF zBInA02P!xCiDJD>kz#!6i<#U9=tvMrNsL6!_uvl%~RhJFd zrYtXL`}uz#L_TLy*XHDUdaoyn4Y+JT;{rsuUO5GJSfJ#qCDLebt5D61}o)yswj?s(JZ^n3`Ee{K)HKJ(cXJ^phE!&tk2q z+U+Mw1|P~#`#%o3LupX1gMY|{d=bwI#biz>PHK*?BFe5r(q^ED!6vazL9()W2`(I3 zt&na*UkBmgoYl44@Q^v?BZ3G+pmAOFVe6~y%_M_);6_gcnKFo%R#VN8J$Lf9N{xb{0Ju!fXSvt+{FALv3rO$6& zMB_uk22pBulicCbX z#Vx&trsZdC$l+J5G*&8RM#$T!tv~T?(iYSaT0j_5R(TLPONJT)`Cd%e7^?miWVM2! zjZG!(+G6Es;2u)TxaY9OH$(et=B2X0!aKlfQnBPcpdFIsZ;08QAOA@&GU_@IfpSw> zVnrK#)rT@e<(tR0eemBRRE;pIH~Xd5xWN7>K^ahiXNi-5|9HNm-NZu(XG2r1SQ;!l z>mQJY=lAEK-n5kHXQD!tSgB!!uQnkkF$#U2ME0ellr1?#l#4Yi+_``Fa*={#@;K7D*JqZs==4agl+ zZ)VMkl2Z;&R%nIw-gY{~G`#^&GA)>KA4`he6&@0cEG4@~Vk7|kK&c%Z&71M(|5yMG z-7s~8#oz&}htEY=o)zG%_%B-Wa8k$?Qy=3J1Uf|2QcL(XJXpsPsDk5j(G>scYL+dY z-+@j%*){rbokF!?BocS=n8e@R=AtNSJiLqH@Ikt-CFlfIXgNaHc**>*Ym9nNwVeq-%Ph2hx4axOrx@M z-st8_G{ws=>uJ5E-z?lrwm*KS_$dwi_<^K3)UjcCZYG0Ny%AGHg{Zs#BtIaTmNs+j zl!GOQs`Up~K8(2w@1Yv1 zLc_=AiIj~9iIs76ngcKnJVKRt61D@vRQs}^AKU)02di^85W;D2YZQZWuho%YaSCH$ z*8y9ABz{C@pQ0IB73Dt@;KLRt2IybHNoEL>G|K&<#0$kmUH@Nlqwdb3VS|gmUt(`o zBtpIWtix~gTgLIMc}lbk=x@f*29ff+65a)EV`d?L{ui$Si2aa}#VbU8zl#xBZIW;U z;0%X5ShJf|$s$J{!F)JFg_*5D#sbB#l|?C=HifZP8R%u_mWi<(va7hmBErTiIZC93{k#g_@ki2)h|16j;}IbmH*rSe?rt~)*` z5GjiYYwLgI_4jFyc>bvg%Q|OpLT+Q>ear>;*RT6NB?egkX zTBeLx!wMaw)aLq{5tyeq)IV32Q?z9g>7QNI z>+(}%T!Yu?MITGcpXv#xjlO?AnFi%`k#n%Cu+J+l`rSKdLwMOL);0SLx^UghV`u3O zf562)WB1TP_*+a98v^U`cZjt1Y$MG_Eo=F|2PG=vc{~GpG2HbthYi*V$sh6RzDM6HtD)QG&g4y#}kBcOUxh-~sjguC- zZ^jW$jVqVK3Gu&J@Ak*Tc`E`J2CEXyPt zdXg4J$SebvQ5~Ot#E5BYx)_>coJ(?ta-XU$a(4|ZRrjTK_vv>Oje0MW-%81T z0l`a7px0UW7BQT8B#7@f&zESpV1ipnBhmZ+6_WyjoZs=Jbk83?!es+Um$tn#3ZE)i zQi&Gfm{ZZpxng(N4=Q=$3X~Hw^Mlq|7k~|Fg>9N%jEWiGjYUkZ$KWcq|6Ouv)5r#& zzx-}5)>o~_Zq2G!1&+!-=gNe~nzdmI9MScTL>F$u*R&9TCbX?ypfOoc1I|y3eJg$y zEj(M4-psT?Gf<4Z^YNeO1sv)J)sjPNbaQ%4aHfmLyUYN73@Df5qhPRFd(&)Rw|7K>3C9r}Nqzx4so6t+Ujh^*6&zQlSef5x3#P(`3cm%n+&ma2t(*+TJvj1N7Np zli?+I#$?}9l#vaD!#Z{0m5X{w^_C7uK3o!V^O=W5SIPs17QIVGzvd^#WXEqIAdTJf zJM}zpwV>9tGexSoUKJkuJX$KOI?)uwF)JrxI0hYdJ9{|t!@XYU_8+Nc*D+m1lhHHB zx!rOpERoYY5Ws4@0IK4ULn6cWBgv%wL>IC-z(+)+Zu!XV77VBNX_6~dg-`D0=}(WE z@3J#;0|M@b+>F!z6zM)d@v`b~k)_l4lrsnQI`tqBY)M(og3{knyC;fX9laO{CXM zP`4@9_Sq!Q-f8EDg;K4l+f|N!A(3T7lME03 zX@rHu1vL-NxMRjR-DIBvY!MUS;iGrEl`y6nNP6MV_mr+JP-(S}q*LhDM!&1@r=XQw zKq+a~1_+Ra(w#IpjUTM8vo$I?`FCf;8f|O1Y<`i~y@xkzh?7Y(w%nZbqkqJUykW!G zyt09aCtnp*0}3p(J)y%a-Y4o{uoarkpzG51+CtR%q1&zjqcVb`A!zHkA9_y<&#WquiFwye6yYUFFPb4 zNGT$#DtNmV;B^roWNt>v##|E;LTiGkQJO2qA>v(=smmp;99KtKc69 zLbtX0&^;f>@P1aT1r;9vOs!J%;c@rYMK=f1g}puz?kvGc|9V+Sp_(s}Kp)2mpX$o( zB5j>7;hg+e;r{X-!aOXWTIGD@(%W(nE;&WU3AyebZXKggez3{Tk_6F___d$VXV#~u ztGFf5dRu9{)_qJdN0!o4XQJu&EcRpsg1}&ki|=U?5;P{R|DcE2UE|I&d;opI8v6>b z9Y)w4z#k=ituI{Tp1iiicZTP~5NvjY&S#f&#fK7yiD0OePsVPka@02Y-Bu;V2N^B5tv4}}7#$}%KPdk&#Vg)D2_b{N zbr;{XGVy{wl&;ovA4f#(=KE*EwiNG1a>tTyA=xsdX!R)reAWf7>7K%}`rM)}kAMaA zivR5v_y7iPiYk_ly*b3+MpA49amX-?QM`$~>dJ2d7$*ynFeQ(i&iNl0g+KQC9=48s z_Di*%Cd%`M6Q4U38j=^GP6=U)aAL~sst1*r1qmPfjuY9A5!p~%eR!1yW2? z(EqccmeLm|r=*2`dh~bRT)lJleexz1&;0TLNBULgCXnmQaMBbcW68###l~d)4xh7j zb=@{fqsh`-;j+IzzHr>j$3uBCU^Pv@Mq;ek&D#?8v zXQQ!kv8v+0yp!zXdozuz;-xI7agXC}WP?s*s1tSB{W|0uOtCYS1-!YzE21_~zQiv* zFR){<&{iGMAX)9lFnVxCyss1}&AdBQyI=W!k0ofi%MF>2Z zt-rYWX={hzbN>%Jn0HpC{OzRPHX^Rgd{RYrg|S3phxS;E^J5)N%>c7tvChmnvy_qn zCWhnI`1!2%BK&i%={2M?LH#LuSG(e{W{Kx#*>hl>N?eJg%~FkxR&PzHHdziU9RQ0m zY(_SeJKgq?g-b4XuQ#X-u!xE#NJm|9SUT4VufTJe5}MU3{mdg_Bjpv~=`y;9lN1q?_5|ESfjRi@q(^XCw zhSMQarM=q51D7lU8@4}ZyNoF_;@HfCl6_E?>;0OGnyO=klH~I)t4It|-QvB4Ldl0% z6(L#owA4PlSqLz*FyQrk67Yoxi?+m-%^eBarfhX!sIi(@T*?vL{)Ao0kaGNeB5 ze9&pqL${3N8R|t861|*UTn6&gKwTj`?_1obm)^mT8Oh@Cc3+%&a`49J7KW`4GXf)j z_HCYzULepKOM7sHjTSXDu~RT22R z8{>IbJpUA;e0+V4eEWW8ZR+{3kU!hnr#j4&#Rs;Inkd#W_@ihLjU(T(_fsLZaiL8B zd?hA=5&p+pnJ>U^-yyx6bv-l2TcpZ4`h_!O$Iz*-5gE zR?6SuvFc9xW=!$Y`am0hPWhQ}@!Z8JPMIe+&B`1Un?H_|k}d?6=PA>qZTuXxSu5^v z<@0n3i+*Tw4{dsQpBA+m6DsUF85AyAU^R)wtzTWzSH%Xw0RFTx+cHx!lgCHl)G(J# zO2~J)TLrB`U-GBOn@KFTVh-go))4dFdhvv>YAQl2@tv>nUo{tL&K1iD_Wnkwekt8C zgLeVKaG_tF85@35Iom%geUHZ?fJSH_xRIg#>iXC4YZLim}3&j4X|z(u}zdb3^|WT#umPBFLExF@W)vFMId0kNq$Ru z9B{s7os+y=h{$}4fN01uviTjnq7Zl{ z6XamQ4_rMJ^oeRjB)jO88KB&`F!>`h#dC{LH@#1El|}TQg)twzMK@rT3ct16DC6+_ zX`13Cw-{lkLufdrFk5(g_jV5kUr&l=*6OAT z6)DRzdDB`wpF2NY5s=D?I^a_c;f5rg18t z$npTpEh?JYx$sgnkU`-y!yH`d>bCK_DZ42?6CuMT@?2gu+Kg^qOF*r2QdjkKKvh?C zSOtkmfnm8M+0}@3puVkyt(cHKIAwM1{kdN#C#`KxWhWOWk&jXYvC-S_JuWkD%02sD z_1$=kM$VR!ofO)ad_kD>1k8_;09X+Mr|M3G4zy$DhRd<@J6l%_ zUl1XnTm--mVWCGvb;#=0aHygr3$wxS=#Q*jiY$>PJ(rAXtFu1E5!uFlwFNA2D~Q2f zc?|jfi%@RLka#RX4GrVi&rqzv3#L=$2jcN`(5u-NoM0f9m8L}#V}hZXDZIh z9XN%LCJL7(eqR6Q(IGUxPS^YRepTcrsDkl9QGfR1&UX0!bq2C!KHAK{aAK}+Q7vR zBi=4`Njw?1cLrHnl#vr<2o(=vKmAHM5IzWr0SP(%DwFoa3sl0u$UnRb>;@%1RxHVa zC+4`MSVY*#uXA{yQR-j%bi8zwS;=USG!B@fhB3e@fm!Il)HoiZaP_s!_XsTdMTbv2 z1?-GMxWOZZ0PV~`!O~3ee`d<5C7ifrgnRWWji$teoNO$leeF}3Aoe@R=@H8JF?X$* z$gn?sg);s@fC4_hJIOQ6O4#8SyK$f<(PwzZY%TL{AsP5BkxlJ`=f|x?iCBs+N9OL5 zH)~O`H~1e;fs-eQ49reA6wjngA9&8J4;_4}J52K(AXR@+(7*Ykz#H{{+#_Rb{(0?Y%D=oVR0jZ+V%OF!?BoIF@p-o^)Z~lMH?sK z2ohThtNDDnK}P8k9+~(|Pmars{+Y%A(Y}r3`5~i0SZS+6e1(k+u9O{X9-cDEB6T&^ zW#XX~UQRDxMu##swJ5)uLfq*0mM;V$9G0{e&(`&>s*6gF9gHNBrs)bSN zoenDE0^T+*c_z1Dj3pOb+3m##n|alDIm;(SPI4}0a>MX+XXD@x>x^qYvK8=E=B%*4*Y2ix=MaHW_F}JxAj=q1EHstS^9E7J7Mv ztRYI0NOb4@$1=3`|GyEu<5f};2B@v=fi-m z_>G;~@;Y#c0^L1dL6y-<4eB!fw*@qJT3VQYF(qC;p*b2uWbP!eE%AKox4_@;-Bz=K zQI5_8&8_d^eyLr>Z8>zoMaAbLM_&8?-})7^g1@1h`|H1xI<&{#=?Wcb9TZ$XZEKhC ze)J}GBHP0jatr%uZ?ruvK%Ip?PX=Cbe8>X-cBcr|P*@qF6FXi}9KehuxL|pscdhLs zZFPa0O`*=Qz>a#WWgBh<}25yY1c+E-!G=>y7vquS3{Vt+exTe z=+l+m>+i&7fh*ds#@oQv`X-Lc+sr!JcsG5Td~orA^4#hU7MC=w_zd9@=hD>t0HWtld+d0F;y6 zBhoF&emsFmrfT`HdGnz*%FGPTnB?BXRaIb1(oYmFX}`zvLs{4>@vx}G-u_rWj(xE$ zZ7_C`S2MUQMk|AU2GIi<7vB4|cproBB!2_Te30(fb(~d+^DzTYMWs#Ro&(;aVZe0& zvUpaN8d2;BJ18H2;WX%hw{L|Y$kn5H(6w84AF%OG6<0Gb7%yoVZo1by1rl^$t+rGC z`&m%Z5nwXxM={ReS;ey0^G|p~-YbB^I2pY%ev5j9c%%UdvF(81{djSD%&+(=lZfY$Z_x?+MJAs6Oqc$DMf%hZ z`FXaM_{5_l%o|i6^g0@J*j^3Q3qvjfbb7RMRM`dK?a6-XRP8d%<Sy9)(s}Y#_%~ zK-c&!0)A|-VOZ*;In{x(5PnwNALQftUv!I7L_lCX>$r}oa7=9)Xc@zkK03T6kMao2 z*l@&YPhi}1?CfbWM})bh)+x;!X_p@e*b8R$$f!Dc4EOHGH(SOXR<**WvTXlm|Gh+! zvB;l1Ys*qDhrIi9cZiUQyr;+Tfm?WbU^K_(t~s<@dV-bhL-1S<0WFbusbeDqzOsme zHF)GBui=35z+V*M_Um0Ad2;R=Oxa??Ed`K)w-`F+l{EJWG98Z`+!}pOmIadYVr_B7 zB*PjJ-vQvO^3Sng!x-E+JUk)&8Cq-IEb7GAkR5s?Q*#*g_Z)r;v$V!)hFGo{y$?cI z8Sl(COkThQLzSl2>K_R?PeVQ+nIMu}x!V@li0n`!>(xM-(JWQvE?YC<1ylv@2kyj! zbxr-t4XY%<{j?F*1I0#-ZH=cJ#wg$rS zVpJ(L{w|4=?8gMllnno^82mGgPkibP@9nP=R%hI;bTV&T?;)$yYdNe8=9RtF($^OR ztB)f~b`xBolj)DX38;^gaBL85cwpJ1qBfMC6yiZqUq$Tn-@nV zuQ3ud%Qw}oR(awvupSCk#GwQkMQ!`j2yUX{*Nntq^<~g!f^kHW*M{mxJ6C; zLr58XISR1cMVHN~bo{jjHtbeompve`KN2ssabLKxpH`htD8%fzi^G&E9kvvJQr&{i zJXw*o7uUv0PI@q7Lwn<(G9IG!9uWx=gBPd!B#%3Y1jLSNCj{P041wq1p@ zPp#){3Q_@0{G>r={3#x@E9b>oV4O|wv8FGVXo!;Z*TLGS(d)rT(MxXv8Ao^u5(}9C z>ghD;)9DSuQ!)oH%w5*OTj3!_PY%1)Q*)7apKyA$C;yfGAa?uO*yRe;<||Ui+>~=U z_HU$UW}K@69bIhg`@ z;)z>NTDHMLZ|DPbmg@Eby2bt77=49GWo6aN{M}ggTdwXX=lVG~Ye~MqW2nVr`&gA6 zFoo|mb>XV>m1$U!>GR)8_DJ0RhP-(mrExfZrJjb9aa%5TyAOIoK<=Ua7~2?d%QeY*pGW)A{= zg$MBj;q)2l5SSW1vtoFm8#=7t_gW>en#t4A_A923X8gi=*P_ohz~uL@*cWoTJ1v}P zc84_|gQ)> zYOop!S>@@U&-Sdzhi0)|34)_^9cupMIv&e?dafB&HRqO?7BVEW^ZbieJ2dkvIVC;l zYqh-4iZUuTb;`dck%d4{KfjWVM*o~cw{yJm99EA9!?HiTlsZCLsJuxS|5&9h8o5_d zC3S$F(3avG_TxJyD6b8i2?oGe?6Qx_3~l%^^7ix(&-a7sV6R7L>l zlog#8r$vn}<*^J1xBZ;C@73?O{Q;M|P4L=dYf5qgeiH?L()lZ#E9#z;L-&D@Err?{DE4sw>bxsX52T$R!lO+DS*Z=4q|34Oh z;@>6Qxr1e}t8Qy#e@y%%m6(NPGqqOpyGH}y*&Y0us7=Iw)N-SE!E3m4>j>+z zQXOqA5tnX*jg#A@p$C=>*3?};6KI|vua}#L(G13pJ=_MJ^>H#PT&Q9`u-yNv)#5}F zb#sqaBDA%`ifS;EPQwQyBC$BaeH)iff2>pa*zVM7d+t=rKfX5WRvmK3(^?BSuwA}t z6<+5Fs_nHnOHnX9a>s6GnN>(KR$U38HXLQ?NzV7>9%00cYc}k>5oGej>BYBO=W@uU zl54Lzp$Ef{iz$r+T2JTS=};-;rbLd(d)ugpX`)J#1jjR4s40Eb6PU@OziX(pNkoAQ z$$9MQx~pQyY_ufwuD`OjU*|;1tGE9&Cr{Mu5qNK|5# z!J_4WkUKc+#+}EMM>D&DYT2vXy&V=|L%c`p6FwPW+O5LpVWrOt>L@d+*Wk1@4_hMU zaV&+1pTnQ1tk6VS?(7pHiPF8e%}mXIOo#5=S3vM zr9w&T{-WvIY{bek`tm!QM(wDEeBxRxA;7XRD(?1(`)yWY0XdY_n z&ZyV7#s9CBN~HP?6k+eKJpa`obO7Uv6;J&=m!Qkb*{9cfJgD~=EL;s`Te|xU_ z9WwWPGSNCtIG;Zv_;{8YSp00oRgVHvWcnCO=8KI9-Yh2>F(=?5_48&WYpniiNiEi| zbBpLG(A*D0E2cf6V0&J?twIN7@dw-&ar=CA$Dw zA*>CL7tQkX%(5Z8W)6;w+&~3D$EZf2qG~;dH+GX5%XYlB*0>o-_OuIg0$6Ym7+mi6 zpyHBBGOcCGg(OPo*ZOPqD#ZYuCiFd6@So>oF-J@^^(A^d90r+VA~e?dw|te+NPJV@~q>vvs7SfhxZMDD)aB7|T&ID`W`M zBI@NkHi?tFYnb$at!*{eq^1Uw`E>Nv%sC+(aBW|MI#xI2$OxT#8sST%huPlauQ4S` zRlJ!@6ah5ijH?LkhS4dQZ5-P|Cak%GQGPD_O^R0PD$Xs2k!XNRhmAkWdnfIi@Z09J zj9pLc0rng#!o)NwooD8Wi;R!5=;0*ChrU0y#~3sG_#T@M#S)LL?@XK~-`yHTI4pIN zS{xmv+#bAqM+9rJFQX?ZMQ;;MMV%Z=!8RM9u1(RG!wkH&Hn?}(;yf&;tELVE)Qvr= zR2(N&;k+? z1JWoZEgh25FqH6d&b{~h4STPC*1HIh=s*!Lg+a?KR^?})C`;c^ila1I)<}6crWHin zoWg0LjhM7MKUbYk#w;w$eNq!Bf|>>7Zq`NG4jq#9l{L>JenomZxAtpX?o;14rw~Rep&ve)xx!D=oDn-+v2m4yb};h{7ymN z;g#IXrNTEYz6rNX)JQaQW=g8`VxI0sO`DxwBhsQ4`CPSza#vuMw0T>A9V-m(_GP#? zy3^z3BDr^e38uLvZpLeL=xb<9i3>^{=@bE)>XIQf)iwzllaC?893zQNo6mb@jFV5S zsLtsl4@>MX-%=Db3*INk`Iq-KxNpDS3rQtHkAYO0BS8Fz)vriGrM2AtCMFd<{ou+oldEkDv$g0> zV#7={=5vx1Z8}=#yf~N*5z_>wVcjfrht&sI4AtMS$?|y(GdIW-;92?}alYAAu6I@w z3ugKZ+jS!K5i>?wAzEs(%#Qgd;l%G2B`ci9s?UPQF!%6w{^t|4 zCv6-}Ej0(xI=3L=yPx=FBWGx3eJ2EP)mN|ML_GGWp!c_qSCJ+9Z+4?#CLf@%YzxNB z<0=cvxrk=<0Yf4)zZb>4sI$!IPjFZa4rK{DI#&s*ZXad@V==>*f9dzRB6uQ~$iL@F z8`(i-QZm1RPBYFuQ>>wmUxVvjl6Ig%2iMqjHV91vY4IygJ3%r`bV@$bCa`GYxnLNJ zcj&(UrUO^Qpda_rN>!+aJ$O&&OMmf8>&1|FP-JC&kNxufJ{+30B0L5!^ejbfPe1Fh z6ZX5vB`!87NrVq7oKYnS->$^ZmhQ3P3FMdr9wJIDEyGui#Ix_br0zcMIQkI7y&Hl| z5tt)hmcWFehC9hhS}o}xt2>!E4flsLw*9s>{ylxxQMM}m*1di3h{d5A0QcY%YdY`S z&6=i&b+nC&i|(O$Pl)sdCr94@-``su-@6%Qgw~AG+RuUHSQ!aqx}Pf~qQ09FPRE}t z^F{{U1N@k_k=@0%;LINgLlkS`z~A**8y!&We!ngZxWS?%TE95MpAeST$sK6)5c8mW zrTbdA)?7&S0FKimVxy#GJIEMGfDFZZO>DvOHCTB1#S(ork!6<1_}-SXnH2n)1$vd4 z)~B-(E1u3OuPIHn*t-6kp!VW~Ed>{*vPGW?Yx|T)x^ZjD>aykKbExFQdo) z?teQ)`p(+lLZYyMzPUu|GJmt{>W;-Wt-k0=3OfBj(df+zJe2?|7Ag6A zFot3>U!0atD_4)VB8VEdkl#Q%k;T36^Y3 zno0g`rn6H=h!xK_lvXkITcm!(+gN0G2=0T8*?Ybr8>$EAExRd!|IOl%@WgiLgO%*= z=q4gQi*Do=(SmSMxYa3d#-DF?Dk)=_9>(p>{Cgk(f48}ffFL$y83^EwJ1Pq!GMZql zX6hywCl%eb7LODb_U$NUQYrv7nT#p$fq|ozt%NSr4X}_voBxB$pg$byGOOkx?&gAV z-DvG8()?TkP`8m*FG45YjB2r$KgT3rKgCh~s1Y&vwcpc)6i2SpHkchJJG9CHNkY@q0RtI=x^ve3!C?6`5+rM2 z{zmpaM(Qmmy{2Z7`U275NehK2Kz|zP1za!K0r2={ka0iP;h({CsRza<3;xJgtd|dt z;|naGiboEpBK32rzF+-0h3zSTl6_PxoEYRhN3^(v=#bT~lg)qS%WH68K7ee;Sn;Kk z2RMtf6vChUpd<8$@;_6twa}#=+h~*Jn`sKj9G=Ws0r{0xz_3SK6z#^ELUj-6{Hy9K z-`f=XgxU8MvMh4eEVUkTO?fQi)n61`=*MeSmedSJ+?O| zoQy=qywn zk{83KFx`4qx4a15*VwsBHY~pl-q~6Oc{n01Yt4F$4@hUn5Fgj&RywzZ{bgQO3%Z%W z?ZID(q^zW@GxpH3BTk|xecOSrjcpzp>_RS5SJHG^_g+JH-Rz2xuWBpaglRFQ87)4(fBGze8 zPTu{bLq70;RfSFGkT%dihCEP(S~Mf{wNIBR^?9J_kN2-LRAW9YyxXW4pQ`=^5}v^No$iCLDQqak5DLU(g5!=(r7$ z_tJs;4;o>-IT1L5;!85JEXG+W;2aADxlv8*NOFFxJOs$mL{|7IGU>9n2sa zB6n23WV_8w&I3toEM8_UK9s@Y+&#hD_x)Lo-<xMW$Nn8^USe3=d(+?fiL*X(HoyH9Kxz3=egGFq{#QK6Hmq(yV{-WF3 z5^wGy9j&0rypvyo(7WK;G!=KSRp0|=)%1lDqA=nCv!PS7#D|)@1!CH$o{4a5Y4AxJ z18%d%F+{EShl+k%SbSZH`iA17lM?$6uBb2XPMDFZJeJIdCv1c`!*ekI)v~W4Ir@Q& zr$PE0@4ynk#i-4}pK>XZk0(-eP(e!G5*Hn_!pjbDq-Jxr2xG#L#K#3l!ur4N%2njS z9eAw+4EWZzI6-Y(=BG8NIF%*$X>9WGO~bFh7Lddc`+iOdnI{5G6*-sA z3V9R(_OTP;6e56`@k3eG%du^DL`vbaQ%KOx3!8KgLR&$`O?j<>)Lui`B71>*q6t834XF=jEm@n}uUOj&O`GV@P zreQ^a2te*q@p-1Ub4i=fpfANXxVhDTtcc*JMJM}B&@`Day$qNaCheC#e|uhdH)wXG z^i2Y$^ZAUmvtJ=k>kwLPWZTXZFpG0*uLVj8kydWzC>Ei0DmAA-F)Hl)6dTKdOU7b` zJ4OKCIh>bjp^jG@^`81KP<6wNgCa(72Ws(pY`I_{xyV{ha@dZ);zqp z>6!oGN^8t$5hnJye>V>$WN3}efJymyrYjnKG%m)9CNTzRJ z{#4CBuf+Fb_UxTXq(rbKsi=7&7G4!Pgn4p?9<3u{WB!`TkC_QX&l%RCgZEmqh7Bg~?UR=FkSJx#(pq-sO2pOeXRoOzVcG zJr|REwhGCjk7o#dDagHVR3@p@lrG9AYLTHk4qy~HR35||8jxmT z>D=}r=&MZKo~=$>^fRc~;|&7Nc9~!@a;{m{G0tOk_)mw_eOMJvsRbGVq z&;RTpXZ0-adHQ1dXh&%UzRvzy zSnsy$b=n;^JZ(fQ1r!ENbeq-8AxvftP76G5mh9f!^&a^zG#A*_QHsywh)^Lf0MDkl zuB$iMs>|4HYJUfaFt)im98{lyq*(4Va#piG4%g=}DZ8#F2Absd1v#{8V#iLQ6eZ2+ zD@UYB$DCZZU?44Mh+YLHDNcfV?>;FO0VMa*3a}IPB(&V))RivIx4_Ig7e`@&ah{Ei zT6*{n%e2!VSlj2L6+yY@oKznz4m#cZA7xUs99^nrm^zF1qyxR7%^!9 zXg`3JDA$RqQ*q)S!iCyM&Xyc!%lQp{7G7ylRow!i%&4K^qsaJjiVbH{&yagSA<<)w zX(JQhtIxO3J$8kg?rG53ai+o4+>VQ=neemBTNvOKHvrIIkcc&#r&X2yId)@*NI@ZSm(bD;V(AtSxFzz}D zSU-jz2`;=+@vzsqb7Pup)Gg6&`rG6zJEj&~4ls}dc72i0h@;)$zt1RtLFW?MPl#C;leOBeOxArm|$Q+ zGFO{Kk{)EnQ!x5C{By7(O#ZD-gNh_YD67x=G@LlkUdNUTCQgYju^%0ld3|shErpdD zx^Dx4iF3LtxX9db{veN=`M#;E0t+M%ppN=eGxF9a*EF@X=Sx)3)&x~~Y4^ylJM z8};R;c=x;!C7Q&I586v=Zomjb#&yWRQ4hi{!SNPh>M0Q`qT>BWi7odP3r?vmzr8NN zS|KBn9eMY#3y)sO-YvssL$5abuRfTC{S$5;K9OhoT~T4 zy;~QAMR`PQ@QRVAia{wMX8OKKI!wLo9SIQlyH)mO^h_I(9H0$svSL;kK2|v~9a?cV zu5J`{Lt5)4hAtX~Kpb5A8tbf7V(5PWs;=O`m>i&q)%AB?rj)|;*!16oNsHcF>2?!w zSweJp;4{V3V9=!B5GtKlI}<)=b0m-@Ec7i+-l%Ne#-eJ~-^$Ziikm+;~1@Q1Av zvC}X2YOok3FySxm8;ke)A+-S0&b_w{ zdGh+I90OQ@U&L@Hn#Gw&WnJ^mI6<_rdCFeYW%3Qj=@O(Sl*Y)&+zZLKx1;Yi>UB!n zyp12rQ4J8ZHm2!aMj$Px&mDJD0aQEK0Vx73=NNuSt%!M?#c@fcHA2RWPB)lehdFZd zojo|X8z;fpzf?H0NxTu9pdb3i?|gV68k5BYT4n8?umfaNSt9vSc2F9xa0Ufp0L*Sp zq!1g+uMVz1@N8TU(L605wKm51>VoZ5J(E;mBx4gDMSTGWp5eZa`shS`)@V@Y5o5{s zqH5tDRIV#8Dh$SIhgXt>G@F+FwzCYDJPDr+?h%-gyw#%YalBj)QAS|dCOV)H62Vw2 zC6LZbIpRBYu~kGe%+_Z!`4vh8yeRS6TohH~<@S_+k6=iB+60F__cb*-x{>rmVvT}T z^582tJ13yJ^NXM!?@Fcf2-;4``)fbam?nLmD*t!coUGp(a+V~|Y?1vf49+y9K zQDl5l>v_^47B_jY8oT)VCQbg1`l=;~dLJc@Iw|n>wNm)C3A4*>m0mVvG)8c6Wcx<@;h-DC+aPhAl1L-;zkOr zI~Wy}%XYgE(|8NOi)dVWmC8L)H2qKPz46CZduT;M$zF}}93i=loY-7*8OA#%GCMp_ zIRuuZyi2FPVraw8_BOe!;-g5$2;Lw`&(*d%p6m$mv1)jGP)N%Ys+KfEDp7QHBq|=p zJ!#6$62>r#Tf+l&Df!dD^V!^j1C|U1@glp->$J+~mQMRrcL(ph{LEpE4okcU#_!*F z^fQ2Cc&Uf|oWv+m@iC2In_$M*$zOszHHO-2`KKkTtE7DzVLBwKmW;C1xArb?!;od= z+=r{#7KnWckw3#mm@R{ylz^|64CAq-y|J9bB&s?`=&^LKL3vYd?c1}-Lh^SMQmG#| z$VE5veD$JD?l+n)CExG*N!@!syZ8?(V@NL`_0@l^l6Gq%SW;MNvbYM8Lqn=2vvw-5 zcjp1C3*;3P6rKM4y@t?F+7ssozh{EL3fC;w2z~Qh8zq_#)1~1W-%l*&Y&|$4$)i(W zrMC}MUHd3w+bsojeky>jRO;y?=dsCd1yu~`Ko9U#HVN>II9~3H>HOC#-m(Imn}z@N zKHWbAJ5Zqbt}gwZNKy~0-#k2u(~kV$Q@P8WnY(IU9nktk+VgJ4CS^)ObhE23@7=O}M@z6ls)r>+t04PExd@_M z?sia@et$`Yxqb71-Vp&4s548yPdIShhz9hs#}#1aDG`u0hY4kk(qmX{<%CS8iyEq( zzZb-rr5iu)LHHMwj?ec`<~)o$XUj2IHZT$yR!%>WS_2ZgSSAlF6zEpEzlazZHc>rn z{MC|++gPt0jd!Uj(n!D|7j^FBHv3*OO@#3(;mw?hOv;lTfI^sR3u7oLCc6g-kZ<&U zp$JIaG@)93^6iirKBtdv#ko82>Tcy1mt+j-U~stQa+q)MK~1RdGZ`F&(+4tJwB8!z zqATzw*God>H>IP|ZqCcp9 z|34N07ZP8C6*0eZwr6|A-5SCH#Shy`SIkF`Z#xoi2^(d8O!LK`RNn@B)tx`L2jkh8 z)mfUB8$jtNWlFcglgG21Y$9s6RX%qY-nWYA&xMI#sAN%!gFRwu{5m_S_SAi}xK$rO2<0-glKLJT`=UH==&*6z)?ixaKS3WNBr-5fxL_zDS-_$O|Zh!!)3@=t}(CMQ&a3{Seu^w~&d{&f;nHw=}t1 zqID>Dl?Zz1C3U+u>WV0uYX@gnMmMZuh$(H0Hw#9L{GD}O_e!>FF4qiT^|L z`QP1Z8m4J>V=i($qc>IVWdDrP!hyUiRxord>n=f`oLXC`op6~YY?_vrCMe3bf@PFw zFLj4UlMVF`b0VLW=vPopc`onaxr)CBUt1)LMFq#^k*6q@*xyJZ?gLkF7Nqxz8u?}M zmYY`itu1tOt_G+}@RuvDWZOK*atT0$p3lSq3Y8P1Yq+lu`C1X8x`0z=_KaHN_iq+A z=%=@sKrv&|$y+@~6B~MAHZG4K4+X;M>$fVHP~|ZxaPurN?IuYc88%@Sh(gGG+?h67 zx2u=iyRfOyaTJ5%F;I(%Zt_r48YfIGV~WGXy4#bgIoDilq@D$kUfZz#aLu{N4aiek z74x&=JI&S9MZcum1CEu9_p9bN%vHJ=@4`alb)e3$J&tR~IdG$4eMAFb5qP%9P>>!*U4jpbDdJ#K2Tt@EZ|>Et4rO@`rOb$WoT5R;GP!*vJk}zs!6*zmJPjFXlH@l(@RF6Qyd6t) zVP4r^NJpe!r)*Ow1|!9O(C5*dNfI`YL$+;}+GbO+0CwZcUT%{sp%C4htJA3!)(i^N zON-yLRw3USuj&Z{>i+J2nf zcpQK&0(2*7m^`vEmm#HyJ>|u{WRc)gz~N7Sv1c}8rgK3xjgt!5m$foDHoldg)lE>4gPdVYIt5N^alWf@1xB; z8LIEf!)Ucqsw(@=%klF(3k5zyX4PUiS@;OKV!4!cXho(hpC=~%C88hBvDDb}1_*6t z#51l^X-4n^31bF8T;_#KjY#dEh)sCdZh!5R?y?9Xsn;WZf{$kr9B>qFUA>oP>;U0IvT=A-F=`Y%;j;WY%8A0 z_*DN3kmr0hP{$whCEyUr*Z4QUz=?mZC7Jm8BERbEkW!>4`_St9QxRm{sY*vLn~5qF zNh<+efyi}!c?@>m$)OmXb{ig9#=EBgz*G*<^z%Eeyj-f3j18xki>_OP*Vbd-+x}}d zm0ZcoXaxl?GF1Q~;AT2e(p8+R&f-T5H74GefdUl~mS>6P+%yUid3nYhadf6TW%Gu^ z23UZ=hQyrw>FKsa20~x^)#ZE5&I9_6l~Gb`wU&3k;d-7yqq5~V!=`+ zWlKh1pBnVbexV3)P{K1S(G+wW{tnJHcYT~bI=x=Ef*(}|-?j>mk*{9);_!0V&`@1i zryF0VR2viO3if+;Mv25)l?98I5=36@24gLDe-Fdwdgu83=Q6K%{PAlT;=4;0B@Moi z+#*PZWHz8{>8Cz}$h;s~l%pF`-kr75l3x$hY}F>RtK-^#<&c!1>=X?SZHxGa+q zz$9u8>Hdo3hNkjielgFldYuEQk%K5n+;;DMmCC(rwScH-r_Vw@0N*t~e_KcD+_mfU zdxF&MuiSS38k(KTKBQb}f-wiJf^yZf8-!yQk)?|uRYXntQqZP8>z(+y z(_xLqYH+dRoU&AbuspPler6J6<3(0%Mf?m_eLdFr=7a$N;f)A5U-7$ppv&$FXLUTH!@JkVl2)%MI711!ER<*@&@>^Zeds*(|Ah=V z8>0F67uy`uxjZgZiz%%u+7_@QV$CO}<+V|3ti*G$FC8)QQ2Rx+7~yUsQX-8zCQoO1 zI;c#{{w2<8_)qCvb$lv3I|vZQOz8BRUU@wYMx=XcF~_J-9k)x&?!z`9$AqQK6_qAe z5?V`j-QV##*|38r0RZ8uHQV!aSgd__m)>y>j*AX$rY3)tuQ|heO+iwbonj8zZ+Lo& zK1X@u&rKb?@NgD=y0o=?fZ^Cg$`n?H*#&Xec>f-+)VfLHf-lQ7`+E?obKBI~F@bgC zdTK~%hpW5;-_Stp6bXYT6Vkors_ai{S-E*YJsXtA?qgTnZs_-_(CGRPKX>+e{!!|n z8__`in|HUX!=3Bj`u#j!pTW*=N2Vs;*w(->;woa+dKn;^v^p9aVnA3qiF2Zg9Fe@H zL73o6ALUtI1uls$)uqYEde~N^9GXf--DBmoBh!Iz^`p5+yb~VqC3~|$=xZ095J%Fx zzp>=o2}|EEcl;d6`7;cM>5WjJjmKF@YA7;5&VIH2%6eb|@zO}b_Uk@4?Y$W~V`VWB zrh=w}ut(+qX^u?AfJsi#V$coQF4Up)8m9CMVXRlnFEaagBZZzsWcuqyz@PiEgYwICZPIIPS@mz!&on>x>YrTt*IGm zVFN1^0rNF|($Ob&e!Qz82thAGP^)+wc%a~U4vIyTX|^Mc+%w9OoY6?ReVV*4`*u!o zDl%?~i(&1K;uJadk4bh_cQp|b+3DZBvJ*Hn01`tX_-Eh2Db+FKT%udEd}^E`7mGgj zXVOkGq-muSmx5+^!wOrZzh7==B|vAx2|HPIfWlLqhJ-xX@xN_75@fKGsaXjHwZ|p3 z_=yPJk^6xfyV$sQ0FCW9a9mbqIF`)A1n?zJCa(cW9dK!%(OkFtl$_2!KqWC)gap<-rRO zWRk2T#GK;&mh_n(<9+n*l1cZ^1>>hr3r~NAS8<_hR|qptWU{P%jZ<>SRgbQVWqMq3 zvHJUom)*{8lCaQ9c#cENagTwR`RZLRu#(Gm^y5TA)4+)p$u8}U_qW=%s<3i`wf(`5 zV_BX(mJ6!FL?a^;Bc)UeW%bEjIaOEZc+Aqeb=o6@=1#}iOoWvZ*RF~GzHSs9!9?r2 zetk-{&mn;G_dfQ5&J?BBzx8FlvWvim|A{A&pHlobbd0FE9c+{Ogx9(9SzgD3OjnvT z&|}wez)Cs<$40)+rC3F;DQ;)YCNC*lz36r)U;Fh*!prqmG^D84ll9lqPSvLlKNm$R zNa~UFqOUyEtLf@fVhWG8VS9as|7RjUi;hXB1jV*rqc6r4jf3N4&iNk7JbG=hGFD?W z6QV+?kTsW)J1YPXSN(ObZmZ?z@-z;DnxY7mi@l_!`fr~eUA)6An- z@!C**_RAb?YeSdPBOYcqaZ1e;S1U92qgb9E4X+Uu*u`uGx4)b})fu=BtABi;CSZ^Q z6$Ve{qn2gY$RtWNpO<_0?h_7*&C+)mW(aM2aL9fy+_+*hoG{()S{$-*e$Y<6 zP6xgGvp=(H;+`Yb9(1h>Vd@<@R{?WXdP#gGaFX5~LiWz=?%yb5v5|V(BQU+Wu>N~7 zafn@onwS7SPUScXva<==fc;z}9(s3fxX&ho3dXMvr~TIThxrGj4KAsRoQGtcyl4jz?wZAnCDFT+odC5 z#eI3RA#mQ)jXL04k|w_6G!-t}1;-I=fQ&Y^=8V_zWk7lxWI$E|Bz{=BdLlel@`Tj! zvXZ7Ceab0w3nUUHrR2QktF!Q{B}+>BJKkv$WUSwG3h%_!|8E@eTSjgg=My(2H@_JY z4p~iXGdR^ggQ+9EYX#Dky6Q~Frj!Ee!l85MRoIeg#Ax1AxPwpR3h0UvBYg^wNmC0%GyaAwasd66Ci8YD)cE(l=EpfEgeQ~L8YAuugx0ZEPHB#>jU8`3 zN)rIL!j&CNs@EI-7=R=9E+MWCP*pzhh4ID~On_RNcDK=aGRz#lL zAK7xx6jIAvaN~Z7<;LbqLg?KJ9;?{f;wLW&s{&2~BDW%d6NHP}7waWj=<=3xZ`#O7 zC}$R0W+wwVl?+P=CzSigf9xERmv0I_1gC7z|F`XFXkM@_;d^QN50B=puu}IM8zy;k zX|$qP9$h9*bLW0YygivNS5YVkCO!Hb^#fB#wXudHD$!a%KzRxG;oD)9UlE`|;0P1V za|lOAjwuFD4)o*c!y)9-luINsY6NCr6a(&}hcx8ks*_;y?1=KRe2(v>H221mE=879 z1)LFw93>)<;cxzZUsxj{MNhWK)lnpCY&JtH%d07?swdI9TwR9gk)-)fR_R}lI+y}4 z#y%H$0=NtI!6>7g5f&TqW2K$JF>im##0Jraf{HZlLmmEvezPtypQ|@ADuS5Tz#Rbf zCdi$M53czoteAXJe+Dt+5+k`&IUn;Z&i%GTE$!0-Be$L7C0(cKvXh4SEJ}g+v~gSY zV#08$!kF9J)2%eACnDU(<-(0)W7SdW3Tu_J`JzGBwOnp}!DKaBafCr7^Via_qmUym z$ObI}Ugt^Msa@sAubJ+TnIu-SRxZ_HGcSl-dUoa(Rd69afrb4Zg zE&5f)d)j+p(tC2iiEzUHzhRyOEkTxWqqT5d%zROVq{tb$x;$H+C07|u`W3125X9UG z(;iz#Q_CB8q&O)3F z3)SP}uXl13&v{)X(U$t|i|&!7F`Lfz;H|7VhqQpf`7vAK#Dqz?bex?yAw1gs@(-Em z6~-hg{~1TGCt+oN4vmp^tu9J5)O3)e{(E)F>>iuuREDxU4a!7;bb@y5;B2pBWEH@% z2%`~$BZfZN^0%s9c!sX&ryMl=jBqB*1LR88E%A-% zS&cZH#Du4?*7#`{Ro#@+t^&v&i6*jOQu;Ns;0=4<&hy){#zrrNs8UxS=X73}nuuWA z)NDYN0g9Wxiz=L*>9XPD(yOU}SVlautQkgJGjw^av|EMhDlavIWQJICyx+Vlos$bu z36A=+1V42kgmw6_w$0z=znK&{{iRiNf-dX@#cN?d|CI{<8AMwN5Y?m;eyt}6D~7R2 z#>GGwu_~4R`utrWvnv+?*4#1l)#Q(%)}#2Wy2`_i-kqkN5 z?Hlimn2yY6eGe-iLm|TDc3$~4%AqX*<>96P|_fQbErQx8D&r zevjf?yMcvz!tr*e z{)sX#Uc?I(94XybGsvx?og~I_YN9Hk9qCqrC?hBpT2#PEKej z0G}%v)OpQVholvaZhKtHTU+qX>a?`ubsPY-ssu;RpLH_PSdIh;@xCz)a7m=2#Lncn z@=ptHb0oB36cBgJ++U!lNe^AEF?#|6&QxMzd1Lf@wNe7xCcU_|StN1ds+djeTsP8}?7-N-!PV{4`tH>|7BYd2Au?Q>Ag$v_v8~lK*5hLRR zs>;v0HEC)QB806<^6 zc@73Ng#0uc5PRP39kg42zToQD}!dINP3*uS>&7bS<#mUd%CY*@F)4?k5jPER$Oh2>rDt1`EJ-hV_LGleprVQut3qYXMAkcTp76l*nlBQM!vwYP{4^*fO^#(n zw@|DGO7y)w_TX+5J+NGsTJNc=K`HPI8EV8^^&A|F0UrkXQM(~lMLK*e9aC9Ygp>*D z9R0`VFaor$Fdw&Q#G~*u{sxy~@_h$9u6zi_GZ7g@gf-m$u(Jawc!4LrM?;&r+8I3M zl1u(LRP6ffD)gQ@9{!Bmx_s|?I02PIVPjCaTCWTjX`r7upY8969ql;3_)--CcbCl4 z=bi2ZefflE?-U!pz3-w?E@w@zb}X2j7`E_ARI2FI3kuXW?jWWsWO2`antg+Y*!|L= zSB3CHvaXXl_~`4Uu7=|Pwiwzs(Nd;O!Ow^~5 z7T&7Gp0#|O-FRhhNd^|b5uptea0emjqv*X2VFtTk zTvB1b^s*4JtZx^=+aA&Yz*4<9d$@0(hjMS+yt3yE?dy2>yYlZ=^UxxmgUDsT-hD1~ zmad_}rW6DhEsl=#E+`7hSBL{wAYtQ+ghjK$K5cc8@xMUK;aV~v7F19B(FMF>O5h0sx zJqJ&w=)Axn#;fkpZI-_n=Svsvb5M33GmRSCD*7!i^%BR@$C|VQZvqOnKMPvL`1=9o zzd0rX`urP2*4bUJ|339+{$4P(ONb(Tz;w5nAu^z^pFrr zxYbkp0aOh^c~L_I6u%)oizBhSboNPeiBCcnqCpei)(G6?C=5q*Z-)a;h9H4Ymwma3 z{)Uxtm~1DVK3hS#yZdnjO5cleOlj`kJk_@ur&#^7F#m=^w^)`6JoHlac0%&gyn4fsq`R|l;Xt*M}cm)Jn%J0Fxr4^&V8-Ij3(<@cX5<~#hEg(-y}rhoeS zO(nE<-{#E~Vl@3ID}Nq%MKCQ^tv>frtfYPBbyKVafVs1XnIHu#Svb4L-i$h9D*oEn zyYFMHTx}C2zUF5`NjzFEq`Y{}Z>N`@=1#r%cYPKS|slYLoP~7T}>+=_TLpjVdj>>gNgrfK^t{FZ_t^-KUIN*1LaDFKi zzw4lV*T4*|6%WUAaX=wJ{3u&QLZVNW<|8_EV`(yg`^L~ilf*I&+p=W<-$%=iQ zlT1Wn2@7^zB9DEoGH`>x(IuRVs{RX^nX}}OmV*lKLgg!_r8a~5vxZujvR-hxw{OM2 z4f~&RyTy*7aQC@dL8xn|jF(zR0r zY&9E8&Q6EQN;ujP7QOmc5s9%y^z)s_$Pju|^Ff=diBcqPW^dubFvaqPa~vvq?A|vI zYl=vDqMaY%U#7X$Q&L0@vp{&?!) ze-`*Ih;9JZf@@yXEP`>B1q&^_aq4cDKCOM1UwatDFE7Tj9vWT~ z)^e-V_lBqQ?OUuaw01akHiJeMNW#;(pvm3wR?Byk5E$9F`Qsx1K!~QF;Z&)rQ_>R{S!ym1(>zgZ2t<;^55x zCe~=Ffi_@w@CIYD)_xYeZ})a}I6ltvN>aM@y-={38WMdz*`hZcaY^J~eV}Rh!s){e zu#3-}ei><7PlV~xT6N6;noGifY~iCnkH2SV;QCRsNHIdeC!kLA4^UT~R`%_;klg27 zcPkXVf1Lb(Emb0nUKpnvbVKexv)g>P{soq-M;fFsT=vX^=xQMfDle1kTia)Z|I;Z0 zKoWgp!ZCXfiDeR{z@0<`8R^sy&F$1~+jsr$QiN{scsRQWEN`hLRgyuYq_E*>6h0`lszM<6jYJbfJK~8ea2IISjKX?lZ zlCOULbpBGksJkx3G1-=E_8xYcfBm3Wn+-c>L^hZBK(w^PsC@fda)g@YV5Z8agg5QH&ER; zo{=J4gAMC8z8-wp*u+%S(RyA2^>el6F0l@}2A5`k^^P!z5b*0y^DHUwmBuBWJ*HY> zKuzX-E%f_-sH%kV7t1@rqk%XVd7vpGXgK%eeG7wkb+e_Ic}DfeMWqGfgLf?v^(|Q1 z6eS3wa~*1wLtK6wI_JSh%aw3HY8I=Rtf@Z0Y|ZkMm!sK>7xGDf00y81!9j>y|k z!wTEmKyF;sqM8rBWBGo}(Dy*Mh5gnA;AH13IxoMgq?gskw|=*ephBm}stMGby^{JK1CSPlc@EUv?kgEg|h>s1i6ODcp4kpM#6v&i7OX;(4YE~&s zSP5YWiuxQC=7+Et225CnJ+a~tU z%zPO~9Wm&y)3CG?ih{*qGZU5n`Lk}{ezKYp%G?`LeK5m=WX9x&$U-N~(_$NG(_N%6FT@QbE%K=W}H>gCjL|99RaPxH8Ti>H(eg5lH z(pvM)e?cN%u2TgiM4yac^Sa%i>it%4eRKpt(!IB(4ZXY~pECxfwf%k&qB=6d@qY9} z72A`D+qVs)dtREeE!Q!&@KgHvIors48P1*$243a&1{he*vA}LXCB?$+x>|xqwai>1 zPNLp-OKm=DEVihFYjVF<|8eknKMmZe7uRoLG8p*;b=#>SgiomORwnQ1;`e##9$Is^ z=AhI+VVeGhr}CuLj+nITyK54u@Ao*dXDI9Ee>gnO)^J~d8Agl|KPJui?2ex@__{w> zC1EnO_5V~123ViRh-g9l@1nvo`mi7|;`V{Y44);-k9~<4tSyXJ(YA2%olOq=3cj&e zZMK##82zU(lt;Ev zphQpaf#U~6Qm&u74tEivf3`|YjH|7P6ZtR0Uexp8J`?%EtwyOpnG} z6>hr!A5CZd7uEax{oQ4k?hfhhMo@tzMY@*m7LW#!ZfWU83F+>J1?iA(X^`&j8$a*+ z`v;sK&YbJa<8{qE=QUFQ@yobccA0$Iw*Sn6^(-m2+xQ@1rEiEUsyq9Xh^0~k2wu{@6@>+WKR=pQbaYN@ zGO!pS2ek;Gzv0I2r8C0CRy*pXF>xW!MhlO(1ZP~r=bHioZp%NMfg{GDgnn6I4Fnf* z1pjII6!E$*EChA7;^qpqd{5|ZtRGr=^BEV_=8fbPUdc0Oafe1nD%~Cf02R+ID`AxP zN1AB`6eL{Aa8?f0^w@1yE&Tm2BT5nO#4%RR$Q%@LKUcN+h}=@=Fi@9H1ou0+n9}SU zrKLC%dK~aw4$NB-Lra_91NRl8K0^A_$-ZL6X7zo){0$t;Ln*h2{PPdyXLm^1+^4Rt z^1R*522trHhxOWaR%M@}?=&;@tLnE;9?#jt9{IFu(7QO~7vIDsujo2hY|(1Wj6mE! z4m+V~kh9VtGhoL-wNF09yx5aT+RaKb z=8ft#l68WX`r@NzV0gi=_!G7=BaTV!fp z6~z#6Si1JByhX)99uDGgK|T<6)4L}gllff(f)=sRpg81R=YbS=4INKh15ADmYkf!F zMr`EZZr^(ELk>9E@ZFAhti=t=xzyQ9Is4L|F+WN7TV!?1lM%U?#4%PCs9=VB>hE`M zm2iB)Yy6o*(-MfRH?ACElC6BUos(Jh7i#2C2t1?q)`a&2@m{fa5NeTwS~0U<)&B>C z@Q>-B75WXqn1Tv&mmlQAv<1C&DVB1O5=+VVR_{E&U{tzXcoi%sA)1heTgeA<4o)Q( zu}_RQha5W-nkgq{K+}ttklmZaYVIuM=M~$&4()`L*8@~}@A#XIU%azr3aGi9`r;6zc?Pele{P5U0q)H)znR6mjHbf0w~;O3C>x#YEg|Cp;C z2RVKL8AzO~$U1p80qiyf(E?LZ+qU*azuR5R03*!GN{vY65tCRl+i*<8uZAya`WJ(X z`O7Lqh8;~BJhXf@9(_i*62qu#w&asZR&G|FZM@`eNhyG5#M_?!*!!MO z3vp3azpR83U%6I>foU#E{qV^U>(4Y0%fMpq!PKr|)UV$V)XIK&tY; z*?cV3D^YK>FU%RLqb81YQ&=&%$Xzt?Ti_AwKR41TDmgJwrkl^YlfNr))Ts_KChgtTck1c49FKjQ? zalS2pRPufn{+DA@um2kSSolt#^)+mCoVES**$V(zew=w;m!|5?kFU0(%H=L1M&P>C z!O-YMPJqW~CWS`v^c$GxtX4p_Ih~lrwQFYWU|Qr>TO<&%)RC0MOmD&FCtR@-+okrK z@Z)C)0Iut^DoUB5m1n}~;JTg(|4NCJfbBW(FhnP2GpH=&iU>+z6br zp|fJ58f^yr*$6~U#H-2booTWTlO}p!#6Ml??z0|dinhr4eO11%r`X;k#I%$J&8{aYyYDc2 zUQg92|8v>a)$>D1d)Aw`sLiTx|U2Fnc*p|o_A{#IJ*QprnM{4N)|Xp zE24)Bgesw<`bDFEV~ZynuMOt!BWIJ3gl)8`@24PG1glzTt%QBne0g2}t0tZ%0PJiE zao)c6vGHM0yL7Dr^a*W6E4F;L>8j32*u&-ym23LenanOnYquD~BQrh5!}Ti<6e?*3 ze`G|`$q6T`xY@+vEBzjObQP5tRqu-gw@Ju2zL=uhx}`IupfbrHTVHiRtFEVBc{R}n zwZRy{7Azm+-+pm6Gh@z|;Kijp zH$?AQ0e&4<(-k}n@I+b7l}`aAKe16TTZi`o9vURuVE4Jm>LmI^4$BdjB`p5fBdhxH zcb3_q>2$4V9ORg0oGck)tk9W-b~dB7f|<0_rjf$`9kPf;a9VU88Hdn}>8K}I>(ZRe z|E-!6s#$pUgbap5f&gZ<-BKQEcyur`x)BDiRa)WCC?4Bs?F+c%YV#iC0DaYzD<38l z#Zs)id&pv#gV}0D=$^Mn2x~J;EDY5=;G<`Hai{)%{5gU5ggZv3*y&J>QLjX!P;J#5 zbIM3RSngWytBpm$x7}k9z#|Ev;>pl^17p91HKiD^yE%YZB2zU9`PFUQk6DJ<&ZN}> zlfjpG)+3x8Q#~~yy(DDGUu5h3$}<2TLjJ=T!~aBI-?((Dv~oA3X-(q?*4)DDkIj6` zqyEDhZU3LK0h`z2LfJ7ulPlTqFLW7UBaO}wpVHIR5LjMVt%{4*0BInbI+aazIKR6F zryBgbqA~JwoX)ziW|CJ+MaP8!Z{wwEW{xtpb7skcmIZ~MfIC8CxW#Is0oew$*rOwK zszI*CH=dh6B1PiZrK=Isid=$QFFemDq=^oKR&i*aWa3S^UiGLSc)a^mL+J|utS>&@ zMHPl)mrV%rWjL?$NiIRM^PV_Jft;#FzaUzW6d7q%Ui9feE=LyHkY-x%IG!22`4ukq{@EbIuW5aV$)57 z2@&$#z44r>876T&ye~|9&p^;O}8YNMhBqVbQOpG1gYwnn)b=*N6Qo5__Du zZvjv}Y&{DjaK_(k#~O+i%MZk;%D|2ZV0*+92)b2UN)_5Yte1B5-`2C>7OkwNs7Bs` z0#7n9Hj+ahg%3YpHUPd5yST?diZAGXlMu*}8iT=@0{%w?Md8w{#Rw>~`^fT`W?E?c zorhw)gUe#YW>xr}NM08`+__M7ZNhA)9Yy^OuATsN`hU&yt3U4c4RjB`&uA>#OJoxz z?>O=*E_7kcSsIT@Y1E2{8nUL(Vc1ds*Xns2A7y zzy^{BM)F8SoaT3iT^9T&vO-`21u)BW-Nlj~{Y4QMVa65H^6Ng^v&}G!CM2s7SS|k7 zf$ncBi?dojI9dFcUg)jg6Q0UR-FFdIJZOiEtS?o{gH&8xwA5g%f<~yFei{j&UUx6` zx(U!$>ST&_txmNIKcXyB$1ZPt}cxIn~ z|4ymDa0y46)dgk#&y`iXu2Z4$M%sNBHU4AW5a*?d@!!ij`GmTSM-iN#3>Yi_VxkFp z(F2b|TG!OPE+49aAjsvLg8A24c^0HAjjvy@d7GFz@JrWijS-lS4!mbfa;&X7ZJl7{Nm z8Cgv!t&6X6zKKg7Sjw1g;Ep`jB`)rWenQ$Il1Jkx?>ozOl0){~?>8H`;$ga-%l}C^ zlVuJ<<-&nxIF5Cmd$vfL?8|&>IlXG_bq9uPL#h?I@TX$Jwq5BLe=5LT+> z6633h|Ej~KjRWQ0?b50~mf8^DpmN$WU9q1^&cH{QlCslTN8>tj3OJR}C0v4`*;YPAKAS~!{Z(>E@wEBQKH4;5i&kL*|J;8us>?dWh z{p6;8=rj#97pKZq9o?q?cqL@gwZ1bkCetR+1!ak=18y>fS$Z@mrP9tv?!BnxXK2u^@t#*Jhzs*Bg z#%*D)TJ6Q8!JDWytkiYif6hj+eXpk|vZQ|wX9Eu?himm1Roih+k@YbK*e@lHZH03pu?x*;P~OsVl=>53&3Kb<`S*M2)P#4dv@#VB#HugkhQS)5FVY5y$^Vw5Y+bc$Slphx`^k)RD>@Sjv6EQ?lbi zS2%_f%c5b9bS4tR9_y!pGg~e)Dey~)wbJ0V>yyzI{ucPv8QW$KG^K9Bp75Hr_Z>*>OQ^WonyTLYyk^F%@zv0+Y zI54W|QI%p6uMZ=twB%P)oQW_L%OIY7H-CnZMEbryx^9)ga(@@^>@6XM@jC=nhRoJF zTTg;aPZRnw)bnzTnJIG9Wuh{(b)a9|dre%-4}NT))Z#iR~f^& zcmVdh`73c<%E&jdAiA|kdhD={83v*TDQOYk9eUqUzuCo?z%Ztt!SoyMKk@I#!dYSM zR;7Z1pJn&9RQXxeTi7vc6^#hW)X>qw%aTia%zJ(S9!au*-Up82zyJzw`|x^jPio3S z@seEGYt{yiu3}B>gaLX87^fRp^;xOax@!+^d_ERZk%u~$#(h`)b8R-%vXo#*5bRDq zNj2-I^Y35M`=IQ$OQA=CW(A$ndFX*1Rl<=VOm!k z&x~8iy^U^EHDA7G(UTJ=h2Qy<*BNjJW#ddqQ3edD2)?63d5h`p9fD9Hdh1*U9$N!2~dIJ-6m1x6~f*QA_rw3Q_=W}c}N;!Fv5VZcX5`W2osu7Um% zQF|O_WdRZQj_e9CxHGp56zMj6(CL5WB~47dGJfG!zDkInBmr0qykWuF$UCNNs!??3 zr-oVLRV~0b6CS74UgcLMflZ5ZvaZyQ)N##tjOgS`43qwq_}iG_J#PC$jbUgZs_L0f zvFcs%u6NTA)g*Xeh@&?!JDS{m0NSan&YM;J(|FFA_dt#n_fqKF7z&0VIiN&>0$we| z<8Twnz_k*{HQm>P=Sz7nv)D4V!jEXEBZtK9Mz=nwpU6J!2Q|B{klq zF+s1PTrhYvZ0$BzuZHqbgb_5`G?DZM$Je@`tEGPAQ$p`Zw$IR zLBU4y0748~a*Sb2ayAAeKi>y6d(X1iQ~z^=l7lw&Bvc(EB+3N(`5}q-0Rare&@7nt zm0;^5C>2ZSa*dQMgG+2{eXDqqNAVo1!GWtt2o?62 zYa}*tcm1(HvOJ33hpSB*lM0tYm3|p#*H0NUlN@th;FMy1cpp|-_4VDQV2ziD{ZUoz z!yg;Rzn;nU#@3WqkHVK;UXhi!F%;H>!cDK*4v;9bI&KiKl0?eWq?vxnCa3ojns*jS z@JX@DW0A5?W{;uw5jP@!e38Ut&lHVc@Ww*n;h&TQj}_P?vO=37D74{9jJL0*l4`5B zs0yV+S=(6V`G-@QB=Jm*cO9!7FO|brbT-x(QJQ!9&7;ds>fA}+r-#^#!)Lb2_KiN= zfb8VeY3Q~J6Rvh02+{~pxU(RCXK{ab$!xC26h>$$V#o)&9rYF0w-ENd6fHZjEpv?M zT_o+oeln15FLoPM@PtL+sU9Y0$0q)2BNsrTa%<};wirpn=Cz& zED+b=of2~r)!a?XAuH#XMZ6jfr=Us8_IxU5oX+QRvsRT2H7~VtCwbK0c+_Dn<%TV# zc|{pqth@vGT?mW1FLiSxOZfW@k_*HY5&r(p(^+YxX}aeUI`P@|mCGdoV83{XHb(_b z_Z8)_L)8npn)6M%=qNk?3Kj1+Hh{F}C~Vwf6}*?g!;2~RIHTM0&cJJ) zY}w;E{C-xX3R&k1xbR-&v9+&`L(R#o#zsu zxiH#{yz#Nq)AJ-S1e+y_30?|2UPi$Lln~%?yU`3FP$kbBo?~_z2&_#H#hn17x0rHx zHW^R|jpRWIdr(c)C{xM)A*1#z7Ie z4t7ZqO6XT%fo09#Y>tj!yh$FO4)>0`UO{uWeLH{^*Uu-H)`Yolu6N(0uq@;)mz^@l z?_p2h@V*%&pnIfiy;aC$R>451BIU?~c{zV8}Yn>KWYh}WT1 zPy`i@6K~01eGwx>84Qs7&DA)9ZHyU-!%?tTOQ^0t_27;{Woz_O0{b^n3GCnL-@2lo z2n>}KFr=7PFHr5;iI`oDu+kc*(f={7m^Z+G!*ubs?4hwRz(c)#)U WwX}bvINF z%%*P+#tsF#ttPsKDEuMkD1d$P1iqIlZMm3o0W;Oa{(9x^h#0&}oI~>hn7vkj36UBv zxMuCgv~!e#4Qgq)Q$Xh%6wIXltUX??=)6Xs*w0;l)7{cetU#cD;f|GrZG^;zH~cFFA{BD6VmVMTO`l`EwHJ9=QcfM}(`OhHerX^?F*a(U7PiYuxWY`WAVOqHJY`I*D&1Ma~dtLNp= zQReCd339vv)h0XwdDx7Hq*!~VtGO{`jzP27D;*Tq6ZhAe!XMq8nddSV#Xup~I^7DO z24wR2KO*|q;*p1Q^y@B&=reNi8g{5za#?ZCzNs(0s6DvLh{ zV`jP(=LAr#{`Q1~(~DyH>G$=Ull6zZv|v=LtOq3WPY`p*8&E4KFigH|Q54_JAqag{ zRfqB(GnBCDGj{3v78REVD0cQ|OQGd@kfMKCL;#0T(?XpV^G1*bEY;hAo5&}M#5;h>UzE6g$=j}qjX*E!7GWwaX=-$GLG`sE;G}*cg@V6 z!W5Xc)U6ey^TBGI&OL5uY)V{r$e!s)WSU?1)~_NCgAyQS^+S`Wpi-G}bF?gCbRg@t z%EE(p3bKaSX+rs+WkLfU)x&Z){KK{lM%@hGwf!n^|PaLswOQo6>b+ zQLJa#`spEXrpSA_>d9X!*97EPwH-*3$Rddhs2S~7i_PiU4O-hSRHIgYmHUCn#mygNF2*^Ihptsz>4=6uc)W)O;6npyv+tjGA& z@))rm2c2g;(&gDrsmw)NPPJ0uDb)H}JZ>|_$RIc;ty2dd6!b~Q&pTu6n@q(T>G_6t zg?{%9@q76=j`5Oj*`)t9dJvN|I6lWdm3KyYk)eFEhm6XuN*3vG-5MkgCd<3$??6|) ze!k%c>9kOx#Y0&u;=i_;)OjHR-KXV_^*`Ul-CBSmRkGzt@Po~MW?Ur}78k?dtj9qC z%&vYg19>WJU7k)qHD}o+#rJi*?9cr;SvFBIhz_kfYs7`a{uRs%l!VLa#a=kk$H%w_ zuRlD6UVfgZKUctP^?A4(vo0-nnNBRdb6~`V{g}BsL!N^Tihfl=C)=^EVt67yIiVdp z6#D%eKZmDr0(JCNQ9ahBZZybkG$P-fEI#k+y;E2*=g=1~qt6P&D{;N34KMu!dv7C1 ze@aWT{#B1J`pz4Rmgv|ZLy$qOWmnn%QfaN=s)cvx7bl+zr9WP$4^A$Nzr$5A*+OPi zb32{%Dn3+(yCnEeC?3kQ7S{3JsFH{liZjWcYajh7w}GVP2%;K6=V~$LjFV>IaszGk zKSj78B+5MR-Jr!=TGhYsG_H~HMn1akA}^xVgNf8Q^$?n8WPZ&i{^a)S0|ItbC#9wxszq6in2;#nKTm+UX1dN z8c7wDH2ICmPw^-T1Ue-@f+hU|YDixC@uF+Pp~_NJ#cc06T=k|9zE?C|>$}8V%x(R! zzLiF>`iB;us(jw?-~rCx9rNM?VndnIScOqC*ortDfarmPS|r(DFPSpuN*!HG5p{H; zE{e&bz+13>Zb@gu6rE0l-0)93tTF<&=D40JU| z(_ofct=;*%nB#BT7B{tj_UhESvQGUJl;qv)cS*oul=iEBG|;AKJ&!j`0V5}=(b?IA z4DJ!@ikSjj9Rjxg^Yw_xNf$9H`u()>oquF?H<1(NZ; z5ZlBa#zGKMd~0>d73Pl9a$VHl{jJ9bGz^Wr#Om^C-UFk8vd$9vx3CCmQV^{AZtTml zIXJvEI6ppW#!L>9f`E067-n{(ddd_v)X58e}F>v`BxcY$J z@I4e8*N=G51zw1%aBZ$a^vmIwDNV=g<^k#Nk1UT3#PY@SkFg@v%&Tfed$ksEE>Q&* z5rj4W>`-*xNv+%3tdlr(rD8C`%UO*1-53Hlfl8ma8jqr>-`v=Xaq&⩔KKJ!;*JE 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
  1. KsiwQGKpr$-BPUIsAKQ;X74K-#Y=?mVF1-qNSh+z$FpM_q}kX{X8$tg zF!m){5NT!`%#0K^B?1RUI~B@p>p7uF@X+Bf_8ewi6D_%%G_Uj8Ufx6q3b+1l+oamKjD=4|`8eqMxkKrMH$@E{?Eo@Mkdyu+RIq!zlyQ<}o%7X|iF-Vi zoxAJ0p>(X=>w{+{gXR|Fr$*q>hzv zck1VfVeTs6H~(mkL??n;jp~KZC^K)gMMI>;6eGXNIo0CpJum&{Xrn(Lcg7w+MAG9| zbL2*|S78j}p};};h#t@I*76IclOy@bZNKbObqy=u?n(OLNpFn+%$ii?JHXrJWXrE7 zRXA6`zOzHx%`871hT{fn3(?%wdMBd{GzO zU+o%A0DC!XnZ||gNx=tSpdoDwie|ZH${+NrEDQg6Py^v&DE}Or`iC)m_vQe#VVrHr z)b_FcK*DOiFmz9n?kCK+8L;In7iT<^v4dA2S_z+a!B5^oe9H?XP1mP_- zM`auo?btv%k0^$D^pODgxY5D}zB6o9@#klq$2w?yAH!#gkUl6CcmxU@_}W6ww9%t& z+L+sKzTwPT6s*s|(Vxx|RX3!& zK{a6jb|MDw8d3do(`Rnq{pjgYxqkxfcVjKpPsM9}%r8*&0 zsBgQ3D^KH+q1Z>uOjq}L6`jWcCyA?iGbWg=&WBSXliQ8VwOus~vPR4HX?n_q*k4$W+1 zX8}SB)J?5oxPIfupKr-|HK6PRBszdtzGH1AKcnTIq5c9s4Sv3A6qPXIBk$h7SdD$& z#-*Rnad5DA)-0b~sM0~CeykS@+B{tIuHuhTMZ;Nx7_i^NemWVFL@X;HLGyCSsF)B@ znjq?J_?;gTiph3_0y-|MLU}@iT50z-d7{UdolVf)92L5gB2A#F)faRM+k~DJzERA+ z@X|Eksv9-^Oy-)dY0i8?)6TfIyH8p4>rM6AucKnD;^Puxmq&3}R93?@QvM9{uqj9J>MZJKC!AtsER~w?tv;YR}0(&XaVs@j6kvQX`@5 zco^=&GtAOR!Oh&DUaBQ%xnvX z4mV4Ou(fN&U732I%f0(fg&{tQ)l?GfL)W~`^)Aw^oW>BNXMx0`3;GIsj#ifFc{gGMc8oAIVrngIwkx!-h+Mp6QZ>F_tz#lCsoJ3NjfbzI#f2#im)Zyihg7Q2>}@ocOu#?NkDQyxrTwL>ff

    gaQ3`g5N(Oz?2AKIAV$y(tayTv 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 z

    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
    6%{An(qUKm3|% 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�yt`M=DB>OoqqD|f| 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 WcwY_6_fR7JvzCUQI#%`3>;D4@Mn6UX literal 0 HcmV?d00001 diff --git a/doc/img/eet_mini.png b/doc/img/eet_mini.png new file mode 100644 index 0000000000000000000000000000000000000000..f4f99f0fa3224a7319ef0d51e1f2235c5a4b7bf5 GIT binary patch literal 753 zcmV~${x~c#G0&Yn}K~#9!rIK4nlVKdjf8V!*n`dqFG;=|Cgi14(B}SSJqq49I z@kUajq@>V`8YG2~K?e~+2s5mUE+p!%3&kKRA`cm*mR_t@j3T!@yMwy#TUQ&)G>D$7 z_y4@l|KZ_zUkJs-*pvC-ptx%({r=H5od-ZmT~X5c(}(@QRuQ1*^{4#OP0}K;mo;&% zvCP|Y);tv?!Zpf{#aV|xNIbY$vUK%S;Tu3utlAcCUpTNm!w@ms|6$SxAOvpet9Er2 z=BC!9Zj3{hmOj6&*iy2*A`J%}!WDAvj*JbP6BM4-_U>VYfSCNvG21JI+5?Ax0>BD9 z0v7lu+-flEJ1yodq1nX1;Zj|3_fMbNVRwg(T&Xqn1w_h#&=9Yw)axTj%TD+DyppM@ zYw$M*O;(bY$35=`^Uaqv#+1w`Ko=@lb}g+)M~jS2wx{*B(J!t!zy%QK!Ea26I3BK6 zREr+3w!FUm#)?m#1e~EgBm>oe3U~?(0Dk@#!dhfo!~PVn#0jM+RCy#ZSs$embm4xx zV`{$ROxue)z|tQ*24+jm?q*r3wnu0b&8XB_KE&v^)@ipYHYT%gbUGJ^4_#2MHb{(% zIA)0SiEdfxG3DsA*=73#IV>+}eBdRW#RqF`N6tClTb<2-XRQQk$?IB9h>zyk(AUPC z%KN2aZ1v5Wlh=pj*n;`~zFyCW)fodst(U+p%F@HB1$Um=WN59}W0a${Vx&sFfami) zr)_fPxmKf`aC?2ydL;@#3Q)c?JFy}?H7Z%7RCvbibJka5KkUE^FbMPqK7#O<*HHs8 jfEJJeH!uhILWREo3h>l;^}Oio00000NkvXXu0mjfuFYE5 literal 0 HcmV?d00001 diff --git a/doc/img/eet_small.png b/doc/img/eet_small.png new file mode 100644 index 0000000000000000000000000000000000000000..8bea36784e16f39bd41b17e8bd6808964340a9d9 GIT binary patch literal 3755 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 Vol#~xH(US!002ovPDHLkV1j2X19AWW literal 0 HcmV?d00001 diff --git a/doc/img/hilite.png b/doc/img/hilite.png new file mode 100644 index 0000000000000000000000000000000000000000..88a43816ea0718f59d609b5301e22a140f4cfdcb GIT binary patch literal 6127 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 literal 0 HcmV?d00001 diff --git a/doc/img/t.gif b/doc/img/t.gif new file mode 100644 index 0000000000000000000000000000000000000000..cff30686d87744ca946c19fb7dc3f5f9c35bfdcc GIT binary patch literal 979 zcmWlYTS!|60ESaKwy`~pu?@OX>>dUMSz+zKG6sc>S|5ZB_OLySQKp-NZqQOFwA({F zXT4NyyrteX(HKokG#7I-nv2JnXznI4F*l9JBqzx^Cpq`r&a(gE=l{O$Pj~N&-j_YxzTTGueS_SAk-`3v;0x?=|{yL*7uwrjT@ zIIO#X{b0{-we9cO4{TP4%Wbzg_Fel4I?ew}lPKVd;_PTs-f57eX z_}tz@&ym;T_XT}^uO|>X4ETcnkUw}B_WJ@y{=-lt9E?PRfunFBbQ}yu;^9ar8jdHz zq2p*c5<3pZPonY2aUz+BoyHQ;WGoUtiA7Jr#AzH%#FHoB$yp)+rjy`FI(d4YOrM=6 zPg4+>I!l947CbvogJ+psDs!Goflw+3Lise5g43yNCZEZs&vS4Nf}vanfzqiwlFuS& zHj{;+42%|X5RxlENHLFO(R>lh=dvgUqxk}i;cz}zz>xx6L~sIu^F;zJA|#5y7>N~# z0)|or6fcrRynqlCfl(Myq_F}@(j-nZcoCD}*}AQ;49nJ4g)OsHw#HU) z9KTxo;OmF&_a3#kH9Y?PQAfk~9qkRxEv?^jt}<_2c!$Gs8aeg+f0o;C^Eg${KX1u? zYWg!Qymo^W2WNi6D=kxZ*ZJQ(g#+A+!Tw7(+bmC7uMtkZt%t6d-oJ}Z-Fg_)JW$;E zWGvZ={@8HvekA`0ka)rUuTJ{{gVv#^V40 literal 0 HcmV?d00001 diff --git a/doc/img/t.png b/doc/img/t.png new file mode 100644 index 0000000000000000000000000000000000000000..06b6079343d3b2297fbd3a4768d3e3084b655471 GIT binary patch literal 316 zcmeAS@N?&q;$mQ6;PUiv2?ElLK>Uk?4ag98mpuyPuqAoByD*#q!TSf}rGO%w1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP`vpAQYPVLF!8$h8`o-U3d7N@UXwDog#ih`dYj4E7Lh>i{O!eX0Ne literal 0 HcmV?d00001 diff --git a/doc/img/tl.gif b/doc/img/tl.gif new file mode 100644 index 0000000000000000000000000000000000000000..4455dbc60f750ba4e4f9fafcd27485867cec603a GIT binary patch literal 74209 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
    941{?^z%))`GGwq4 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 HOr!cg?IDM9 literal 0 HcmV?d00001 diff --git a/doc/img/tl.png b/doc/img/tl.png new file mode 100644 index 0000000000000000000000000000000000000000..95ae5b609d0a581741c86796fee966914eb27d67 GIT binary patch literal 88378 zcmXt<1yCGK*M%2{g~DZV*I&ou43cLiwr&=fp7l8V*I4 zlt0@NnH@SiV|{#jlG<8t?Wuv{%-%pyL9!C42#9DSH^gwX7@*KS0atRO@rck)JM$oK zLQ+0w!=K@W!LL+&P8**c+0nH>yc~swiW_2tzBLFU59S`-TY!;~;rl&AwH$c0SgiKl z{q{Wsu}klL7+&=wpxK#`G2;q`Fh+lKcih0hz)M4-`n`U6x?+}^H?mg|!nsJbSV+@p zr(3$cF*@$EA#29m!moq}bDUL2BQY7wJMBzGi+vr_DNNT>r- zQ>?K!H!I)mXj8|_#R+ig2^JWTB^=kCzlj{o!>4QHlZ!^zeQXPXM%lN3Y0XUi?Ma4) zhTd6U*GvG9 z<7PK;XQdf)$A@aIxuvDZXv!c6|E4dkzrTM8Hjm&(YnmL}Oe-jKfr?ciI{9!Hj<$-Q zMBx7Urv2dOM-XUlZ*Pp~T0JJL`q<8KrLm+=S^p%vun^Yaag?lBVG2RU*A9h8qNs2s zL&>xR-ZCA=}9ni}w3KN!0H;s}1=@jh#ZkC85A zPBoWC1trV&3-4K3 zjJRy*0p?m|HK>6;A$4wtlai8B*CsGE6uY!yH^PkM0?QJ=sjDjv zK)^wj6f$l>6r+h`cElT%DtV@KxWEk{`s){jfëpx&#VQs{!E) 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 +@date 2000-2008 + + + + + +@section intro What is Eet? + +It is a tiny library designed to write an arbitary set of chunks of data +to a file and optionally compress each chunk (very much like a zip file) +and allow fast random-access reading of the file later on. It does not +do zip as a zip itself has more complexity than is needed, and it was much +simpler to impliment this once here. + +Eet is extremely fast, small and simple. Eet files can be very small and +highly compressed, making them very optimal for just sending across the +internet without having to archive, compress or decompress and install them. +They allow for lightning-fast random-acess reads once created, making them +perfect for storing data that is written once (or rarely) and read many +times, but the program does not want to have to read it all in at once. + +It also can encode and decode data structures in memory, as well as image +data for saving to Eet files or sending across the network to other +machines, or just writing to arbitary files on the system. All data is +encoded in a platform independant way and can be written and read by any +architecture. + + + + + +@section example A simple example on using Eet + +Here is a simple example on how to use Eet to save a series of strings to a +file and load them again. The advantage of using Eet over just fprintf() and +fscanf() is that not only can these entries be strings, they need no special +parsing to handle delimiter characters or escaping, they can be binary data, +image data, data structures containing integers, strings, other data +structures, linked lists and much more, without the programmer having to +worry about parsing, and best of all, Eet is very fast. + +@code +#include + +int +main(int argc, char **argv) +{ + Eet_File *ef; + int i; + char buf[32]; + char *ret; + int size; + char **entries = + { + "Entry 1", + "Big text string here compared to others", + "Eet is cool" + }; + + eet_init(); + + // blindly open an file for output and write strings with their NUL char + ef = eet_open("test.eet", EET_FILE_MODE_WRITE); + eet_write(ef, "Entry 1", entries[0], strlen(entries[0]) + 1, 0); + eet_write(ef, "Entry 2", entries[1], strlen(entries[1]) + 1, 1); + eet_write(ef, "Entry 3", entries[2], strlen(entries[2]) + 1, 0); + eet_close(ef); + + // open the file again and blindly get the entries we wrote + ef = eet_open("test.eet", EET_FILE_MODE_READ); + ret = eet_read(ef, "Entry 1", &size); + printf("%s\n", ret); + ret = eet_read(ef, "Entry 2", &size); + printf("%s\n", ret); + ret = eet_read(ef, "Entry 3", &size); + printf("%s\n", ret); + eet_close(ef); + + eet_shutdown(); +} +@endcode + + + + + +@section format What does an Eet file look like? + +The file format is very simple. There is a directory block at the start of +the file listing entries and offsets into the file where they are stored, +their sizes, compression flags etc. followed by all the entry data strung one +element after the other. + +All Eet files start with t a 4 byte magic number. It is written using network +byte-order (big endian, or from most significant byte first to least +significant byte last) and is 0x1ee7ff00 (or byte by byte 0:1e 1:e7 2:ff +3:00). The next 4 bytes are an integer (in big endian notation) indicating +how many entries are stored in the Eet file. 0 indicates it is empty. This is +a signed integer and thus values less than 0 are invalid, limiting the number +of entries in an Eet file to 0x7fffffff entries at most. The next 4 bytes is +the size of the directory table, in bytes, encoded in big-endian format. This +is a signed integer and cannot be less than 0. + +The directory table for the file follows immediately, with a continuous list +of all entries in the Eet file, their offset in the file etc. The order of +these entries is not important, but convention would have them be from first +to last entry in the file. Each directory entry consiste of 5 integers, one +after the other, each stored as a signed, big endian integer. The first is +the offset in the file that the data for this entry is stored at (based from +the very start of the file, not relative to the end of the directory block). +The second integer holds flags for the entry. currently only the least +significant bit (bit 0) holds any useful information, and it is set to 1 if +the entry is compressed using zlib compression calls, or 0 if it is not +compressed. The next integer is the size of the entry in bytes stored in the +file. The next integer is the size of the data when decompressed (if it was +compressed) in bytes. This may be the same as the previous integer if the +entry was not compressed. The final integer is the number of bytes used by +the string identifier for the entry, without the NUL byte terminator, which +is not stored. The next series of bytes is the string name of the entry, with +the number of bytes being the same as specified in the last integer above. +This list of entries continues until there are no more entries left to list. +To read an entry from an Eet file, simply find the appropriate entry in the +directory table, find it's offset and size, and read it into memory. If it is +compressed, decompress it using zlib and then use that data. + +Here is a data map of an Eet file. All integers are encoded using big-endian +notation (most significant byte first) and are signed. There is no alignment +of data, so all data types follow immediately on, one after the other. All +compressed data is compressed using the zlib compress2() function, and +decompressed using the zlib uncompress() function. Please see zlib +documentation for more information as to the encoding of compressed data. + +@verbatim +HEADER: +[INT] Magic number (0x1ee7ff00) +[INT] Number of entries in the directory table +[INT] The size of the directory table, in bytes + +DIRECTORY TABLE ENTRIES (as many as specified in the header): +[INT] Offest from file start at which entry is stored (in bytes) +[INT] Entry flags (1 = compressed, 0 = not compressed) +[INT] Size of data chunk in file (in bytes) +[INT] Size of the data chunk once decompressed (or the same as above, if not) +[INT] The length of the string itendifier, in bytes, without NUL terminator +[STR] Series of bytes for the string identifier, no NUL terminator +... more directory entries + +DATA STORED, ONE AFTER ANOTHER: +[DAT] DATA ENTRY 1... +[DAT] DATA ENTRY 2... +[DAT] DATA ENTRY 3... +... more data chunks +@endverbatim + +The contents of each entry in an Eet file has no defined format as such. It +is an opaque chunk of data, that is up to the application to deocde, unless +it is an image, ecoded by Eet, or a data structure encoded by Eet. The data +itself for these entries can be encoded and decoded by Eet with extra helper +functions in Eet. eet_data_image_read() and eet_data_image_write() are used +to handle reading and writing image data from a known Eet file entry name. +eet_data_read() and eet_data_write() are used to decode and encode program +data structures from an Eet file, making the loading and saving of program +information stored in data structures a simple 1 function call process. + +Please see src/lib/eet_data.c for information on the format of these +specially encoded data entries in an Eet file (for now). + + + + + +@todo Add hash table, fixed and variable array encode/decode support. +@todo Document data format for images and data structures. + +*/ diff --git a/eet.pc.in b/eet.pc.in new file mode 100644 index 0000000..669d03c --- /dev/null +++ b/eet.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: eet +Description: Library for speedy data storage, retrieval, and compression +Version: @VERSION@ +Libs: -L${libdir} -leet +Libs.private: -lz -ljpeg @fnmatch_libs@ @WIN32_LIBS@ -lm +Cflags: -I${includedir} diff --git a/eet.spec.in b/eet.spec.in new file mode 100644 index 0000000..45bb9f1 --- /dev/null +++ b/eet.spec.in @@ -0,0 +1,74 @@ +%define _missing_doc_files_terminate_build 0 + +Summary: Library for speedy data storage, retrieval, and compression. +Name: @PACKAGE@ +Version: @VERSION@ +Release: 0.%(date '+%Y%m%d') +License: BSD +Group: System Environment/Libraries +Source: %{name}-%{version}.tar.gz +Packager: %{?_packager:%{_packager}}%{!?_packager:Michael Jennings } +Vendor: %{?_vendorinfo:%{_vendorinfo}}%{!?_vendorinfo:The Enlightenment Project (http://www.enlightenment.org/)} +Distribution: %{?_distribution:%{_distribution}}%{!?_distribution:%{_vendor}} +URL: http://www.enlightenment.org/ +BuildRequires: libjpeg-devel zlib-devel +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Eet is a tiny library designed to write an arbitary set of chunks of +data to a file and optionally compress each chunk (very much like a +zip file) and allow fast random-access reading of the file later +on. It does not do zip as a zip itself has more complexity than is +needed, and it was much simpler to implement this once here. + +It also can encode and decode data structures in memory, as well as +image data for saving to eet files or sending across the network to +other machines, or just writing to arbitary files on the system. All +data is encoded in a platform independant way and can be written and +read by any architecture. + +%package devel +Summary: Eet headers, static libraries, documentation and test programs +Group: System Environment/Libraries +Requires: %{name} = %{version} +Requires: libjpeg-devel, zlib-devel + +%description devel +Headers, static libraries, test programs and documentation for Eet + +%prep +%setup -q + +%build +%{configure} --prefix=%{_prefix} +### use this if you have build problems +#./configure --prefix=%{_prefix} +%{__make} %{?_smp_mflags} %{?mflags} + +%install +%{__make} %{?mflags_install} DESTDIR=$RPM_BUILD_ROOT install + +%clean +test "x$RPM_BUILD_ROOT" != "x/" && rm -rf $RPM_BUILD_ROOT + +%post +/sbin/ldconfig + +%postun +/sbin/ldconfig + +%files +%defattr(-, root, root) +%doc AUTHORS COPYING COPYING-PLAIN README +%{_libdir}/*.so.* + +%files devel +%defattr(-, root, root) +%{_bindir}/eet* +%{_libdir}/pkgconfig/* +%{_includedir}/* +%{_libdir}/*.a +%{_libdir}/*.so +%{_libdir}/*.la + +%changelog diff --git a/gendoc b/gendoc new file mode 100755 index 0000000..a308a05 --- /dev/null +++ b/gendoc @@ -0,0 +1,8 @@ +#!/bin/sh +rm -rf ./doc/html ./doc/latex ./doc/man +doxygen +cp doc/img/* doc/html/ +rm -f eet_docs.tar eet_docs.tar.gz +tar -cvf eet_docs.tar doc/html doc/man doc/latex +gzip -9 eet_docs.tar +exit 0 diff --git a/m4/doxygen.m4 b/m4/doxygen.m4 new file mode 100644 index 0000000..32c1349 --- /dev/null +++ b/m4/doxygen.m4 @@ -0,0 +1,73 @@ +dnl Configure script for doxygen +dnl Vincent Torri 2005-22-09 +dnl +dnl AM_CHECK_DOXYGEN([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +dnl Test for the doxygen program, and define BUILD_DOCS and DOXYGEN. +dnl +AC_DEFUN([AM_CHECK_DOXYGEN], + [ + DOXYGEN="doxygen" + dnl + dnl Disable the build of the documentation + dnl + AC_ARG_ENABLE( + [build_docs], + AC_HELP_STRING( + [--disable-build-docs], + [Disable the build of the documentation]), + [if test "${disable_build_docs}" = "yes" ; then + enable_build_docs="no" + else + enable_build_docs="yes" + fi], + [enable_build_docs="yes"]) + dnl + dnl Get the prefix where doxygen is installed. + dnl + AC_ARG_WITH( + [doxygen], + AC_HELP_STRING( + [--with-doxygen=FILE], + [doxygen program to use (eg /usr/bin/doxygen)]), + dnl + dnl Check the given doxygen program. + dnl + [DOXYGEN=${withval} + AC_CHECK_PROG( + [BUILD_DOCS], + [${DOXYGEN}], + [yes], + [no]) + if test $BUILD_DOCS = no; then + echo "WARNING:" + echo "The doxygen program you specified:" + echo "$DOXYGEN" + echo "was not found. Please check the path and make sure " + echo "the program exists and is executable." + AC_MSG_WARN( + [Warning: no doxygen detected. Documentation will not be built]) + fi], + [AC_CHECK_PROG( + [BUILD_DOCS], + [${DOXYGEN}], + [yes], + [no]) + if test ${BUILD_DOCS} = no; then + echo "WARNING:" + echo "The doxygen program was not found in your execute" + echo "You may have doxygen installed somewhere not covered by your path." + echo "" + echo "If this is the case make sure you have the packages installed, AND" + echo "that the doxygen program is in your execute path (see your" + echo "shell's manual page on setting the \$PATH environment variable), OR" + echo "alternatively, specify the program to use with --with-doxygen." + AC_MSG_WARN( + [Warning: no doxygen detected. Documentation will not be built]) + fi]) + dnl + dnl Substitution + dnl + AC_SUBST([DOXYGEN]) + AM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes") + ]) +dnl End of doxygen.m4 diff --git a/src/.cvsignore b/src/.cvsignore new file mode 100644 index 0000000..4137794 --- /dev/null +++ b/src/.cvsignore @@ -0,0 +1,5 @@ +eet +eet-config +libeet.so.0.0.0 +Makefile +Makefile.in diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..a6fc38f --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,3 @@ +MAINTAINERCLEANFILES = Makefile.in + +SUBDIRS = lib bin tests diff --git a/src/bin/.cvsignore b/src/bin/.cvsignore new file mode 100644 index 0000000..2657148 --- /dev/null +++ b/src/bin/.cvsignore @@ -0,0 +1,5 @@ +.deps +.libs +Makefile +Makefile.in +eet diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am new file mode 100644 index 0000000..024932f --- /dev/null +++ b/src/bin/Makefile.am @@ -0,0 +1,18 @@ + +MAINTAINERCLEANFILES = Makefile.in + +AM_CPPFLAGS = \ +-I$(top_srcdir) \ +-I$(top_srcdir)/bin \ +-I$(top_srcdir)/src/lib \ +-DPACKAGE_BIN_DIR=\"$(bindir)\" \ +-DPACKAGE_LIB_DIR=\"$(libdir)\" \ +-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" + +bin_PROGRAMS = eet + +eet_SOURCES = eet_main.c +eet_CFLAGS = @WIN32_CFLAGS@ +eet_LDADD = $(top_builddir)/src/lib/libeet.la +eet_LDFLAGS = @lt_enable_auto_import@ +eet_DEPENDENCIES = $(top_builddir)/src/lib/libeet.la diff --git a/src/bin/eet_main.c b/src/bin/eet_main.c new file mode 100644 index 0000000..d352a0f --- /dev/null +++ b/src/bin/eet_main.c @@ -0,0 +1,251 @@ +#include +#include +#include +#include +#include + +static void +do_eet_list(const char *file) +{ + int i, num; + char **list; + Eet_File *ef; + + ef = eet_open(file, EET_FILE_MODE_READ); + if (!ef) + { + printf("cannot open for reading: %s\n", file); + exit(-1); + } + list = eet_list(ef, "*", &num); + if (list) + { + for (i = 0; i < num; i++) + printf("%s\n",list[i]); + free(list); + } + eet_close(ef); +} + +static void +do_eet_extract(const char *file, const char *key, const char *out) +{ + Eet_File *ef; + void *data; + int size = 0; + FILE *f; + + ef = eet_open(file, EET_FILE_MODE_READ); + if (!ef) + { + printf("cannot open for reading: %s\n", file); + exit(-1); + } + data = eet_read(ef, key, &size); + if (!data) + { + printf("cannot read key %s\n", key); + exit(-1); + } + f = fopen(out, "w"); + if (!f) + { + printf("cannot open %s\n", out); + exit(-1); + } + if (fwrite(data, size, 1, f) != 1) + { + printf("cannot write to %s\n", out); + exit(-1); + } + fclose(f); + free(data); + eet_close(ef); +} + +static void +do_eet_decode_dump(void *data, const char *str) +{ + fputs(str, (FILE *)data); +} + +static void +do_eet_decode(const char *file, const char *key, const char *out) +{ + Eet_File *ef; + FILE *f; + + ef = eet_open(file, EET_FILE_MODE_READ); + if (!ef) + { + printf("cannot open for reading: %s\n", file); + exit(-1); + } + f = fopen(out, "w"); + if (!f) + { + printf("cannot open %s\n", out); + exit(-1); + } + if (!eet_data_dump(ef, key, do_eet_decode_dump, f)) + { + printf("cannot write to %s\n", out); + exit(-1); + } + fclose(f); + eet_close(ef); +} + +static void +do_eet_insert(const char *file, const char *key, const char *out, int compress) +{ + Eet_File *ef; + void *data; + int size = 0; + FILE *f; + + ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + if (!ef) + ef = eet_open(file, EET_FILE_MODE_WRITE); + if (!ef) + { + printf("cannot open for read+write: %s\n", file); + exit(-1); + } + f = fopen(out, "r"); + if (!f) + { + printf("cannot open %s\n", out); + exit(-1); + } + fseek(f, 0, SEEK_END); + size = ftell(f); + rewind(f); + data = malloc(size); + if (!data) + { + printf("cannot allocate %i bytes\n", size); + exit(-1); + } + if (fread(data, size, 1, f) != 1) + { + printf("cannot read file %s\n", out); + exit(-1); + } + fclose(f); + eet_write(ef, key, data, size, compress); + free(data); + eet_close(ef); +} + +static void +do_eet_encode(const char *file, const char *key, const char *out, int compress) +{ + Eet_File *ef; + char *text; + int textlen = 0; + int size = 0; + FILE *f; + + ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + if (!ef) + ef = eet_open(file, EET_FILE_MODE_WRITE); + if (!ef) + { + printf("cannot open for read+write: %s\n", file); + exit(-1); + } + f = fopen(out, "r"); + if (!f) + { + printf("cannot open %s\n", out); + exit(-1); + } + fseek(f, 0, SEEK_END); + textlen = ftell(f); + rewind(f); + text = malloc(textlen); + if (!text) + { + printf("cannot allocate %i bytes\n", size); + exit(-1); + } + if (fread(text, textlen, 1, f) != 1) + { + printf("cannot read file %s\n", out); + exit(-1); + } + fclose(f); + if (!eet_data_undump(ef, key, text, textlen, compress)) + { + printf("cannot parse %s\n", out); + exit(-1); + } + free(text); + eet_close(ef); +} + +static void +do_eet_remove(const char *file, const char *key) +{ + Eet_File *ef; + + ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + if (!ef) + { + printf("cannot open for read+write: %s\n", file); + exit(-1); + } + eet_delete(ef, key); + eet_close(ef); +} + +int +main(int argc, char **argv) +{ + eet_init(); + if (argc < 2) + { + help: + printf("Usage:\n" + " eet -l FILE.EET list all keys in FILE.EET\n" + " eet -x FILE.EET KEY OUT-FILE extract data stored in KEY in FILE.EET and write to OUT-FILE\n" + " eet -d FILE.EET KEY OUT-FILE extract and decode data stored in KEY in FILE.EET and write to OUT-FILE\n" + " eet -i FILE.EET KEY IN-FILE COMPRESS insert data to KEY in FILE.EET from IN-FILE and if COMPRESS is 1, compress it\n" + " eet -e FILE.EET KEY IN-FILE COMPRESS insert and encode to KEY in FILE.EET from IN-FILE and if COMPRESS is 1, compress it\n" + " eet -r FILE.EET KEY remove KEY in FILE.EET\n" + ); + eet_shutdown(); + return 0; + } + if ((!strncmp(argv[1], "-h", 2))) + { + goto help; + } + else if ((!strcmp(argv[1], "-l")) && (argc > 2)) + { + do_eet_list(argv[2]); + } + else if ((!strcmp(argv[1], "-x")) && (argc > 4)) + { + do_eet_extract(argv[2], argv[3], argv[4]); + } + else if ((!strcmp(argv[1], "-d")) && (argc > 4)) + { + do_eet_decode(argv[2], argv[3], argv[4]); + } + else if ((!strcmp(argv[1], "-i")) && (argc > 5)) + { + do_eet_insert(argv[2], argv[3], argv[4], atoi(argv[5])); + } + else if ((!strcmp(argv[1], "-e")) && (argc > 5)) + { + do_eet_encode(argv[2], argv[3], argv[4], atoi(argv[5])); + } + else if ((!strcmp(argv[1], "-r")) && (argc > 3)) + { + do_eet_remove(argv[2], argv[3]); + } + eet_shutdown(); + return 0; +} diff --git a/src/lib/.cvsignore b/src/lib/.cvsignore new file mode 100644 index 0000000..f776647 --- /dev/null +++ b/src/lib/.cvsignore @@ -0,0 +1,10 @@ +eet +eet-config +libeet.so.0.0.0 +.deps +.libs +Makefile +Makefile.in +*.lo +libeet.la +*.gcno diff --git a/src/lib/Eet.h b/src/lib/Eet.h new file mode 100644 index 0000000..dc7a383 --- /dev/null +++ b/src/lib/Eet.h @@ -0,0 +1,1246 @@ +#ifndef _EET_H +#define _EET_H + +#include + +#ifdef EAPI +# undef EAPI +#endif + +#ifdef _WIN32 +# ifdef EFL_EET_BUILD +# ifdef DLL_EXPORT +# define EAPI __declspec(dllexport) +# else +# define EAPI +# endif /* ! DLL_EXPORT */ +# else +# define EAPI __declspec(dllimport) +# endif /* ! EFL_EET_BUILD */ +#else +# ifdef __GNUC__ +# if __GNUC__ >= 4 +# define EAPI __attribute__ ((visibility("default"))) +# else +# define EAPI +# endif +# else +# define EAPI +# endif +#endif /* ! _WIN32 */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @file Eet.h + * @brief The file that provides the eet functions. + * + * This header provides the Eet management functions. + * + */ + +/***************************************************************************/ + +#define EET_T_UNKNOW 0 /**< Unknown data encoding type */ +#define EET_T_CHAR 1 /**< Data type: char */ +#define EET_T_SHORT 2 /**< Data type: short */ +#define EET_T_INT 3 /**< Data type: int */ +#define EET_T_LONG_LONG 4 /**< Data type: long long */ +#define EET_T_FLOAT 5 /**< Data type: float */ +#define EET_T_DOUBLE 6 /**< Data type: double */ +#define EET_T_UCHAR 7 /**< Data type: unsigned char */ +#define EET_T_USHORT 8 /**< Data type: unsigned short */ +#define EET_T_UINT 9 /**< Data type: unsigned int */ +#define EET_T_ULONG_LONG 10 /**< Data type: unsigned long long */ +#define EET_T_STRING 11 /**< Data type: char * */ +#define EET_T_INLINED_STRING 12 /**< Data type: char * (but compressed inside the resulting eet) */ +#define EET_T_LAST 13 /**< Last data type */ + +#define EET_G_UNKNOWN 100 /**< Unknown group data encoding type */ +#define EET_G_ARRAY 101 /**< Fixed size array group type */ +#define EET_G_VAR_ARRAY 102 /**< Variable size array group type */ +#define EET_G_LIST 103 /**< Linked list group type */ +#define EET_G_HASH 104 /**< Hash table group type */ +#define EET_G_LAST 105 /**< Last group type */ + +/***************************************************************************/ + + typedef enum _Eet_File_Mode + { + EET_FILE_MODE_INVALID = -1, + EET_FILE_MODE_READ, + EET_FILE_MODE_WRITE, + EET_FILE_MODE_READ_WRITE + } Eet_File_Mode; + + typedef enum _Eet_Error + { + EET_ERROR_NONE, + EET_ERROR_BAD_OBJECT, + EET_ERROR_EMPTY, + EET_ERROR_NOT_WRITABLE, + EET_ERROR_OUT_OF_MEMORY, + EET_ERROR_WRITE_ERROR, + EET_ERROR_WRITE_ERROR_FILE_TOO_BIG, + EET_ERROR_WRITE_ERROR_IO_ERROR, + EET_ERROR_WRITE_ERROR_OUT_OF_SPACE, + EET_ERROR_WRITE_ERROR_FILE_CLOSED + } Eet_Error; + + typedef struct _Eet_File Eet_File; + typedef struct _Eet_Dictionary Eet_Dictionary; + typedef struct _Eet_Data_Descriptor Eet_Data_Descriptor; + + typedef struct _Eet_Data_Descriptor_Class Eet_Data_Descriptor_Class; + +#define EET_DATA_DESCRIPTOR_CLASS_VERSION 2 + struct _Eet_Data_Descriptor_Class + { + int version; + const char *name; + int size; + struct { + void *(*mem_alloc) (size_t size); + void (*mem_free) (void *mem); + char *(*str_alloc) (const char *str); + void (*str_free) (const char *str); + void *(*list_next) (void *l); + void *(*list_append) (void *l, void *d); + void *(*list_data) (void *l); + void *(*list_free) (void *l); + void (*hash_foreach) (void *h, int (*func) (void *h, const char *k, void *dt, void *fdt), void *fdt); + void *(*hash_add) (void *h, const char *k, void *d); + void (*hash_free) (void *h); + char *(*str_direct_alloc) (const char *str); + void (*str_direct_free) (const char *str); + } func; + }; + +/***************************************************************************/ + + /** + * Initialize the EET library. + * + * @return The new init count. + * + * @since 1.0.0 + */ + EAPI int eet_init(void); + + /** + * Shut down the EET library. + * + * @return The new init count. + * + * @since 1.0.0 + */ + EAPI int eet_shutdown(void); + + /** + * Clear eet cache + * + * Eet didn't free items by default. If you are under memory presure, just + * call this function to recall all memory that are not yet referenced anymore. + * The cache take care of modification on disk. + * + * @since 1.0.0 + */ + EAPI void eet_clearcache(void); + + /** + * Open an eet file on disk, and returns a handle to it. + * @param file The file path to the eet file. eg: "/tmp/file.eet". + * @param mode The mode for opening. Either EET_FILE_MODE_READ, EET_FILE_MODE_WRITE or EET_FILE_MODE_READ_WRITE. + * @return An opened eet file handle. + * + * This function will open an exiting eet file for reading, and build + * the directory table in memory and return a handle to the file, if it + * exists and can be read, and no memory errors occur on the way, otherwise + * NULL will be returned. + * + * It will also open an eet file for writing. This will, if successful, + * delete the original file and replace it with a new empty file, till + * the eet file handle is closed or flushed. If it cannot be opened for + * writing or a memory error occurs, NULL is returned. + * + * You can also open the file for read/write. If you then write a key that + * does not exist it will be created, if the key exists it will be replaced + * by the new data. + * + * Example: + * @code + * #include + * #include + * + * int + * main(int argc, char **argv) + * { + * Eet_File *ef; + * char buf[1024], *ret, **list; + * int size, num, i; + * + * strcpy(buf, "Here is a string of data to save!"); + * + * ef = eet_open("/tmp/my_file.eet", EET_FILE_MODE_WRITE); + * if (!ef) return -1; + * if (!eet_write(ef, "/key/to_store/at", buf, 1024, 1)) + * fprintf(stderr, "Error writing data!\n"); + * eet_close(ef); + * + * ef = eet_open("/tmp/my_file.eet", EET_FILE_MODE_READ); + * if (!ef) return -1; + * list = eet_list(ef, "*", &num); + * if (list) + * { + * for (i = 0; i < num; i++) + * printf("Key stored: %s\n", list[i]); + * free(list); + * } + * ret = eet_read(ef, "/key/to_store/at", &size); + * if (ret) + * { + * printf("Data read (%i bytes):\n%s\n", size, ret); + * free(ret); + * } + * eet_close(ef); + * + * return 0; + * } + * @endcode + * + * @since 1.0.0 + */ + EAPI Eet_File *eet_open(const char *file, Eet_File_Mode mode); + + /** + * Get the mode an Eet_File was opened with. + * @param ef A valid eet file handle. + * @return The mode ef was opened with. + * + * @since 1.0.0 + */ + EAPI Eet_File_Mode eet_mode_get(Eet_File *ef); + + /** + * Close an eet file handle and flush and writes pending. + * @param ef A valid eet file handle. + * + * This function will flush any pending writes to disk if the eet file + * was opened for write, and free all data associated with the file handle + * and file, and close the file. + * + * If the eet file handle is not valid nothing will be done. + * + * @since 1.0.0 + */ + EAPI Eet_Error eet_close(Eet_File *ef); + + + /** + * Return a handle to the shared string dictionary of the Eet file + * @param ef A valid eet file handle. + * @return A handle to the dictionary of the file + * + * This function returns a handle to the dictionary of an Eet file whose + * handle is @p ef, if a dictionary exists. NULL is returned otherwise or + * if the file handle is known to be invalid. + * + * @since 1.0.0 + */ + EAPI Eet_Dictionary *eet_dictionary_get(Eet_File *ef); + + /** + * Check if a given string comes from a given dictionary + * @param ed A valid dictionary handle + * @param string A valid 0 byte terminated C string + * @return 1 if it is in the dictionary, 0 otherwise + * + * This checks the given dictionary to see if the given string is actually + * inside that dictionary (i.e. comes from it) and returns 1 if it does. + * If the dictionary handle is invlide, the string is NULL or the string is + * not in the dictionary, 0 is returned. + * + * @since 1.0.0 + */ + EAPI int eet_dictionary_string_check(Eet_Dictionary *ed, const char *string); + + /** + * Read a specified entry from an eet file and return data + * @param ef A valid eet file handle opened for reading. + * @param name Name of the entry. eg: "/base/file_i_want". + * @param size_ret Number of bytes read from entry and returned. + * @return The data stored in that entry in the eet file. + * + * This function finds an entry in the eet file that is stored under the + * name specified, and returns that data, decompressed, if successful. + * NULL is returned if the lookup fails or if memory errors are + * encountered. It is the job of the calling program to call free() on + * the returned data. The number of bytes in the returned data chunk are + * placed in size_ret. + * + * If the eet file handle is not valid NULL is returned and size_ret is + * filled with 0. + * + * @since 1.0.0 + */ + EAPI void *eet_read(Eet_File *ef, const char *name, int *size_ret); + + /** + * Read a specified entry from an eet file and return data + * @param ef A valid eet file handle opened for reading. + * @param name Name of the entry. eg: "/base/file_i_want". + * @param size_ret Number of bytes read from entry and returned. + * @return The data stored in that entry in the eet file. + * + * This function finds an entry in the eet file that is stored under the + * name specified, and returns that data if not compressed and successful. + * NULL is returned if the lookup fails or if memory errors are + * encountered or if the data is comrpessed. The calling program must never + * call free() on the returned data. The number of bytes in the returned + * data chunk are placed in size_ret. + * + * If the eet file handle is not valid NULL is returned and size_ret is + * filled with 0. + * + * @since 1.0.0 + */ + EAPI const void *eet_read_direct(Eet_File *ef, const char *name, int *size_ret); + + /** + * Write a specified entry to an eet file handle + * @param ef A valid eet file handle opened for writing. + * @param name Name of the entry. eg: "/base/file_i_want". + * @param data Pointer to the data to be stored. + * @param size Length in bytes in the data to be stored. + * @param compress Compression flags (1 == compress, 0 = don't compress). + * @return Success or failure of the write. + * + * This function will write the specified chunk of data to the eet file + * and return greater than 0 on success. 0 will be returned on failure. + * + * The eet file handle must be a valid file handle for an eet file opened + * for writing. If it is not, 0 will be returned and no action will be + * performed. + * + * Name, and data must not be NULL, and size must be > 0. If these + * conditions are not met, 0 will be returned. + * + * The data will be copied (and optionally compressed) in ram, pending + * a flush to disk (it will stay in ram till the eet file handle is + * closed though). + * + * @since 1.0.0 + */ + EAPI int eet_write(Eet_File *ef, const char *name, const void *data, int size, int compress); + + /** + * Delete a specified entry from an Eet file being written or re-written + * @param ef A valid eet file handle opened for writing. + * @param name Name of the entry. eg: "/base/file_i_want". + * @return Success or failure of the delete. + * + * This function will delete the specified chunk of data from the eet file + * and return greater than 0 on success. 0 will be returned on failure. + * + * The eet file handle must be a valid file handle for an eet file opened + * for writing. If it is not, 0 will be returned and no action will be + * performed. + * + * Name, must not be NULL, otherwise 0 will be returned. + * + * @since 1.0.0 + */ + EAPI int eet_delete(Eet_File *ef, const char *name); + + /** + * List all entries in eet file matching shell glob. + * @param ef A valid eet file handle. + * @param glob A shell glob to match against. + * @param count_ret Number of entries found to match. + * @return Pointer to an array of strings. + * + * This function will list all entries in the eet file matching the + * supplied shell glob and return an allocated list of their names, if + * there are any, and if no memory errors occur. + * + * The eet file handle must be valid and glob must not be NULL, or NULL + * will be returned and count_ret will be filled with 0. + * + * The calling program must call free() on the array returned, but NOT + * on the string pointers in the array. They are taken as read-only + * internals from the eet file handle. They are only valid as long as + * the file handle is not closed. When it is closed those pointers in the + * array are now not valid and should not be used. + * + * On success the array returned will have a list of string pointers + * that are the names of the entries that matched, and count_ret will have + * the number of entries in this array placed in it. + * + * Hint: an easy way to list all entries in an eet file is to use a glob + * value of "*". + * + * @since 1.0.0 + */ + EAPI char **eet_list(Eet_File *ef, const char *glob, int *count_ret); + + /** + * Return the number of entries in the specified eet file. + * @param ef A valid eet file handle. + * @return Number of entries in ef or -1 if the number of entries + * cannot be read due to open mode restrictions. + * + * @since 1.0.0 + */ + EAPI int eet_num_entries(Eet_File *ef); + +/***************************************************************************/ + + /** + * Read just the header data for an image and dont decode the pixels. + * @param ef A valid eet file handle opened for reading. + * @param name Name of the entry. eg: "/base/file_i_want". + * @param w A pointer to the unsigned int to hold the width in pixels. + * @param h A pointer to the unsigned int to hold the height in pixels. + * @param alpha A pointer to the int to hold the alpha flag. + * @param compress A pointer to the int to hold the compression amount. + * @param quality A pointer to the int to hold the quality amount. + * @param lossy A pointer to the int to hold the lossiness flag. + * @return 1 on successfull decode, 0 otherwise + * + * This function reads an image from an eet file stored under the named + * key in the eet file and return a pointer to the decompressed pixel data. + * + * The other parameters of the image (width, height etc.) are placed into + * the values pointed to (they must be supplied). The pixel data is a linear + * array of pixels starting from the top-left of the image scanning row by + * row from left to right. Each pile is a 32bit value, with the high byte + * being the alpha channel, the next being red, then green, and the low byte + * being blue. The width and height are measured in pixels and will be + * greater than 0 when returned. The alpha flag is either 0 or 1. 0 denotes + * that the alpha channel is not used. 1 denotes that it is significant. + * Compress is filled with the compression value/amount the image was + * stored with. The quality value is filled with the quality encoding of + * the image file (0 - 100). The lossy flags is either 0 or 1 as to if + * the image was encoded lossily or not. + * + * On success the function returns 1 indicating the header was read and + * decoded properly, or 0 on failure. + * + * @since 1.0.0 + */ + EAPI int eet_data_image_header_read(Eet_File *ef, const char *name, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy); + + /** + * Read image data from the named key in the eet file. + * @param ef A valid eet file handle opened for reading. + * @param name Name of the entry. eg: "/base/file_i_want". + * @param w A pointer to the unsigned int to hold the width in pixels. + * @param h A pointer to the unsigned int to hold the height in pixels. + * @param alpha A pointer to the int to hold the alpha flag. + * @param compress A pointer to the int to hold the compression amount. + * @param quality A pointer to the int to hold the quality amount. + * @param lossy A pointer to the int to hold the lossiness flag. + * @return The image pixel data decoded + * + * This function reads an image from an eet file stored under the named + * key in the eet file and return a pointer to the decompressed pixel data. + * + * The other parameters of the image (width, height etc.) are placed into + * the values pointed to (they must be supplied). The pixel data is a linear + * array of pixels starting from the top-left of the image scanning row by + * row from left to right. Each pile is a 32bit value, with the high byte + * being the alpha channel, the next being red, then green, and the low byte + * being blue. The width and height are measured in pixels and will be + * greater than 0 when returned. The alpha flag is either 0 or 1. 0 denotes + * that the alpha channel is not used. 1 denotes that it is significant. + * Compress is filled with the compression value/amount the image was + * stored with. The quality value is filled with the quality encoding of + * the image file (0 - 100). The lossy flags is either 0 or 1 as to if + * the image was encoded lossily or not. + * + * On success the function returns a pointer to the image data decoded. The + * calling application is responsible for calling free() on the image data + * when it is done with it. On failure NULL is returned and the parameter + * values may not contain any sensible data. + * + * @since 1.0.0 + */ + EAPI void *eet_data_image_read(Eet_File *ef, const char *name, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy); + + /** + * Read image data from the named key in the eet file. + * @param ef A valid eet file handle opened for reading. + * @param name Name of the entry. eg: "/base/file_i_want". + * @param src_x The starting x coordinate from where to dump the stream. + * @param src_y The starting y coordinate from where to dump the stream. + * @param d A pointer to the pixel surface. + * @param w The expected width in pixels of the pixel surface to decode. + * @param h The expected height in pixels of the pixel surface to decode. + * @param row_stride The length of a pixels line in the destination surface. + * @param alpha A pointer to the int to hold the alpha flag. + * @param compress A pointer to the int to hold the compression amount. + * @param quality A pointer to the int to hold the quality amount. + * @param lossy A pointer to the int to hold the lossiness flag. + * @return 1 on success, 0 otherwise. + * + * This function reads an image from an eet file stored under the named + * key in the eet file and return a pointer to the decompressed pixel data. + * + * The other parameters of the image (width, height etc.) are placed into + * the values pointed to (they must be supplied). The pixel data is a linear + * array of pixels starting from the top-left of the image scanning row by + * row from left to right. Each pile is a 32bit value, with the high byte + * being the alpha channel, the next being red, then green, and the low byte + * being blue. The width and height are measured in pixels and will be + * greater than 0 when returned. The alpha flag is either 0 or 1. 0 denotes + * that the alpha channel is not used. 1 denotes that it is significant. + * Compress is filled with the compression value/amount the image was + * stored with. The quality value is filled with the quality encoding of + * the image file (0 - 100). The lossy flags is either 0 or 1 as to if + * the image was encoded lossily or not. + * + * On success the function returns 1, and 0 on failure. On failure the + * parameter values may not contain any sensible data. + * + * @since 1.0.2 + */ + EAPI int eet_data_image_read_to_surface(Eet_File *ef, const char *name, unsigned int src_x, unsigned int src_y, unsigned int *d, unsigned int w, unsigned int h, unsigned int row_stride, int *alpha, int *compress, int *quality, int *lossy); + + /** + * Write image data to the named key in an eet file. + * @param ef A valid eet file handle opened for writing. + * @param name Name of the entry. eg: "/base/file_i_want". + * @param data A pointer to the image pixel data. + * @param w The width of the image in pixels. + * @param h The height of the image in pixels. + * @param alpha The alpha channel flag. + * @param compress The compression amount. + * @param quality The quality encoding amount. + * @param lossy The lossiness flag. + * @return Success if the data was encoded and written or not. + * + * This function takes image pixel data and encodes it in an eet file + * stored under the supplied name key, and returns how many bytes were + * actually written to encode the image data. + * + * The data expected is the same format as returned by eet_data_image_read. + * If this is not the case weird things may happen. Width and height must + * be between 1 and 8000 pixels. The alpha flags can be 0 or 1 (0 meaning + * the alpha values are not useful and 1 meaning they are). Compress can + * be from 0 to 9 (0 meaning no compression, 9 meaning full compression). + * This is only used if the image is not lossily encoded. Quality is used on + * lossy compression and should be a value from 0 to 100. The lossy flag + * can be 0 or 1. 0 means encode losslessly and 1 means to encode with + * image quality loss (but then have a much smaller encoding). + * + * On success this function returns the number of bytes that were required + * to encode the image data, or on failure it returns 0. + * + * @since 1.0.0 + */ + EAPI int eet_data_image_write(Eet_File *ef, const char *name, const void *data, unsigned int w, unsigned int h, int alpha, int compress, int quality, int lossy); + + /** + * Decode Image data header only to get information. + * @param data The encoded pixel data. + * @param size The size, in bytes, of the encoded pixel data. + * @param w A pointer to the unsigned int to hold the width in pixels. + * @param h A pointer to the unsigned int to hold the height in pixels. + * @param alpha A pointer to the int to hold the alpha flag. + * @param compress A pointer to the int to hold the compression amount. + * @param quality A pointer to the int to hold the quality amount. + * @param lossy A pointer to the int to hold the lossiness flag. + * @return 1 on success, 0 on failure. + * + * This function takes encoded pixel data and decodes it into raw RGBA + * pixels on success. + * + * The other parameters of the image (width, height etc.) are placed into + * the values pointed to (they must be supplied). The pixel data is a linear + * array of pixels starting from the top-left of the image scanning row by + * row from left to right. Each pixel is a 32bit value, with the high byte + * being the alpha channel, the next being red, then green, and the low byte + * being blue. The width and height are measured in pixels and will be + * greater than 0 when returned. The alpha flag is either 0 or 1. 0 denotes + * that the alpha channel is not used. 1 denotes that it is significant. + * Compress is filled with the compression value/amount the image was + * stored with. The quality value is filled with the quality encoding of + * the image file (0 - 100). The lossy flags is either 0 or 1 as to if + * the image was encoded lossily or not. + * + * On success the function returns 1 indicating the header was read and + * decoded properly, or 0 on failure. + * + * @since 1.0.0 + */ + EAPI int eet_data_image_header_decode(const void *data, int size, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy); + + /** + * Decode Image data into pixel data. + * @param data The encoded pixel data. + * @param size The size, in bytes, of the encoded pixel data. + * @param w A pointer to the unsigned int to hold the width in pixels. + * @param h A pointer to the unsigned int to hold the height in pixels. + * @param alpha A pointer to the int to hold the alpha flag. + * @param compress A pointer to the int to hold the compression amount. + * @param quality A pointer to the int to hold the quality amount. + * @param lossy A pointer to the int to hold the lossiness flag. + * @return The image pixel data decoded + * + * This function takes encoded pixel data and decodes it into raw RGBA + * pixels on success. + * + * The other parameters of the image (width, height etc.) are placed into + * the values pointed to (they must be supplied). The pixel data is a linear + * array of pixels starting from the top-left of the image scanning row by + * row from left to right. Each pixel is a 32bit value, with the high byte + * being the alpha channel, the next being red, then green, and the low byte + * being blue. The width and height are measured in pixels and will be + * greater than 0 when returned. The alpha flag is either 0 or 1. 0 denotes + * that the alpha channel is not used. 1 denotes that it is significant. + * Compress is filled with the compression value/amount the image was + * stored with. The quality value is filled with the quality encoding of + * the image file (0 - 100). The lossy flags is either 0 or 1 as to if + * the image was encoded lossily or not. + * + * On success the function returns a pointer to the image data decoded. The + * calling application is responsible for calling free() on the image data + * when it is done with it. On failure NULL is returned and the parameter + * values may not contain any sensible data. + * + * @since 1.0.0 + */ + EAPI void *eet_data_image_decode(const void *data, int size, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy); + + /** + * Decode Image data into pixel data. + * @param data The encoded pixel data. + * @param size The size, in bytes, of the encoded pixel data. + * @param src_x The starting x coordinate from where to dump the stream. + * @param src_y The starting y coordinate from where to dump the stream. + * @param d A pointer to the pixel surface. + * @param w The expected width in pixels of the pixel surface to decode. + * @param h The expected height in pixels of the pixel surface to decode. + * @param row_stride The length of a pixels line in the destination surface. + * @param alpha A pointer to the int to hold the alpha flag. + * @param compress A pointer to the int to hold the compression amount. + * @param quality A pointer to the int to hold the quality amount. + * @param lossy A pointer to the int to hold the lossiness flag. + * @return 1 on success, 0 otherwise. + * + * This function takes encoded pixel data and decodes it into raw RGBA + * pixels on success. + * + * The other parameters of the image (alpha, compress etc.) are placed into + * the values pointed to (they must be supplied). The pixel data is a linear + * array of pixels starting from the top-left of the image scanning row by + * row from left to right. Each pixel is a 32bit value, with the high byte + * being the alpha channel, the next being red, then green, and the low byte + * being blue. The width and height are measured in pixels and will be + * greater than 0 when returned. The alpha flag is either 0 or 1. 0 denotes + * that the alpha channel is not used. 1 denotes that it is significant. + * Compress is filled with the compression value/amount the image was + * stored with. The quality value is filled with the quality encoding of + * the image file (0 - 100). The lossy flags is either 0 or 1 as to if + * the image was encoded lossily or not. + * + * On success the function returns 1, and 0 on failure. On failure the + * parameter values may not contain any sensible data. + * + * @since 1.0.2 + */ + EAPI int eet_data_image_decode_to_surface(const void *data, int size, unsigned int src_x, unsigned int src_y, unsigned int *d, unsigned int w, unsigned int h, unsigned int row_stride, int *alpha, int *compress, int *quality, int *lossy); + + /** + * Encode image data for storage or transmission. + * @param data A pointer to the image pixel data. + * @param size_ret A pointer to an int to hold the size of the returned data. + * @param w The width of the image in pixels. + * @param h The height of the image in pixels. + * @param alpha The alpha channel flag. + * @param compress The compression amount. + * @param quality The quality encoding amount. + * @param lossy The lossiness flag. + * @return The encoded image data. + * + * This function stakes image pixel data and encodes it with compression and + * possible loss of quality (as a trade off for size) for storage or + * transmission to another system. + * + * The data expected is the same format as returned by eet_data_image_read. + * If this is not the case weird things may happen. Width and height must + * be between 1 and 8000 pixels. The alpha flags can be 0 or 1 (0 meaning + * the alpha values are not useful and 1 meaning they are). Compress can + * be from 0 to 9 (0 meaning no compression, 9 meaning full compression). + * This is only used if the image is not lossily encoded. Quality is used on + * lossy compression and should be a value from 0 to 100. The lossy flag + * can be 0 or 1. 0 means encode losslessly and 1 means to encode with + * image quality loss (but then have a much smaller encoding). + * + * On success this function returns a pointer to the encoded data that you + * can free with free() when no longer needed. + * + * @since 1.0.0 + */ + EAPI void *eet_data_image_encode(const void *data, int *size_ret, unsigned int w, unsigned int h, int alpha, int compress, int quality, int lossy); + +/***************************************************************************/ + + /** + * Create a new empty data structure descriptor. + * @param name The string name of this data structure (most be a global constant and never change). + * @param size The size of the struct (in bytes). + * @param func_list_next The function to get the next list node. + * @param func_list_append The function to append a member to a list. + * @param func_list_data The function to get the data from a list node. + * @param func_list_free The function to free an entire linked list. + * @param func_hash_foreach The function to iterate through all hash table entries. + * @param func_hash_add The function to add a member to a hash table. + * @param func_hash_free The function to free an entire hash table. + * @return A new empty data descriptor. + * + * This function creates a new data descriptore and returns a handle to the + * new data descriptor. On creation it will be empty, containing no contents + * describing anything other than the shell of the data structure. + * + * You add structure members to the data descriptor using the macros + * EET_DATA_DESCRIPTOR_ADD_BASIC(), EET_DATA_DESCRIPTOR_ADD_SUB() and + * EET_DATA_DESCRIPTOR_ADD_LIST(), depending on what type of member you are + * adding to the description. + * + * Once you have described all the members of a struct you want loaded, or + * saved eet can load and save those members for you, encode them into + * endian-independant serialised data chunks for transmission across a + * a network or more. + * + * The function pointers to the list and hash table functions are only + * needed if you use those data types, else you can pass NULL instead. + * + * Example: + * + * @code + * #include + * #include + * + * typedef struct _blah2 + * { + * char *string; + * } + * Blah2; + * + * typedef struct _blah3 + * { + * char *string; + * } + * Blah3; + * + * typedef struct _blah + * { + * char character; + * short sixteen; + * int integer; + * long long lots; + * float floating; + * double floating_lots; + * char *string; + * Blah2 *blah2; + * Evas_List *blah3; + * } + * Blah; + * + * int + * main(int argc, char **argv) + * { + * Blah blah; + * Blah2 blah2; + * Blah3 blah3; + * Eet_Data_Descriptor *edd, *edd2, *edd3; + * void *data; + * int size; + * FILE *f; + * Blah *blah_in; + * + * edd3 = eet_data_descriptor_new("blah3", sizeof(Blah3), + * evas_list_next, + * evas_list_append, + * evas_list_data, + * evas_list_free, + * evas_hash_foreach, + * evas_hash_add, + * evas_hash_free); + * EET_DATA_DESCRIPTOR_ADD_BASIC(edd3, Blah3, "string3", string, EET_T_STRING); + * + * edd2 = eet_data_descriptor_new("blah2", sizeof(Blah2), + * evas_list_next, + * evas_list_append, + * evas_list_data, + * evas_list_free, + * evas_hash_foreach, + * evas_hash_add, + * evas_hash_free); + * EET_DATA_DESCRIPTOR_ADD_BASIC(edd2, Blah2, "string2", string, EET_T_STRING); + * + * edd = eet_data_descriptor_new("blah", sizeof(Blah), + * evas_list_next, + * evas_list_append, + * evas_list_data, + * evas_list_free, + * evas_hash_foreach, + * evas_hash_add, + * evas_hash_free); + * EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Blah, "character", character, EET_T_CHAR); + * EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Blah, "sixteen", sixteen, EET_T_SHORT); + * EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Blah, "integer", integer, EET_T_INT); + * EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Blah, "lots", lots, EET_T_LONG_LONG); + * EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Blah, "floating", floating, EET_T_FLOAT); + * EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Blah, "floating_lots", floating_lots, EET_T_DOUBLE); + * EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Blah, "string", string, EET_T_STRING); + * EET_DATA_DESCRIPTOR_ADD_SUB(edd, Blah, "blah2", blah2, edd2); + * EET_DATA_DESCRIPTOR_ADD_LIST(edd, Blah, "blah3", blah3, edd3); + * + * blah3.string="PANTS"; + * + * blah2.string="subtype string here!"; + * + * blah.character='7'; + * blah.sixteen=0x7777; + * blah.integer=0xc0def00d; + * blah.lots=0xdeadbeef31337777; + * blah.floating=3.141592654; + * blah.floating_lots=0.777777777777777; + * blah.string="bite me like a turnip"; + * blah.blah2 = &blah2; + * blah.blah3 = evas_list_append(NULL, &blah3); + * blah.blah3 = evas_list_append(blah.blah3, &blah3); + * blah.blah3 = evas_list_append(blah.blah3, &blah3); + * blah.blah3 = evas_list_append(blah.blah3, &blah3); + * blah.blah3 = evas_list_append(blah.blah3, &blah3); + * blah.blah3 = evas_list_append(blah.blah3, &blah3); + * blah.blah3 = evas_list_append(blah.blah3, &blah3); + * + * data = eet_data_descriptor_encode(edd, &blah, &size); + * printf("-----DECODING\n"); + * blah_in = eet_data_descriptor_decode(edd, data, size); + * + * printf("-----DECODED!\n"); + * printf("%c\n", blah_in->character); + * printf("%x\n", (int)blah_in->sixteen); + * printf("%x\n", blah_in->integer); + * printf("%lx\n", blah_in->lots); + * printf("%f\n", (double)blah_in->floating); + * printf("%f\n", (double)blah_in->floating_lots); + * printf("%s\n", blah_in->string); + * printf("%p\n", blah_in->blah2); + * printf(" %s\n", blah_in->blah2->string); + * { + * Evas_List *l; + * + * for (l = blah_in->blah3; l; l = l->next) + * { + * Blah3 *blah3_in; + * + * blah3_in = l->data; + * printf("%p\n", blah3_in); + * printf(" %s\n", blah3_in->string); + * } + * } + * eet_data_descriptor_free(edd); + * eet_data_descriptor_free(edd2); + * eet_data_descriptor_free(edd3); + * + * return 0; + * } + * + * @endcode + * + * @since 1.0.0 + */ + EAPI Eet_Data_Descriptor *eet_data_descriptor_new(const char *name, int size, void *(*func_list_next) (void *l), void *(*func_list_append) (void *l, void *d), void *(*func_list_data) (void *l), void *(*func_list_free) (void *l), void (*func_hash_foreach) (void *h, int (*func) (void *h, const char *k, void *dt, void *fdt), void *fdt), void *(*func_hash_add) (void *h, const char *k, void *d), void (*func_hash_free) (void *h)); + /* + * FIXME: + * + * moving to this api from the old above. this will break things when the + * move happens - but be warned + */ + EAPI Eet_Data_Descriptor *eet_data_descriptor2_new(Eet_Data_Descriptor_Class *eddc); + EAPI Eet_Data_Descriptor *eet_data_descriptor3_new(Eet_Data_Descriptor_Class *eddc); + + /** + * This function frees a data descriptor when it is not needed anymore. + * @param edd The data descriptor to free. + * + * This function takes a data descriptor handle as a parameter and frees all + * data allocated for the data descriptor and the handle itself. After this + * call the descriptor is no longer valid. + * + * @since 1.0.0 + */ + EAPI void eet_data_descriptor_free(Eet_Data_Descriptor *edd); + + /** + * This function is an internal used by macros. + * + * This function is used by macros EET_DATA_DESCRIPTOR_ADD_BASIC(), + * EET_DATA_DESCRIPTOR_ADD_SUB() and EET_DATA_DESCRIPTOR_ADD_LIST(). It is + * complex to use by hand and should be left to be used by the macros, and + * thus is not documented. + * + * @since 1.0.0 + */ + EAPI void eet_data_descriptor_element_add(Eet_Data_Descriptor *edd, const char *name, int type, int group_type, int offset, /* int count_offset, */int count, const char *counter_name, Eet_Data_Descriptor *subtype); + + /** + * Read a data structure from an eet file and decodes it. + * @param ef The eet file handle to read from. + * @param edd The data descriptor handle to use when decoding. + * @param name The key the data is stored under in the eet file. + * @return A pointer to the decoded data structure. + * + * This function decodes a data structure stored in an eet file, returning + * a pointer to it if it decoded successfully, or NULL on failure. This + * can save a programmer dozens of hours of work in writing configuration + * file parsing and writing code, as eet does all that work for the program + * and presents a program-friendly data structure, just as the programmer + * likes. Eet can handle members being added or deleted from the data in + * storage and safely zero-fills unfilled members if they were not found + * in the data. It checks sizes and headers whenever it reads data, allowing + * the programmer to not worry about corrupt data. + * + * Once a data structure has been described by the programmer with the + * fields they wish to save or load, storing or retrieving a data structure + * from an eet file, or from a chunk of memory is as simple as a single + * function call. + * + * @since 1.0.0 + */ + EAPI void *eet_data_read(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name); + + /** + * Write a data structure from memory and store in an eet file. + * @param ef The eet file handle to write to. + * @param edd The data descriptor to use when encoding. + * @param name The key to store the data under in the eet file. + * @param data A pointer to the data structure to ssave and encode. + * @param compress Compression flags for storage. + * @return 1 on successful write, 0 on failure. + * + * This function is the reverse of eet_data_read(), saving a data structure + * to an eet file. + * + * @since 1.0.0 + */ + EAPI int eet_data_write(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name, const void *data, int compress); + + /** + * Dump an eet encoded data structure into ascii text + * @param data_in The pointer to the data to decode into a struct. + * @param size_in The size of the data pointed to in bytes. + * @param dumpfunc The function to call passed a string when new data is converted to text + * @param dumpdata The data to pass to the @p dumpfunc callback. + * @return 1 on success, 0 on failure + * + * This function will take a chunk of data encoded by + * eet_data_descriptor_encode() and convert it into human readable ascii text. + * It does this by calling the @p dumpfunc callback for all new text that is + * generated. This callback should append to any existing text buffer and + * will be passed the pointer @p dumpdata as a parameter as well as a string + * with new text to be appended. + * + * Example: + * + * @code + * + * void output(void *data, const char *string) + * { + * printf("%s", string); + * } + * + * void dump(const char *file) + * { + * FILE *f; + * int len; + * void *data; + * + * f = fopen(file, "r"); + * fseek(f, 0, SEEK_END); + * len = ftell(f); + * rewind(f); + * data = malloc(len); + * fread(data, len, 1, f); + * fclose(f); + * eet_data_text_dump(data, len, output, NULL); + * } + * @endcode + * + * @since 1.0.0 + */ + EAPI int eet_data_text_dump(const void *data_in, int size_in, void (*dumpfunc) (void *data, const char *str), void *dumpdata); + + /** + * Take an ascii encoding from eet_data_text_dump() and re-encode in binary. + * @param text The pointer to the string data to parse and encode. + * @param textlen The size of the string in bytes (not including 0 byte terminator). + * @param size_ret This gets filled in with the encoded data blob size in bytes. + * @return The encoded data on success, NULL on failure. + * + * This function will parse the string pointed to by @p text and return + * an encoded data lump the same way eet_data_descriptor_encode() takes an + * in-memory data struct and encodes into a binary blob. @p text is a normal + * C string. + * + * @since 1.0.0 + */ + EAPI void *eet_data_text_undump(const char *text, int textlen, int *size_ret); + + /** + * Dump an eet encoded data structure from an eet file into ascii text + * @param ef A valid eet file handle. + * @param name Name of the entry. eg: "/base/file_i_want". + * @param dumpfunc The function to call passed a string when new data is converted to text + * @param dumpdata The data to pass to the @p dumpfunc callback. + * @return 1 on success, 0 on failure + * + * This function will take an open and valid eet file from eet_open() request + * the data encoded by eet_data_descriptor_encode() corresponding to the key @p name + * and convert it into human readable ascii text. It does this by calling the + * @p dumpfunc callback for all new text that is generated. This callback should + * append to any existing text buffer and will be passed the pointer @p dumpdata + * as a parameter as well as a string with new text to be appended. + * + * @since 1.0.0 + */ + EAPI int eet_data_dump(Eet_File *ef, const char *name, void (*dumpfunc) (void *data, const char *str), void *dumpdata); + + /** + * Take an ascii encoding from eet_data_dump() and re-encode in binary. + * @param ef A valid eet file handle. + * @param name Name of the entry. eg: "/base/file_i_want". + * @param text The pointer to the string data to parse and encode. + * @param textlen The size of the string in bytes (not including 0 byte terminator). + * @param compress Compression flags (1 == compress, 0 = don't compress). + * @return 1 on success, 0 on failure + * + * This function will parse the string pointed to by @p text, encode it the same + * way eet_data_descriptor_encode() takes an in-memory data struct and encodes into a + * binary blob. + * + * The data (optionally compressed) will be in ram, pending a flush to + * disk (it will stay in ram till the eet file handle is closed though). + * + * @since 1.0.0 + */ + EAPI int eet_data_undump(Eet_File *ef, const char *name, const char *text, int textlen, int compress); + + /** + * Decode a data structure from an arbitary location in memory. + * @param edd The data descriptor to use when decoding. + * @param data_in The pointer to the data to decode into a struct. + * @param size_in The size of the data pointed to in bytes. + * @return NULL on failure, or a valid decoded struct pointer on success. + * + * This function will decode a data structure that has been encoded using + * eet_data_descriptor_encode(), and return a data structure with all its + * elements filled out, if successful, or NULL on failure. + * + * The data to be decoded is stored at the memory pointed to by @p data_in, + * and is described by the descriptor pointed to by @p edd. The data size is + * passed in as the value to @p size_in, ande must be greater than 0 to + * succeed. + * + * This function is useful for decoding data structures delivered to the + * application by means other than an eet file, such as an IPC or socket + * connection, raw files, shared memory etc. + * + * Please see eet_data_read() for more information. + * + * @since 1.0.0 + */ + EAPI void *eet_data_descriptor_decode(Eet_Data_Descriptor *edd, const void *data_in, int size_in); + + /** + * Encode a dsata struct to memory and return that encoded data. + * @param edd The data descriptor to use when encoding. + * @param data_in The pointer to the struct to encode into data. + * @param size_ret A pointer to the an int to be filled with the decoded size. + * @return NULL on failure, or a valid encoded data chunk on success. + * + * This function takes a data structutre in memory and encodes it into a + * serialised chunk of data that can be decoded again by + * eet_data_descriptor_decode(). This is useful for being able to transmit + * data structures across sockets, pipes, IPC or shared file mechanisms, + * without having to worry about memory space, machine type, endianess etc. + * + * The parameter @p edd must point to a valid data descriptor, and + * @p data_in must point to the right data structure to encode. If not, the + * encoding may fail. + * + * On success a non NULL valid pointer is returned and what @p size_ret + * points to is set to the size of this decoded data, in bytes. When the + * encoded data is no longer needed, call free() on it. On failure NULL is + * returned and what @p size_ret points to is set to 0. + * + * Please see eet_data_write() for more information. + * + * @since 1.0.0 + */ + EAPI void *eet_data_descriptor_encode(Eet_Data_Descriptor *edd, const void *data_in, int *size_ret); + + /** + * Add a basic data element to a data descriptor. + * @param edd The data descriptor to add the type to. + * @param struct_type The type of the struct. + * @param name The string name to use to encode/decode this member (must be a constant global and never change). + * @param member The struct member itself to be encoded. + * @param type The type of the member to encode. + * + * This macro is a convenience macro provided to add a member to the data + * descriptor @p edd. The type of the structure is provided as the + * @p struct_type parameter (for example: struct my_struct). The @p name + * parameter defines a string that will be used to uniquely name that + * member of the struct (it is suggested to use the struct member itself). + * The @p member parameter is the actual struct member itself (for +eet_dictionary_string_check * example: values), and @p type is the basic data type of the member which + * must be one of: EET_T_CHAR, EET_T_SHORT, EET_T_INT, EET_T_LONG_LONG, + * EET_T_FLOAT, EET_T_DOUBLE, EET_T_UCHAR, EET_T_USHORT, EET_T_UINT, + * EET_T_ULONG_LONG or EET_T_STRING. + * + * @since 1.0.0 + */ +#define EET_DATA_DESCRIPTOR_ADD_BASIC(edd, struct_type, name, member, type) \ + { \ + struct_type ___ett; \ + \ + eet_data_descriptor_element_add(edd, name, type, EET_G_UNKNOWN, \ + (char *)(&(___ett.member)) - (char *)(&(___ett)), \ + 0, /* 0, */NULL, NULL); \ + } + + /** + * Add a sub-element type to a data descriptor + * @param edd The data descriptor to add the type to. + * @param struct_type The type of the struct. + * @param name The string name to use to encode/decode this member (must be a constant global and never change). + * @param member The struct member itself to be encoded. + * @param subtype The type of sub-type struct to add. + * + * This macro lets you easily add a sub-type (a struct that's pointed to + * by this one). All the parameters are the same as for + * EET_DATA_DESCRIPTOR_ADD_BASIC(), with the @p subtype being the exception. + * This must be the data descriptor of the struct that is pointed to by + * this element. + * + * @since 1.0.0 + */ +#define EET_DATA_DESCRIPTOR_ADD_SUB(edd, struct_type, name, member, subtype) \ + { \ + struct_type ___ett; \ + \ + eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_UNKNOWN, \ + (char *)(&(___ett.member)) - (char *)(&(___ett)), \ + 0, /* 0, */NULL, subtype); \ + } + + /** + * Add a linked list type to a data descriptor + * @param edd The data descriptor to add the type to. + * @param struct_type The type of the struct. + * @param name The string name to use to encode/decode this member (must be a constant global and never change). + * @param member The struct member itself to be encoded. + * @param subtype The type of linked list member to add. + * + * This macro lets you easily add a linked list of other data types. All the + * parameters are the same as for EET_DATA_DESCRIPTOR_ADD_BASIC(), with the + * @p subtype being the exception. This must be the data descriptor of the + * element that is in each member of the linked list to be stored. + * + * @since 1.0.0 + */ +#define EET_DATA_DESCRIPTOR_ADD_LIST(edd, struct_type, name, member, subtype) \ + { \ + struct_type ___ett; \ + \ + eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_LIST, \ + (char *)(&(___ett.member)) - (char *)(&(___ett)), \ + 0, /* 0, */NULL, subtype); \ + } + + /** + * Add a hash type to a data descriptor + * @param edd The data descriptor to add the type to. + * @param struct_type The type of the struct. + * @param name The string name to use to encode/decode this member (must be a constant global and never change). + * @param member The struct member itself to be encoded. + * @param subtype The type of hash member to add. + * + * This macro lets you easily add a hash of other data types. All the + * parameters are the same as for EET_DATA_DESCRIPTOR_ADD_BASIC(), with the + * @p subtype being the exception. This must be the data descriptor of the + * element that is in each member of the hash to be stored. + * + * @since 1.0.0 + */ +#define EET_DATA_DESCRIPTOR_ADD_HASH(edd, struct_type, name, member, subtype) \ + { \ + struct_type ___ett; \ + \ + eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_HASH, \ + (char *)(&(___ett.member)) - (char *)(&(___ett)), \ + 0, /* 0, */NULL, subtype); \ + } + + /** + * Add a fixed size array type to a data descriptor + * @param edd The data descriptor to add the type to. + * @param struct_type The type of the struct. + * @param name The string name to use to encode/decode this member (must be a constant global and never change). + * @param member The struct member itself to be encoded. + * @param subtype The type of hash member to add. + * + * This macro lets you easily add a fixed size array of other data types. All the + * parameters are the same as for EET_DATA_DESCRIPTOR_ADD_BASIC(), with the + * @p subtype being the exception. This must be the data descriptor of the + * element that is in each member of the hash to be stored. + * + * @since 1.0.2 + */ +#define EET_DATA_DESCRIPTOR_ADD_ARRAY(edd, struct_type, name, member, subtype) \ + { \ + struct_type ___ett; \ + \ + eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_ARRAY, \ + (char *)(&(___ett.member)) - (char *)(&(___ett)), \ + /* 0, */sizeof(___ett.member)/sizeof(___ett.member[0]), NULL, subtype); \ + } + + /** + * Add a variable size array type to a data descriptor + * @param edd The data descriptor to add the type to. + * @param struct_type The type of the struct. + * @param name The string name to use to encode/decode this member (must be a constant global and never change). + * @param member The struct member itself to be encoded. + * @param subtype The type of hash member to add. + * + * This macro lets you easily add a fixed size array of other data types. All the + * parameters are the same as for EET_DATA_DESCRIPTOR_ADD_BASIC(), with the + * @p subtype being the exception. This must be the data descriptor of the + * element that is in each member of the hash to be stored. + * + * @since 1.0.2 + */ +#define EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(edd, struct_type, name, member, subtype) \ + { \ + struct_type ___ett; \ + \ + eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_VAR_ARRAY, \ + (char *)(&(___ett.member)) - (char *)(&(___ett)), \ + (char *)(&(___ett.member ## _count)) - (char *)(&(___ett)), /* 0, */NULL, subtype); \ + } + +/***************************************************************************/ +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/lib/Eet_private.h b/src/lib/Eet_private.h new file mode 100644 index 0000000..4af3e2b --- /dev/null +++ b/src/lib/Eet_private.h @@ -0,0 +1,84 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ + +#ifndef _EET_PRIVATE_H +#define _EET_PRIVATE_H + +#ifdef __GNUC__ +# if __GNUC__ >= 4 +// BROKEN in gcc 4 on amd64 +//# pragma GCC visibility push(hidden) +# endif +#endif + +typedef struct _Eet_String Eet_String; + +struct _Eet_String +{ + const char *mmap; + char *str; + + int hash; + int len; + + int next; + int prev; + + union + { + float f; + double d; + } convert; + + struct + { + unsigned int converted : 1; + unsigned int is_float : 1; + } flags; +}; +struct _Eet_Dictionary +{ + Eet_String *all; + + int size; + int offset; + + int hash[256]; + + int count; + int total; + + const char *start; + const char *end; +}; + +Eet_Dictionary *eet_dictionary_add(void); +void eet_dictionary_free(Eet_Dictionary *ed); +int eet_dictionary_string_add(Eet_Dictionary *ed, const char *string); +int eet_dictionary_string_get_size(const Eet_Dictionary *ed, int index); +const char *eet_dictionary_string_get_char(const Eet_Dictionary *ed, int index); +int eet_dictionary_string_get_float(const Eet_Dictionary *ed, int index, float *result); +int eet_dictionary_string_get_double(const Eet_Dictionary *ed, int index, double *result); +int eet_dictionary_string_get_hash(const Eet_Dictionary *ed, int index); + +FILE *_eet_memfile_read_open(const void *data, size_t size); +void _eet_memfile_read_close(FILE *f); +FILE *_eet_memfile_write_open(void **data, size_t *size); +void _eet_memfile_write_close(FILE *f); +void _eet_memfile_shutdown(void); +int _eet_hash_gen(const char *key, int hash_size); +int _eet_string_to_double_convert(const char *src, long long *m, long *e); +void _eet_double_to_string_convert(char des[128], double d); + +#ifndef PATH_MAX +#define PATH_MAX 4096 +#endif + +#ifdef DNDEBUG +#define EET_ASSERT(Test, Do) if (Test == 0) Do; +#else +#define EET_ASSERT(Test, Do) if (Test == 0) abort(); +#endif + +#endif diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am new file mode 100644 index 0000000..4141f7a --- /dev/null +++ b/src/lib/Makefile.am @@ -0,0 +1,33 @@ + +MAINTAINERCLEANFILES = Makefile.in + +AM_CPPFLAGS = \ +-I. \ +-I$(top_srcdir)/src/lib \ +-DPACKAGE_BIN_DIR=\"$(bindir)\" \ +-DPACKAGE_LIB_DIR=\"$(libdir)\" \ +-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ +@EVIL_CFLAGS@ \ +@COVERAGE_CFLAGS@ + +include_HEADERS = Eet.h + +lib_LTLIBRARIES = libeet.la + +libeet_la_SOURCES = \ +eet_lib.c \ +eet_data.c \ +eet_image.c \ +eet_memfile.c \ +eet_dictionary.c \ +eet_utils.c + +libeet_la_CFLAGS = @WIN32_CFLAGS@ +libeet_la_LIBADD = @COVERAGE_LIBS@ @EVIL_LIBS@ @WIN32_LIBS@ -lz -ljpeg @fnmatch_libs@ -lm +libeet_la_LDFLAGS = @lt_no_undefined@ @lt_enable_auto_import@ -version-info @version_info@ +libeet_la_DEPENDENCIES = $(top_builddir)/config.h + +EXTRA_DIST = Eet_private.h + +clean-local: + @rm -rf *.gcno diff --git a/src/lib/eet_data.c b/src/lib/eet_data.c new file mode 100644 index 0000000..f15f923 --- /dev/null +++ b/src/lib/eet_data.c @@ -0,0 +1,2997 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#if HAVE___ATTRIBUTE__ +#define __UNUSED__ __attribute__((unused)) +#else +#define __UNUSED__ +#endif + +#include +#include +#include +#include +#include + +#ifdef HAVE_NETINET_IN_H +# include +#endif + +#if defined(_WIN32) && ! defined(__CEGCC__) +# include +#endif + +#include "Eet.h" +#include "Eet_private.h" + +/* + * routines for doing data -> struct and struct -> data conversion + * + * types: + * + * basic types: + * a sequence of... + * + * char + * short + * int + * long long + * float + * double + * unsigned char + * unsigned short + * unsigned int + * unsgined long long + * string + * + * groupings: + * multiple entries ordered as... + * + * fixed size array [ of basic types ] + * variable size array [ of basic types ] + * linked list [ of basic types ] + * hash table [ of basic types ] + * + * need to provide builder/accessor funcs for: + * + * list_next + * list_append + * + * hash_foreach + * hash_add + * + */ + +/*---*/ + +typedef struct _Eet_Data_Element Eet_Data_Element; +typedef struct _Eet_Data_Basic_Type_Codec Eet_Data_Basic_Type_Codec; +typedef struct _Eet_Data_Group_Type_Codec Eet_Data_Group_Type_Codec; +typedef struct _Eet_Data_Chunk Eet_Data_Chunk; +typedef struct _Eet_Data_Stream Eet_Data_Stream; +typedef struct _Eet_Data_Descriptor_Hash Eet_Data_Descriptor_Hash; +typedef struct _Eet_Data_Encode_Hash_Info Eet_Data_Encode_Hash_Info; + +/*---*/ + +/* TODO: + * Eet_Data_Basic_Type_Codec (Coder, Decoder) + * Eet_Data_Group_Type_Codec (Coder, Decoder) + */ +struct _Eet_Data_Basic_Type_Codec +{ + int size; + const char *name; + int (*get) (const Eet_Dictionary *ed, const void *src, const void *src_end, void *dest); + void *(*put) (Eet_Dictionary *ed, const void *src, int *size_ret); +}; + +struct _Eet_Data_Group_Type_Codec +{ + int (*get) (const Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Chunk *echnk, int type, int group_type, void *data_in, int level, void (*dumpfunc) (void *data, const char *str), void *dumpdata, char **p, int *size); + void (*put) (Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Stream *ds, void *data_in); +}; + +struct _Eet_Data_Chunk +{ + char *name; + int len; + int size; + int hash; + void *data; + unsigned char type; + unsigned char group_type; +}; + +struct _Eet_Data_Stream +{ + void *data; + int size; + int pos; +}; + +struct _Eet_Data_Descriptor_Hash +{ + Eet_Data_Element *element; + Eet_Data_Descriptor_Hash *next; +}; + +struct _Eet_Data_Descriptor +{ + const char *name; + const Eet_Dictionary *ed; + int size; + struct { + void *(*mem_alloc) (size_t size); + void (*mem_free) (void *mem); + char *(*str_alloc) (const char *str); + char *(*str_direct_alloc) (const char *str); + void (*str_free) (const char *str); + void (*str_direct_free) (const char *str); + void *(*list_next) (void *l); + void *(*list_append) (void *l, void *d); + void *(*list_data) (void *l); + void *(*list_free) (void *l); + void (*hash_foreach) (void *h, int (*func) (void *h, const char *k, void *dt, void *fdt), void *fdt); + void *(*hash_add) (void *h, const char *k, void *d); + void (*hash_free) (void *h); + } func; + struct { + int num; + Eet_Data_Element *set; + struct { + int size; + Eet_Data_Descriptor_Hash *buckets; + } hash; + } elements; +// char *strings; +// int strings_len; +}; + +struct _Eet_Data_Element +{ + const char *name; + const char *counter_name; + const char *directory_name_ptr; + Eet_Data_Descriptor *subtype; + int offset; /* offset in bytes from the base element */ + int count; /* number of elements for a fixed array */ + int counter_offset; /* for a variable array we need the offset of the count variable */ + unsigned char type; /* EET_T_XXX */ + unsigned char group_type; /* EET_G_XXX */ +}; + +struct _Eet_Data_Encode_Hash_Info +{ + Eet_Data_Stream *ds; + Eet_Data_Element *ede; + Eet_Dictionary *ed; +}; + +/*---*/ + +static int eet_data_get_char(const Eet_Dictionary *ed, const void *src, const void *src_end, void *dest); +static void *eet_data_put_char(Eet_Dictionary *ed, const void *src, int *size_ret); +static int eet_data_get_short(const Eet_Dictionary *ed, const void *src, const void *src_end, void *dest); +static void *eet_data_put_short(Eet_Dictionary *ed, const void *src, int *size_ret); +static int eet_data_get_int(const Eet_Dictionary *ed, const void *src, const void *src_end, void *dest); +static void *eet_data_put_int(Eet_Dictionary *ed, const void *src, int *size_ret); +static int eet_data_get_long_long(const Eet_Dictionary *ed, const void *src, const void *src_end, void *dest); +static void *eet_data_put_long_long(Eet_Dictionary *ed, const void *src, int *size_ret); +static int eet_data_get_float(const Eet_Dictionary *ed, const void *src, const void *src_end, void *dest); +static void *eet_data_put_float(Eet_Dictionary *ed, const void *src, int *size_ret); +static int eet_data_get_double(const Eet_Dictionary *ed, const void *src, const void *src_end, void *dest); +static void *eet_data_put_double(Eet_Dictionary *ed, const void *src, int *size_ret); +static int eet_data_get_string(const Eet_Dictionary *ed, const void *src, const void *src_end, void *dest); +static void *eet_data_put_string(Eet_Dictionary *ed, const void *src, int *size_ret); +static int eet_data_get_istring(const Eet_Dictionary *ed, const void *src, const void *src_end, void *dest); +static void *eet_data_put_istring(Eet_Dictionary *ed, const void *src, int *size_ret); + +static int eet_data_get_type(const Eet_Dictionary *ed, int type, const void *src, const void *src_end, void *dest); +static void *eet_data_put_type(Eet_Dictionary *ed, int type, const void *src, int *size_ret); + +static int eet_data_get_unknown(const Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Chunk *echnk, int type, int group_type, void *data_in, int level, void (*dumpfunc) (void *data, const char *str), void *dumpdata, char **p, int *size); +static void eet_data_put_unknown(Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Stream *ds, void *data_in); +static void eet_data_put_array(Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Stream *ds, void *data_in); +static int eet_data_get_array(const Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Chunk *echnk, int type, int group_type, void *data, int level, void (*dumpfunc) (void *data, const char *str), void *dumpdata, char **p, int *size); +static int eet_data_get_list(const Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Chunk *echnk, int type, int group_type, void *data_in, int level, void (*dumpfunc) (void *data, const char *str), void *dumpdata, char **p, int *size); +static void eet_data_put_list(Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Stream *ds, void *data_in); +static void eet_data_put_hash(Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Stream *ds, void *data_in); +static int eet_data_get_hash(const Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Chunk *echnk, int type, int group_type, void *data, int level, void (*dumpfunc) (void *data, const char *str), void *dumpdata, char **p, int *size); + +static void eet_data_chunk_get(const Eet_Dictionary *ed, Eet_Data_Chunk *chnk, const void *src, int size); +static Eet_Data_Chunk *eet_data_chunk_new(void *data, int size, const char *name, int type, int group_type); +static void eet_data_chunk_free(Eet_Data_Chunk *chnk); + +static Eet_Data_Stream *eet_data_stream_new(void); +static void eet_data_stream_write(Eet_Data_Stream *ds, const void *data, int size); +static void eet_data_stream_free(Eet_Data_Stream *ds); + +static void eet_data_chunk_put(Eet_Dictionary *ed, Eet_Data_Chunk *chnk, Eet_Data_Stream *ds); + +static int eet_data_descriptor_encode_hash_cb(void *hash, const char *key, void *hdata, void *fdata); +static void *_eet_data_descriptor_encode(Eet_Dictionary *ed, Eet_Data_Descriptor *edd, const void *data_in, int *size_ret); +static void *_eet_data_descriptor_decode(const Eet_Dictionary *ed, + Eet_Data_Descriptor *edd, + const void *data_in, + int size_in, + int level, + void (*dumpfunc) (void *data, const char *str), + void *dumpdata); + +/*---*/ + +static const Eet_Data_Basic_Type_Codec eet_basic_codec[] = +{ + {sizeof(char), "char", eet_data_get_char, eet_data_put_char }, + {sizeof(short), "short", eet_data_get_short, eet_data_put_short }, + {sizeof(int), "int", eet_data_get_int, eet_data_put_int }, + {sizeof(long long), "long_long", eet_data_get_long_long, eet_data_put_long_long}, + {sizeof(float), "float", eet_data_get_float, eet_data_put_float }, + {sizeof(double), "double", eet_data_get_double, eet_data_put_double }, + {sizeof(char), "uchar", eet_data_get_char, eet_data_put_char }, + {sizeof(short), "ushort", eet_data_get_short, eet_data_put_short }, + {sizeof(int), "uint", eet_data_get_int, eet_data_put_int }, + {sizeof(long long), "ulong_long", eet_data_get_long_long, eet_data_put_long_long}, + {sizeof(char *), "string", eet_data_get_string, eet_data_put_string }, + {sizeof(char *), "inlined", eet_data_get_istring, eet_data_put_istring } +}; + +static const Eet_Data_Group_Type_Codec eet_group_codec[] = +{ + { eet_data_get_unknown, eet_data_put_unknown }, + { eet_data_get_array, eet_data_put_array }, + { eet_data_get_array, eet_data_put_array }, + { eet_data_get_list, eet_data_put_list }, + { eet_data_get_hash, eet_data_put_hash } +}; + +static int words_bigendian = -1; + +/*---*/ + +#define SWAP64(x) (x) = \ + ((((unsigned long long)(x) & 0x00000000000000ffULL ) << 56) |\ + (((unsigned long long)(x) & 0x000000000000ff00ULL ) << 40) |\ + (((unsigned long long)(x) & 0x0000000000ff0000ULL ) << 24) |\ + (((unsigned long long)(x) & 0x00000000ff000000ULL ) << 8) |\ + (((unsigned long long)(x) & 0x000000ff00000000ULL ) >> 8) |\ + (((unsigned long long)(x) & 0x0000ff0000000000ULL ) >> 24) |\ + (((unsigned long long)(x) & 0x00ff000000000000ULL ) >> 40) |\ + (((unsigned long long)(x) & 0xff00000000000000ULL ) >> 56)) +#define SWAP32(x) (x) = \ + ((((int)(x) & 0x000000ff ) << 24) |\ + (((int)(x) & 0x0000ff00 ) << 8) |\ + (((int)(x) & 0x00ff0000 ) >> 8) |\ + (((int)(x) & 0xff000000 ) >> 24)) +#define SWAP16(x) (x) = \ + ((((short)(x) & 0x00ff ) << 8) |\ + (((short)(x) & 0xff00 ) >> 8)) + +#define CONV8(x) +#define CONV16(x) {if (words_bigendian) SWAP16(x);} +#define CONV32(x) {if (words_bigendian) SWAP32(x);} +#define CONV64(x) {if (words_bigendian) SWAP64(x);} + +#define IS_SIMPLE_TYPE(Type) (Type > EET_T_UNKNOW && Type < EET_T_LAST) + +/*---*/ + +/* CHAR TYPE */ +static int +eet_data_get_char(const Eet_Dictionary *ed __UNUSED__, const void *src, const void *src_end, void *dst) +{ + char *s, *d; + + if (((char *)src + sizeof(char)) > (char *)src_end) return -1; + s = (char *)src; + d = (char *)dst; + *d = *s; + CONV8(*d); + return sizeof(char); +} + +static void * +eet_data_put_char(Eet_Dictionary *ed __UNUSED__, const void *src, int *size_ret) +{ + char *s, *d; + + d = (char *)malloc(sizeof(char)); + if (!d) return NULL; + s = (char *)src; + *d = *s; + CONV8(*d); + *size_ret = sizeof(char); + return d; +} + +/* SHORT TYPE */ +static int +eet_data_get_short(const Eet_Dictionary *ed __UNUSED__, const void *src, const void *src_end, void *dst) +{ + short *d; + + if (((char *)src + sizeof(short)) > (char *)src_end) return -1; + memcpy(dst, src, sizeof(short)); + d = (short *)dst; + CONV16(*d); + return sizeof(short); +} + +static void * +eet_data_put_short(Eet_Dictionary *ed __UNUSED__, const void *src, int *size_ret) +{ + short *s, *d; + + d = (short *)malloc(sizeof(short)); + if (!d) return NULL; + s = (short *)src; + *d = *s; + CONV16(*d); + *size_ret = sizeof(short); + return d; +} + +/* INT TYPE */ +static int +eet_data_get_int(const Eet_Dictionary *ed __UNUSED__, const void *src, const void *src_end, void *dst) +{ + int *d; + + if (((char *)src + sizeof(int)) > (char *)src_end) return -1; + memcpy(dst, src, sizeof(int)); + d = (int *)dst; + CONV32(*d); + return sizeof(int); +} + +static void * +eet_data_put_int(Eet_Dictionary *ed __UNUSED__, const void *src, int *size_ret) +{ + int *s, *d; + + d = (int *)malloc(sizeof(int)); + if (!d) return NULL; + s = (int *)src; + *d = *s; + CONV32(*d); + *size_ret = sizeof(int); + return d; +} + +/* LONG LONG TYPE */ +static int +eet_data_get_long_long(const Eet_Dictionary *ed __UNUSED__, const void *src, const void *src_end, void *dst) +{ + unsigned long long *d; + + if (((char *)src + sizeof(unsigned long long)) > (char *)src_end) return -1; + memcpy(dst, src, sizeof(unsigned long long)); + d = (unsigned long long *)dst; + CONV64(*d); + return sizeof(unsigned long long); +} + +static void * +eet_data_put_long_long(Eet_Dictionary *ed __UNUSED__, const void *src, int *size_ret) +{ + unsigned long long *s, *d; + + d = (unsigned long long *)malloc(sizeof(unsigned long long)); + if (!d) return NULL; + s = (unsigned long long *)src; + *d = *s; + CONV64(*d); + *size_ret = sizeof(unsigned long long); + return d; +} + +/* STRING TYPE */ +static int +eet_data_get_string_hash(const Eet_Dictionary *ed, const void *src, const void *src_end) +{ + if (ed) + { + int index; + + if (eet_data_get_int(ed, src, src_end, &index) < 0) return -1; + + return eet_dictionary_string_get_hash(ed, index); + } + + return -1; +} + +static int +eet_data_get_string(const Eet_Dictionary *ed, const void *src, const void *src_end, void *dst) +{ + char *s, **d; + + d = (char **)dst; + + if (ed) + { + const char *str; + int index; + + if (eet_data_get_int(ed, src, src_end, &index) < 0) return -1; + + str = eet_dictionary_string_get_char(ed, index); + if (str == NULL) + return -1; + + *d = (char *) str; + return eet_dictionary_string_get_size(ed, index); + } + + s = (char *)src; + if (s == NULL) + { + *d = NULL; + return 0; + } + + *d = s; + return strlen(s) + 1; +} + +static void * +eet_data_put_string(Eet_Dictionary *ed, const void *src, int *size_ret) +{ + char *s, *d; + int len; + + if (ed) + { + const char *str; + int index; + + str = *((const char **) src); + if (!str) return NULL; + + index = eet_dictionary_string_add(ed, str); + if (index == -1) return NULL; + + return eet_data_put_int(ed, &index, size_ret); + } + + s = (char *)(*((char **)src)); + if (!s) return NULL; + len = strlen(s); + d = malloc(len + 1); + if (!d) return NULL; + memcpy(d, s, len + 1); + *size_ret = len + 1; + return d; +} + +/* ALWAYS INLINED STRING TYPE */ +static int +eet_data_get_istring(const Eet_Dictionary *ed __UNUSED__, const void *src, const void *src_end, void *dst) +{ + return eet_data_get_string(NULL, src, src_end, dst); +} + +static void * +eet_data_put_istring(Eet_Dictionary *ed __UNUSED__, const void *src, int *size_ret) +{ + return eet_data_put_string(NULL, src, size_ret); +} + +/** + * Fast lookups of simple doubles/floats. + * + * These aren't properly a cache because they don't store pre-calculated + * values, but have a so simple math that is almost as fast. + */ +static inline int +_eet_data_float_cache_get(const char *s, int len, float *d) +{ + /* fast handle of simple case 0xMp+E*/ + if ((len == 6) && (s[0] == '0') && (s[1] == 'x') && (s[3] == 'p')) + { + int mantisse = (s[2] >= 'a') ? (s[2] - 'a' + 10) : (s[2] - '0'); + int exponent = (s[5] - '0'); + + if (s[4] == '+') *d = (float)(mantisse << exponent); + else *d = (float)mantisse / (float)(1 << exponent); + + return 1; + } + return 0; +} + +static inline int +_eet_data_double_cache_get(const char *s, int len, double *d) +{ + /* fast handle of simple case 0xMp+E*/ + if ((len == 6) && (s[0] == '0') && (s[1] == 'x') && (s[3] == 'p')) + { + int mantisse = (s[2] >= 'a') ? (s[2] - 'a' + 10) : (s[2] - '0'); + int exponent = (s[5] - '0'); + + if (s[4] == '+') *d = (double)(mantisse << exponent); + else *d = (double)mantisse / (double)(1 << exponent); + + return 1; + } + return 0; +} + +/* FLOAT TYPE */ +static int +eet_data_get_float(const Eet_Dictionary *ed, const void *src, const void *src_end, void *dst) +{ + float *d; + int index; + + d = (float *) dst; + if (!ed) + { + const char *s, *p; + long long mantisse; + long exponent; + int len; + + s = (const char *)src; + p = s; + len = 0; + while ((p < (const char *)src_end) && (*p != 0)) {len++; p++;} + + if (_eet_data_float_cache_get(s, len, d) != 0) return len + 1; + + _eet_string_to_double_convert(s, &mantisse, &exponent); + *d = (float)ldexp((double)mantisse, exponent); + + return len + 1; + } + + if (eet_data_get_int(ed, src, src_end, &index) < 0) return -1; + + if (!eet_dictionary_string_get_float(ed, index, d)) + return -1; + return 1; +} + +static void * +eet_data_put_float(Eet_Dictionary *ed, const void *src, int *size_ret) +{ + char buf[128]; + int index; + + _eet_double_to_string_convert(buf, (double)(*(float *)src)); + + if (!ed) + { + char *d; + int len; + + len = strlen(buf); + d = malloc(len + 1); + if (!d) return NULL; + memcpy(d, buf, len + 1); + *size_ret = len + 1; + return d; + } + + index = eet_dictionary_string_add(ed, buf); + if (index == -1) return NULL; + + return eet_data_put_int(ed, &index, size_ret); +} + +/* DOUBLE TYPE */ +static int +eet_data_get_double(const Eet_Dictionary *ed, const void *src, const void *src_end, void *dst) +{ + double *d; + int index; + + d = (double *) dst; + + if (!ed) + { + const char *s, *p; + long long mantisse = 0; + long exponent = 0; + int len; + + s = (const char *) src; + p = s; + len = 0; + while ((p < (const char *)src_end) && (*p != 0)) {len++; p++;} + + if (_eet_data_double_cache_get(s, len, d) != 0) return len + 1; + + _eet_string_to_double_convert(s, &mantisse, &exponent); + *d = ldexp((double) mantisse, exponent); + + return len + 1; + } + + if (eet_data_get_int(ed, src, src_end, &index) < 0) return -1; + + if (!eet_dictionary_string_get_double(ed, index, d)) + return -1; + return 1; +} + +static void * +eet_data_put_double(Eet_Dictionary *ed, const void *src, int *size_ret) +{ + char buf[128]; + int index; + + _eet_double_to_string_convert(buf, (double)(*(double *)src)); + + if (!ed) + { + char *d; + int len; + + len = strlen(buf); + d = malloc(len + 1); + if (!d) return NULL; + memcpy(d, buf, len + 1); + *size_ret = len + 1; + + return d; + } + + index = eet_dictionary_string_add(ed, buf); + if (index == -1) return NULL; + + return eet_data_put_int(ed, &index, size_ret); +} + +static int +eet_data_get_type(const Eet_Dictionary *ed, int type, const void *src, const void *src_end, void *dest) +{ + int ret; + + ret = eet_basic_codec[type - 1].get(ed, src, src_end, dest); + return ret; +} + +static void * +eet_data_put_type(Eet_Dictionary *ed, int type, const void *src, int *size_ret) +{ + void *ret; + + ret = eet_basic_codec[type - 1].put(ed, src, size_ret); + return ret; +} + +/* chunk format... + * + * char[4] = "CHnK"; // untyped data ... or + * char[4] = "CHKx"; // typed data - x == type + * + * int = chunk size (including magic string); + * char[] = chunk magic/name string (0 byte terminated); + * ... sub-chunks (a chunk can contain chuncks recusrively) ... + * or + * ... payload data ... + * + */ + +static void +eet_data_chunk_get(const Eet_Dictionary *ed, Eet_Data_Chunk *chnk, + const void *src, int size) +{ + const char *s; + int ret1, ret2; + + if (!src) return; + if (size <= 8) return; + + if (!chnk) return; + + s = src; + if (s[2] == 'K') + { + if ((s[0] != 'C') || (s[1] != 'H') || (s[2] != 'K')) + { + return; + } + chnk->type = (unsigned char)(s[3]); + if (chnk->type > EET_T_LAST) + { + chnk->group_type = chnk->type; + chnk->type = EET_T_UNKNOW; + } + else + chnk->group_type = EET_G_UNKNOWN; + if ((chnk->type >= EET_T_LAST) || + (chnk->group_type >= EET_G_LAST)) + { + chnk->type = 0; + chnk->group_type = 0; + } + } + else + { + if ((s[0] != 'C') || (s[1] != 'H') || (s[2] != 'n') || (s[3] != 'K')) + { + return; + } + } + ret1 = eet_data_get_type(ed, EET_T_INT, (s + 4), (s + size), &(chnk->size)); + if (ret1 <= 0) + { + return; + } + if ((chnk->size < 0) || ((chnk->size + 8) > size)) + { + return; + } + ret2 = eet_data_get_type(ed, EET_T_STRING, (s + 8), (s + size), &(chnk->name)); + if (ret2 <= 0) + { + return; + } + + chnk->len = ret2; + + /* Precalc hash */ + chnk->hash = eet_data_get_string_hash(ed, (s + 8), (s + size)); + + if (ed) + { + chnk->data = (char *)src + 4 + ret1 + sizeof(int); + chnk->size -= sizeof(int); + } + else + { + chnk->data = (char *)src + 4 + ret1 + chnk->len; + chnk->size -= chnk->len; + } + + return; +} + +static Eet_Data_Chunk * +eet_data_chunk_new(void *data, int size, const char *name, int type, int group_type) +{ + Eet_Data_Chunk *chnk; + + if (!name) return NULL; + chnk = calloc(1, sizeof(Eet_Data_Chunk)); + if (!chnk) return NULL; + + chnk->name = strdup(name); + chnk->len = strlen(name) + 1; + chnk->size = size; + chnk->data = data; + chnk->type = type; + chnk->group_type = group_type; + return chnk; +} + +static void +eet_data_chunk_free(Eet_Data_Chunk *chnk) +{ + if (chnk->name) free(chnk->name); + free(chnk); +} + +static Eet_Data_Stream * +eet_data_stream_new(void) +{ + Eet_Data_Stream *ds; + + ds = calloc(1, sizeof(Eet_Data_Stream)); + if (!ds) return NULL; + return ds; +} + +static void +eet_data_stream_free(Eet_Data_Stream *ds) +{ + if (ds->data) free(ds->data); + free(ds); +} + +static void +eet_data_stream_write(Eet_Data_Stream *ds, const void *data, int size) +{ + char *p; + + if ((ds->pos + size) > ds->size) + { + ds->data = realloc(ds->data, ds->size + size + 512); + if (!ds->data) + { + ds->pos = 0; + ds->size = 0; + return; + } + ds->size = ds->size + size + 512; + } + p = ds->data; + memcpy(p + ds->pos, data, size); + ds->pos += size; +} + +static void +eet_data_chunk_put(Eet_Dictionary *ed, Eet_Data_Chunk *chnk, Eet_Data_Stream *ds) +{ + int *size; + void *string; + int s; + int size_ret = 0; + int string_ret = 0; + unsigned char buf[4] = "CHK"; + + if (!chnk->data) return; + /* chunk head */ + +/* eet_data_stream_write(ds, "CHnK", 4);*/ + if (chnk->type != EET_T_UNKNOW) buf[3] = chnk->type; + else buf[3] = chnk->group_type; + + string = eet_data_put_string(ed, &chnk->name, &string_ret); + if (!string) + return ; + + /* size of chunk payload data + name */ + s = chnk->size + string_ret; + size = eet_data_put_int(ed, &s, &size_ret); + + /* FIXME: If something goes wrong the resulting file will be corrupted. */ + if (!size) + goto on_error; + + eet_data_stream_write(ds, buf, 4); + + /* write chunk length */ + eet_data_stream_write(ds, size, size_ret); + + /* write chunk name */ + eet_data_stream_write(ds, string, string_ret); + + /* write payload */ + eet_data_stream_write(ds, chnk->data, chnk->size); + + free(string); + on_error: + free(size); +} + +/*---*/ + +static void +_eet_descriptor_hash_new(Eet_Data_Descriptor *edd) +{ + int i; + + edd->elements.hash.size = 1 << 6; + edd->elements.hash.buckets = calloc(1, sizeof(Eet_Data_Descriptor_Hash) * edd->elements.hash.size); + for (i = 0; i < edd->elements.num; i++) + { + Eet_Data_Element *ede; + int hash; + + ede = &(edd->elements.set[i]); + hash = _eet_hash_gen((char *) ede->name, 6); + if (!edd->elements.hash.buckets[hash].element) + edd->elements.hash.buckets[hash].element = ede; + else + { + Eet_Data_Descriptor_Hash *bucket; + + bucket = calloc(1, sizeof(Eet_Data_Descriptor_Hash)); + bucket->element = ede; + bucket->next = edd->elements.hash.buckets[hash].next; + edd->elements.hash.buckets[hash].next = bucket; + } + } +} + +static void +_eet_descriptor_hash_free(Eet_Data_Descriptor *edd) +{ + int i; + + for (i = 0; i < edd->elements.hash.size; i++) + { + Eet_Data_Descriptor_Hash *bucket, *pbucket; + + bucket = edd->elements.hash.buckets[i].next; + while (bucket) + { + pbucket = bucket; + bucket = bucket->next; + free(pbucket); + } + } + if (edd->elements.hash.buckets) free(edd->elements.hash.buckets); +} + +static Eet_Data_Element * +_eet_descriptor_hash_find(Eet_Data_Descriptor *edd, char *name, int hash) +{ + Eet_Data_Descriptor_Hash *bucket; + + if (hash < 0) hash = _eet_hash_gen(name, 6); + else hash &= 0x3f; + if (!edd->elements.hash.buckets[hash].element) return NULL; + /* + When we use the dictionnary as a source for chunk name, we will always + have the same pointer in name. It's a good idea to just compare pointer + instead of running strcmp on both string. + */ + if (edd->elements.hash.buckets[hash].element->directory_name_ptr == name) + return edd->elements.hash.buckets[hash].element; + if (!strcmp(edd->elements.hash.buckets[hash].element->name, name)) + { + edd->elements.hash.buckets[hash].element->directory_name_ptr = name; + return edd->elements.hash.buckets[hash].element; + } + bucket = edd->elements.hash.buckets[hash].next; + while (bucket) + { + if (bucket->element->directory_name_ptr == name) return bucket->element; + if (!strcmp(bucket->element->name, name)) + { + bucket->element->directory_name_ptr = name; + return bucket->element; + } + bucket = bucket->next; + } + return NULL; +} + +static void * +_eet_mem_alloc(size_t size) +{ + return calloc(1, size); +} + +static void +_eet_mem_free(void *mem) +{ + free(mem); +} + +static char * +_eet_str_alloc(const char *str) +{ + return strdup(str); +} + +static void +_eet_str_free(const char *str) +{ + free((char *)str); +} + +/*---*/ + +EAPI Eet_Data_Descriptor * +eet_data_descriptor_new(const char *name, + int size, + void *(*func_list_next) (void *l), + void *(*func_list_append) (void *l, void *d), + void *(*func_list_data) (void *l), + void *(*func_list_free) (void *l), + void (*func_hash_foreach) (void *h, int (*func) (void *h, const char *k, void *dt, void *fdt), void *fdt), + void *(*func_hash_add) (void *h, const char *k, void *d), + void (*func_hash_free) (void *h)) +{ + Eet_Data_Descriptor *edd; + + if (!name) return NULL; + edd = calloc(1, sizeof(Eet_Data_Descriptor)); + if (!edd) return NULL; + + edd->name = name; + edd->ed = NULL; + edd->size = size; + edd->func.mem_alloc = _eet_mem_alloc; + edd->func.mem_free = _eet_mem_free; + edd->func.str_alloc = _eet_str_alloc; + edd->func.str_direct_alloc = NULL; + edd->func.str_direct_free = NULL; + edd->func.str_free = _eet_str_free; + edd->func.list_next = func_list_next; + edd->func.list_append = func_list_append; + edd->func.list_data = func_list_data; + edd->func.list_free = func_list_free; + edd->func.hash_foreach = func_hash_foreach; + edd->func.hash_add = func_hash_add; + edd->func.hash_free = func_hash_free; + return edd; +} + +/* new replcement */ +EAPI Eet_Data_Descriptor * +eet_data_descriptor2_new(Eet_Data_Descriptor_Class *eddc) +{ + Eet_Data_Descriptor *edd; + + if (!eddc) return NULL; + if (eddc->version < 1) return NULL; + edd = calloc(1, sizeof(Eet_Data_Descriptor)); + if (!edd) return NULL; + + edd->name = eddc->name; + edd->ed = NULL; + edd->size = eddc->size; + edd->func.mem_alloc = _eet_mem_alloc; + edd->func.mem_free = _eet_mem_free; + edd->func.str_alloc = _eet_str_alloc; + edd->func.str_free = _eet_str_free; + if (eddc->func.mem_alloc) + edd->func.mem_alloc = eddc->func.mem_alloc; + if (eddc->func.mem_free) + edd->func.mem_free = eddc->func.mem_free; + if (eddc->func.str_alloc) + edd->func.str_alloc = eddc->func.str_alloc; + if (eddc->func.str_free) + edd->func.str_free = eddc->func.str_free; + edd->func.list_next = eddc->func.list_next; + edd->func.list_append = eddc->func.list_append; + edd->func.list_data = eddc->func.list_data; + edd->func.list_free = eddc->func.list_free; + edd->func.hash_foreach = eddc->func.hash_foreach; + edd->func.hash_add = eddc->func.hash_add; + edd->func.hash_free = eddc->func.hash_free; + + return edd; +} + +EAPI Eet_Data_Descriptor * +eet_data_descriptor3_new(Eet_Data_Descriptor_Class *eddc) +{ + Eet_Data_Descriptor *edd; + + if (!eddc) return NULL; + if (eddc->version < 2) return NULL; + edd = calloc(1, sizeof(Eet_Data_Descriptor)); + if (!edd) return NULL; + + edd->name = eddc->name; + edd->ed = NULL; + edd->size = eddc->size; + edd->func.mem_alloc = _eet_mem_alloc; + edd->func.mem_free = _eet_mem_free; + edd->func.str_alloc = _eet_str_alloc; + edd->func.str_free = _eet_str_free; + if (eddc->func.mem_alloc) + edd->func.mem_alloc = eddc->func.mem_alloc; + if (eddc->func.mem_free) + edd->func.mem_free = eddc->func.mem_free; + if (eddc->func.str_alloc) + edd->func.str_alloc = eddc->func.str_alloc; + if (eddc->func.str_free) + edd->func.str_free = eddc->func.str_free; + edd->func.list_next = eddc->func.list_next; + edd->func.list_append = eddc->func.list_append; + edd->func.list_data = eddc->func.list_data; + edd->func.list_free = eddc->func.list_free; + edd->func.hash_foreach = eddc->func.hash_foreach; + edd->func.hash_add = eddc->func.hash_add; + edd->func.hash_free = eddc->func.hash_free; + edd->func.str_direct_alloc = eddc->func.str_direct_alloc; + edd->func.str_direct_free = eddc->func.str_direct_free; + + return edd; +} + +EAPI void +eet_data_descriptor_free(Eet_Data_Descriptor *edd) +{ + _eet_descriptor_hash_free(edd); + if (edd->elements.set) free(edd->elements.set); + free(edd); +} + +EAPI void +eet_data_descriptor_element_add(Eet_Data_Descriptor *edd, + const char *name, + int type, + int group_type, + int offset, + int count, +/* int counter_offset, */ + const char *counter_name /* Useless should go on a major release */, + Eet_Data_Descriptor *subtype) +{ + Eet_Data_Element *ede; + /* int l1, l2, p1, p2, i; + char *ps;*/ + + /* FIXME: Fail safely when realloc fail. */ + edd->elements.num++; + edd->elements.set = realloc(edd->elements.set, edd->elements.num * sizeof(Eet_Data_Element)); + if (!edd->elements.set) return; + ede = &(edd->elements.set[edd->elements.num - 1]); + ede->name = name; + ede->directory_name_ptr = NULL; + + /* + * We do a special case when we do list,hash or whatever group of simple type. + * Instead of handling it in encode/decode/dump/undump, we create an + * implicit structure with only the simple type. + */ + if (group_type > EET_G_UNKNOWN + && group_type < EET_G_LAST + && type != EET_T_UNKNOW + && subtype == NULL) + { + subtype = calloc(1, sizeof (Eet_Data_Descriptor)); + if (!subtype) return ; + subtype->name = "implicit"; + subtype->size = eet_basic_codec[type - 1].size; + memcpy(&subtype->func, &edd->func, sizeof(subtype->func)); + + eet_data_descriptor_element_add(subtype, eet_basic_codec[type - 1].name, type, + EET_G_UNKNOWN, 0, 0, /* 0, */NULL, NULL); + type = EET_T_UNKNOW; + } + + ede->type = type; + ede->group_type = group_type; + ede->offset = offset; + ede->count = count; + /* FIXME: For the time being, EET_G_VAR_ARRAY will put the counter_offset in count. */ + ede->counter_offset = count; +/* ede->counter_offset = counter_offset; */ + ede->counter_name = counter_name; + + ede->subtype = subtype; +} + +EAPI void * +eet_data_read(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name) +{ + const Eet_Dictionary *ed = NULL; + const void *data; + void *data_dec; + int size; + int required_free = 0; + + ed = eet_dictionary_get(ef); + + data = eet_read_direct(ef, name, &size); + if (!data) + { + required_free = 1; + data = eet_read(ef, name, &size); + if (!data) return NULL; + } + + data_dec = _eet_data_descriptor_decode(ed, edd, data, size, 0, NULL, NULL); + if (required_free) + free((void*)data); + + return data_dec; +} + +EAPI int +eet_data_write(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name, const void *data, int compress) +{ + Eet_Dictionary *ed; + void *data_enc; + int size; + int val; + + ed = eet_dictionary_get(ef); + + data_enc = _eet_data_descriptor_encode(ed, edd, data, &size); + if (!data_enc) return 0; + val = eet_write(ef, name, data_enc, size, compress); + free(data_enc); + return val; +} + +typedef struct _Eet_Free Eet_Free; +struct _Eet_Free +{ + int ref; + int len[256]; + int num[256]; + void **list[256]; +}; + +static int +_eet_free_hash(void *data) +{ + unsigned long ptr = (unsigned long)(data); + int hash; + + hash = ptr; + hash ^= ptr >> 8; + hash ^= ptr >> 16; + hash ^= ptr >> 24; + +#if LONG_BIT != 32 + hash ^= ptr >> 32; + hash ^= ptr >> 40; + hash ^= ptr >> 48; + hash ^= ptr >> 56; +#endif + + return hash & 0xFF; +} + +static void +_eet_free_add(Eet_Free *ef, void *data) +{ + int hash; + int i; + + hash = _eet_free_hash(data); + + for (i = 0; i < ef->num[hash]; ++i) + if (ef->list[hash][i] == data) return; + + ef->num[hash]++; + if (ef->num[hash] > ef->len[hash]) + { + void **tmp; + + tmp = realloc(ef->list[hash], (ef->len[hash] + 16) * sizeof(void*)); + if (!tmp) return ; + + ef->len[hash] += 16; + ef->list[hash] = tmp; + } + ef->list[hash][ef->num[hash] - 1] = data; +} +static void +_eet_free_reset(Eet_Free *ef) +{ + int i; + + if (ef->ref > 0) return ; + for (i = 0; i < 256; ++i) + { + ef->len[i] = 0; + ef->num[i] = 0; + if (ef->list[i]) free(ef->list[i]); + ef->list[i] = NULL; + } +} +static void +_eet_free_ref(Eet_Free *ef) +{ + ef->ref++; +} +static void +_eet_free_unref(Eet_Free *ef) +{ + ef->ref--; +} + +static Eet_Free freelist = { 0, { 0 }, { 0 }, { NULL } }; + +#define _eet_freelist_add(Data) _eet_free_add(&freelist, Data); +#define _eet_freelist_reset() _eet_free_reset(&freelist); +#define _eet_freelist_ref() _eet_free_ref(&freelist); +#define _eet_freelist_unref() _eet_free_unref(&freelist); + +static void +_eet_freelist_free(Eet_Data_Descriptor *edd) +{ + int j; + int i; + + if (freelist.ref > 0) return; + for (j = 0; j < 256; ++j) + for (i = 0; i < freelist.num[j]; ++i) + { + if (edd) + edd->func.mem_free(freelist.list[j][i]); + else + free(freelist.list[j][i]); + } + _eet_free_reset(&freelist); +} + +static Eet_Free freelist_list = { 0, { 0 }, { 0 }, { NULL } }; + +#define _eet_freelist_list_add(Data) _eet_free_add(&freelist_list, Data); +#define _eet_freelist_list_reset() _eet_free_reset(&freelist_list); +#define _eet_freelist_list_ref() _eet_free_ref(&freelist_list); +#define _eet_freelist_list_unref() _eet_free_unref(&freelist_list); + +static void +_eet_freelist_list_free(Eet_Data_Descriptor *edd) +{ + int j; + int i; + + if (freelist_list.ref > 0) return; + for (j = 0; j < 256; ++j) + for (i = 0; i < freelist_list.num[j]; ++i) + { + if (edd) + edd->func.list_free(*((void**)(freelist_list.list[j][i]))); + } + _eet_free_reset(&freelist_list); +} + +static Eet_Free freelist_str = { 0, { 0 }, { 0 }, { NULL } }; + +#define _eet_freelist_str_add(Data) _eet_free_add(&freelist_str, Data); +#define _eet_freelist_str_reset() _eet_free_reset(&freelist_str); +#define _eet_freelist_str_ref() _eet_free_ref(&freelist_str); +#define _eet_freelist_str_unref() _eet_free_unref(&freelist_str); + +static void +_eet_freelist_str_free(Eet_Data_Descriptor *edd) +{ + int j; + int i; + + if (freelist_str.ref > 0) return; + for (j = 0; j < 256; ++j) + for (i = 0; i < freelist_str.num[j]; ++i) + { + if (edd) + edd->func.str_free(freelist_str.list[j][i]); + else + free(freelist_str.list[j][i]); + } + _eet_free_reset(&freelist_str); +} + +static Eet_Free freelist_direct_str = { 0, { 0 }, { 0 }, { NULL } }; + +#define _eet_freelist_direct_str_add(Data) _eet_free_add(&freelist_direct_str, Data); +#define _eet_freelist_direct_str_reset() _eet_free_reset(&freelist_direct_str); +#define _eet_freelist_direct_str_ref() _eet_free_ref(&freelist_direct_str); +#define _eet_freelist_direct_str_unref() _eet_free_unref(&freelist_direct_str); + +static void +_eet_freelist_direct_str_free(Eet_Data_Descriptor *edd) +{ + int j; + int i; + + if (freelist_str.ref > 0) return; + for (j = 0; j < 256; ++j) + for (i = 0; i < freelist_str.num[j]; ++i) + { + if (edd) + edd->func.str_direct_free(freelist_str.list[j][i]); + else + free(freelist_str.list[j][i]); + } + _eet_free_reset(&freelist_str); +} + +static int +eet_data_descriptor_encode_hash_cb(void *hash __UNUSED__, const char *key, void *hdata, void *fdata) +{ + Eet_Dictionary *ed; + Eet_Data_Encode_Hash_Info *edehi; + Eet_Data_Stream *ds; + Eet_Data_Element *ede; + Eet_Data_Chunk *echnk; + void *data = NULL; + int size; + + edehi = fdata; + ede = edehi->ede; + ds = edehi->ds; + ed = edehi->ed; + + /* Store key */ + data = eet_data_put_type(ed, + EET_T_STRING, + &key, + &size); + if (data) + { + echnk = eet_data_chunk_new(data, size, ede->name, ede->type, ede->group_type); + eet_data_chunk_put(ed, echnk, ds); + eet_data_chunk_free(echnk); + free(data); + data = NULL; + } + + EET_ASSERT(!IS_SIMPLE_TYPE(ede->type), return 1); + + /* Store data */ + if (ede->subtype) + data = _eet_data_descriptor_encode(ed, + ede->subtype, + hdata, + &size); + if (data) + { + echnk = eet_data_chunk_new(data, size, ede->name, ede->type, ede->group_type); + eet_data_chunk_put(ed, echnk, ds); + eet_data_chunk_free(echnk); + free(data); + data = NULL; + } + return 1; +} + +static char * +_eet_data_string_escape(const char *str) +{ + char *s, *sp; + const char *strp; + int sz = 0; + + for (strp = str; *strp; strp++) + { + if (*strp == '\"') sz += 2; + else if (*strp == '\\') sz += 2; + else sz += 1; + } + s = malloc(sz + 1); + if (!s) return NULL; + for (strp = str, sp = s; *strp; strp++, sp++) + { + if (*strp == '\"') + { + *sp = '\\'; + sp++; + } + else if (*strp == '\\') + { + *sp = '\\'; + sp++; + } + *sp = *strp; + } + *sp = 0; + return s; +} + +static void +_eet_data_dump_string_escape(void *dumpdata, void dumpfunc(void *data, const char *str), const char *str) +{ + char *s; + + s = _eet_data_string_escape(str); + if (s) + { + dumpfunc(dumpdata, s); + free(s); + } +} + +static char * +_eet_data_dump_token_get(const char *src, int *len) +{ + const char *p; + char *tok = NULL; + int in_token = 0; + int in_quote = 0; + int tlen = 0, tsize = 0; + +#define TOK_ADD(x) \ + { \ + tlen++; \ + if (tlen >= tsize) \ + { \ + tsize += 32; \ + tok = realloc(tok, tsize); \ + } \ + tok[tlen - 1] = x; \ + } + + for (p = src; *len > 0; p++, (*len)--) + { + if (in_token) + { + if (in_quote) + { + if ((p[0] == '\"') && (p > src) && (p[-1] != '\\')) + { + in_quote = 0; + } + else if ((p[0] == '\\') && (*len > 1) && (p[1] == '\"')) + { + /* skip */ + } + else if ((p[0] == '\\') && (p > src) && (p[-1] == '\\')) + { + /* skip */ + } + else + TOK_ADD(p[0]); + } + else + { + if (p[0] == '\"') in_quote = 1; + else + { + if ((isspace(p[0])) || (p[0] == ';')) /* token ends here */ + { + TOK_ADD(0); + (*len)--; + return tok; + } + else + TOK_ADD(p[0]); + } + } + } + else + { + if (!((isspace(p[0])) || (p[0] == ';'))) + { + in_token = 1; + (*len)++; + p--; + } + } + } + if (in_token) + { + TOK_ADD(0); + return tok; + } + if (tok) free(tok); + return NULL; +} + +typedef struct _Node Node; + +struct _Node +{ + int type; + int count; + char *name; + char *key; + Node *values; + Node *prev; + Node *next; + Node *parent; + union { + char c; + short s; + int i; + long long l; + float f; + double d; + unsigned char uc; + unsigned short us; + unsigned int ui; + unsigned long long ul; + char *str; + } data; +}; + +static void +_eet_data_dump_free(Node *node) +{ + Node *n, *n2; + + switch (node->type) + { + case EET_G_UNKNOWN: + case EET_G_ARRAY: + case EET_G_VAR_ARRAY: + case EET_G_LIST: + case EET_G_HASH: + if (node->key) free(node->key); + for (n = node->values; n;) + { + n2 = n; + n = n->next; + _eet_data_dump_free(n2); + } + break; + case EET_T_CHAR: + case EET_T_SHORT: + case EET_T_INT: + case EET_T_LONG_LONG: + case EET_T_FLOAT: + case EET_T_DOUBLE: + case EET_T_UCHAR: + case EET_T_USHORT: + case EET_T_UINT: + case EET_T_ULONG_LONG: + break; + case EET_T_INLINED_STRING: + case EET_T_STRING: + if (node->data.str) free(node->data.str); + break; + default: + break; + } + free(node); +} + +static void * +_eet_data_dump_encode(Eet_Dictionary *ed, + Node *node, + int *size_ret) +{ + Eet_Data_Chunk *chnk = NULL, *echnk = NULL; + Eet_Data_Stream *ds; + void *cdata, *data; + int csize, size; + Node *n; + + if (words_bigendian == -1) + { + unsigned long int v; + + v = htonl(0x12345678); + if (v == 0x12345678) words_bigendian = 1; + else words_bigendian = 0; + } + + ds = eet_data_stream_new(); + if (!ds) return NULL; + + switch (node->type) + { + case EET_G_UNKNOWN: + for (n = node->values; n; n = n->next) + { + data = _eet_data_dump_encode(ed, n, &size); + if (data) + { + eet_data_stream_write(ds, data, size); + free(data); + } + } + break; + case EET_G_ARRAY: + case EET_G_VAR_ARRAY: + data = eet_data_put_type(ed, + EET_T_INT, + &node->count, + &size); + if (data) + { + echnk = eet_data_chunk_new(data, size, node->name, node->type, node->type); + eet_data_chunk_put(ed, echnk, ds); + eet_data_chunk_free(echnk); + free(data); + } + for (n = node->values; n; n = n->next) + { + data = _eet_data_dump_encode(ed, n, &size); + if (data) + { + echnk = eet_data_chunk_new(data, size, node->name, node->type, node->type); + eet_data_chunk_put(ed, echnk, ds); + eet_data_chunk_free(echnk); + free(data); + } + } + + /* Array is somekind of special case, so we should embed it inside another chunk. */ + *size_ret = ds->pos; + cdata = ds->data; + + ds->data = NULL; + ds->size = 0; + eet_data_stream_free(ds); + + return cdata; + case EET_G_LIST: + for (n = node->values; n; n = n->next) + { + data = _eet_data_dump_encode(ed, n, &size); + if (data) + { + eet_data_stream_write(ds, data, size); + free(data); + } + } + break; + case EET_G_HASH: + if (node->key) + { + data = eet_data_put_type(ed, + EET_T_STRING, + &node->key, + &size); + if (data) + { + echnk = eet_data_chunk_new(data, size, node->name, node->type, node->type); + eet_data_chunk_put(ed, echnk, ds); + eet_data_chunk_free(echnk); + free(data); + } + } + for (n = node->values; n; n = n->next) + { + data = _eet_data_dump_encode(ed, n, &size); + if (data) + { + echnk = eet_data_chunk_new(data, size, node->name, node->type, node->type); + eet_data_chunk_put(ed, echnk, ds); + eet_data_chunk_free(echnk); + free(data); + } + } + + /* Hash is somekind of special case, so we should embed it inside another chunk. */ + *size_ret = ds->pos; + cdata = ds->data; + + ds->data = NULL; + ds->size = 0; + eet_data_stream_free(ds); + + return cdata; + case EET_T_CHAR: + data = eet_data_put_type(ed, node->type, &(node->data.c), &size); + if (data) + { + eet_data_stream_write(ds, data, size); + free(data); + } + break; + case EET_T_SHORT: + data = eet_data_put_type(ed, node->type, &(node->data.s), &size); + if (data) + { + eet_data_stream_write(ds, data, size); + free(data); + } + break; + case EET_T_INT: + data = eet_data_put_type(ed, node->type, &(node->data.i), &size); + if (data) + { + eet_data_stream_write(ds, data, size); + free(data); + } + break; + case EET_T_LONG_LONG: + data = eet_data_put_type(ed, node->type, &(node->data.l), &size); + if (data) + { + eet_data_stream_write(ds, data, size); + free(data); + } + break; + case EET_T_FLOAT: + data = eet_data_put_type(ed, node->type, &(node->data.f), &size); + if (data) + { + eet_data_stream_write(ds, data, size); + free(data); + } + break; + case EET_T_DOUBLE: + data = eet_data_put_type(ed, node->type, &(node->data.d), &size); + if (data) + { + eet_data_stream_write(ds, data, size); + free(data); + } + break; + case EET_T_UCHAR: + data = eet_data_put_type(ed, node->type, &(node->data.uc), &size); + if (data) + { + eet_data_stream_write(ds, data, size); + free(data); + } + break; + case EET_T_USHORT: + data = eet_data_put_type(ed, node->type, &(node->data.us), &size); + if (data) + { + eet_data_stream_write(ds, data, size); + free(data); + } + break; + case EET_T_UINT: + data = eet_data_put_type(ed, node->type, &(node->data.ui), &size); + if (data) + { + eet_data_stream_write(ds, data, size); + free(data); + } + break; + case EET_T_ULONG_LONG: + data = eet_data_put_type(ed, node->type, &(node->data.ul), &size); + if (data) + { + eet_data_stream_write(ds, data, size); + free(data); + } + break; + case EET_T_INLINED_STRING: + data = eet_data_put_type(ed, node->type, &(node->data.str), &size); + if (data) + { + eet_data_stream_write(ds, data, size); + free(data); + } + break; + case EET_T_STRING: + data = eet_data_put_type(ed, node->type, &(node->data.str), &size); + if (data) + { + eet_data_stream_write(ds, data, size); + free(data); + } + break; + default: + break; + } + + if ((node->type >= EET_G_UNKNOWN) && (node->type < EET_G_LAST)) + chnk = eet_data_chunk_new(ds->data, ds->pos, node->name, EET_T_UNKNOW, node->type); + else + chnk = eet_data_chunk_new(ds->data, ds->pos, node->name, node->type, EET_G_UNKNOWN); + ds->data = NULL; + ds->size = 0; + eet_data_stream_free(ds); + + ds = eet_data_stream_new(); + eet_data_chunk_put(ed, chnk, ds); + cdata = ds->data; + csize = ds->pos; + + ds->data = NULL; + ds->size = 0; + eet_data_stream_free(ds); + *size_ret = csize; + + free(chnk->data); + eet_data_chunk_free(chnk); + + return cdata; +} + +static void * +_eet_data_dump_parse(Eet_Dictionary *ed, + int *size_ret, + const char *src, + int size) +{ + void *cdata = NULL; + const char *p; +#define M_NONE 0 +#define M_STRUCT 1 +#define M_ 2 + int left, jump; + Node *node_base = NULL; + Node *node = NULL; + Node *n, *nn; + + /* FIXME; handle parse errors */ +#define TOK_GET(t) \ + jump = left; t = _eet_data_dump_token_get(p, &left); p += jump - left; + left = size; + for (p = src; p < (src + size);) + { + char *tok1, *tok2, *tok3, *tok4; + + TOK_GET(tok1); + if (tok1) + { + if (!strcmp(tok1, "group")) + { + TOK_GET(tok2); + if (tok2) + { + TOK_GET(tok3); + if (tok3) + { + TOK_GET(tok4); + if (tok4) + { + if (!strcmp(tok4, "{")) + { + /* we have 'group NAM TYP {' */ + n = calloc(1, sizeof(Node)); + if (n) + { + n->parent = node; + if (!node_base) + { + node_base = n; + } + if (!node) + { + node = n; + } + else + { + /* append node */ + if (!node->values) + node->values = n; + else + { + for (nn = node->values; nn; nn = nn->next) + { + if (!nn->next) + { + nn->next = n; + n->prev = nn; + break; + } + } + } + } + n->name = strdup(tok2); + if (!strcmp(tok3, "struct")) n->type = EET_G_UNKNOWN; + else if (!strcmp(tok3, "array")) n->type = EET_G_ARRAY; + else if (!strcmp(tok3, "var_array")) n->type = EET_G_VAR_ARRAY; + else if (!strcmp(tok3, "list")) n->type = EET_G_LIST; + else if (!strcmp(tok3, "hash")) n->type = EET_G_HASH; + else + { + printf("ERROR: group type '%s' invalid.\n", tok3); + } + node = n; + } + } + free(tok4); + } + free(tok3); + } + free(tok2); + } + } + else if (!strcmp(tok1, "value")) + { + TOK_GET(tok2); + if (tok2) + { + TOK_GET(tok3); + if (tok3) + { + TOK_GET(tok4); + if (tok4) + { + /* we have 'value NAME TYP XXX' */ + if (node_base) + { + n = calloc(1, sizeof(Node)); + if (n) + { + n->parent = node; + /* append node */ + if (!node->values) + node->values = n; + else + { + for (nn = node->values; nn; nn = nn->next) + { + if (!nn->next) + { + nn->next = n; + n->prev = nn; + break; + } + } + } + n->name = strdup(tok2); + if (!strcmp(tok3, "char:")) + { + n->type = EET_T_CHAR; + sscanf(tok4, "%hhi", &(n->data.c)); + } + else if (!strcmp(tok3, "short:")) + { + n->type = EET_T_SHORT; + sscanf(tok4, "%hi", &(n->data.s)); + } + else if (!strcmp(tok3, "int:")) + { + n->type = EET_T_INT; + sscanf(tok4, "%i", &(n->data.i)); + } + else if (!strcmp(tok3, "long_long:")) + { + n->type = EET_T_LONG_LONG; + sscanf(tok4, "%lli", &(n->data.l)); + } + else if (!strcmp(tok3, "float:")) + { + n->type = EET_T_FLOAT; + sscanf(tok4, "%f", &(n->data.f)); + } + else if (!strcmp(tok3, "double:")) + { + n->type = EET_T_DOUBLE; + sscanf(tok4, "%lf", &(n->data.d)); + } + else if (!strcmp(tok3, "uchar:")) + { + n->type = EET_T_UCHAR; + sscanf(tok4, "%hhu", &(n->data.uc)); + } + else if (!strcmp(tok3, "ushort:")) + { + n->type = EET_T_USHORT; + sscanf(tok4, "%hu", &(n->data.us)); + } + else if (!strcmp(tok3, "uint:")) + { + n->type = EET_T_UINT; + sscanf(tok4, "%u", &(n->data.ui)); + } + else if (!strcmp(tok3, "ulong_long:")) + { + n->type = EET_T_ULONG_LONG; + sscanf(tok4, "%llu", &(n->data.ul)); + } + else if (!strcmp(tok3, "string:")) + { + n->type = EET_T_STRING; + n->data.str = strdup(tok4); + } + else if (!strcmp(tok3, "inlined:")) + { + n->type = EET_T_INLINED_STRING; + n->data.str = strdup(tok4); + } + else + { + printf("ERROR: value type '%s' invalid.\n", tok4); + } + } + } + free(tok4); + } + free(tok3); + } + free(tok2); + } + } + else if (!strcmp(tok1, "key")) + { + TOK_GET(tok2); + if (tok2) + { + /* we have 'key NAME' */ + if (node) + { + node->key = strdup(tok2); + } + free(tok2); + } + } + else if (!strcmp(tok1, "count")) + { + TOK_GET(tok2); + if (tok2) + { + /* we have a 'count COUNT' */ + if (node) + { + sscanf(tok2, "%i", &(node->count)); + } + free(tok2); + } + } + else if (!strcmp(tok1, "}")) + { + /* we have an end of the group */ + if (node) node = node->parent; + } + free(tok1); + } + } + + if (node_base) + { + cdata = _eet_data_dump_encode(ed, node_base, size_ret); + _eet_data_dump_free(node_base); + } + return cdata; +} + +#define NEXT_CHUNK(P, Size, Echnk, Ed) \ + { \ + int tmp; \ + tmp = Ed ? (int) (sizeof(int) * 2) : Echnk.len + 4;\ + P += (4 + Echnk.size + tmp); \ + Size -= (4 + Echnk.size + tmp); \ + } + +static void * +_eet_data_descriptor_decode(const Eet_Dictionary *ed, + Eet_Data_Descriptor *edd, + const void *data_in, + int size_in, + int level, + void (*dumpfunc) (void *data, const char *str), + void *dumpdata) +{ + void *data = NULL; + char *p, *buf, tbuf[256]; + int size, i, dump; + Eet_Data_Chunk chnk; + + if (words_bigendian == -1) + { + unsigned long int v; + + v = htonl(0x12345678); + if (v == 0x12345678) words_bigendian = 1; + else words_bigendian = 0; + } + + if (edd) + { + data = edd->func.mem_alloc(edd->size); + if (!data) return NULL; + if (edd->ed != ed) + { + for (i = 0; i < edd->elements.num; i++) + edd->elements.set[i].directory_name_ptr = NULL; + edd->ed = ed; + } + } + _eet_freelist_ref(); + _eet_freelist_str_ref(); + _eet_freelist_list_ref(); + if (data) _eet_freelist_add(data); + dump = 0; + memset(&chnk, 0, sizeof(Eet_Data_Chunk)); + eet_data_chunk_get(ed, &chnk, data_in, size_in); + if (!chnk.name) goto error; + if (edd) + { + if (strcmp(chnk.name, edd->name)) goto error; + } + p = chnk.data; + if (ed) + size = size_in - (4 + sizeof(int) * 2); + else + size = size_in - (4 + 4 + chnk.len); + if (edd) + { + if (!edd->elements.hash.buckets) _eet_descriptor_hash_new(edd); + } + if (dumpfunc) + { + dump = 1; + if (chnk.type == EET_T_UNKNOW) + { + buf = tbuf; + + for (i = 0; i < level; i++) dumpfunc(dumpdata, " "); + dumpfunc(dumpdata, "group \""); + _eet_data_dump_string_escape(dumpdata, dumpfunc, chnk.name); + dumpfunc(dumpdata, "\" "); + switch (chnk.group_type) + { + case EET_G_UNKNOWN: + dumpfunc(dumpdata, "struct"); + break; + case EET_G_ARRAY: + dumpfunc(dumpdata, "array"); + break; + case EET_G_VAR_ARRAY: + dumpfunc(dumpdata, "var_array"); + break; + case EET_G_LIST: + dumpfunc(dumpdata, "list"); + break; + case EET_G_HASH: + dumpfunc(dumpdata, "hash"); + break; + default: + dumpfunc(dumpdata, "???"); + break; + } + dumpfunc(dumpdata, " {\n"); + } + } + while (size > 0) + { + Eet_Data_Chunk echnk; + Eet_Data_Element *ede; + + /* get next data chunk */ + memset(&echnk, 0, sizeof(Eet_Data_Chunk)); + eet_data_chunk_get(ed, &echnk, p, size); + if (!echnk.name) goto error; + /* FIXME: don't REPLY on edd - work without */ + if ((edd) && (!dumpfunc)) + { + ede = _eet_descriptor_hash_find(edd, echnk.name, echnk.hash); + if (ede) + { + int group_type = EET_G_UNKNOWN, type = EET_T_UNKNOW; + int ret = 0; + + group_type = ede->group_type; + type = ede->type; + if ((echnk.type == 0) && (echnk.group_type == 0)) + { + type = ede->type; + group_type = ede->group_type; + } + else + { + if (IS_SIMPLE_TYPE(echnk.type) && + (echnk.type == ede->type)) + type = echnk.type; + else if ((echnk.group_type > EET_G_UNKNOWN) && + (echnk.group_type < EET_G_LAST) && + (echnk.group_type == ede->group_type)) + group_type = echnk.group_type; + } + /* hashes doesnt fit well with the table */ + ret = eet_group_codec[group_type - 100].get(ed, edd, ede, &echnk, type, group_type, ((char *)data) + ede->offset, level, dumpfunc, dumpdata, &p, &size); + if (ret <= 0) goto error; + } + } + /*...... dump func */ + else if (dumpfunc) + { + unsigned char dd[128]; + int group_type = EET_G_UNKNOWN, type = EET_T_UNKNOW; + + if ((echnk.type > EET_T_UNKNOW) && + (echnk.type < EET_T_LAST)) + type = echnk.type; + else if ((echnk.group_type > EET_G_UNKNOWN) && + (echnk.group_type < EET_G_LAST)) + group_type = echnk.group_type; + if (group_type == EET_G_UNKNOWN) + { + int ret; + void *data_ret; + + if (IS_SIMPLE_TYPE(type)) + { + ret = eet_data_get_type(ed, + type, + echnk.data, + ((char *)echnk.data) + echnk.size, + dd); + for (i = 0; i < level; i++) dumpfunc(dumpdata, " "); + dumpfunc(dumpdata, " value \""); + _eet_data_dump_string_escape(dumpdata, dumpfunc, echnk.name); + dumpfunc(dumpdata, "\" "); + switch (type) + { + case EET_T_CHAR: + dumpfunc(dumpdata, "char: "); + snprintf(tbuf, sizeof(tbuf), "%hhi", *((char *)dd)); + dumpfunc(dumpdata, tbuf); break; + case EET_T_SHORT: + dumpfunc(dumpdata, "short: "); + snprintf(tbuf, sizeof(tbuf), "%hi", *((short *)dd)); + dumpfunc(dumpdata, tbuf); break; + case EET_T_INT: + dumpfunc(dumpdata, "int: "); + snprintf(tbuf, sizeof(tbuf), "%i", *((int *)dd)); + dumpfunc(dumpdata, tbuf); break; + case EET_T_LONG_LONG: + dumpfunc(dumpdata, "long_long: "); + snprintf(tbuf, sizeof(tbuf), "%lli", *((long long *)dd)); + dumpfunc(dumpdata, tbuf); break; + case EET_T_FLOAT: + dumpfunc(dumpdata, "float: "); + snprintf(tbuf, sizeof(tbuf), "%1.25f", *((float *)dd)); + dumpfunc(dumpdata, tbuf); break; + case EET_T_DOUBLE: + dumpfunc(dumpdata, "double: "); + snprintf(tbuf, sizeof(tbuf), "%1.25f", *((double *)dd)); + dumpfunc(dumpdata, tbuf); break; + case EET_T_UCHAR: + dumpfunc(dumpdata, "uchar: "); + snprintf(tbuf, sizeof(tbuf), "%hhu", *((unsigned char *)dd)); + dumpfunc(dumpdata, tbuf); break; + case EET_T_USHORT: + dumpfunc(dumpdata, "ushort: "); + snprintf(tbuf, sizeof(tbuf), "%i", *((unsigned short *)dd)); + dumpfunc(dumpdata, tbuf); break; + case EET_T_UINT: + dumpfunc(dumpdata, "uint: "); + snprintf(tbuf, sizeof(tbuf), "%u", *((unsigned int *)dd)); + dumpfunc(dumpdata, tbuf); break; + case EET_T_ULONG_LONG: + dumpfunc(dumpdata, "ulong_long: "); + snprintf(tbuf, sizeof(tbuf), "%llu", *((unsigned long long *)dd)); + dumpfunc(dumpdata, tbuf); break; + case EET_T_INLINED_STRING: + { + char *s; + + s = *((char **)dd); + if (s) + { + dumpfunc(dumpdata, "inlined: \""); + _eet_data_dump_string_escape(dumpdata, dumpfunc, s); + dumpfunc(dumpdata, "\""); + } + } + break; + case EET_T_STRING: + { + char *s; + + s = *((char **)dd); + if (s) + { + dumpfunc(dumpdata, "string: \""); + _eet_data_dump_string_escape(dumpdata, dumpfunc, s); + dumpfunc(dumpdata, "\""); + } + } + break; + default: + dumpfunc(dumpdata, "???: ???"); break; + break; + } + dumpfunc(dumpdata, ";\n"); + } + else + { + data_ret = _eet_data_descriptor_decode(ed, + NULL, + echnk.data, + echnk.size, + level + 1, + dumpfunc, + dumpdata); + if (!data_ret) goto error; + } + } + else + { + for (i = 0; i < level; i++) dumpfunc(dumpdata, " "); + dumpfunc(dumpdata, " group \""); + _eet_data_dump_string_escape(dumpdata, dumpfunc, echnk.name); + dumpfunc(dumpdata, "\" "); + switch (echnk.group_type) + { + case EET_G_UNKNOWN: + dumpfunc(dumpdata, "struct");break; + case EET_G_ARRAY: + dumpfunc(dumpdata, "array");break; + case EET_G_VAR_ARRAY: + dumpfunc(dumpdata, "var_array");break; + case EET_G_LIST: + dumpfunc(dumpdata, "list");break; + case EET_G_HASH: + dumpfunc(dumpdata, "hash");break; + default: + dumpfunc(dumpdata, "???");break; + break; + } + dumpfunc(dumpdata, " {\n"); + switch (group_type) + { + case EET_G_ARRAY: + case EET_G_VAR_ARRAY: + { + int count; + int ret; + int i; + + EET_ASSERT(!IS_SIMPLE_TYPE(type), goto error); + + ret = eet_data_get_type(ed, + EET_T_INT, + echnk.data, + ((char *)echnk.data) + echnk.size, + &count); + if (ret <= 0) goto error; + + for (i = 0; i < level; i++) dumpfunc(dumpdata, " "); + dumpfunc(dumpdata, " count "); + snprintf(tbuf, sizeof(tbuf), "%i", count); + dumpfunc(dumpdata, tbuf); + dumpfunc(dumpdata, ";\n"); + + /* get all array elements */ + for (i = 0; i < count; i++) + { + void *data_ret = NULL; + + /* Advance to next chunk */ + NEXT_CHUNK(p, size, echnk, ed); + memset(&echnk, 0, sizeof(Eet_Data_Chunk)); + + eet_data_chunk_get(ed, &echnk, p, size); + if (!echnk.name) goto error; + /* get the data */ + data_ret = _eet_data_descriptor_decode(ed, + NULL, + echnk.data, + echnk.size, + level + 2, + dumpfunc, + dumpdata); + if (!data_ret) goto error; + } + } + break; + case EET_G_LIST: + { + void *data_ret = NULL; + + EET_ASSERT(!IS_SIMPLE_TYPE(type), goto error); + + data_ret = _eet_data_descriptor_decode(ed, + NULL, + echnk.data, + echnk.size, + level + 2, + dumpfunc, + dumpdata); + if (!data_ret) goto error; + } + break; + case EET_G_HASH: + { + int ret; + char *key = NULL; + void *data_ret = NULL; + + /* Read key */ + ret = eet_data_get_type(ed, + EET_T_STRING, + echnk.data, + ((char *)echnk.data) + echnk.size, + &key); + if (ret <= 0) goto error; + + /* Advance to next chunk */ + NEXT_CHUNK(p, size, echnk, ed); + memset(&echnk, 0, sizeof(Eet_Data_Chunk)); + + /* Read value */ + eet_data_chunk_get(ed, &echnk, p, size); + if (!echnk.name) goto error; + + EET_ASSERT(!IS_SIMPLE_TYPE(type), goto error); + + { + char *s; + + s = key; + if (s) + { + for (i = 0; i < level; i++) dumpfunc(dumpdata, " "); + dumpfunc(dumpdata, " key \""); + _eet_data_dump_string_escape(dumpdata, dumpfunc, s); + dumpfunc(dumpdata, "\";\n"); + } + data_ret = _eet_data_descriptor_decode(ed, + NULL, + echnk.data, + echnk.size, + level + 2, + dumpfunc, + dumpdata); + } + if (!data_ret) + { + goto error; + } + } + break; + default: + break; + } + if (dumpfunc) + { + for (i = 0; i < level; i++) dumpfunc(dumpdata, " "); + dumpfunc(dumpdata, " }\n"); + } + } + } + /* advance to next chunk */ + NEXT_CHUNK(p, size, echnk, ed); + } + + _eet_freelist_unref(); + _eet_freelist_str_unref(); + _eet_freelist_list_unref(); + if (dumpfunc) + { + _eet_freelist_str_free(edd); + _eet_freelist_direct_str_free(edd); + _eet_freelist_list_free(edd); + _eet_freelist_free(edd); + } + else + { + _eet_freelist_reset(); + _eet_freelist_str_reset(); + _eet_freelist_list_reset(); + } + if (dumpfunc) + { + if (dump) + { + if (chnk.type == EET_T_UNKNOW) + { + for (i = 0; i < level; i++) dumpfunc(dumpdata, " "); + dumpfunc(dumpdata, "}\n"); + } + } + return (void *)1; + } + return data; + +error: + _eet_freelist_unref(); + _eet_freelist_str_unref(); + _eet_freelist_list_unref(); + _eet_freelist_str_free(edd); + _eet_freelist_direct_str_free(edd); + _eet_freelist_list_free(edd); + _eet_freelist_free(edd); + if (dumpfunc) + { + if (dump) + { + if (chnk.type == EET_T_UNKNOW) + { + for (i = 0; i < level; i++) dumpfunc(dumpdata, " "); + dumpfunc(dumpdata, "}\n"); + } + } + } + return NULL; +} + +static int +eet_data_get_list(const Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Chunk *echnk, + int type __UNUSED__, int group_type __UNUSED__, void *data, + int level, void (*dumpfunc) (void *data, const char *str), void *dumpdata, + char **p __UNUSED__, int *size __UNUSED__) +{ + void *list = NULL; + void **ptr; + void *data_ret; + + EET_ASSERT(!IS_SIMPLE_TYPE(type), return 0); + + ptr = (void **)data; + list = *ptr; + data_ret = NULL; + + data_ret = _eet_data_descriptor_decode(ed, ede->subtype, echnk->data, echnk->size, level + 2, dumpfunc, dumpdata); + if (!data_ret) return 0; + + list = edd->func.list_append(list, data_ret); + *ptr = list; + _eet_freelist_list_add(ptr); + + return 1; +} + +static int +eet_data_get_hash(const Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Chunk *echnk, + int type, int group_type __UNUSED__, void *data, + int level, void (*dumpfunc) (void *data, const char *str), void *dumpdata, + char **p, int *size) +{ + void **ptr; + void *hash = NULL; + char *key = NULL; + void *data_ret = NULL; + int ret = 0; + + EET_ASSERT(!IS_SIMPLE_TYPE(type), return 0); + + ptr = (void **)data; + hash = *ptr; + + /* Read key */ + ret = eet_data_get_type(ed, + EET_T_STRING, + echnk->data, + ((char *)echnk->data) + echnk->size, + &key); + if (ret <= 0) goto on_error; + + /* Advance to next chunk */ + NEXT_CHUNK((*p), (*size), (*echnk), ed); + memset(echnk, 0, sizeof(Eet_Data_Chunk)); + + /* Read value */ + eet_data_chunk_get(ed, echnk, *p, *size); + if (!echnk->name) goto on_error; + + data_ret = _eet_data_descriptor_decode(ed, + ede->subtype, + echnk->data, + echnk->size, + level + 2, + dumpfunc, + dumpdata); + if (!data_ret) goto on_error; + + hash = edd->func.hash_add(hash, key, data_ret); + *ptr = hash; + _eet_freelist_list_add(ptr); + return 1; + + on_error: + return ret; +} + +/* var arrays and fixed arrays have to + * get all chunks at once. for fixed arrays + * we can get each chunk and increment a + * counter stored on the element itself but + * it wont be thread safe. for var arrays + * we still need a way to get the number of + * elements from the data, so storing the + * number of elements and the element data on + * each chunk is pointless. + */ +static int +eet_data_get_array(const Eet_Dictionary *ed, Eet_Data_Descriptor *edd __UNUSED__, + Eet_Data_Element *ede, Eet_Data_Chunk *echnk, + int type, int group_type, void *data, + int level, void (*dumpfunc) (void *data, const char *str), void *dumpdata, + char **p, int *size) +{ + void *ptr; + int count; + int ret; + int i; + + EET_ASSERT(!IS_SIMPLE_TYPE(type), return 0); + + ptr = data; + /* read the number of elements */ + ret = eet_data_get_type(ed, + EET_T_INT, + echnk->data, + ((char *)echnk->data) + echnk->size, + &count); + if (ret <= 0) return ret; + if (group_type == EET_G_VAR_ARRAY) + { + /* store the number of elements + * on the counter offset */ + *(int *)(((char *)data) + ede->count - ede->offset) = count; + /* allocate space for the array of elements */ + *(void **)ptr = calloc(count, ede->subtype->size); + + if (!*(void **)ptr) return 0; + + _eet_freelist_add(*(void **)ptr); + } + + /* get all array elements */ + for (i = 0; i < count; i++) + { + void *dst; + void *data_ret = NULL; + + /* Advance to next chunk */ + NEXT_CHUNK((*p), (*size), (*echnk), ed); + memset(echnk, 0, sizeof(Eet_Data_Chunk)); + + eet_data_chunk_get(ed, echnk, *p, *size); + if (!echnk->name) return 0; + /* get the data */ + + /* get the destination pointer */ + if (group_type == EET_G_ARRAY) + dst = (char *)ptr + (ede->subtype->size * i); + else + dst = *(char **)ptr + (ede->subtype->size * i); + data_ret = _eet_data_descriptor_decode(ed, + ede->subtype, + echnk->data, + echnk->size, + level + 2, + dumpfunc, + dumpdata); + if (!data_ret) return 0; + memcpy(dst, data_ret, ede->subtype->size); + free(data_ret); + } + return 1; +} + +static int +eet_data_get_unknown(const Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Chunk *echnk, + int type, int group_type __UNUSED__, void *data, + int level, void (*dumpfunc) (void *data, const char *str), void *dumpdata, + char **p __UNUSED__, int *size __UNUSED__) +{ + int ret; + void *data_ret; + + if (IS_SIMPLE_TYPE(type)) + { + ret = eet_data_get_type(ed, type, echnk->data, ((char *)echnk->data) + echnk->size, ((char *)data)); + if (ret <= 0) return ret; + + if (type == EET_T_STRING) + { + char **str; + + str = (char **)(((char *)data)); + if (*str) + { + if ((ed == NULL) || (edd->func.str_direct_alloc == NULL)) + { + *str = edd->func.str_alloc(*str); + _eet_freelist_str_add(*str); + } + else + { + *str = edd->func.str_direct_alloc(*str); + _eet_freelist_direct_str_add(*str); + } + } + } + else if (type == EET_T_INLINED_STRING) + { + char **str; + + str = (char **)(((char *)data)); + if (*str) + { + *str = edd->func.str_alloc(*str); + _eet_freelist_str_add(*str); + } + } + } + else if (ede->subtype) + { + void **ptr; + + data_ret = _eet_data_descriptor_decode(ed, ede->subtype, echnk->data, echnk->size, level + 1, dumpfunc, dumpdata); + if (!data_ret) return 0; + + ptr = (void **)(((char *)data)); + *ptr = (void *)data_ret; + } + + return 1; +} + +static void +eet_data_encode(Eet_Dictionary *ed, Eet_Data_Stream *ds, void *data, const char *name, int size, int type, int group_type) +{ + Eet_Data_Chunk *echnk; + + echnk = eet_data_chunk_new(data, size, name, type, group_type); + eet_data_chunk_put(ed, echnk, ds); + eet_data_chunk_free(echnk); + free(data); +} + +static void +eet_data_put_array(Eet_Dictionary *ed, Eet_Data_Descriptor *edd __UNUSED__, Eet_Data_Element *ede, Eet_Data_Stream *ds, void *data_in) +{ + void *data; + int size; + int j; + int offset = 0; + int count; + + EET_ASSERT(!IS_SIMPLE_TYPE(ede->type), return ); + + if (ede->group_type == EET_G_ARRAY) + count = ede->counter_offset; + else + count = *(int *)(((char *)data_in) + ede->count - ede->offset); + + if (count <= 0) return; + /* Store number of elements */ + data = eet_data_put_type(ed, EET_T_INT, &count, &size); + if (data) eet_data_encode(ed, ds, data, ede->name, size, ede->type, ede->group_type); + + for (j = 0; j < count; j++) + { + void *d; + + if (ede->group_type == EET_G_ARRAY) + d = (void *)(((char *)data_in) + offset); + else + d = *(((char **)data_in)) + offset; + + data = _eet_data_descriptor_encode(ed, ede->subtype, d, &size); + offset += ede->subtype->size; + if (data) eet_data_encode(ed, ds, data, ede->name, size, ede->type, ede->group_type); + } +} + +static void +eet_data_put_unknown(Eet_Dictionary *ed, Eet_Data_Descriptor *edd __UNUSED__, Eet_Data_Element *ede, Eet_Data_Stream *ds, void *data_in) +{ + void *data = NULL; + int size; + + if (IS_SIMPLE_TYPE(ede->type)) + data = eet_data_put_type(ed, ede->type, data_in, &size); + else if (ede->subtype) + { + if (*((char **)data_in)) + data = _eet_data_descriptor_encode(ed, + ede->subtype, + *((char **)((char *)(data_in))), + &size); + } + if (data) eet_data_encode(ed, ds, data, ede->name, size, ede->type, ede->group_type); +} + +static void +eet_data_put_list(Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Stream *ds, void *data_in) +{ + void *data; + void *l; + int size; + + EET_ASSERT(!IS_SIMPLE_TYPE(ede->type), return ); + + l = *((void **)(((char *)data_in))); + for (; l; l = edd->func.list_next(l)) + { + data = _eet_data_descriptor_encode(ed, + ede->subtype, + edd->func.list_data(l), + &size); + if (data) eet_data_encode(ed, ds, data, ede->name, size, ede->type, ede->group_type); + } +} + +static void +eet_data_put_hash(Eet_Dictionary *ed, Eet_Data_Descriptor *edd, Eet_Data_Element *ede, Eet_Data_Stream *ds, void *data_in) +{ + Eet_Data_Encode_Hash_Info fdata; + void *l; + + l = *((void **)(((char *)data_in))); + fdata.ds = ds; + fdata.ede = ede; + fdata.ed = ed; + edd->func.hash_foreach(l, eet_data_descriptor_encode_hash_cb, &fdata); +} + +EAPI int +eet_data_dump(Eet_File *ef, + const char *name, + void (*dumpfunc) (void *data, const char *str), + void *dumpdata) +{ + const Eet_Dictionary *ed = NULL; + const void *data; + int ret = 0; + int required_free = 0; + int size; + + ed = eet_dictionary_get(ef); + + data = eet_read_direct(ef, name, &size); + if (!data) + { + required_free = 1; + data = eet_read(ef, name, &size); + if (!data) return 0; + } + + if (_eet_data_descriptor_decode(ed, NULL, data, size, 0, + dumpfunc, dumpdata)) + ret = 1; + + if (required_free) + free((void*)data); + + return ret; +} + + +EAPI int +eet_data_text_dump(const void *data_in, + int size_in, + void (*dumpfunc) (void *data, const char *str), + void *dumpdata) +{ + if (_eet_data_descriptor_decode(NULL, NULL, data_in, size_in, 0, + dumpfunc, dumpdata)) + return 1; + return 0; +} + +EAPI void * +eet_data_text_undump(const char *text, + int textlen, + int *size_ret) +{ + return _eet_data_dump_parse(NULL, size_ret, text, textlen); +} + +EAPI int +eet_data_undump(Eet_File *ef, + const char *name, + const char *text, + int textlen, + int compress) +{ + Eet_Dictionary *ed; + void *data_enc; + int size; + int val; + + ed = eet_dictionary_get(ef); + + data_enc = _eet_data_dump_parse(ed, &size, text, textlen); + if (!data_enc) return 0; + val = eet_write(ef, name, data_enc, size, compress); + free(data_enc); + return val; +} + +EAPI void * +eet_data_descriptor_decode(Eet_Data_Descriptor *edd, + const void *data_in, + int size_in) +{ + return _eet_data_descriptor_decode(NULL, edd, data_in, size_in, 0, + NULL, NULL); +} + +static void * +_eet_data_descriptor_encode(Eet_Dictionary *ed, + Eet_Data_Descriptor *edd, + const void *data_in, + int *size_ret) +{ + Eet_Data_Stream *ds; + Eet_Data_Chunk *chnk; + void *cdata; + int csize; + int i; + + if (words_bigendian == -1) + { + unsigned long int v; + + v = htonl(0x12345678); + if (v == 0x12345678) words_bigendian = 1; + else words_bigendian = 0; + } + + ds = eet_data_stream_new(); + for (i = 0; i < edd->elements.num; i++) + { + Eet_Data_Element *ede; + + ede = &(edd->elements.set[i]); + eet_group_codec[ede->group_type - 100].put(ed, edd, ede, ds, ((char *)data_in) + ede->offset); + } + chnk = eet_data_chunk_new(ds->data, ds->pos, edd->name, EET_T_UNKNOW, EET_G_UNKNOWN); + ds->data = NULL; + ds->size = 0; + eet_data_stream_free(ds); + + ds = eet_data_stream_new(); + eet_data_chunk_put(ed, chnk, ds); + cdata = ds->data; + csize = ds->pos; + + ds->data = NULL; + ds->size = 0; + eet_data_stream_free(ds); + *size_ret = csize; + + free(chnk->data); + eet_data_chunk_free(chnk); + + return cdata; +} + +EAPI void * +eet_data_descriptor_encode(Eet_Data_Descriptor *edd, + const void *data_in, + int *size_ret) +{ + return _eet_data_descriptor_encode(NULL, edd, data_in, size_ret); +} diff --git a/src/lib/eet_dictionary.c b/src/lib/eet_dictionary.c new file mode 100644 index 0000000..666282b --- /dev/null +++ b/src/lib/eet_dictionary.c @@ -0,0 +1,335 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include +#include + +#include "Eet.h" +#include "Eet_private.h" + +Eet_Dictionary * +eet_dictionary_add(void) +{ + Eet_Dictionary *new; + + new = calloc(1, sizeof (Eet_Dictionary)); + if (!new) + return NULL; + + memset(new->hash, -1, sizeof (int) * 256); + + return new; +} + +void +eet_dictionary_free(Eet_Dictionary *ed) +{ + if (ed) + { + int i; + + for (i = 0; i < ed->count; ++i) + if (ed->all[i].str) + free(ed->all[i].str); + if (ed->all) free(ed->all); + free(ed); + } +} + +static int +_eet_dictionary_lookup(Eet_Dictionary *ed, const char *string, int hash) +{ + int prev = -1; + int current; + + current = ed->hash[hash]; + + while (current != -1) + { + if (ed->all[current].str) + { + if (strcmp(ed->all[current].str, string) >= 0) + break ; + } + if (ed->all[current].mmap) + { + if (strcmp(ed->all[current].mmap, string) >= 0) + break ; + } + + prev = current; + current = ed->all[current].next; + } + + if (current == -1) + return prev; + + return current; +} + +int +eet_dictionary_string_add(Eet_Dictionary *ed, const char *string) +{ + Eet_String *current; + char *str; + int hash; + int index; + int len; + + if (!ed) + return -1; + + hash = _eet_hash_gen(string, 8); + + index = _eet_dictionary_lookup(ed, string, hash); + + if (index != -1) + { + if (ed->all[index].str) + { + if (strcmp(ed->all[index].str, string) == 0) + return index; + } + if (ed->all[index].mmap) + { + if (strcmp(ed->all[index].mmap, string) == 0) + return index; + } + } + + if (ed->total == ed->count) + { + Eet_String *new; + int total; + + total = ed->total + 8; + + new = realloc(ed->all, sizeof (Eet_String) * total); + if (new == NULL) + return -1; + + ed->all = new; + ed->total = total; + } + + len = strlen(string) + 1; + str = strdup(string); + if (str == NULL) + return -1; + + current = ed->all + ed->count; + + current->flags.converted = 0; + current->flags.is_float = 0; + + current->hash = hash; + + current->str = str; + current->len = len; + current->mmap = NULL; + + if (index == -1) + { + current->next = ed->hash[hash]; + current->prev = -1; + ed->hash[hash] = ed->count; + } + else + { + current->next = index; + current->prev = ed->all[index].prev; + + if (current->next != -1) + ed->all[current->next].prev = ed->count; + if (current->prev != -1) + ed->all[current->prev].next = ed->count; + else + ed->hash[hash] = ed->count; + } + + return ed->count++; +} + +int +eet_dictionary_string_get_size(const Eet_Dictionary *ed, int index) +{ + if (!ed) return 0; + if (index < 0) return 0; + if (index < ed->count) + return ed->all[index].len; + return 0; +} + +int +eet_dictionary_string_get_hash(const Eet_Dictionary *ed, int index) +{ + if (!ed) return -1; + if (index < 0) return -1; + if (index < ed->count) + return ed->all[index].hash; + return -1; +} + +const char * +eet_dictionary_string_get_char(const Eet_Dictionary *ed, int index) +{ + if (!ed) return NULL; + if (index < 0) return NULL; + if (index < ed->count) + { +#ifdef _WIN32 + /* Windows file system could change the mmaped file when replacing a file. So we need to copy all string in memory to avoid bugs. */ + if (ed->all[index].str == NULL) + { + ed->all[index].str = strdup(ed->all[index].mmap); + ed->all[index].mmap = NULL; + } +#else + if (ed->all[index].mmap) + return ed->all[index].mmap; +#endif + return ed->all[index].str; + } + return NULL; +} + +static inline int +_eet_dictionary_string_get_me_cache(const char *s, int len, int *mantisse, int *exponent) +{ + if ((len == 6) && (s[0] == '0') && (s[1] == 'x') && (s[3] == 'p')) + { + *mantisse = (s[2] >= 'a') ? (s[2] - 'a' + 10) : (s[2] - '0'); + *exponent = (s[5] - '0'); + + return -1; + } + return 0; +} + +static inline int +_eet_dictionary_string_get_float_cache(const char *s, int len, float *result) +{ + int mantisse; + int exponent; + + if (_eet_dictionary_string_get_me_cache(s, len, &mantisse, &exponent)) + { + if (s[4] == '+') *result = (float) (mantisse << exponent); + else *result = (float) mantisse / (float) (1 << exponent); + + return -1; + } + return 0; +} + +static inline int +_eet_dictionary_string_get_double_cache(const char *s, int len, double *result) +{ + int mantisse; + int exponent; + + if (_eet_dictionary_string_get_me_cache(s, len, &mantisse, &exponent)) + { + if (s[4] == '+') *result = (double) (mantisse << exponent); + else *result = (double) mantisse / (float) (1 << exponent); + + return -1; + } + return 0; +} + +int +eet_dictionary_string_get_float(const Eet_Dictionary *ed, int index, float *result) +{ + if (!result) return 0; + if (!ed) return 0; + if (index < 0) return 0; + if (index < ed->count) + { + if (!(ed->all[index].flags.converted + && ed->all[index].flags.is_float)) + { + const char *str; + + str = ed->all[index].str ? ed->all[index].str : ed->all[index].mmap; + + if (!_eet_dictionary_string_get_float_cache(str, ed->all[index].len, &ed->all[index].convert.f)) + { + long long mantisse = 0; + long exponent = 0; + + if (!_eet_string_to_double_convert(str, &mantisse, &exponent)) + return 0; + + ed->all[index].convert.f = ldexpf((float) mantisse, exponent); + } + + ed->all[index].flags.is_float = 1; + } + + *result = ed->all[index].convert.f; + return -1; + } + return 0; +} + +int +eet_dictionary_string_get_double(const Eet_Dictionary *ed, int index, double *result) +{ + if (!result) return 0; + if (!ed) return 0; + if (index < 0) return 0; + if (index < ed->count) + { + if (!(ed->all[index].flags.converted + && !ed->all[index].flags.is_float)) + { + const char *str; + + str = ed->all[index].str ? ed->all[index].str : ed->all[index].mmap; + + if (!_eet_dictionary_string_get_double_cache(str, ed->all[index].len, &ed->all[index].convert.d)) + { + long long mantisse = 0; + long exponent = 0; + + if (!_eet_string_to_double_convert(str, &mantisse, &exponent)) + return 0; + + ed->all[index].convert.d = ldexp((double) mantisse, exponent); + } + + ed->all[index].flags.is_float = 0; + } + + *result = ed->all[index].convert.d; + return -1; + } + return 0; +} + +EAPI int +eet_dictionary_string_check(Eet_Dictionary *ed, const char *string) +{ + int i; + + if (ed == NULL + || string == NULL) + return 0; + + if (ed->start <= string + && string < ed->end) + return 1; + + for (i = 0; i < ed->count; ++i) + if (ed->all[i].str == string) + return 1; + + return 0; +} diff --git a/src/lib/eet_image.c b/src/lib/eet_image.c new file mode 100644 index 0000000..baeff52 --- /dev/null +++ b/src/lib/eet_image.c @@ -0,0 +1,1155 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#ifdef HAVE_ALLOCA_H +# include +#elif defined __GNUC__ +# define alloca __builtin_alloca +#elif defined _AIX +# define alloca __alloca +#elif defined _MSC_VER +# include +# define alloca _alloca +#else +# include +# ifdef __cplusplus +extern "C" +# endif +void *alloca (size_t); +#endif + +#ifdef HAVE_NETINET_IN_H +# include +#endif + +#include +#include +#include +#include +#include + +#include "Eet.h" +#include "Eet_private.h" + +/*---*/ + +typedef struct _JPEG_error_mgr *emptr; + +/*---*/ + +struct _JPEG_error_mgr +{ + struct jpeg_error_mgr pub; + jmp_buf setjmp_buffer; +}; + +/*---*/ + +static void _JPEGFatalErrorHandler(j_common_ptr cinfo); +static void _JPEGErrorHandler(j_common_ptr cinfo); +static void _JPEGErrorHandler2(j_common_ptr cinfo, int msg_level); + +static int eet_data_image_jpeg_header_decode(const void *data, int size, unsigned int *w, unsigned int *h); +static int eet_data_image_jpeg_rgb_decode(const void *data, int size, unsigned int src_x, unsigned int src_y, unsigned int *d, unsigned int w, unsigned int h, unsigned int row_stride); +static void *eet_data_image_jpeg_alpha_decode(const void *data, int size, unsigned int src_x, unsigned int src_y, unsigned int *d, unsigned int w, unsigned int h, unsigned int row_stride); +static void *eet_data_image_lossless_convert(int *size, const void *data, unsigned int w, unsigned int h, int alpha); +static void *eet_data_image_lossless_compressed_convert(int *size, const void *data, unsigned int w, unsigned int h, int alpha, int compression); +static void *eet_data_image_jpeg_convert(int *size, const void *data, unsigned int w, unsigned int h, int alpha, int quality); +static void *eet_data_image_jpeg_alpha_convert(int *size, const void *data, unsigned int w, unsigned int h, int alpha, int quality); + +/*---*/ + +static int words_bigendian = -1; + +/*---*/ + +#define SWAP64(x) (x) = \ + ((((unsigned long long)(x) & 0x00000000000000ffULL ) << 56) |\ + (((unsigned long long)(x) & 0x000000000000ff00ULL ) << 40) |\ + (((unsigned long long)(x) & 0x0000000000ff0000ULL ) << 24) |\ + (((unsigned long long)(x) & 0x00000000ff000000ULL ) << 8) |\ + (((unsigned long long)(x) & 0x000000ff00000000ULL ) >> 8) |\ + (((unsigned long long)(x) & 0x0000ff0000000000ULL ) >> 24) |\ + (((unsigned long long)(x) & 0x00ff000000000000ULL ) >> 40) |\ + (((unsigned long long)(x) & 0xff00000000000000ULL ) >> 56)) +#define SWAP32(x) (x) = \ + ((((int)(x) & 0x000000ff ) << 24) |\ + (((int)(x) & 0x0000ff00 ) << 8) |\ + (((int)(x) & 0x00ff0000 ) >> 8) |\ + (((int)(x) & 0xff000000 ) >> 24)) +#define SWAP16(x) (x) = \ + ((((short)(x) & 0x00ff ) << 8) |\ + (((short)(x) & 0xff00 ) >> 8)) + +#define CONV8(x) +#define CONV16(x) {if (words_bigendian) SWAP16(x);} +#define CONV32(x) {if (words_bigendian) SWAP32(x);} +#define CONV64(x) {if (words_bigendian) SWAP64(x);} + +/*---*/ + +static void +_JPEGFatalErrorHandler(j_common_ptr cinfo) +{ + emptr errmgr; + + errmgr = (emptr) cinfo->err; + /* cinfo->err->output_message(cinfo);*/ + longjmp(errmgr->setjmp_buffer, 1); + return; +} + +static void +_JPEGErrorHandler(j_common_ptr cinfo) +{ + emptr errmgr; + + errmgr = (emptr) cinfo->err; + /* cinfo->err->output_message(cinfo);*/ + /* longjmp(errmgr->setjmp_buffer, 1);*/ + return; +} + +static void +_JPEGErrorHandler2(j_common_ptr cinfo, int msg_level) +{ + emptr errmgr; + + errmgr = (emptr) cinfo->err; + /* cinfo->err->output_message(cinfo);*/ + /* longjmp(errmgr->setjmp_buffer, 1);*/ + return; + msg_level = 0; +} + +static int +eet_data_image_jpeg_header_decode(const void *data, int size, unsigned int *w, unsigned int *h) +{ + struct jpeg_decompress_struct cinfo; + struct _JPEG_error_mgr jerr; + FILE *f; + + f = _eet_memfile_read_open(data, (size_t)size); + if (!f) return 0; + cinfo.err = jpeg_std_error(&(jerr.pub)); + jerr.pub.error_exit = _JPEGFatalErrorHandler; + jerr.pub.emit_message = _JPEGErrorHandler2; + jerr.pub.output_message = _JPEGErrorHandler; + if (setjmp(jerr.setjmp_buffer)) + { + jpeg_destroy_decompress(&cinfo); + _eet_memfile_read_close(f); + return 0; + } + jpeg_create_decompress(&cinfo); + jpeg_stdio_src(&cinfo, f); + jpeg_read_header(&cinfo, TRUE); + cinfo.do_fancy_upsampling = FALSE; + cinfo.do_block_smoothing = FALSE; + jpeg_start_decompress(&cinfo); + + /* head decoding */ + *w = cinfo.output_width; + *h = cinfo.output_height; + if ((*w < 1) || (*h < 1) || (*w > 8192) || (*h > 8192)) + { + jpeg_destroy_decompress(&cinfo); + _eet_memfile_read_close(f); + return 0; + } + /* end head decoding */ + jpeg_destroy_decompress(&cinfo); + _eet_memfile_read_close(f); + return 1; +} + +static int +eet_data_image_jpeg_rgb_decode(const void *data, int size, unsigned int src_x, unsigned int src_y, + unsigned int *d, unsigned int w, unsigned int h, unsigned int row_stride) +{ + struct jpeg_decompress_struct cinfo; + struct _JPEG_error_mgr jerr; + unsigned char *ptr, *line[16], *tdata = NULL; + unsigned int *ptr2, *tmp; + unsigned int iw, ih; + int x, y, l, scans; + int i, count, prevy; + FILE *f; + + /* FIXME: handle src_x, src_y and row_stride correctly */ + if (!d) return 0; + + f = _eet_memfile_read_open(data, (size_t)size); + if (!f) return 0; + cinfo.err = jpeg_std_error(&(jerr.pub)); + jerr.pub.error_exit = _JPEGFatalErrorHandler; + jerr.pub.emit_message = _JPEGErrorHandler2; + jerr.pub.output_message = _JPEGErrorHandler; + if (setjmp(jerr.setjmp_buffer)) + { + if (tdata) free(tdata); + jpeg_destroy_decompress(&cinfo); + _eet_memfile_read_close(f); + return 0; + } + jpeg_create_decompress(&cinfo); + jpeg_stdio_src(&cinfo, f); + jpeg_read_header(&cinfo, TRUE); + cinfo.dct_method = JDCT_FASTEST; + cinfo.do_fancy_upsampling = FALSE; + cinfo.do_block_smoothing = FALSE; + jpeg_start_decompress(&cinfo); + + /* head decoding */ + iw = cinfo.output_width; + ih = cinfo.output_height; + if ((iw != w) || (ih != h)) + { + jpeg_destroy_decompress(&cinfo); + _eet_memfile_read_close(f); + return 0; + } + /* end head decoding */ + /* data decoding */ + if (cinfo.rec_outbuf_height > 16) + { + jpeg_destroy_decompress(&cinfo); + _eet_memfile_read_close(f); + return 0; + } + tdata = alloca((iw) * 16 * 3); + ptr2 = d; + count = 0; + prevy = 0; + + if (cinfo.output_components == 3) + { + for (i = 0; i < cinfo.rec_outbuf_height; i++) + line[i] = tdata + (i * (iw) * 3); + for (l = 0; l < ih; l += cinfo.rec_outbuf_height) + { + jpeg_read_scanlines(&cinfo, line, cinfo.rec_outbuf_height); + scans = cinfo.rec_outbuf_height; + if ((ih - l) < scans) scans = ih - l; + ptr = tdata; + + if (l + scans >= src_y && l < src_y + h) + { + y = src_y - l; + if (y < 0) y = 0; + for (ptr += 3 * iw * y; y < scans && (y + l) < (src_y + h); y++) + { + tmp = ptr2; + ptr += 3 * src_x; + for (x = 0; x < w; x++) + { + *ptr2 = + (0xff000000) | ((ptr[0]) << 16) | ((ptr[1]) << 8) | (ptr[2]); + ptr += 3; + ptr2++; + } + ptr += 3 * (iw - w); + ptr2 = tmp + row_stride / 4; + } + } + else + { + ptr += 3 * iw * scans; + } + } + } + else if (cinfo.output_components == 1) + { + for (i = 0; i < cinfo.rec_outbuf_height; i++) + line[i] = tdata + (i * (iw)); + for (l = 0; l < (ih); l += cinfo.rec_outbuf_height) + { + jpeg_read_scanlines(&cinfo, line, cinfo.rec_outbuf_height); + scans = cinfo.rec_outbuf_height; + if (((ih) - l) < scans) scans = (ih) - l; + ptr = tdata; + + if (l >= src_y && l < src_y + h) + { + y = src_y - l; + if (y < 0) y = 0; + for (ptr += iw * y; y < scans && (y + l) < (src_y + h); y++) + { + tmp = ptr2; + ptr += src_x; + for (x = 0; x < w; x++) + { + *ptr2 = + (0xff000000) | ((ptr[0]) << 16) | ((ptr[0]) << 8) | (ptr[0]); + ptr++; + ptr2++; + } + ptr += iw - w; + ptr2 = tmp + row_stride / 4; + } + } + else + { + ptr += iw * scans; + } + } + } + /* end data decoding */ + jpeg_finish_decompress(&cinfo); + jpeg_destroy_decompress(&cinfo); + _eet_memfile_read_close(f); + return 1; +} + +static void * +eet_data_image_jpeg_alpha_decode(const void *data, int size, unsigned int src_x, unsigned int src_y, + unsigned int *d, unsigned int w, unsigned int h, unsigned int row_stride) +{ + struct jpeg_decompress_struct cinfo; + struct _JPEG_error_mgr jerr; + unsigned char *ptr, *line[16], *tdata = NULL; + unsigned int *ptr2, *tmp; + int x, y, l, scans; + int i, count, prevy, iw; + FILE *f; + + f = _eet_memfile_read_open(data, (size_t)size); + if (!f) return NULL; + + if (0) + { + char buf[1]; + + while (fread(buf, 1, 1, f)); + _eet_memfile_read_close(f); + return d; + } + cinfo.err = jpeg_std_error(&(jerr.pub)); + jerr.pub.error_exit = _JPEGFatalErrorHandler; + jerr.pub.emit_message = _JPEGErrorHandler2; + jerr.pub.output_message = _JPEGErrorHandler; + if (setjmp(jerr.setjmp_buffer)) + { + if (tdata) free(tdata); + jpeg_destroy_decompress(&cinfo); + _eet_memfile_read_close(f); + return NULL; + } + jpeg_create_decompress(&cinfo); + jpeg_stdio_src(&cinfo, f); + jpeg_read_header(&cinfo, TRUE); + cinfo.dct_method = JDCT_FASTEST; + cinfo.do_fancy_upsampling = FALSE; + cinfo.do_block_smoothing = FALSE; + jpeg_start_decompress(&cinfo); + + /* head decoding */ + iw = cinfo.output_width; + if (w != cinfo.output_width + || h != cinfo.output_height) + { + jpeg_destroy_decompress(&cinfo); + _eet_memfile_read_close(f); + return NULL; + } + /* end head decoding */ + /* data decoding */ + if (cinfo.rec_outbuf_height > 16) + { + jpeg_destroy_decompress(&cinfo); + _eet_memfile_read_close(f); + return NULL; + } + tdata = alloca(w * 16 * 3); + ptr2 = d; + count = 0; + prevy = 0; + if (cinfo.output_components == 1) + { + for (i = 0; i < cinfo.rec_outbuf_height; i++) + line[i] = tdata + (i * w); + for (l = 0; l < h; l += cinfo.rec_outbuf_height) + { + jpeg_read_scanlines(&cinfo, line, cinfo.rec_outbuf_height); + scans = cinfo.rec_outbuf_height; + if ((h - l) < scans) scans = h - l; + ptr = tdata; + + if (l >= src_y && l < src_y + h) + { + y = src_y - l; + if (y < 0) y = 0; + for (ptr += iw * y; y < scans && (y + l) < (src_y + h); y++) + { + tmp = ptr2; + ptr += src_x; + for (x = 0; x < w; x++) + { + *ptr2 = + ((*ptr2) & 0x00ffffff) | + ((ptr[0]) << 24); + ptr++; + ptr2++; + } + ptr += iw - w; + ptr2 = tmp + row_stride / 4; + } + } + else + { + ptr += iw * scans; + } + } + } + /* end data decoding */ + jpeg_finish_decompress(&cinfo); + jpeg_destroy_decompress(&cinfo); + _eet_memfile_read_close(f); + return d; +} + +static void * +eet_data_image_lossless_convert(int *size, const void *data, unsigned int w, unsigned int h, int alpha) +{ + if (words_bigendian == -1) + { + unsigned long int v; + + v = htonl(0x12345678); + if (v == 0x12345678) words_bigendian = 1; + else words_bigendian = 0; + } + { + unsigned char *d; + int *header; + + d = malloc((w * h * 4) + (8 * 4)); + if (!d) return NULL; + + header = (int *)d; + memset(d, 0, 32); + + header[0] = 0xac1dfeed; + header[1] = w; + header[2] = h; + header[3] = alpha; + + memcpy(d + 32, data, w * h * 4); + + if (words_bigendian) + { + unsigned int i; + + for (i = 0; i < ((w * h) + 8); i++) SWAP32(header[i]); + } + *size = ((w * h * 4) + (8 * 4)); + return d; + } +} + +static void * +eet_data_image_lossless_compressed_convert(int *size, const void *data, unsigned int w, unsigned int h, int alpha, int compression) +{ + if (words_bigendian == -1) + { + unsigned long int v; + + v = htonl(0x12345678); + if (v == 0x12345678) words_bigendian = 1; + else words_bigendian = 0; + } + + { + unsigned char *d; + unsigned char *comp; + int *header; + int ret; + uLongf buflen; + + d = malloc((w * h * 4) + (8 * 4)); + if (!d) return NULL; + buflen = (((w * h * 101) / 100) + 3) * 4; + comp = malloc(buflen); + if (!comp) + { + free(d); + return NULL; + } + header = (int *)d; + memset(d, 0, 32); + + header[0] = 0xac1dfeed; + header[1] = w; + header[2] = h; + header[3] = alpha; + header[4] = compression; + memcpy(d + 32, data, w * h * 4); + + if (words_bigendian) + { + unsigned int i; + + for (i = 0; i < ((w * h) + 8); i++) SWAP32(header[i]); + } + ret = compress2((Bytef *)comp, &buflen, + (Bytef *)(d + 32), + (uLong)(w * h * 4), + compression); + if (buflen > (w * h * 4)) + { + free(comp); + free(d); + *size = -1; + return NULL; + } + memcpy(d + 32, comp, buflen); + *size = (8 * 4) + buflen; + free(comp); + return d; + } +} + +static void * +eet_data_image_jpeg_convert(int *size, const void *data, unsigned int w, unsigned int h, int alpha, int quality) +{ + const int *ptr; + void *d = NULL; + size_t sz = 0; + struct _JPEG_error_mgr jerr; + JSAMPROW *jbuf; + struct jpeg_compress_struct cinfo; + FILE *f; + unsigned char *buf; + + (void) alpha; /* unused */ + + f =_eet_memfile_write_open(&d, &sz); + if (!f) return NULL; + + buf = alloca(3 * w); + + cinfo.err = jpeg_std_error(&(jerr.pub)); + jerr.pub.error_exit = _JPEGFatalErrorHandler; + jerr.pub.emit_message = _JPEGErrorHandler2; + jerr.pub.output_message = _JPEGErrorHandler; + if (setjmp(jerr.setjmp_buffer)) + { + jpeg_destroy_compress(&cinfo); + _eet_memfile_write_close(f); + if (d) free(d); + return NULL; + } + jpeg_create_compress(&cinfo); + jpeg_stdio_dest(&cinfo, f); + cinfo.image_width = w; + cinfo.image_height = h; + cinfo.input_components = 3; + cinfo.in_color_space = JCS_RGB; + jpeg_set_defaults(&cinfo); + jpeg_set_quality(&cinfo, quality, TRUE); + if (quality >= 90) + { + cinfo.comp_info[0].h_samp_factor = 1; + cinfo.comp_info[0].v_samp_factor = 1; + cinfo.comp_info[1].h_samp_factor = 1; + cinfo.comp_info[1].v_samp_factor = 1; + cinfo.comp_info[2].h_samp_factor = 1; + cinfo.comp_info[2].v_samp_factor = 1; + } + jpeg_start_compress(&cinfo, TRUE); + + ptr = data; + while (cinfo.next_scanline < cinfo.image_height) + { + unsigned int i, j; + + /* convert scaline from ARGB to RGB packed */ + for (j = 0, i = 0; i < w; i++) + { + buf[j++] = ((*ptr) >> 16) & 0xff; + buf[j++] = ((*ptr) >> 8) & 0xff; + buf[j++] = ((*ptr)) & 0xff; + ptr++; + } + jbuf = (JSAMPROW *) (&buf); + jpeg_write_scanlines(&cinfo, jbuf, 1); + } + + jpeg_finish_compress(&cinfo); + jpeg_destroy_compress(&cinfo); + + _eet_memfile_write_close(f); + *size = sz; + return d; +} + +static void * +eet_data_image_jpeg_alpha_convert(int *size, const void *data, unsigned int w, unsigned int h, int alpha, int quality) +{ + unsigned char *d1, *d2; + unsigned char *d; + int *header; + int sz1, sz2; + + (void) alpha; /* unused */ + + if (words_bigendian == -1) + { + unsigned long int v; + + v = htonl(0x12345678); + if (v == 0x12345678) words_bigendian = 1; + else words_bigendian = 0; + } + + { + const int *ptr; + void *d = NULL; + size_t sz = 0; + struct _JPEG_error_mgr jerr; + JSAMPROW *jbuf; + struct jpeg_compress_struct cinfo; + FILE *f; + unsigned char *buf; + + f = _eet_memfile_write_open(&d, &sz); + if (!f) return NULL; + + buf = alloca(3 * w); + + cinfo.err = jpeg_std_error(&(jerr.pub)); + jerr.pub.error_exit = _JPEGFatalErrorHandler; + jerr.pub.emit_message = _JPEGErrorHandler2; + jerr.pub.output_message = _JPEGErrorHandler; + if (setjmp(jerr.setjmp_buffer)) + { + jpeg_destroy_compress(&cinfo); + _eet_memfile_write_close(f); + if (d) free(d); + return NULL; + } + jpeg_create_compress(&cinfo); + jpeg_stdio_dest(&cinfo, f); + cinfo.image_width = w; + cinfo.image_height = h; + cinfo.input_components = 3; + cinfo.in_color_space = JCS_RGB; + jpeg_set_defaults(&cinfo); + jpeg_set_quality(&cinfo, quality, TRUE); + if (quality >= 90) + { + cinfo.comp_info[0].h_samp_factor = 1; + cinfo.comp_info[0].v_samp_factor = 1; + cinfo.comp_info[1].h_samp_factor = 1; + cinfo.comp_info[1].v_samp_factor = 1; + cinfo.comp_info[2].h_samp_factor = 1; + cinfo.comp_info[2].v_samp_factor = 1; + } + jpeg_start_compress(&cinfo, TRUE); + + ptr = data; + while (cinfo.next_scanline < cinfo.image_height) + { + unsigned int i, j; + + /* convert scaline from ARGB to RGB packed */ + for (j = 0, i = 0; i < w; i++) + { + buf[j++] = ((*ptr) >> 16) & 0xff; + buf[j++] = ((*ptr) >> 8) & 0xff; + buf[j++] = ((*ptr)) & 0xff; + ptr++; + } + jbuf = (JSAMPROW *) (&buf); + jpeg_write_scanlines(&cinfo, jbuf, 1); + } + + jpeg_finish_compress(&cinfo); + jpeg_destroy_compress(&cinfo); + + _eet_memfile_write_close(f); + d1 = d; + sz1 = sz; + } + { + const int *ptr; + void *d = NULL; + size_t sz = 0; + struct _JPEG_error_mgr jerr; + JSAMPROW *jbuf; + struct jpeg_compress_struct cinfo; + FILE *f; + unsigned char *buf; + + f = _eet_memfile_write_open(&d, &sz); + if (!f) + { + free(d1); + return NULL; + } + + buf = alloca(3 * w); + + cinfo.err = jpeg_std_error(&(jerr.pub)); + jerr.pub.error_exit = _JPEGFatalErrorHandler; + jerr.pub.emit_message = _JPEGErrorHandler2; + jerr.pub.output_message = _JPEGErrorHandler; + if (setjmp(jerr.setjmp_buffer)) + { + jpeg_destroy_compress(&cinfo); + _eet_memfile_write_close(f); + if (d) free(d); + free(d1); + return NULL; + } + jpeg_create_compress(&cinfo); + jpeg_stdio_dest(&cinfo, f); + cinfo.image_width = w; + cinfo.image_height = h; + cinfo.input_components = 1; + cinfo.in_color_space = JCS_GRAYSCALE; + jpeg_set_defaults(&cinfo); + jpeg_set_quality(&cinfo, quality, TRUE); + if (quality >= 90) + { + cinfo.comp_info[0].h_samp_factor = 1; + cinfo.comp_info[0].v_samp_factor = 1; + cinfo.comp_info[1].h_samp_factor = 1; + cinfo.comp_info[1].v_samp_factor = 1; + cinfo.comp_info[2].h_samp_factor = 1; + cinfo.comp_info[2].v_samp_factor = 1; + } + jpeg_start_compress(&cinfo, TRUE); + + ptr = data; + while (cinfo.next_scanline < cinfo.image_height) + { + unsigned int i, j; + + /* convert scaline from ARGB to RGB packed */ + for (j = 0, i = 0; i < w; i++) + { + buf[j++] = ((*ptr) >> 24) & 0xff; + ptr++; + } + jbuf = (JSAMPROW *) (&buf); + jpeg_write_scanlines(&cinfo, jbuf, 1); + } + + jpeg_finish_compress(&cinfo); + jpeg_destroy_compress(&cinfo); + + _eet_memfile_write_close(f); + d2 = d; + sz2 = sz; + } + d = malloc(12 + sz1 + sz2); + if (!d) + { + free(d1); + free(d2); + return NULL; + } + header = (int *)d; + header[0] = 0xbeeff00d; + header[1] = sz1; + header[2] = sz2; + if (words_bigendian) + { + int i; + + for (i = 0; i < 3; i++) SWAP32(header[i]); + } + memcpy(d + 12, d1, sz1); + memcpy(d + 12 + sz1, d2, sz2); + + free(d1); + free(d2); + *size = 12 + sz1 + sz2; + return d; +} + +EAPI int +eet_data_image_write(Eet_File *ef, const char *name, + const void *data, unsigned int w, unsigned int h, int alpha, + int compress, int quality, int lossy) +{ + void *d = NULL; + int size = 0; + + d = eet_data_image_encode(data, &size, w, h, alpha, compress, quality, lossy); + if (d) + { + int v; + + v = eet_write(ef, name, d, size, 0); + free(d); + return v; + } + return 0; +} + +EAPI void * +eet_data_image_read(Eet_File *ef, const char *name, + unsigned int *w, unsigned int *h, int *alpha, + int *compress, int *quality, int *lossy) +{ + unsigned int *d = NULL; + void *data; + int size; + int free_data = 0; + + + data = (void *)eet_read_direct(ef, name, &size); + if (!data) + { + data = eet_read(ef, name, &size); + free_data = 1; + } + + if (!data) return NULL; + d = eet_data_image_decode(data, size, w, h, alpha, compress, quality, lossy); + + if (free_data) + free(data); + + return d; +} + +EAPI int +eet_data_image_read_to_surface(Eet_File *ef, const char *name, unsigned int src_x, unsigned int src_y, + unsigned int *d, unsigned int w, unsigned int h, unsigned int row_stride, + int *alpha, int *compress, int *quality, int *lossy) +{ + void *data; + int size; + int free_data = 0; + int res = 1; + + + data = (void *)eet_read_direct(ef, name, &size); + if (!data) + { + data = eet_read(ef, name, &size); + free_data = 1; + } + + if (!data) return 0; + res = eet_data_image_decode_to_surface(data, size, src_x, src_y, d, w, h, row_stride, alpha, compress, quality, lossy); + + if (free_data) + free(data); + + return res; +} + +EAPI int +eet_data_image_header_read(Eet_File *ef, const char *name, + unsigned int *w, unsigned int *h, int *alpha, + int *compress, int *quality, int *lossy) +{ + void *data = NULL; + int size = 0; + int d; + int free_data = 0; + + data = (void *)eet_read_direct(ef, name, &size); + if (!data) + { + data = eet_read(ef, name, &size); + free_data = 1; + } + + if (!data) return 0; + d = eet_data_image_header_decode(data, size, w, h, alpha, compress, quality, lossy); + if (free_data) + free(data); + + return d; +} + +EAPI void * +eet_data_image_encode(const void *data, int *size_ret, unsigned int w, unsigned int h, int alpha, int compress, int quality, int lossy) +{ + void *d = NULL; + int size = 0; + + if (lossy == 0) + { + if (compress > 0) + d = eet_data_image_lossless_compressed_convert(&size, data, w, h, alpha, compress); + + /* eet_data_image_lossless_compressed_convert will refuse to compress something + if the result is bigger than the entry. */ + if (compress <= 0 || d == NULL) + d = eet_data_image_lossless_convert(&size, data, w, h, alpha); + } + else + { + if (!alpha) + d = eet_data_image_jpeg_convert(&size, data, w, h, alpha, quality); + else + d = eet_data_image_jpeg_alpha_convert(&size, data, w, h, alpha, quality); + } + if (size_ret) *size_ret = size; + return d; +} + +EAPI int +eet_data_image_header_decode(const void *data, int size, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy) +{ + int header[8]; + + if (words_bigendian == -1) + { + unsigned long int v; + + v = htonl(0x12345678); + if (v == 0x12345678) words_bigendian = 1; + else words_bigendian = 0; + } + + if (size < 32) return 0; + + memcpy(header, data, 32); + if (words_bigendian) + { + int i; + + for (i = 0; i < 8; i++) SWAP32(header[i]); + } + if ((unsigned)header[0] == 0xac1dfeed) + { + int iw, ih, al, cp; + + iw = header[1]; + ih = header[2]; + al = header[3]; + cp = header[4]; + if ((iw < 1) || (ih < 1) || (iw > 8192) || (ih > 8192)) return 0; + if ((cp == 0) && (size < ((iw * ih * 4) + 32))) return 0; + if (w) *w = iw; + if (h) *h = ih; + if (alpha) *alpha = al ? 1 : 0; + if (compress) *compress = cp; + if (lossy) *lossy = 0; + if (quality) *quality = 100; + return 1; + } + else if ((unsigned)header[0] == 0xbeeff00d) + { + unsigned int iw = 0, ih = 0; + unsigned const char *dt; + int sz1, sz2; + int ok; + + sz1 = header[1]; + sz2 = header[2]; + dt = data; + dt += 12; + ok = eet_data_image_jpeg_header_decode(dt, sz1, &iw, &ih); + if (ok) + { + if (w) *w = iw; + if (h) *h = ih; + if (alpha) *alpha = 1; + if (compress) *compress = 0; + if (lossy) *lossy = 1; + if (quality) *quality = 75; + return 1; + } + } + else + { + unsigned int iw = 0, ih = 0; + int ok; + + ok = eet_data_image_jpeg_header_decode(data, size, &iw, &ih); + if (ok) + { + if (w) *w = iw; + if (h) *h = ih; + if (alpha) *alpha = 0; + if (compress) *compress = 0; + if (lossy) *lossy = 1; + if (quality) *quality = 75; + return 1; + } + } + return 0; +} + +static void +_eet_data_image_copy_buffer(const unsigned int *src, unsigned int src_x, unsigned int src_y, unsigned int src_w, + unsigned int *dst, unsigned int w, unsigned int h, unsigned int row_stride) +{ + src += src_x + src_y * src_w; + + if (row_stride == src_w * 4 && w == src_w) + { + memcpy(dst, src, row_stride * h); + } + else + { + unsigned int *over = dst; + unsigned int y; + + for (y = 0; y < h; ++y, src += src_w, over += row_stride) + memcpy(over, src, w * 4); + } +} + + +static int +_eet_data_image_decode_inside(const void *data, int size, unsigned int src_x, unsigned int src_y, + unsigned int src_w, unsigned int src_h, + unsigned int *d, unsigned int w, unsigned int h, unsigned int row_stride, + int alpha, int compress, int quality, int lossy) +{ + if (lossy == 0 && quality == 100) + { + unsigned int *body; + + body = ((unsigned int *)data) + 8; + if (!compress) + { + _eet_data_image_copy_buffer(body, src_x, src_y, src_w, d, w, h, row_stride); + } + else + { + if (src_h == h && src_w == w && row_stride == src_w * 4) + { + uLongf dlen; + + dlen = w * h * 4; + uncompress((Bytef *)d, &dlen, (Bytef *)body, + (uLongf)(size - 32)); + } + else + { + Bytef *dtmp; + uLongf dlen = src_w * src_h * 4; + + /* FIXME: This could create a huge alloc. So compressed data and tile could not always work. */ + dtmp = malloc(dlen); + if (!dtmp) return 0; + + uncompress(dtmp, &dlen, (Bytef *)body, (uLongf)(size - 32)); + + _eet_data_image_copy_buffer((unsigned int *) dtmp, src_x, src_y, src_w, d, w, h, row_stride); + + free(dtmp); + } + } + + /* Fix swapiness. */ + if (words_bigendian) + { + unsigned int x; + + for (x = 0; x < (w * h); x++) SWAP32(d[x]); + } + } + else if (compress == 0 && lossy == 1) + { + if (alpha) + { + unsigned const char *dt; + int header[8]; + int sz1, sz2; + + memcpy(header, data, 32); + if (words_bigendian) + { + int i; + + for (i = 0; i < 8; i++) SWAP32(header[i]); + } + + sz1 = header[1]; + sz2 = header[2]; + dt = data; + dt += 12; + + if (eet_data_image_jpeg_rgb_decode(dt, sz1, src_x, src_y, d, w, h, row_stride)) + { + dt += sz1; + if (!eet_data_image_jpeg_alpha_decode(dt, sz2, src_x, src_y, d, w, h, row_stride)) + return 0; + } + } + else + { + if (!eet_data_image_jpeg_rgb_decode(data, size, src_x, src_y, d, w, h, row_stride)) + return 0; + } + } + else + { + abort(); + } + + return 1; +} + +EAPI void * +eet_data_image_decode(const void *data, int size, unsigned int *w, unsigned int *h, int *alpha, int *compress, int *quality, int *lossy) +{ + unsigned int *d = NULL; + unsigned int iw, ih; + int ialpha, icompress, iquality, ilossy; + + /* All check are done during header decode, this simplify the code a lot. */ + if (!eet_data_image_header_decode(data, size, &iw, &ih, &ialpha, &icompress, &iquality, &ilossy)) + return NULL; + + d = malloc(iw * ih * 4); + if (!d) return NULL; + + if (!_eet_data_image_decode_inside(data, size, 0, 0, iw, ih, d, iw, ih, iw * 4, ialpha, icompress, iquality, ilossy)) + { + if (d) free(d); + return NULL; + } + + if (w) *w = iw; + if (h) *h = ih; + if (alpha) *alpha = ialpha; + if (compress) *compress = icompress; + if (quality) *quality = iquality; + if (lossy) *lossy = ilossy; + + return d; +} + +EAPI int +eet_data_image_decode_to_surface(const void *data, int size, unsigned int src_x, unsigned int src_y, + unsigned int *d, unsigned int w, unsigned int h, unsigned int row_stride, + int *alpha, int *compress, int *quality, int *lossy) +{ + unsigned int iw, ih; + int ialpha, icompress, iquality, ilossy; + + /* All check are done during header decode, this simplify the code a lot. */ + if (!eet_data_image_header_decode(data, size, &iw, &ih, &ialpha, &icompress, &iquality, &ilossy)) + return 0; + + if (!d) return 0; + if (w * 4 > row_stride) return 0; + if (w > iw || h > ih) return 0; + + if (!_eet_data_image_decode_inside(data, size, src_x, src_y, iw, ih, d, w, h, row_stride, ialpha, icompress, iquality, ilossy)) + return 0; + + if (alpha) *alpha = ialpha; + if (compress) *compress = icompress; + if (quality) *quality = iquality; + if (lossy) *lossy = ilossy; + + return 1; +} diff --git a/src/lib/eet_lib.c b/src/lib/eet_lib.c new file mode 100644 index 0000000..a2775d4 --- /dev/null +++ b/src/lib/eet_lib.c @@ -0,0 +1,1836 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#ifdef HAVE_ALLOCA_H +# include +#elif defined __GNUC__ +# define alloca __builtin_alloca +#elif defined _AIX +# define alloca __alloca +#elif defined _MSC_VER +# include +# define alloca _alloca +#else +# include +# ifdef __cplusplus +extern "C" +# endif +void *alloca (size_t); +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef HAVE_NETINET_IN_H +# include +#endif + +#if defined(_WIN32) && ! defined(__CEGCC__) +# include +#endif + +#ifdef HAVE_EVIL +# include +#endif + +#include "Eet.h" +#include "Eet_private.h" + +#ifdef HAVE_REALPATH +#undef HAVE_REALPATH +#endif + +#define EET_MAGIC_FILE 0x1ee7ff00 +#define EET_MAGIC_FILE_HEADER 0x1ee7ff01 + +#define EET_MAGIC_FILE2 0x1ee70f42 + +typedef struct _Eet_File_Header Eet_File_Header; +typedef struct _Eet_File_Node Eet_File_Node; +typedef struct _Eet_File_Directory Eet_File_Directory; + +struct _Eet_File +{ + char *path; + FILE *fp; + FILE *readfp; + Eet_File_Header *header; + const unsigned char *data; + Eet_Dictionary *ed; + + int magic; + int references; + + Eet_File_Mode mode; + int data_size; + time_t mtime; + + unsigned char writes_pending : 1; + unsigned char delete_me_now : 1; +}; + +struct _Eet_File_Header +{ + int magic; + Eet_File_Directory *directory; +}; + +struct _Eet_File_Directory +{ + int size; + Eet_File_Node **nodes; +}; + +struct _Eet_File_Node +{ + char *name; + void *data; + Eet_File_Node *next; /* FIXME: make buckets linked lists */ + + int offset; + int dictionary_offset; + int name_offset; + + int name_size; + int size; + int data_size; + + unsigned char free_name : 1; + unsigned char compression : 1; +}; + +#if 0 +/* Version 2 */ +/* NB: all int's are stored in network byte order on disk */ +/* file format: */ +int magic; /* magic number ie 0x1ee7ff00 */ +int num_directory_entries; /* number of directory entries to follow */ +int bytes_directory_entries; /* bytes of directory entries to follow */ +struct +{ + int offset; /* bytes offset into file for data chunk */ + int flags; /* flags - for now 0 = uncompressed, 1 = compressed */ + int size; /* size of the data chunk */ + int data_size; /* size of the (uncompressed) data chunk */ + int name_size; /* length in bytes of the name field */ + char name[name_size]; /* name string (variable length) and \0 terminated */ +} directory[num_directory_entries]; +/* and now startes the data stream... */ +#endif + +#if 0 +/* Version 3 */ +/* NB: all int's are stored in network byte order on disk */ +/* file format: */ +int magic; /* magic number ie 0x1ee70f42 */ +int num_directory_entries; /* number of directory entries to follow */ +int num_dictionary_entries; /* number of dictionary entries to follow */ +struct +{ + int data_offset; /* bytes offset into file for data chunk */ + int size; /* size of the data chunk */ + int data_size; /* size of the (uncompressed) data chunk */ + int name_offset; /* bytes offset into file for name string */ + int name_size; /* length in bytes of the name field */ + int flags; /* flags - for now 0 = uncompressed, 1 = compressed */ +} directory[num_directory_entries]; +struct +{ + int hash; + int offset; + int size; + int prev; + int next; +} dictionary[num_dictionary_entries]; +/* now start the string stream. */ +/* and right after them the data stream. */ +#endif + +#define EET_FILE2_HEADER_COUNT 3 +#define EET_FILE2_DIRECTORY_ENTRY_COUNT 6 +#define EET_FILE2_DICTIONARY_ENTRY_COUNT 5 + +#define EET_FILE2_HEADER_SIZE (sizeof(int) * EET_FILE2_HEADER_COUNT) +#define EET_FILE2_DIRECTORY_ENTRY_SIZE (sizeof(int) * EET_FILE2_DIRECTORY_ENTRY_COUNT) +#define EET_FILE2_DICTIONARY_ENTRY_SIZE (sizeof(int) * EET_FILE2_DICTIONARY_ENTRY_COUNT) + +/* prototypes of internal calls */ +static Eet_File *eet_cache_find(const char *path, Eet_File **cache, int cache_num); +static void eet_cache_add(Eet_File *ef, Eet_File ***cache, int *cache_num, int *cache_alloc); +static void eet_cache_del(Eet_File *ef, Eet_File ***cache, int *cache_num, int *cache_alloc); +static int eet_string_match(const char *s1, const char *s2); +#if 0 /* Unused */ +static Eet_Error eet_flush(Eet_File *ef); +#endif +static Eet_Error eet_flush2(Eet_File *ef); +static Eet_File_Node *find_node_by_name(Eet_File *ef, const char *name); +static int read_data_from_disk(Eet_File *ef, Eet_File_Node *efn, void *buf, int len); + +/* cache. i don't expect this to ever be large, so arrays will do */ +static int eet_writers_num = 0; +static int eet_writers_alloc = 0; +static Eet_File **eet_writers = NULL; +static int eet_readers_num = 0; +static int eet_readers_alloc = 0; +static Eet_File **eet_readers = NULL; +static int eet_initcount = 0; + +/* Check to see its' an eet file pointer */ +static inline int +eet_check_pointer(const Eet_File *ef) +{ + if ((!ef) || (ef->magic != EET_MAGIC_FILE)) + return 1; + return 0; +} + +static inline int +eet_check_header(const Eet_File *ef) +{ + if (!ef->header) + return 1; + if (!ef->header->directory) + return 1; + return 0; +} + +static inline int +eet_test_close(int test, Eet_File *ef) +{ + if (test) + { + ef->delete_me_now = 1; + eet_close(ef); + } + return test; +} + +/* find an eet file in the currently in use cache */ +static Eet_File * +eet_cache_find(const char *path, Eet_File **cache, int cache_num) +{ + int i; + + /* walk list */ + for (i = 0; i < cache_num; i++) + { + /* if matches real path - return it */ + if (eet_string_match(cache[i]->path, path)) + { + if (!cache[i]->delete_me_now) + return cache[i]; + } + } + + /* not found */ + return NULL; +} + +/* add to end of cache */ +static void +eet_cache_add(Eet_File *ef, Eet_File ***cache, int *cache_num, int *cache_alloc) +{ + Eet_File **new_cache; + int new_cache_num; + int new_cache_alloc; + + new_cache_num = *cache_num; + if (new_cache_num >= 64) /* avoid fd overruns - limit to 128 (most recent) in the cache */ + { + Eet_File *del_ef = NULL; + int i; + + new_cache = *cache; + for (i = 0; i < new_cache_num; i++) + { + if (new_cache[i]->references == 0) + { + del_ef = new_cache[i]; + break; + } + } + + if (del_ef) + { + del_ef->delete_me_now = 1; + eet_close(del_ef); + } + } + + new_cache = *cache; + new_cache_num = *cache_num; + new_cache_alloc = *cache_alloc; + new_cache_num++; + if (new_cache_num > new_cache_alloc) + { + new_cache_alloc += 16; + new_cache = realloc(new_cache, new_cache_alloc * sizeof(Eet_File *)); + if (!new_cache) + { + fprintf(stderr, "BAD ERROR! Eet realloc of cache list failed. Abort\n"); + abort(); + } + } + new_cache[new_cache_num - 1] = ef; + *cache = new_cache; + *cache_num = new_cache_num; + *cache_alloc = new_cache_alloc; +} + +/* delete from cache */ +static void +eet_cache_del(Eet_File *ef, Eet_File ***cache, int *cache_num, int *cache_alloc) +{ + Eet_File **new_cache; + int new_cache_num, new_cache_alloc; + int i, j; + + new_cache = *cache; + new_cache_num = *cache_num; + new_cache_alloc = *cache_alloc; + if (new_cache_num <= 0) + return; + + for (i = 0; i < new_cache_num; i++) + { + if (new_cache[i] == ef) + break; + } + + if (i >= new_cache_num) + return; + + new_cache_num--; + for (j = i; j < new_cache_num; j++) + new_cache[j] = new_cache[j + 1]; + + if (new_cache_num < (new_cache_alloc - 16)) + { + new_cache_alloc -= 16; + if (new_cache_num > 0) + { + new_cache = realloc(new_cache, new_cache_alloc * sizeof(Eet_File *)); + if (!new_cache) + { + fprintf(stderr, "BAD ERROR! Eet realloc of cache list failed. Abort\n"); + abort(); + } + } + else + { + free(new_cache); + new_cache = NULL; + } + } + *cache = new_cache; + *cache_num = new_cache_num; + *cache_alloc = new_cache_alloc; +} + +/* internal string match. null friendly, catches same ptr */ +static int +eet_string_match(const char *s1, const char *s2) +{ + /* both null- no match */ + if ((!s1) || (!s2)) return 0; + if (s1 == s2) return 1; + return (!strcmp(s1, s2)); +} + +/* flush out writes to a v2 eet file */ +static Eet_Error +eet_flush2(Eet_File *ef) +{ + Eet_File_Node *efn; + Eet_Error error = EET_ERROR_NONE; + int head[EET_FILE2_HEADER_COUNT]; + int num_directory_entries = 0; + int num_dictionary_entries = 0; + int bytes_directory_entries = 0; + int bytes_dictionary_entries = 0; + int bytes_strings = 0; + int data_offset = 0; + int strings_offset = 0; + int num; + int i; + int j; + + if (eet_check_pointer(ef)) + return EET_ERROR_BAD_OBJECT; + if (eet_check_header(ef)) + return EET_ERROR_EMPTY; + if ((ef->mode != EET_FILE_MODE_WRITE) && (ef->mode != EET_FILE_MODE_READ_WRITE)) + return EET_ERROR_NOT_WRITABLE; + if (!ef->writes_pending) + return EET_ERROR_NONE; + if (ef->mode == EET_FILE_MODE_READ_WRITE && ef->fp == NULL) + { + unlink(ef->path); + ef->fp = fopen(ef->path, "wb"); + if (!ef->fp) return EET_ERROR_NOT_WRITABLE; + fcntl(fileno(ef->fp), F_SETFD, FD_CLOEXEC); + } + + /* calculate string base offset and data base offset */ + num = (1 << ef->header->directory->size); + for (i = 0; i < num; ++i) + { + for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next) + { + num_directory_entries++; + bytes_strings += strlen(efn->name) + 1; + } + } + if (ef->ed) + { + num_dictionary_entries = ef->ed->count; + + for (i = 0; i < num_dictionary_entries; ++i) + bytes_strings += ef->ed->all[i].len; + } + + /* calculate section bytes size */ + bytes_directory_entries = EET_FILE2_DIRECTORY_ENTRY_SIZE * num_directory_entries + EET_FILE2_HEADER_SIZE; + bytes_dictionary_entries = EET_FILE2_DICTIONARY_ENTRY_SIZE * num_dictionary_entries; + + /* calculate per entry offset */ + strings_offset = bytes_directory_entries + bytes_dictionary_entries; + data_offset = bytes_directory_entries + bytes_dictionary_entries + bytes_strings; + + for (i = 0; i < num; ++i) + { + for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next) + { + efn->offset = data_offset; + data_offset += efn->size; + + efn->name_offset = strings_offset; + strings_offset += efn->name_size; + } + } + + /* calculate dictionary strings offset */ + if (ef->ed) + ef->ed->offset = strings_offset; + + /* go thru and write the header */ + head[0] = (int) htonl ((unsigned int) EET_MAGIC_FILE2); + head[1] = (int) htonl ((unsigned int) num_directory_entries); + head[2] = (int) htonl ((unsigned int) num_dictionary_entries); + + fseek(ef->fp, 0, SEEK_SET); + if (fwrite(head, sizeof (head), 1, ef->fp) != 1) + goto write_error; + + /* write directories entry */ + j = 0; + for (i = 0; i < num; i++) + { + for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next) + { + int ibuf[EET_FILE2_DIRECTORY_ENTRY_COUNT]; + + ibuf[0] = (int) htonl ((unsigned int) efn->offset); + ibuf[1] = (int) htonl ((unsigned int) efn->size); + ibuf[2] = (int) htonl ((unsigned int) efn->data_size); + ibuf[3] = (int) htonl ((unsigned int) efn->name_offset); + ibuf[4] = (int) htonl ((unsigned int) efn->name_size); + ibuf[5] = (int) htonl ((unsigned int) efn->compression); + + if (fwrite(ibuf, sizeof(ibuf), 1, ef->fp) != 1) + goto write_error; + } + } + + /* write dictionnary */ + if (ef->ed) + { + int offset = strings_offset; + + for (j = 0; j < ef->ed->count; ++j) + { + int sbuf[EET_FILE2_DICTIONARY_ENTRY_COUNT]; + + sbuf[0] = (int) htonl ((unsigned int) ef->ed->all[j].hash); + sbuf[1] = (int) htonl ((unsigned int) offset); + sbuf[2] = (int) htonl ((unsigned int) ef->ed->all[j].len); + sbuf[3] = (int) htonl ((unsigned int) ef->ed->all[j].prev); + sbuf[4] = (int) htonl ((unsigned int) ef->ed->all[j].next); + + offset += ef->ed->all[j].len; + + if (fwrite(sbuf, sizeof (sbuf), 1, ef->fp) != 1) + goto write_error; + } + } + + /* write directories name */ + for (i = 0; i < num; i++) + { + for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next) + { + if (fwrite(efn->name, efn->name_size, 1, ef->fp) != 1) + goto write_error; + } + } + + /* write strings */ + if (ef->ed) + { + for (j = 0; j < ef->ed->count; ++j) + { + if (ef->ed->all[j].str) + { + if (fwrite(ef->ed->all[j].str, ef->ed->all[j].len, 1, ef->fp) != 1) + goto write_error; + } + else + { + if (fwrite(ef->ed->all[j].mmap, ef->ed->all[j].len, 1, ef->fp) != 1) + goto write_error; + } + } + } + + /* write data */ + for (i = 0; i < num; i++) + { + for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next) + { + if (fwrite(efn->data, efn->size, 1, ef->fp) != 1) + goto write_error; + } + } + + /* no more writes pending */ + ef->writes_pending = 0; + + return EET_ERROR_NONE; + + write_error: + switch (ferror(ef->fp)) + { + case EFBIG: error = EET_ERROR_WRITE_ERROR_FILE_TOO_BIG; break; + case EIO: error = EET_ERROR_WRITE_ERROR_IO_ERROR; break; + case ENOSPC: error = EET_ERROR_WRITE_ERROR_OUT_OF_SPACE; break; + case EPIPE: error = EET_ERROR_WRITE_ERROR_FILE_CLOSED; break; + default: error = EET_ERROR_WRITE_ERROR; break; + } + if (ef->fp) fclose(ef->fp); + ef->fp = NULL; + return error; +} + +#if 0 /* Unused */ +/* flush out writes to an eet file */ +static Eet_Error +eet_flush(Eet_File *ef) +{ + Eet_File_Node *efn; + int head[3]; + int count = 0; + int size = 0; + int offset = 0; + int i; + int num; + + /* check to see its' an eet file pointer */ + if (eet_check_pointer(ef)) + return EET_ERROR_BAD_OBJECT; + if (eet_check_header(ef)) + return EET_ERROR_EMPTY; + if ((ef->mode != EET_FILE_MODE_WRITE) && (ef->mode != EET_FILE_MODE_READ_WRITE)) + return EET_ERROR_NOT_WRITABLE; + if (!ef->writes_pending) + return EET_ERROR_NONE; + + /* calculate total size in bytes of directory block */ + num = (1 << ef->header->directory->size); + for (i = 0; i < num; i++) + { + for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next) + { + size += 20 + strlen(efn->name) + 1; + count++; + } + } + + /* calculate offsets per entry */ + offset = 0; + for (i = 0; i < num; i++) + { + for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next) + { + efn->offset = 12 + size + offset; + offset += efn->size; + } + } + + /* go thru and write the header */ + head[0] = (int) htonl ((unsigned int) EET_MAGIC_FILE); + head[1] = (int) htonl ((unsigned int) count); + head[2] = (int) htonl ((unsigned int) size); + + fseek(ef->fp, 0, SEEK_SET); + if (fwrite(head, 12, 1, ef->fp) != 1) + goto write_error; + + for (i = 0; i < num; i++) + { + for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next) + { + unsigned int ibuf[5]; + int name_size; + + name_size = strlen(efn->name) + 1; + + ibuf[0] = (int) htonl ((unsigned int) efn->offset); + ibuf[1] = (int) htonl ((unsigned int) efn->compression); + ibuf[2] = (int) htonl ((unsigned int) efn->size); + ibuf[3] = (int) htonl ((unsigned int) efn->data_size); + ibuf[4] = (int) htonl ((unsigned int) name_size); + + + if (fwrite(ibuf, sizeof(ibuf), 1, ef->fp) != 1) + goto write_error; + if (fwrite(efn->name, name_size, 1, ef->fp) != 1) + goto write_error; + } + } + + /* write data */ + for (i = 0; i < num; i++) + { + for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next) + { + if (fwrite(efn->data, efn->size, 1, ef->fp) != 1) + goto write_error; + } + } + + /* no more writes pending */ + ef->writes_pending = 0; + + return EET_ERROR_NONE; + + write_error: + switch (ferror(ef->fp)) + { + case EFBIG: + fclose(ef->fp); + ef->fp = NULL; + return EET_ERROR_WRITE_ERROR_FILE_TOO_BIG; + case EIO: + fclose(ef->fp); + ef->fp = NULL; + return EET_ERROR_WRITE_ERROR_IO_ERROR; + case ENOSPC: + fclose(ef->fp); + ef->fp = NULL; + return EET_ERROR_WRITE_ERROR_OUT_OF_SPACE; + case EPIPE: + fclose(ef->fp); + ef->fp = NULL; + return EET_ERROR_WRITE_ERROR_FILE_CLOSED; + default: + fclose(ef->fp); + ef->fp = NULL; + return EET_ERROR_WRITE_ERROR; + } + fclose(ef->fp); + ef->fp = NULL; + return EET_ERROR_WRITE_ERROR; +} +#endif + +EAPI int +eet_init(void) +{ + return ++eet_initcount; +} + +EAPI int +eet_shutdown(void) +{ + if (--eet_initcount == 0) + { + eet_clearcache(); + _eet_memfile_shutdown(); + } + + return eet_initcount; +} + +EAPI void +eet_clearcache(void) +{ + int num = 0; + int i; + + /* + * We need to compute the list of eet file to close separately from the cache, + * due to eet_close removing them from the cache after each call. + */ + for (i = 0; i < eet_writers_num; i++) + { + if (eet_writers[i]->references <= 0) num++; + } + + for (i = 0; i < eet_readers_num; i++) + { + if (eet_readers[i]->references <= 0) num++; + } + + if (num > 0) + { + Eet_File **closelist = NULL; + + closelist = alloca(num * sizeof(Eet_File *)); + num = 0; + for (i = 0; i < eet_writers_num; i++) + { + if (eet_writers[i]->references <= 0) + { + closelist[num] = eet_writers[i]; + eet_writers[i]->delete_me_now = 1; + num++; + } + } + + for (i = 0; i < eet_readers_num; i++) + { + if (eet_readers[i]->references <= 0) + { + closelist[num] = eet_readers[i]; + eet_readers[i]->delete_me_now = 1; + num++; + } + } + + for (i = 0; i < num; i++) + { + eet_close(closelist[i]); + } + } +} + +/* FIXME: MMAP race condition in READ_WRITE_MODE */ +static Eet_File * +eet_internal_read2(Eet_File *ef) +{ + const int *data = (const int*) ef->data; + const char *start = (const char*) ef->data; + int index = 0; + int num_directory_entries; + int bytes_directory_entries; + int num_dictionary_entries; + int bytes_dictionary_entries; + int i; + + index += sizeof(int); + if (eet_test_close((int) ntohl(*data) != EET_MAGIC_FILE2, ef)) + return NULL; + data++; + +#define GET_INT(Value, Pointer, Index) \ + { \ + Value = ntohl(*Pointer); \ + Pointer++; \ + Index += sizeof(int); \ + } + + /* get entries count and byte count */ + GET_INT(num_directory_entries, data, index); + /* get dictionary count and byte count */ + GET_INT(num_dictionary_entries, data, index); + + bytes_directory_entries = EET_FILE2_DIRECTORY_ENTRY_SIZE * num_directory_entries + EET_FILE2_HEADER_SIZE; + bytes_dictionary_entries = EET_FILE2_DICTIONARY_ENTRY_SIZE * num_dictionary_entries; + + /* we cant have <= 0 values here - invalid */ + if (eet_test_close((num_directory_entries <= 0), ef)) + return NULL; + + /* we cant have more bytes directory and bytes in dictionaries than the size of the file */ + if (eet_test_close((bytes_directory_entries + bytes_dictionary_entries) > ef->data_size, ef)) + return NULL; + + /* allocate header */ + ef->header = calloc(1, sizeof(Eet_File_Header)); + if (eet_test_close(!ef->header, ef)) + return NULL; + + ef->header->magic = EET_MAGIC_FILE_HEADER; + + /* allocate directory block in ram */ + ef->header->directory = calloc(1, sizeof(Eet_File_Directory)); + if (eet_test_close(!ef->header->directory, ef)) + return NULL; + + /* 8 bit hash table (256 buckets) */ + ef->header->directory->size = 8; + /* allocate base hash table */ + ef->header->directory->nodes = calloc(1, sizeof(Eet_File_Node *) * (1 << ef->header->directory->size)); + if (eet_test_close(!ef->header->directory->nodes, ef)) + return NULL; + + /* actually read the directory block - all of it, into ram */ + for (i = 0; i < num_directory_entries; ++i) + { + const char *name; + Eet_File_Node *efn; + int name_offset; + int name_size; + int hash; + + /* out directory block is inconsistent - we have oveerun our */ + /* dynamic block buffer before we finished scanning dir entries */ + efn = malloc (sizeof(Eet_File_Node)); + if (eet_test_close(!efn, ef)) + return NULL; + + /* get entrie header */ + GET_INT(efn->offset, data, index); + GET_INT(efn->size, data, index); + GET_INT(efn->data_size, data, index); + GET_INT(name_offset, data, index); + GET_INT(name_size, data, index); + GET_INT(efn->compression, data, index); + +#define EFN_TEST(Test, Ef, Efn) \ + if (eet_test_close(Test, Ef)) \ + { \ + free(Efn); \ + return NULL; \ + } + + /* check data pointer position */ + EFN_TEST(!((efn->size > 0) + && (efn->offset + efn->size <= ef->data_size) + && (efn->offset > bytes_dictionary_entries + bytes_directory_entries)), ef, efn); + + /* check name position */ + EFN_TEST(!((name_size > 0) + && (name_offset + name_size < ef->data_size) + && (name_offset >= bytes_dictionary_entries + bytes_directory_entries)), ef, efn); + + name = start + name_offset; + + /* check '\0' at the end of name string */ + EFN_TEST(name[name_size - 1] != '\0', ef, efn); + + efn->free_name = 0; + efn->name = (char*) name; + efn->name_size = name_size; + + hash = _eet_hash_gen(efn->name, ef->header->directory->size); + efn->next = ef->header->directory->nodes[hash]; + ef->header->directory->nodes[hash] = efn; + + /* read-only mode, so currently we have no data loaded */ + if (ef->mode == EET_FILE_MODE_READ) + efn->data = NULL; + /* read-write mode - read everything into ram */ + else + { + efn->data = malloc(efn->size); + if (efn->data) + memcpy(efn->data, ef->data + efn->offset, efn->size); + } + } + + ef->ed = NULL; + + if (num_dictionary_entries) + { + const int *dico = (const int*) ef->data + EET_FILE2_DIRECTORY_ENTRY_COUNT * num_directory_entries + EET_FILE2_HEADER_COUNT; + int j; + + if (eet_test_close((num_directory_entries * EET_FILE2_DICTIONARY_ENTRY_SIZE + index) > (bytes_dictionary_entries + bytes_directory_entries), ef)) + return NULL; + + ef->ed = calloc(1, sizeof (Eet_Dictionary)); + if (eet_test_close(!ef->ed, ef)) return NULL; + + ef->ed->all = calloc(num_dictionary_entries, sizeof (Eet_String)); + if (eet_test_close(!ef->ed->all, ef)) return NULL; + + ef->ed->count = num_dictionary_entries; + ef->ed->total = num_dictionary_entries; + ef->ed->start = start + bytes_dictionary_entries + bytes_directory_entries; + ef->ed->end = ef->ed->start; + + for (j = 0; j < ef->ed->count; ++j) + { + int hash; + int offset; + + GET_INT(hash, dico, index); + GET_INT(offset, dico, index); + GET_INT(ef->ed->all[j].len, dico, index); + GET_INT(ef->ed->all[j].prev, dico, index); + GET_INT(ef->ed->all[j].next, dico, index); + + /* Hash value could be stored on 8bits data, but this will break alignment of all the others data. + So stick to int and check the value. */ + if (eet_test_close(hash & 0xFFFFFF00, ef)) return NULL; + + /* Check string position */ + if (eet_test_close(!((ef->ed->all[j].len > 0) + && (offset > (bytes_dictionary_entries + bytes_directory_entries)) + && (offset + ef->ed->all[j].len < ef->data_size)), ef)) + return NULL; + + ef->ed->all[j].mmap = start + offset; + ef->ed->all[j].str = NULL; + + if (ef->ed->all[j].mmap + ef->ed->all[j].len > ef->ed->end) + ef->ed->end = ef->ed->all[j].mmap + ef->ed->all[j].len; + + /* Check '\0' at the end of the string */ + if (eet_test_close(ef->ed->all[j].mmap[ef->ed->all[j].len - 1] != '\0', ef)) return NULL; + + ef->ed->all[j].hash = hash; + if (ef->ed->all[j].prev == -1) + ef->ed->hash[hash] = j; + } + } + + return ef; +} + +#if EET_OLD_EET_FILE_FORMAT +static Eet_File * +eet_internal_read1(Eet_File *ef) +{ + const unsigned char *dyn_buf = NULL; + const unsigned char *p = NULL; + int index = 0; + int num_entries; + int byte_entries; + int i; + + fprintf(stderr, "EET file format of '%s' is deprecated. You should just open it one time with mode == EET_FILE_MODE_READ_WRITE to solve this issue.\n", ef->path); + + /* build header table if read mode */ + /* geat header */ + index += sizeof(int); + if (eet_test_close((int)ntohl(*((int *)ef->data)) != EET_MAGIC_FILE, ef)) + return NULL; + +#define EXTRACT_INT(Value, Pointer, Index) \ + { \ + int tmp; \ + memcpy(&tmp, Pointer + Index, sizeof(int)); \ + Value = ntohl(tmp); \ + Index += sizeof(int); \ + } + + /* get entries count and byte count */ + EXTRACT_INT(num_entries, ef->data, index); + EXTRACT_INT(byte_entries, ef->data, index); + + /* we cant have <= 0 values here - invalid */ + if (eet_test_close((num_entries <= 0) || (byte_entries <= 0), ef)) + return NULL; + + /* we can't have more entires than minimum bytes for those! invalid! */ + if (eet_test_close((num_entries * 20) > byte_entries, ef)) + return NULL; + + /* check we will not outrun the file limit */ + if (eet_test_close(((byte_entries + sizeof(int) * 3) > ef->data_size), ef)) + return NULL; + + /* allocate header */ + ef->header = calloc(1, sizeof(Eet_File_Header)); + if (eet_test_close(!ef->header, ef)) + return NULL; + + ef->header->magic = EET_MAGIC_FILE_HEADER; + + /* allocate directory block in ram */ + ef->header->directory = calloc(1, sizeof(Eet_File_Directory)); + if (eet_test_close(!ef->header->directory, ef)) + return NULL; + + /* 8 bit hash table (256 buckets) */ + ef->header->directory->size = 8; + /* allocate base hash table */ + ef->header->directory->nodes = calloc(1, sizeof(Eet_File_Node *) * (1 << ef->header->directory->size)); + if (eet_test_close(!ef->header->directory->nodes, ef)) + return NULL; + + /* actually read the directory block - all of it, into ram */ + dyn_buf = ef->data + index; + + /* parse directory block */ + p = dyn_buf; + + for (i = 0; i < num_entries; i++) + { + Eet_File_Node *efn; + void *data = NULL; + int indexn = 0; + int name_size; + int hash; + int k; + +#define HEADER_SIZE (sizeof(int) * 5) + + /* out directory block is inconsistent - we have oveerun our */ + /* dynamic block buffer before we finished scanning dir entries */ + if (eet_test_close(p + HEADER_SIZE >= (dyn_buf + byte_entries), ef)) + return NULL; + + /* allocate all the ram needed for this stored node accounting */ + efn = malloc (sizeof(Eet_File_Node)); + if (eet_test_close(!efn, ef)) + return NULL; + + /* get entrie header */ + EXTRACT_INT(efn->offset, p, indexn); + EXTRACT_INT(efn->compression, p, indexn); + EXTRACT_INT(efn->size, p, indexn); + EXTRACT_INT(efn->data_size, p, indexn); + EXTRACT_INT(name_size, p, indexn); + + efn->name_size = name_size; + + /* invalid size */ + if (eet_test_close(efn->size <= 0, ef)) + { + free (efn); + return NULL; + } + + /* invalid name_size */ + if (eet_test_close(name_size <= 0, ef)) + { + free (efn); + return NULL; + } + + /* reading name would mean falling off end of dyn_buf - invalid */ + if (eet_test_close((p + 16 + name_size) > (dyn_buf + byte_entries), ef)) + { + free (efn); + return NULL; + } + + /* This code is useless if we dont want backward compatibility */ + for (k = name_size; k > 0 && ((unsigned char) * (p + HEADER_SIZE + k)) != 0; --k) + ; + + efn->free_name = ((unsigned char) * (p + HEADER_SIZE + k)) != 0; + + if (efn->free_name) + { + efn->name = malloc(sizeof(char) * name_size + 1); + if (eet_test_close(efn->name == NULL, ef)) + { + free (efn); + return NULL; + } + + strncpy(efn->name, (char *)p + HEADER_SIZE, name_size); + efn->name[name_size] = 0; + + printf("File: %s is not up to date for key \"%s\" - needs rebuilding sometime\n", ef->path, efn->name); + } + else + /* The only really usefull peace of code for efn->name (no backward compatibility) */ + efn->name = (char*)((unsigned char*)(p + HEADER_SIZE)); + + /* get hash bucket it should go in */ + hash = _eet_hash_gen(efn->name, ef->header->directory->size); + efn->next = ef->header->directory->nodes[hash]; + ef->header->directory->nodes[hash] = efn; + + /* read-only mode, so currently we have no data loaded */ + if (ef->mode == EET_FILE_MODE_READ) + efn->data = NULL; + /* read-write mode - read everything into ram */ + else + { + data = malloc(efn->size); + if (data) + memcpy(data, ef->data + efn->offset, efn->size); + efn->data = data; + } + /* advance */ + p += HEADER_SIZE + name_size; + } + return ef; +} +#endif + +static Eet_File * +eet_internal_read(Eet_File *ef) +{ + const int *data = (const int*) ef->data; + + if (eet_test_close((ef->data == (void *)-1) || (ef->data == NULL), ef)) + return NULL; + + if (eet_test_close(ef->data_size < sizeof(int) * 3, ef)) + return NULL; + + switch (ntohl(*data)) + { +#if EET_OLD_EET_FILE_FORMAT + case EET_MAGIC_FILE: + return eet_internal_read1(ef); +#endif + case EET_MAGIC_FILE2: + return eet_internal_read2(ef); + default: + ef->delete_me_now = 1; + eet_close(ef); + break; + } + + return NULL; +} + +#if 0 /* No prototype */ +EAPI Eet_File * +eet_memopen_read(const void *data, size_t size) +{ + Eet_File *ef; + + if (data == NULL || size == 0) + return NULL; + + ef = malloc (sizeof (Eet_File)); + if (!ef) + return NULL; + + ef->ed = NULL; + ef->path = NULL; + ef->magic = EET_MAGIC_FILE; + ef->references = 1; + ef->mode = EET_FILE_MODE_READ; + ef->header = NULL; + ef->mtime = 0; + ef->delete_me_now = 1; + ef->fp = NULL; + ef->data = data; + ef->data_size = size; + + return eet_internal_read(ef); +} +#endif + +EAPI Eet_File * +eet_open(const char *file, Eet_File_Mode mode) +{ + FILE *fp; + Eet_File *ef; + int file_len; + struct stat file_stat; + + if (!file) + return NULL; + + /* find the current file handle in cache*/ + ef = NULL; + if (mode == EET_FILE_MODE_READ) + { + ef = eet_cache_find((char *)file, eet_writers, eet_writers_num); + if (ef) + { + eet_flush2(ef); + ef->references++; + ef->delete_me_now = 1; + eet_close(ef); + } + ef = eet_cache_find((char *)file, eet_readers, eet_readers_num); + } + else if ((mode == EET_FILE_MODE_WRITE) || + (mode == EET_FILE_MODE_READ_WRITE)) + { + ef = eet_cache_find((char *)file, eet_readers, eet_readers_num); + if (ef) + { + ef->delete_me_now = 1; + ef->references++; + eet_close(ef); + } + ef = eet_cache_find((char *)file, eet_writers, eet_writers_num); + } + + /* try open the file based on mode */ + if ((mode == EET_FILE_MODE_READ) || (mode == EET_FILE_MODE_READ_WRITE)) + { + fp = fopen(file, "rb"); + if (!fp) goto on_error; + if (fstat(fileno(fp), &file_stat)) + { + fclose(fp); + fp = NULL; + goto on_error; + } + if ((mode == EET_FILE_MODE_READ) && + (file_stat.st_size < (sizeof(int) * 3))) + { + fclose(fp); + fp = NULL; + goto on_error; + } + + on_error: + if (fp == NULL && mode == EET_FILE_MODE_READ) return NULL; + } + else + { + if (mode != EET_FILE_MODE_WRITE) return NULL; + memset(&file_stat, 0, sizeof(file_stat)); + /* opening for write - delete old copy of file right away */ + unlink(file); + fp = fopen(file, "wb"); + } + + /* We found one */ + if (ef && (file_stat.st_mtime != ef->mtime)) + { + ef->delete_me_now = 1; + ef->references++; + eet_close(ef); + ef = NULL; + } + + if (ef) + { + /* reference it up and return it */ + if (fp != NULL) fclose(fp); + ef->references++; + return ef; + } + + file_len = strlen(file) + 1; + + /* Allocate struct for eet file and have it zero'd out */ + ef = malloc(sizeof(Eet_File) + file_len); + if (!ef) + return NULL; + + /* fill some of the members */ + ef->fp = fp; + ef->readfp = NULL; + ef->path = ((char *)ef) + sizeof(Eet_File); + memcpy(ef->path, file, file_len); + ef->magic = EET_MAGIC_FILE; + ef->references = 1; + ef->mode = mode; + ef->header = NULL; + ef->mtime = file_stat.st_mtime; + ef->writes_pending = 0; + ef->delete_me_now = 0; + ef->data = NULL; + ef->data_size = 0; + + ef->ed = (mode == EET_FILE_MODE_WRITE) + || (ef->fp == NULL && mode == EET_FILE_MODE_READ_WRITE) ? + eet_dictionary_add() : NULL; + + if (ef->fp == NULL && mode == EET_FILE_MODE_READ_WRITE) goto empty_file; + + /* if we can't open - bail out */ + if (eet_test_close(!ef->fp, ef)) + return NULL; + + fcntl(fileno(ef->fp), F_SETFD, FD_CLOEXEC); + /* if we opened for read or read-write */ + if ((mode == EET_FILE_MODE_READ) || (mode == EET_FILE_MODE_READ_WRITE)) + { + ef->data_size = file_stat.st_size; + ef->data = mmap(NULL, ef->data_size, PROT_READ, + MAP_SHARED, fileno(ef->fp), 0); + if (eet_test_close((ef->data == MAP_FAILED), ef)) + return NULL; + ef = eet_internal_read(ef); + if (!ef) + return NULL; + } + + empty_file: + /* we need to delete the original file in read-write mode and re-open for writing */ + if (ef->mode == EET_FILE_MODE_READ_WRITE) + { + ef->readfp = ef->fp; + ef->fp = NULL; + } + + /* add to cache */ + if (ef->references == 1) + { + if (ef->mode == EET_FILE_MODE_READ) + eet_cache_add(ef, &eet_readers, &eet_readers_num, &eet_readers_alloc); + else + if ((ef->mode == EET_FILE_MODE_WRITE) || (ef->mode == EET_FILE_MODE_READ_WRITE)) + eet_cache_add(ef, &eet_writers, &eet_writers_num, &eet_writers_alloc); + } + + return ef; +} + +EAPI Eet_File_Mode +eet_mode_get(Eet_File *ef) +{ + /* check to see its' an eet file pointer */ + if ((!ef) || (ef->magic != EET_MAGIC_FILE)) + return EET_FILE_MODE_INVALID; + else + return ef->mode; +} + +EAPI Eet_Error +eet_close(Eet_File *ef) +{ + Eet_Error err; + + /* check to see its' an eet file pointer */ + if (eet_check_pointer(ef)) + return EET_ERROR_BAD_OBJECT; + /* deref */ + ef->references--; + /* if its still referenced - dont go any further */ + if (ef->references > 0) return EET_ERROR_NONE; + /* flush any writes */ + err = eet_flush2(ef); + + /* if not urgent to delete it - dont free it - leave it in cache */ + if ((!ef->delete_me_now) && (ef->mode == EET_FILE_MODE_READ)) + return EET_ERROR_NONE; + + /* remove from cache */ + if (ef->mode == EET_FILE_MODE_READ) + eet_cache_del(ef, &eet_readers, &eet_readers_num, &eet_readers_alloc); + else if ((ef->mode == EET_FILE_MODE_WRITE) || (ef->mode == EET_FILE_MODE_READ_WRITE)) + eet_cache_del(ef, &eet_writers, &eet_writers_num, &eet_writers_alloc); + + /* free up data */ + if (ef->header) + { + if (ef->header->directory) + { + if (ef->header->directory->nodes) + { + int i, num; + + num = (1 << ef->header->directory->size); + for (i = 0; i < num; i++) + { + Eet_File_Node *efn; + + while ((efn = ef->header->directory->nodes[i])) + { + if (efn->data) + free(efn->data); + + ef->header->directory->nodes[i] = efn->next; + + if (efn->free_name) + free(efn->name); + + free(efn); + } + } + free(ef->header->directory->nodes); + } + free(ef->header->directory); + } + free(ef->header); + } + + eet_dictionary_free(ef->ed); + + if (ef->data) munmap((void*)ef->data, ef->data_size); + if (ef->fp) fclose(ef->fp); + if (ef->readfp) fclose(ef->readfp); + + /* zero out ram for struct - caution tactic against stale memory use */ + memset(ef, 0, sizeof(Eet_File)); + + /* free it */ + free(ef); + return err; +} + +EAPI void * +eet_read(Eet_File *ef, const char *name, int *size_ret) +{ + void *data = NULL; + int size = 0; + Eet_File_Node *efn; + + if (size_ret) + *size_ret = 0; + + /* check to see its' an eet file pointer */ + if (eet_check_pointer(ef)) + return NULL; + if (!name) + return NULL; + if ((ef->mode != EET_FILE_MODE_READ) && + (ef->mode != EET_FILE_MODE_READ_WRITE)) + return NULL; + + /* no header, return NULL */ + if (eet_check_header(ef)) + return NULL; + + /* hunt hash bucket */ + efn = find_node_by_name(ef, name); + if (!efn) + return NULL; + + /* get size (uncompressed, if compressed at all) */ + size = efn->data_size; + + /* allocate data */ + data = malloc(size); + if (!data) + return NULL; + + /* uncompressed data */ + if (efn->compression == 0) + { + /* if we alreayd have the data in ram... copy that */ + if (efn->data) + memcpy(data, efn->data, efn->size); + else + if (!read_data_from_disk(ef, efn, data, size)) + { + free(data); + return NULL; + } + } + /* compressed data */ + else + { + void *tmp_data; + int free_tmp = 0; + int compr_size = efn->size; + uLongf dlen; + + /* if we already have the data in ram... copy that */ + if (efn->data) + tmp_data = efn->data; + else + { + tmp_data = malloc(compr_size); + if (!tmp_data) + { + free(data); + return NULL; + } + + free_tmp = 1; + + if (!read_data_from_disk(ef, efn, tmp_data, compr_size)) + { + free(tmp_data); + free(data); + return NULL; + } + } + + /* decompress it */ + dlen = size; + if (uncompress((Bytef *)data, &dlen, + tmp_data, (uLongf)compr_size)) + { + free(data); + return NULL; + } + + if (free_tmp) + free(tmp_data); + } + + /* fill in return values */ + if (size_ret) + *size_ret = size; + + return data; +} + +EAPI const void * +eet_read_direct(Eet_File *ef, const char *name, int *size_ret) +{ + const void *data = NULL; + int size = 0; + Eet_File_Node *efn; + + if (size_ret) + *size_ret = 0; + + /* check to see its' an eet file pointer */ + if (eet_check_pointer(ef)) + return NULL; + if (!name) + return NULL; + if ((ef->mode != EET_FILE_MODE_READ) && + (ef->mode != EET_FILE_MODE_READ_WRITE)) + return NULL; + + /* no header, return NULL */ + if (eet_check_header(ef)) + return NULL; + + /* hunt hash bucket */ + efn = find_node_by_name(ef, name); + if (!efn) + return NULL; + + if (efn->offset < 0 && efn->data == NULL) + return NULL; + + /* get size (uncompressed, if compressed at all) */ + size = efn->data_size; + + /* uncompressed data */ + if (efn->compression == 0) + data = efn->data ? efn->data : ef->data + efn->offset; + /* compressed data */ + else + data = NULL; + + /* fill in return values */ + if (size_ret) + *size_ret = size; + + return data; +} + +EAPI int +eet_write(Eet_File *ef, const char *name, const void *data, int size, int compress) +{ + Eet_File_Node *efn; + void *data2; + int exists_already = 0; + int data_size; + int hash; + + /* check to see its' an eet file pointer */ + if (eet_check_pointer(ef)) + return 0; + if ((!name) || (!data) || (size <= 0)) + return 0; + if ((ef->mode != EET_FILE_MODE_WRITE) && + (ef->mode != EET_FILE_MODE_READ_WRITE)) + return 0; + + if (!ef->header) + { + /* allocate header */ + ef->header = calloc(1, sizeof(Eet_File_Header)); + if (!ef->header) + return 0; + + ef->header->magic = EET_MAGIC_FILE_HEADER; + /* allocate directory block in ram */ + ef->header->directory = calloc(1, sizeof(Eet_File_Directory)); + if (!ef->header->directory) + return 0; + + /* 8 bit hash table (256 buckets) */ + ef->header->directory->size = 8; + /* allocate base hash table */ + ef->header->directory->nodes = calloc(1, sizeof(Eet_File_Node *) * (1 << ef->header->directory->size)); + if (!ef->header->directory->nodes) + return 0; + } + + /* figure hash bucket */ + hash = _eet_hash_gen(name, ef->header->directory->size); + + data_size = compress ? 12 + ((size * 101) / 100) : size; + + data2 = malloc(data_size); + if (!data2) + return 0; + + /* if we want to compress */ + if (compress) + { + uLongf buflen; + + /* compress the data with max compression */ + buflen = (uLongf)data_size; + if (compress2((Bytef *)data2, &buflen, (Bytef *)data, + (uLong)size, Z_BEST_COMPRESSION) != Z_OK) + { + free(data2); + return 0; + } + /* record compressed chunk size */ + data_size = (int)buflen; + if (data_size < 0 || data_size >= size) + { + compress = 0; + data_size = size; + } + else + { + void *data3; + + data3 = realloc(data2, data_size); + if (data3) + data2 = data3; + } + } + if (!compress) + memcpy(data2, data, size); + + /* Does this node already exist? */ + for (efn = ef->header->directory->nodes[hash]; efn; efn = efn->next) + { + /* if it matches */ + if ((efn->name) && (eet_string_match(efn->name, name))) + { + free(efn->data); + efn->compression = !!compress; + efn->size = data_size; + efn->data_size = size; + efn->data = data2; + efn->offset = -1; + exists_already = 1; + break; + } + } + if (!exists_already) + { + efn = malloc(sizeof(Eet_File_Node)); + if (!efn) + { + free(data2); + return 0; + } + efn->name = strdup(name); + efn->name_size = strlen(efn->name) + 1; + efn->free_name = 1; + + efn->next = ef->header->directory->nodes[hash]; + ef->header->directory->nodes[hash] = efn; + efn->offset = -1; + efn->compression = !!compress; + efn->size = data_size; + efn->data_size = size; + efn->data = data2; + } + + /* flags that writes are pending */ + ef->writes_pending = 1; + return data_size; +} + +EAPI int +eet_delete(Eet_File *ef, const char *name) +{ + Eet_File_Node *efn; + Eet_File_Node *pefn; + int hash; + int exists_already = 0; + + /* check to see its' an eet file pointer */ + if (eet_check_pointer(ef)) + return 0; + if (!name) + return 0; + + /* deleting keys is only possible in RW or WRITE mode */ + if (ef->mode == EET_FILE_MODE_READ) + return 0; + + if (eet_check_header(ef)) + return 0; + + /* figure hash bucket */ + hash = _eet_hash_gen(name, ef->header->directory->size); + + /* Does this node already exist? */ + for (pefn = NULL, efn = ef->header->directory->nodes[hash]; + efn; + pefn = efn, efn = efn->next) + { + /* if it matches */ + if (eet_string_match(efn->name, name)) + { + if (efn->data) + free(efn->data); + + if (efn == ef->header->directory->nodes[hash]) + ef->header->directory->nodes[hash] = efn->next; + else + pefn->next = efn->next; + + if (efn->free_name) free(efn->name); + free(efn); + exists_already = 1; + break; + } + } + /* flags that writes are pending */ + if (exists_already) + ef->writes_pending = 1; + + /* update access time */ + return exists_already; +} + +EAPI Eet_Dictionary * +eet_dictionary_get(Eet_File *ef) +{ + if (eet_check_pointer(ef)) return NULL; + + return ef->ed; +} + + +EAPI char ** +eet_list(Eet_File *ef, const char *glob, int *count_ret) +{ + Eet_File_Node *efn; + char **list_ret = NULL; + int list_count = 0; + int list_count_alloc = 0; + int i, num; + + /* check to see its' an eet file pointer */ + if (eet_check_pointer(ef) || eet_check_header(ef) || + (!glob) || + ((ef->mode != EET_FILE_MODE_READ) && + (ef->mode != EET_FILE_MODE_READ_WRITE))) + { + if (count_ret) + *count_ret = 0; + + return NULL; + } + + /* loop through all entries */ + num = (1 << ef->header->directory->size); + for (i = 0; i < num; i++) + { + for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next) + { + /* if the entry matches the input glob + * check for * explicitly, because on some systems, * isn't well + * supported + */ + if ((!strcmp (glob, "*")) || !fnmatch(glob, efn->name, 0)) + { + /* add it to our list */ + list_count++; + + /* only realloc in 32 entry chunks */ + if (list_count > list_count_alloc) + { + char **new_list = NULL; + + list_count_alloc += 64; + new_list = realloc(list_ret, list_count_alloc * (sizeof(char *))); + if (!new_list) + { + free(list_ret); + + if (count_ret) + *count_ret = 0; + + return NULL; + } + list_ret = new_list; + } + + /* put pointer of name string in */ + list_ret[list_count - 1] = efn->name; + } + } + } + + /* return count and list */ + if (count_ret) + *count_ret = list_count; + + return list_ret; +} + +EAPI int +eet_num_entries(Eet_File *ef) +{ + int i, num, ret = 0; + Eet_File_Node *efn; + + /* check to see its' an eet file pointer */ + if (eet_check_pointer(ef) || eet_check_header(ef) || + ((ef->mode != EET_FILE_MODE_READ) && + (ef->mode != EET_FILE_MODE_READ_WRITE))) + return -1; + + /* loop through all entries */ + num = (1 << ef->header->directory->size); + for (i = 0; i < num; i++) + { + for (efn = ef->header->directory->nodes[i]; efn; efn = efn->next) + ret++; + } + + return ret; +} + +static Eet_File_Node * +find_node_by_name(Eet_File *ef, const char *name) +{ + Eet_File_Node *efn; + int hash; + + /* get hash bucket this should be in */ + hash = _eet_hash_gen(name, ef->header->directory->size); + + for (efn = ef->header->directory->nodes[hash]; efn; efn = efn->next) + { + if (eet_string_match(efn->name, name)) + return efn; + } + + return NULL; +} + +static int +read_data_from_disk(Eet_File *ef, Eet_File_Node *efn, void *buf, int len) +{ + if (efn->offset < 0) return 0; + + if (ef->data) + { + if ((efn->offset + len) > ef->data_size) return 0; + memcpy(buf, ef->data + efn->offset, len); + } + else + { + /* seek to data location */ + if (fseek(ef->fp, efn->offset, SEEK_SET) < 0) + return 0; + + /* read it */ + len = fread(buf, len, 1, ef->fp); + } + return len; +} diff --git a/src/lib/eet_memfile.c b/src/lib/eet_memfile.c new file mode 100644 index 0000000..6edbfa6 --- /dev/null +++ b/src/lib/eet_memfile.c @@ -0,0 +1,149 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ + +#define _GNU_SOURCE + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include + +#include "Eet.h" +#include "Eet_private.h" + +FILE * +_eet_memfile_read_open(const void *data, size_t size) +{ +#ifdef HAVE_FMEMOPEN + return fmemopen((void*)data, size, "rb"); +#else + FILE *f; + + f = tmpfile(); + if (!f) + { + printf("EET: Error opening tmp file (no fmemopen support fallback):\n"); + perror("tmpfile()"); + return NULL; + } + fwrite(data, size, 1, f); + rewind(f); + return f; +#endif +} + +void +_eet_memfile_read_close(FILE *f) +{ +#ifdef HAVE_FMEMOPEN + fclose(f); +#else + fclose(f); +#endif +} + + +typedef struct _Eet_Memfile_Write_Info Eet_Memfile_Write_Info; +struct _Eet_Memfile_Write_Info +{ + FILE *f; + void **data; + size_t *size; +}; + +#ifndef HAVE_OPEN_MEMSTREAM +static int _eet_memfile_info_alloc_num = 0; +static int _eet_memfile_info_num = 0; +static Eet_Memfile_Write_Info *_eet_memfile_info = NULL; +#endif + +void _eet_memfile_shutdown() +{ +#ifdef HAVE_OPEN_MEMSTREAM + return; +#else + int i; + + for (i = 0; i < _eet_memfile_info_num; i++) + free(_eet_memfile_info[i].data); + + free(_eet_memfile_info); + _eet_memfile_info = NULL; +#endif +} + +FILE * +_eet_memfile_write_open(void **data, size_t *size) +{ +#ifdef HAVE_OPEN_MEMSTREAM + return open_memstream((char **)data, size); +#else + FILE *f; + + _eet_memfile_info_num++; + if (_eet_memfile_info_num > _eet_memfile_info_alloc_num) + { + Eet_Memfile_Write_Info *tmp; + + _eet_memfile_info_alloc_num += 16; + tmp = realloc(_eet_memfile_info, + _eet_memfile_info_alloc_num * + sizeof(Eet_Memfile_Write_Info)); + if (!tmp) + { + _eet_memfile_info_alloc_num -= 16; + _eet_memfile_info_num--; + return NULL; + } + _eet_memfile_info = tmp; + } + f = tmpfile(); + if (!f) + { + _eet_memfile_info_num--; + return NULL; + } + _eet_memfile_info[_eet_memfile_info_num - 1].f = f; + _eet_memfile_info[_eet_memfile_info_num - 1].data = data; + _eet_memfile_info[_eet_memfile_info_num - 1].size = size; + return f; +#endif +} + +void +_eet_memfile_write_close(FILE *f) +{ +#ifdef HAVE_OPEN_MEMSTREAM + fclose(f); +#else + int i; + + for (i = 0; i < _eet_memfile_info_num; i++) + { + if (_eet_memfile_info[i].f == f) + { + int j; + + fseek(f, 0, SEEK_END); + (*(_eet_memfile_info[i].size)) = ftell(f); + rewind(f); + (*(_eet_memfile_info[i].data)) = malloc(*(_eet_memfile_info[i].size)); + if (!(*(_eet_memfile_info[i].data))) + { + fclose(f); + (*(_eet_memfile_info[i].size)) = 0; + return; + } + fread((*(_eet_memfile_info[i].data)), (*(_eet_memfile_info[i].size)), 1, f); + for (j = i + 1; j < _eet_memfile_info_num; j++) + _eet_memfile_info[j - 1] = _eet_memfile_info[j]; + _eet_memfile_info_num--; + fclose(f); + return; + } + } + fclose(f); +#endif +} diff --git a/src/lib/eet_utils.c b/src/lib/eet_utils.c new file mode 100644 index 0000000..1785076 --- /dev/null +++ b/src/lib/eet_utils.c @@ -0,0 +1,203 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 + */ + +#include +#include + +#include "Eet.h" +#include "Eet_private.h" + +int +_eet_hash_gen(const char *key, int hash_size) +{ + int hash_num = 0; + int value, i; + unsigned char *ptr; + + const int masks[9] = + { + 0x00, + 0x01, + 0x03, + 0x07, + 0x0f, + 0x1f, + 0x3f, + 0x7f, + 0xff + }; + + /* no string - index 0 */ + if (!key) return 0; + + /* calc hash num */ + for (i = 0, ptr = (unsigned char *)key, value = (int)(*ptr); + value; + ptr++, i++, value = (int)(*ptr)) + hash_num ^= (value | (value << 8)) >> (i & 0x7); + + /* mask it */ + hash_num &= masks[hash_size]; + /* return it */ + return hash_num; +} + +/* On Windows (using MinGW or VC++), printf-like functions */ +/* rely on MSVCRT, which does not fully support the C99 */ +/* specifications. In particular, they do not support the */ +/* modifier character %a. */ + + +/* That function converts a string created by a valid %a */ +/* modifier to a double. */ +/* */ +/* The string must have the following format: */ +/* */ +/* [-]0xh.hhhhhp[+-]e */ +/* */ +/* where e is a decimal number. */ +/* If n is the number of cyphers after the point, the */ +/* returned mantisse and exponents are */ +/* */ +/* mantisse: [-]hhhhhh */ +/* exponent: 2^([+-]e - 4 * n) */ +int +_eet_string_to_double_convert(const char *src, long long *m, long *e) +{ + const char *str; + long long mantisse; + long exponent; + int nbr_decimals; + int sign; + + str = src; + sign = +1; + + if (*str == '-') + { + sign = -1; + str++; + } + if (*str == '0') + { + str++; + if (*str == 'x') + str++; + else + { + fprintf(stderr, "[Eet] Error 1 during conversion of '%s'\n", src); + return 0; + } + } + else + { + fprintf(stderr, "[Eet] Error 2 during conversion of '%s'\n", src); + return 0; + } + + nbr_decimals = 0; + mantisse = (*str >= 'a') ? *str - 'a' + 10 : *str - '0'; + str++; + if (*str == '.') + { + str++; + while (*str != 'p') + { + mantisse <<= 4; + mantisse += (*str >= 'a') ? *str - 'a' + 10 : *str - '0'; + str++; + nbr_decimals++; + } + } + if (sign < 0) + mantisse = -mantisse; + if (*str != 'p') + { + fprintf(stderr, "[Eet] Error 3 during conversion '%s'\n", src); + return 0; + } + sign = +1; + str++; + if (*str == '-') + { + sign = -1; + str++; + } + else if (*str == '+') str++; + + exponent = 0; + while (*str != '\0') + { + exponent *= 10; + exponent += *str - '0'; + str++; + } + + if (sign < 0) + exponent = -exponent; + + *m = mantisse; + *e = exponent - (nbr_decimals << 2); + + return 1; +} + +/* That function converts a double to a string that as the */ +/* following format: */ +/* */ +/* [-]0xh.hhhhhp[+-]e */ +/* */ +/* where h is a hexadecimal number and e a decimal number. */ +void +_eet_double_to_string_convert(char des[128], double d) +{ + static const char look_up_table[] = {'0', '1', '2', '3', '4', + '5', '6', '7', '8', '9', + 'a', 'b', 'c', 'd', 'e', 'f'}; + int p; + int i; + + if (d < 0.0) + { + *(des++) = '-'; + d = -d; + } + + d = frexp(d, &p); + + if (p) + { + d *= 2; + p -= 1; + } + + *(des++) = '0'; + *(des++) = 'x'; + *(des++) = look_up_table[(size_t)d]; + *(des++) = '.'; + + for (i = 0; i < 16; i++) + { + d -= floor(d); + d *= 16; + *(des++) = look_up_table[(size_t)d]; + } + + while (*(des - 1) == '0') + des--; + + if (*(des - 1) == '.') + des--; + + *(des++) = 'p'; + if (p < 0) + { + *(des++) = '-'; + p = -p; + } + else + *(des++) = '+'; + + snprintf(des, 128, "%d", p); +} diff --git a/src/tests/.cvsignore b/src/tests/.cvsignore new file mode 100644 index 0000000..98ae5f2 --- /dev/null +++ b/src/tests/.cvsignore @@ -0,0 +1,5 @@ +.deps +.libs +Makefile +Makefile.in +eet_suite diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am new file mode 100644 index 0000000..11dbc61 --- /dev/null +++ b/src/tests/Makefile.am @@ -0,0 +1,17 @@ +MAINTAINERCLEANFILES = Makefile.in + +AM_CPPFLAGS = \ +-I$(top_srcdir)/src/lib \ +@CHECK_CFLAGS@ + + +if EET_ENABLE_TESTS + +check_PROGRAMS = eet_suite + +eet_suite_SOURCES = eet_suite.c eet_data_suite.c +eet_suite_LDADD = @CHECK_LIBS@ $(top_builddir)/src/lib/libeet.la + +EXTRA_DIST = eet_suite.h + +endif diff --git a/src/tests/TODO b/src/tests/TODO new file mode 100644 index 0000000..da5fa1b --- /dev/null +++ b/src/tests/TODO @@ -0,0 +1,3 @@ +The purpose of the current test is to check the validity of the result in a +normal environment. But we should at some point also test the robustness of +this library when for example malloc fail. diff --git a/src/tests/eet_data_suite.c b/src/tests/eet_data_suite.c new file mode 100644 index 0000000..697bff3 --- /dev/null +++ b/src/tests/eet_data_suite.c @@ -0,0 +1,163 @@ +#include +#include + +#include "eet_suite.h" + +static char* +_eet_str_direct_alloc(const char *str) +{ + return (char*) str; +} + +static void +_eet_str_direct_free(const char *str) +{ +} + +/* Internal list stuff. */ +struct _Eet_List +{ + Eet_List *next; + const void *data; +}; +Eet_List* +eet_list_prepend(Eet_List *list, const void *data) +{ + Eet_List *new; + + new = malloc(sizeof (Eet_List)); + if (!new) return list; + + new->next = list; + new->data = data; + + return new; +} +Eet_List* +eet_list_next(Eet_List *list) +{ + if (!list) return NULL; + + return list->next; +} +void* +eet_list_data(Eet_List *list) +{ + if (!list) return NULL; + + return (void*) list->data; +} +void +eet_list_free(Eet_List *list) +{ + while (list) + { + Eet_List *current = list; + + list = list->next; + free(current); + } +} + +/* Internal hash stuff */ +struct _Eet_Hash +{ + Eet_List *bucket[256]; +}; +typedef struct _Eet_Hash_Item Eet_Hash_Item; +struct _Eet_Hash_Item +{ + const void *data; + char *key; +}; +static inline int +_eet_hash_gen(const char *key) +{ + unsigned int hash_num = 5381; + const unsigned char *ptr; + + if (!key) return 0; + for (ptr = (unsigned char *)key; *ptr; ptr++) + hash_num = (hash_num * 33) ^ *ptr; + + hash_num &= 0xff; + return (int)hash_num; +} +void +eet_hash_foreach(const Eet_Hash *hash, int (*func) (const Eet_Hash *hash, const char *key, void *data, void *fdata), const void *fdata) +{ + int i; + + if (!hash) return ; + + for (i = 0; i < 256; ++i) + { + Eet_List *over; + + for (over = hash->bucket[i]; over; over = eet_list_next(over)) + { + Eet_Hash_Item *item = eet_list_data(over); + + if (!func(hash, item->key, (void*) item->data, (void*) fdata)) return ; + } + } +} +Eet_Hash* +eet_hash_add(Eet_Hash *hash, const char *key, const void *data) +{ + Eet_Hash_Item *item; + Eet_List *find; + int index; + + if (!hash) hash = calloc(1, sizeof (Eet_Hash)); + if (!hash) return NULL; + + item = malloc(sizeof (Eet_Hash_Item) + strlen(key) + 1); + if (!item) return hash; + + item->data = data; + item->key = (char*)(item + 1); + strcpy(item->key, key); + + hash->bucket[_eet_hash_gen(key)] = eet_list_prepend(hash->bucket[_eet_hash_gen(key)], item); + + return hash; +} +void +eet_hash_free(Eet_Hash *hash) +{ + int i; + + if (!hash) return ; + + for (i = 0; i < 256; ++i) + { + Eet_List *over; + + for (over = hash->bucket[i]; over; over = eet_list_next(over)) + free(eet_list_data(over)); + eet_list_free(hash->bucket[i]); + } + + free(hash); +} + +void +eet_test_setup_eddc(Eet_Data_Descriptor_Class *eddc) +{ + eddc->version = EET_DATA_DESCRIPTOR_CLASS_VERSION; + eddc->func.mem_alloc = NULL; + eddc->func.mem_free = NULL; + eddc->func.str_alloc = NULL; + eddc->func.str_free = NULL; + eddc->func.list_next = eet_list_next; + eddc->func.list_append = eet_list_prepend; + eddc->func.list_data = eet_list_data; + eddc->func.list_free = eet_list_free; + eddc->func.hash_foreach = eet_hash_foreach; + eddc->func.hash_add = eet_hash_add; + eddc->func.hash_free = eet_hash_free; + eddc->func.str_direct_alloc = _eet_str_direct_alloc; + eddc->func.str_direct_free = _eet_str_direct_free; +} + diff --git a/src/tests/eet_suite.c b/src/tests/eet_suite.c new file mode 100644 index 0000000..003dfa5 --- /dev/null +++ b/src/tests/eet_suite.c @@ -0,0 +1,1195 @@ +#include +#include +#include +#include + +#include + +#include "eet_suite.h" + +START_TEST(eet_test_init) +{ + int ret; + + ret = eet_init(); + fail_if(ret != 1); + + ret = eet_shutdown(); + fail_if(ret != 0); +} +END_TEST + +typedef struct _Eet_Test_Basic_Type Eet_Test_Basic_Type; +struct _Eet_Test_Basic_Type +{ + char c; + short s; + int i; + long long l; + char *str; + char *istr; + float f1; + float f2; + double d; + unsigned char uc; + unsigned short us; + unsigned int ui; + unsigned long long ul; + Eet_Test_Basic_Type *empty; + Eet_Test_Basic_Type *with; +}; + +#define EET_TEST_CHAR 0x42 +#define EET_TEST_SHORT 0x4224 +#define EET_TEST_INT 0x42211224 +#define EET_TEST_LONG_LONG 0x84CB42211224BC48 +#define EET_TEST_STRING "my little test with escape \\\"" +#define EET_TEST_KEY1 "key1" +#define EET_TEST_KEY2 "key2" +#define EET_TEST_FLOAT 123.45689 +#define EET_TEST_FLOAT2 1.0 +#define EET_TEST_FLOAT3 0.25 +#define EET_TEST_FLOAT4 0.0001234 +#define EET_TEST_DOUBLE 123456789.9876543210 +#define EET_TEST_DOUBLE2 1.0 +#define EET_TEST_DOUBLE3 0.25 +#define EET_TEST_FILE_KEY1 "keys/data/1" +#define EET_TEST_FILE_KEY2 "keys/data/2" +#define EET_TEST_FILE_IMAGE "keys/images/" + +typedef struct _Eet_Test_Image Eet_Test_Image; +struct _Eet_Test_Image +{ + unsigned int w; + unsigned int h; + unsigned int alpha; + unsigned int color[]; +}; + +static const Eet_Test_Image test_noalpha = { + 8, 8, 0, + { + 0x00AA0000, 0x0000AA00, 0x000000AA, 0x00110000, 0x00AA0000, 0x0000AA00, 0x000000AA, 0x00110000, + 0x0000AA00, 0x000000AA, 0x00110000, 0x00AA0000, 0x0000AA00, 0x000000AA, 0x00110000, 0x00AA0000, + 0x000000AA, 0x00110000, 0x00AA0000, 0x0000AA00, 0x000000AA, 0x00110000, 0x00AA0000, 0x0000AA00, + 0x00110000, 0x00AA0000, 0x0000AA00, 0x000000AA, 0x00110000, 0x00AA0000, 0x0000AA00, 0x000000AA, + 0x00AA0000, 0x0000AA00, 0x000000AA, 0x00110000, 0x00AA0000, 0x0000AA00, 0x000000AA, 0x00110000, + 0x0000AA00, 0x000000AA, 0x00110000, 0x00AA0000, 0x0000AA00, 0x000000AA, 0x00110000, 0x00AA0000, + 0x000000AA, 0x00110000, 0x00AA0000, 0x0000AA00, 0x000000AA, 0x00110000, 0x00AA0000, 0x0000AA00, + 0x00110000, 0x00AA0000, 0x0000AA00, 0x000000AA, 0x00110000, 0x00AA0000, 0x0000AA00, 0x000000AA + } +}; + +static const Eet_Test_Image test_alpha = { + 8, 8, 1, + { + 0x0FAA0000, 0x0000AA00, 0x000000AA, 0x00110000, 0x00AA0000, 0x0000AA00, 0x000000AA, 0x0F110000, + 0x0000AA00, 0x0F0000AA, 0x00110000, 0x00AA0000, 0x0000AA00, 0x000000AA, 0x0F110000, 0x00AA0000, + 0x000000AA, 0x00110000, 0x0FAA0000, 0x0000AA00, 0x000000AA, 0x0F110000, 0x00AA0000, 0x0000AA00, + 0x00110000, 0x00AA0000, 0x0000AA00, 0x0F0000AA, 0x0F110000, 0x00AA0000, 0x0000AA00, 0x000000AA, + 0x00AA0000, 0x0000AA00, 0x000000AA, 0x0F110000, 0x0FAA0000, 0x0000AA00, 0x000000AA, 0x00110000, + 0x0000AA00, 0x000000AA, 0x0F110000, 0x00AA0000, 0x0000AA00, 0x0F0000AA, 0x00110000, 0x00AA0000, + 0x000000AA, 0x0F110000, 0x00AA0000, 0x0000AA00, 0x000000AA, 0x00110000, 0x0FAA0000, 0x0000AA00, + 0x0F110000, 0x00AA0000, 0x0000AA00, 0x000000AA, 0x00110000, 0x00AA0000, 0x0000AA00, 0x0F0000AA + } +}; + +static void +_eet_test_basic_set(Eet_Test_Basic_Type *res, int i) +{ + res->c = EET_TEST_CHAR; + res->s = EET_TEST_SHORT; + res->i = EET_TEST_INT + i; + res->l = EET_TEST_LONG_LONG; + res->str = EET_TEST_STRING; + res->istr = EET_TEST_STRING; + res->f1 = - EET_TEST_FLOAT; + res->d = - EET_TEST_DOUBLE; + res->f2 = EET_TEST_FLOAT4; + res->uc = EET_TEST_CHAR; + res->us = EET_TEST_SHORT; + res->ui = EET_TEST_INT; + res->ul = EET_TEST_LONG_LONG; + res->empty = NULL; + res->with = NULL; + + if (i == 0) + { + Eet_Test_Basic_Type *tmp; + + tmp = malloc(sizeof (Eet_Test_Basic_Type)); + fail_if(!tmp); + + res->with = tmp; + tmp->c = EET_TEST_CHAR; + tmp->s = EET_TEST_SHORT; + tmp->i = EET_TEST_INT + i + 1; + tmp->l = EET_TEST_LONG_LONG; + tmp->str = EET_TEST_STRING; + tmp->istr = EET_TEST_STRING; + tmp->f1 = - EET_TEST_FLOAT; + tmp->d = - EET_TEST_DOUBLE; + tmp->f2 = EET_TEST_FLOAT4; + tmp->uc = EET_TEST_CHAR; + tmp->us = EET_TEST_SHORT; + tmp->ui = EET_TEST_INT; + tmp->ul = EET_TEST_LONG_LONG; + tmp->empty = NULL; + tmp->with = NULL; + } +} + +static void +_eet_test_basic_check(Eet_Test_Basic_Type *result, int i) +{ + float tmp; + + fail_if(result->c != EET_TEST_CHAR); + fail_if(result->s != EET_TEST_SHORT); + fail_if(result->i != EET_TEST_INT + i); + fail_if(result->l != EET_TEST_LONG_LONG); + fail_if(strcmp(result->str, EET_TEST_STRING) != 0); + fail_if(strcmp(result->istr, EET_TEST_STRING) != 0); + fail_if(result->uc != EET_TEST_CHAR); + fail_if(result->us != EET_TEST_SHORT); + fail_if(result->ui != EET_TEST_INT); + fail_if(result->ul != EET_TEST_LONG_LONG); + + tmp = (result->f1 + EET_TEST_FLOAT); + if (tmp < 0) tmp = -tmp; + fail_if(tmp > 0.005); + + tmp = (result->f2 - EET_TEST_FLOAT4); + if (tmp < 0) tmp = -tmp; + fail_if(tmp > 0.005); + + tmp = (result->d + EET_TEST_DOUBLE); + if (tmp < 0) tmp = -tmp; + fail_if(tmp > 0.00005); + + fail_if(result->empty != NULL); + if (i == 0) + { + Eet_Test_Basic_Type *tmp; + + tmp = result->with; + fail_if(tmp == NULL); + + fail_if(tmp->c != EET_TEST_CHAR); + fail_if(tmp->s != EET_TEST_SHORT); + fail_if(tmp->i != EET_TEST_INT + i + 1); + fail_if(tmp->l != EET_TEST_LONG_LONG); + fail_if(strcmp(tmp->str, EET_TEST_STRING) != 0); + fail_if(strcmp(tmp->istr, EET_TEST_STRING) != 0); + fail_if(tmp->uc != EET_TEST_CHAR); + fail_if(tmp->us != EET_TEST_SHORT); + fail_if(tmp->ui != EET_TEST_INT); + fail_if(tmp->ul != EET_TEST_LONG_LONG); + } + else + fail_if(result->with != NULL); +} + +static void +_eet_build_basic_descriptor(Eet_Data_Descriptor *edd) +{ + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Basic_Type, "c", c, EET_T_CHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Basic_Type, "s", s, EET_T_SHORT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Basic_Type, "i", i, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Basic_Type, "l", l, EET_T_LONG_LONG); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Basic_Type, "str", str, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Basic_Type, "istr", istr, EET_T_INLINED_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Basic_Type, "f1", f1, EET_T_FLOAT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Basic_Type, "f2", f2, EET_T_FLOAT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Basic_Type, "d", d, EET_T_DOUBLE); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Basic_Type, "uc", uc, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Basic_Type, "us", us, EET_T_USHORT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Basic_Type, "ui", ui, EET_T_UINT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Basic_Type, "ul", ul, EET_T_ULONG_LONG); + + EET_DATA_DESCRIPTOR_ADD_SUB(edd, Eet_Test_Basic_Type, "empty", empty, edd); + EET_DATA_DESCRIPTOR_ADD_SUB(edd, Eet_Test_Basic_Type, "with", with, edd); +} + +START_TEST(eet_test_basic_data_type_encoding_decoding) +{ + Eet_Data_Descriptor *edd; + Eet_Test_Basic_Type *result; + Eet_Data_Descriptor_Class eddc; + Eet_Test_Basic_Type etbt; + void *transfert; + int size; + + eet_init(); + + _eet_test_basic_set(&etbt, 0); + + eet_test_setup_eddc(&eddc); + eddc.name = "Eet_Test_Basic_Type"; + eddc.size = sizeof(Eet_Test_Basic_Type); + + edd = eet_data_descriptor2_new(&eddc); + fail_if(!edd); + + _eet_build_basic_descriptor(edd); + + transfert = eet_data_descriptor_encode(edd, &etbt, &size); + fail_if(!transfert || size <= 0); + + result = eet_data_descriptor_decode(edd, transfert, size); + fail_if(!result); + + _eet_test_basic_check(result, 0); + + free(result->str); + free(result); + + eet_data_descriptor_free(edd); + + eet_shutdown(); +} +END_TEST + +typedef struct _Eet_Test_Ex_Type Eet_Test_Ex_Type; +struct _Eet_Test_Ex_Type +{ + char c; + short s; + int i; + unsigned long long l; + char *str; + char *istr; + float f1; + float f2; + float f3; + float f4; + double d1; + double d2; + double d3; + double d4; + Eet_List *list; + Eet_Hash *hash; + Eet_List *ilist; + Eet_Hash *ihash; + Eet_Test_Basic_Type sarray1[10]; + unsigned int sarray2[5]; + unsigned int varray1_count; + unsigned int *varray1; + unsigned int varray2_count; + Eet_Test_Basic_Type *varray2; + unsigned char uc; + unsigned short us; + unsigned int ui; + unsigned long long ul; +}; + +static int i42 = 42; +static int i7 = 7; + + +static void +_eet_build_ex_descriptor(Eet_Data_Descriptor *edd) +{ + Eet_Data_Descriptor_Class eddc; + Eet_Test_Ex_Type etbt; + Eet_Data_Descriptor *eddb; + + eet_test_setup_eddc(&eddc); + eddc.name = "Eet_Test_Basic_Type"; + eddc.size = sizeof(Eet_Test_Basic_Type); + eddb = eet_data_descriptor3_new(&eddc); + fail_if(!eddb); + + _eet_build_basic_descriptor(eddb); + + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "c", c, EET_T_CHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "s", s, EET_T_SHORT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "i", i, EET_T_INT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "l", l, EET_T_LONG_LONG); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "str", str, EET_T_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "istr", istr, EET_T_INLINED_STRING); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "f1", f1, EET_T_FLOAT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "f2", f2, EET_T_FLOAT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "f3", f3, EET_T_FLOAT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "f4", f4, EET_T_FLOAT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "d1", d1, EET_T_DOUBLE); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "d2", d2, EET_T_DOUBLE); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "d3", d3, EET_T_DOUBLE); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "d4", d4, EET_T_DOUBLE); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "uc", uc, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "us", us, EET_T_USHORT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "ui", ui, EET_T_UINT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd, Eet_Test_Ex_Type, "ul", ul, EET_T_ULONG_LONG); + EET_DATA_DESCRIPTOR_ADD_ARRAY(edd, Eet_Test_Ex_Type, "sarray1", sarray1, eddb); + EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(edd, Eet_Test_Ex_Type, "varray2", varray2, eddb); + eet_data_descriptor_element_add(edd, "varray1", EET_T_INT, EET_G_VAR_ARRAY, + (char *)(&(etbt.varray1)) - (char *)(&(etbt)), + (char *)(&(etbt.varray1_count)) - (char *)(&(etbt)), /* 0, */NULL, NULL); + eet_data_descriptor_element_add(edd, "sarray2", EET_T_INT, EET_G_ARRAY, + (char *)(&(etbt.sarray2)) - (char *)(&(etbt)), + /* 0, */sizeof(etbt.sarray2)/sizeof(etbt.sarray2[0]), NULL, NULL); + EET_DATA_DESCRIPTOR_ADD_LIST(edd, Eet_Test_Ex_Type, "list", list, edd); + EET_DATA_DESCRIPTOR_ADD_HASH(edd, Eet_Test_Ex_Type, "hash", hash, edd); + eet_data_descriptor_element_add(edd, "ilist", EET_T_INT, EET_G_LIST, + (char *)(&(etbt.ilist)) - (char *)(&(etbt)), + 0, /* 0, */NULL, NULL); + eet_data_descriptor_element_add(edd, "ihash", EET_T_INT, EET_G_HASH, + (char *)(&(etbt.ihash)) - (char *)(&(etbt)), + 0, /* 0, */NULL, NULL); +} + +static Eet_Test_Ex_Type* +_eet_test_ex_set(Eet_Test_Ex_Type *res, int offset) +{ + int i; + + if (!res) res = malloc( sizeof(Eet_Test_Ex_Type)); + if (!res) return NULL; + + res->c = EET_TEST_CHAR + offset; + res->s = EET_TEST_SHORT + offset; + res->i = EET_TEST_INT + offset; + res->l = EET_TEST_LONG_LONG + offset; + res->str = EET_TEST_STRING; + res->istr = EET_TEST_STRING; + res->f1 = EET_TEST_FLOAT + offset; + res->f2 = -(EET_TEST_FLOAT2 + offset); + res->f3 = EET_TEST_FLOAT3 + offset; + res->f4 = EET_TEST_FLOAT2 + offset; + res->d1 = EET_TEST_DOUBLE + offset; + res->d2 = -(EET_TEST_DOUBLE2 + offset); + res->d3 = EET_TEST_DOUBLE3 + offset; + res->d4 = EET_TEST_DOUBLE2 + offset; + res->list = NULL; + res->hash = NULL; + res->ilist = NULL; + res->ihash = NULL; + + res->varray2 = malloc(sizeof (Eet_Test_Basic_Type) * 10); + res->varray1 = malloc(sizeof (int) * 5); + fail_if(!res->varray1 || !res->varray2); + for (i = 0; i < 10; ++i) + { + _eet_test_basic_set(res->sarray1 + i, i); + _eet_test_basic_set(res->varray2 + i, i); + } + res->varray2_count = 10; + for (i = 0; i < 5; ++i) + { + res->sarray2[i] = i * 42 + 1; + res->varray1[i] = i * 42 + 1; + } + res->varray1_count = 5; + + res->uc = EET_TEST_CHAR + offset; + res->us = EET_TEST_SHORT + offset; + res->ui = EET_TEST_INT + offset; + res->ul = EET_TEST_LONG_LONG + offset; + + return res; +} + +static int +_eet_test_ex_check(Eet_Test_Ex_Type *stuff, int offset) +{ + double tmp; + int i; + + if (!stuff) return 1; + + if (stuff->c != EET_TEST_CHAR + offset) return 1; + if (stuff->s != EET_TEST_SHORT + offset) return 1; + if (stuff->i != EET_TEST_INT + offset) return 1; + if (stuff->l != EET_TEST_LONG_LONG + offset) return 1; + if (strcmp(stuff->str, EET_TEST_STRING) != 0) return 1; + if (strcmp(stuff->istr, EET_TEST_STRING) != 0) return 1; + + tmp = stuff->f1 - (EET_TEST_FLOAT + offset); + if (tmp < 0) tmp = -tmp; + if (tmp > 0.005) return 1; + + tmp = stuff->d1 - (EET_TEST_DOUBLE + offset); + if (tmp < 0) tmp = -tmp; + if (tmp > 0.00005) return 1; + + if (stuff->f2 != - (EET_TEST_FLOAT2 + offset)) return 1; + if (stuff->d2 != - (EET_TEST_DOUBLE2 + offset)) return 1; + + if (stuff->f3 != EET_TEST_FLOAT3 + offset) return 1; + if (stuff->d3 != EET_TEST_DOUBLE3 + offset) return 1; + + if (stuff->f4 != EET_TEST_FLOAT2 + offset) return 1; + if (stuff->d4 != EET_TEST_DOUBLE2 + offset) return 1; + + if (stuff->uc != EET_TEST_CHAR + offset) return 1; + if (stuff->us != EET_TEST_SHORT + offset) return 1; + if (stuff->ui != EET_TEST_INT + offset) return 1; + if (stuff->ul != EET_TEST_LONG_LONG + offset) return 1; + + for (i = 0; i < 5; ++i) + if (stuff->sarray2[i] != i * 42 + 1) + return 1; + + for (i = 0; i < 10; ++i) + _eet_test_basic_check(stuff->sarray1 + i, i); + + return 0; +} + +static int +func(const Eet_Hash *hash, const char *key, void *data, void *fdata) +{ + int *res = fdata; + + if (strcmp(key, EET_TEST_KEY1) != 0 + && strcmp(key, EET_TEST_KEY2) != 0) *res = 1; + if (_eet_test_ex_check(data, 2)) *res = 1; + + return 1; +} + +static int +func7(const Eet_Hash *hash, const char *key, void *data, void *fdata) +{ + int *res = fdata; + int *val; + + val = data; + if (!val) *res = 1; + if (*val != 7) *res = 1; + + return 1; +} + +START_TEST(eet_test_data_type_encoding_decoding) +{ + Eet_Data_Descriptor *edd; + Eet_Test_Ex_Type *result; + Eet_Test_Ex_Type *tmp; + void *transfert; + Eet_Data_Descriptor_Class eddc; + Eet_Test_Ex_Type etbt; + int size; + int test; + + eet_init(); + + _eet_test_ex_set(&etbt, 0); + etbt.list = eet_list_prepend(etbt.list, _eet_test_ex_set(NULL, 1)); + etbt.hash = eet_hash_add(etbt.hash, EET_TEST_KEY1, _eet_test_ex_set(NULL, 2)); + etbt.ilist = eet_list_prepend(etbt.ilist, &i42); + etbt.ihash = eet_hash_add(etbt.ihash, EET_TEST_KEY1, &i7); + + eet_test_setup_eddc(&eddc); + eddc.name = "Eet_Test_Ex_Type"; + eddc.size = sizeof(Eet_Test_Ex_Type); + + edd = eet_data_descriptor3_new(&eddc); + fail_if(!edd); + + _eet_build_ex_descriptor(edd); + + transfert = eet_data_descriptor_encode(edd, &etbt, &size); + fail_if(!transfert || size <= 0); + + result = eet_data_descriptor_decode(edd, transfert, size); + fail_if(!result); + + fail_if(_eet_test_ex_check(result, 0) != 0); + fail_if(_eet_test_ex_check(eet_list_data(result->list), 1) != 0); + fail_if(eet_list_data(result->ilist) == NULL); + fail_if(*((int*)eet_list_data(result->ilist)) != 42); + + test = 0; + eet_hash_foreach(result->hash, func, &test); + fail_if(test != 0); + eet_hash_foreach(result->ihash, func7, &test); + fail_if(test != 0); + + eet_shutdown(); +} +END_TEST + +static void +append_string(void *data, const char *str) +{ + char **string = data; + int length; + + if (!data) return ; + + length = *string ? strlen(*string) : 0; + *string = realloc(*string, strlen(str) + length + 1); + + memcpy((*string) + length, str, strlen(str) + 1); +} + +START_TEST(eet_test_data_type_dump_undump) +{ + Eet_Data_Descriptor *edd; + Eet_Test_Ex_Type *result; + Eet_Test_Ex_Type *tmp; + Eet_Data_Descriptor_Class eddc; + Eet_Test_Ex_Type etbt; + char *transfert1; + char *transfert2; + char *string1; + char *string2; + int size1; + int size2; + int test; + + int i; + + eet_init(); + + _eet_test_ex_set(&etbt, 0); + etbt.list = eet_list_prepend(etbt.list, _eet_test_ex_set(NULL, 1)); + etbt.list = eet_list_prepend(etbt.list, _eet_test_ex_set(NULL, 1)); + etbt.hash = eet_hash_add(etbt.hash, EET_TEST_KEY1, _eet_test_ex_set(NULL, 2)); + etbt.hash = eet_hash_add(etbt.hash, EET_TEST_KEY2, _eet_test_ex_set(NULL, 2)); + etbt.ilist = eet_list_prepend(etbt.ilist, &i42); + etbt.ilist = eet_list_prepend(etbt.ilist, &i42); + etbt.ihash = eet_hash_add(etbt.ihash, EET_TEST_KEY1, &i7); + etbt.ihash = eet_hash_add(etbt.ihash, EET_TEST_KEY2, &i7); + + eet_test_setup_eddc(&eddc); + eddc.name = "Eet_Test_Ex_Type"; + eddc.size = sizeof(Eet_Test_Ex_Type); + + edd = eet_data_descriptor3_new(&eddc); + fail_if(!edd); + + _eet_build_ex_descriptor(edd); + + transfert1 = eet_data_descriptor_encode(edd, &etbt, &size1); + fail_if(!transfert1 || size1 <= 0); + + string1 = NULL; + eet_data_text_dump(transfert1, size1, append_string, &string1); + fail_if(!string1); + + transfert2 = eet_data_text_undump(string1, strlen(string1), &size2); + fail_if(!transfert2 && size2 <= 0); + fail_if(size1 != size2); + + string2 = NULL; + eet_data_text_dump(transfert2, size2, append_string, &string2); + fail_if(!string2); + + fail_if(memcmp(transfert1, transfert2, size1) != 0); + + result = eet_data_descriptor_decode(edd, transfert2, size2); + fail_if(!result); + + fail_if(_eet_test_ex_check(result, 0) != 0); + fail_if(_eet_test_ex_check(eet_list_data(result->list), 1) != 0); + fail_if(eet_list_data(result->ilist) == NULL); + fail_if(*((int*)eet_list_data(result->ilist)) != 42); + + test = 0; + eet_hash_foreach(result->hash, func, &test); + fail_if(test != 0); + eet_hash_foreach(result->ihash, func7, &test); + fail_if(test != 0); + + eet_shutdown(); +} +END_TEST + +START_TEST(eet_file_simple_write) +{ + const char *buffer = "Here is a string of data to save !"; + Eet_File *ef; + char *test; + char *file = strdup("/tmp/eet_suite_testXXXXXX"); + int size; + + eet_init(); + + mktemp(file); + + fail_if(eet_mode_get(NULL) != EET_FILE_MODE_INVALID); + + ef = eet_open(file, EET_FILE_MODE_WRITE); + fail_if(!ef); + + fail_if(!eet_write(ef, "keys/tests", buffer, strlen(buffer) + 1, 1)); + + fail_if(eet_mode_get(ef) != EET_FILE_MODE_WRITE); + + fail_if(eet_list(ef, "*", &size) != NULL); + fail_if(eet_num_entries(ef) != -1); + + eet_close(ef); + + /* Test read of simple file */ + ef = eet_open(file, EET_FILE_MODE_READ); + fail_if(!ef); + + test = eet_read(ef, "keys/tests", &size); + fail_if(!test); + fail_if(size != strlen(buffer) + 1); + + fail_if(memcmp(test, buffer, strlen(buffer) + 1) != 0); + + fail_if(eet_mode_get(ef) != EET_FILE_MODE_READ); + fail_if(eet_num_entries(ef) != 1); + + eet_close(ef); + + /* Test eet cache system */ + ef = eet_open(file, EET_FILE_MODE_READ); + fail_if(!ef); + + test = eet_read(ef, "keys/tests", &size); + fail_if(!test); + fail_if(size != strlen(buffer) + 1); + + fail_if(memcmp(test, buffer, strlen(buffer) + 1) != 0); + + eet_close(ef); + + fail_if(unlink(file) != 0); + + eet_shutdown(); +} +END_TEST + +START_TEST(eet_file_data_test) +{ + const char *buffer = "Here is a string of data to save !"; + Eet_Data_Descriptor *edd; + Eet_Test_Ex_Type *result; + Eet_Test_Ex_Type *tmp; + Eet_Dictionary *ed; + Eet_File *ef; + char **list; + char *transfert1; + char *transfert2; + char *string1; + char *string2; + char *file = strdup("/tmp/eet_suite_testXXXXXX"); + Eet_Data_Descriptor_Class eddc; + Eet_Test_Ex_Type etbt; + int size; + int size1; + int size2; + int test; + + int i; + + eet_init(); + + _eet_test_ex_set(&etbt, 0); + etbt.list = eet_list_prepend(etbt.list, _eet_test_ex_set(NULL, 1)); + etbt.list = eet_list_prepend(etbt.list, _eet_test_ex_set(NULL, 1)); + etbt.hash = eet_hash_add(etbt.hash, EET_TEST_KEY1, _eet_test_ex_set(NULL, 2)); + etbt.hash = eet_hash_add(etbt.hash, EET_TEST_KEY2, _eet_test_ex_set(NULL, 2)); + etbt.ilist = eet_list_prepend(etbt.ilist, &i42); + etbt.ilist = eet_list_prepend(etbt.ilist, &i42); + etbt.ihash = eet_hash_add(etbt.ihash, EET_TEST_KEY1, &i7); + etbt.ihash = eet_hash_add(etbt.ihash, EET_TEST_KEY2, &i7); + + eet_test_setup_eddc(&eddc); + eddc.name = "Eet_Test_Ex_Type"; + eddc.size = sizeof(Eet_Test_Ex_Type); + + edd = eet_data_descriptor3_new(&eddc); + fail_if(!edd); + + _eet_build_ex_descriptor(edd); + + mktemp(file); + + /* Insert an error in etbt. */ + etbt.i = 0; + + /* Save the encoded data in a file. */ + ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + fail_if(!ef); + + fail_if(!eet_data_write(ef, edd, EET_TEST_FILE_KEY1, &etbt, 0)); + + result = eet_data_read(ef, edd, EET_TEST_FILE_KEY1); + fail_if(!result); + + fail_if(eet_mode_get(ef) != EET_FILE_MODE_READ_WRITE); + + /* Test string space. */ + ed = eet_dictionary_get(ef); + + fail_if(!eet_dictionary_string_check(ed, result->str)); + fail_if(eet_dictionary_string_check(ed, result->istr)); + + eet_close(ef); + + /* Attempt to replace etbt by the correct one. */ + etbt.i = EET_TEST_INT; + + ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + fail_if(!ef); + + fail_if(!eet_data_write(ef, edd, EET_TEST_FILE_KEY1, &etbt, 0)); + + eet_close(ef); + + /* Read back the data. */ + ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + fail_if(!ef); + + fail_if(!eet_data_write(ef, edd, EET_TEST_FILE_KEY2, &etbt, 1)); + + result = eet_data_read(ef, edd, EET_TEST_FILE_KEY1); + fail_if(!result); + + /* Test string space. */ + ed = eet_dictionary_get(ef); + fail_if(!ed); + + fail_if(!eet_dictionary_string_check(ed, result->str)); + fail_if(eet_dictionary_string_check(ed, result->istr)); + + /* Test the resulting data. */ + fail_if(_eet_test_ex_check(result, 0) != 0); + fail_if(_eet_test_ex_check(eet_list_data(result->list), 1) != 0); + fail_if(eet_list_data(result->ilist) == NULL); + fail_if(*((int*)eet_list_data(result->ilist)) != 42); + + test = 0; + eet_hash_foreach(result->hash, func, &test); + fail_if(test != 0); + eet_hash_foreach(result->ihash, func7, &test); + fail_if(test != 0); + + list = eet_list(ef, "keys/*", &size); + fail_if(eet_num_entries(ef) != 2); + fail_if(size != 2); + fail_if(!(strcmp(list[0], EET_TEST_FILE_KEY1) == 0 && strcmp(list[1], EET_TEST_FILE_KEY2) == 0) + && !(strcmp(list[0], EET_TEST_FILE_KEY2) == 0 && strcmp(list[1], EET_TEST_FILE_KEY1) == 0)); + free(list); + + fail_if(eet_delete(ef, NULL) != 0); + fail_if(eet_delete(NULL, EET_TEST_FILE_KEY1) != 0); + fail_if(eet_delete(ef, EET_TEST_FILE_KEY1) == 0); + + list = eet_list(ef, "keys/*", &size); + fail_if(size != 1); + fail_if(eet_num_entries(ef) != 1); + + /* Test some more wrong case */ + fail_if(eet_data_read(ef, edd, "plop") != NULL); + fail_if(eet_data_read(ef, edd, EET_TEST_FILE_KEY1) != NULL); + + /* Reinsert and reread data */ + fail_if(!eet_data_write(ef, edd, EET_TEST_FILE_KEY1, &etbt, 0)); + fail_if(eet_data_read(ef, edd, EET_TEST_FILE_KEY1) == NULL); + fail_if(eet_read_direct(ef, EET_TEST_FILE_KEY1, &size) == NULL); + + eet_close(ef); + + fail_if(unlink(file) != 0); + + eet_shutdown(); +} +END_TEST + +START_TEST(eet_file_data_dump_test) +{ + const char *buffer = "Here is a string of data to save !"; + Eet_Data_Descriptor *edd; + Eet_Test_Ex_Type *result; + Eet_Test_Ex_Type *tmp; + Eet_Data_Descriptor_Class eddc; + Eet_Test_Ex_Type etbt; + Eet_File *ef; + char *transfert1; + char *transfert2; + char *string1; + char *string2; + char *file = strdup("/tmp/eet_suite_testXXXXXX"); + int size; + int size1; + int size2; + int test; + + int i; + + eet_init(); + + _eet_test_ex_set(&etbt, 0); + etbt.list = eet_list_prepend(etbt.list, _eet_test_ex_set(NULL, 1)); + etbt.list = eet_list_prepend(etbt.list, _eet_test_ex_set(NULL, 1)); + etbt.hash = eet_hash_add(etbt.hash, EET_TEST_KEY1, _eet_test_ex_set(NULL, 2)); + etbt.hash = eet_hash_add(etbt.hash, EET_TEST_KEY2, _eet_test_ex_set(NULL, 2)); + etbt.ilist = eet_list_prepend(etbt.ilist, &i42); + etbt.ilist = eet_list_prepend(etbt.ilist, &i42); + etbt.ihash = eet_hash_add(etbt.ihash, EET_TEST_KEY1, &i7); + etbt.ihash = eet_hash_add(etbt.ihash, EET_TEST_KEY2, &i7); + + eet_test_setup_eddc(&eddc); + eddc.name = "Eet_Test_Ex_Type"; + eddc.size = sizeof(Eet_Test_Ex_Type); + + edd = eet_data_descriptor3_new(&eddc); + fail_if(!edd); + + _eet_build_ex_descriptor(edd); + + mktemp(file); + + /* Save the encoded data in a file. */ + ef = eet_open(file, EET_FILE_MODE_WRITE); + fail_if(!ef); + + fail_if(!eet_data_write(ef, edd, EET_TEST_FILE_KEY1, &etbt, 1)); + + eet_close(ef); + + /* Use dump/undump in the middle */ + ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + fail_if(!ef); + + string1 = NULL; + fail_if(eet_data_dump(ef, EET_TEST_FILE_KEY1, append_string, &string1) != 1); + fail_if(eet_delete(ef, EET_TEST_FILE_KEY1) == 0); + fail_if(!eet_data_undump(ef, EET_TEST_FILE_KEY1, string1, strlen(string1), 1)); + + eet_close(ef); + + /* Test the correctness of the reinsertion. */ + ef = eet_open(file, EET_FILE_MODE_READ); + fail_if(!ef); + + result = eet_data_read(ef, edd, EET_TEST_FILE_KEY1); + fail_if(!transfert1); + + eet_close(ef); + + /* Test the resulting data. */ + fail_if(_eet_test_ex_check(result, 0) != 0); + fail_if(_eet_test_ex_check(eet_list_data(result->list), 1) != 0); + fail_if(eet_list_data(result->ilist) == NULL); + fail_if(*((int*)eet_list_data(result->ilist)) != 42); + + test = 0; + eet_hash_foreach(result->hash, func, &test); + fail_if(test != 0); + eet_hash_foreach(result->ihash, func7, &test); + fail_if(test != 0); + + fail_if(unlink(file) != 0); + + eet_shutdown(); +} +END_TEST + +START_TEST(eet_image) +{ + Eet_File *ef; + char *file = strdup("/tmp/eet_suite_testXXXXXX"); + int *data; + int compress; + int quality; + int result; + int lossy; + int alpha; + int w; + int h; + + mktemp(file); + + /* Save the encoded data in a file. */ + ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + fail_if(!ef); + + result = eet_data_image_write(ef, EET_TEST_FILE_IMAGE "0", test_noalpha.color, + test_noalpha.w, test_noalpha.h, test_noalpha.alpha, + 0, 100, 0); + fail_if(result == 0); + + result = eet_data_image_write(ef, EET_TEST_FILE_IMAGE "1", test_noalpha.color, + test_noalpha.w, test_noalpha.h, test_noalpha.alpha, + 5, 100, 0); + fail_if(result == 0); + + result = eet_data_image_write(ef, EET_TEST_FILE_IMAGE "2", test_noalpha.color, + test_noalpha.w, test_noalpha.h, test_noalpha.alpha, + 9, 100, 0); + fail_if(result == 0); + + result = eet_data_image_write(ef, EET_TEST_FILE_IMAGE "3", test_noalpha.color, + test_noalpha.w, test_noalpha.h, test_noalpha.alpha, + 0, 100, 1); + fail_if(result == 0); + + result = eet_data_image_write(ef, EET_TEST_FILE_IMAGE "4", test_noalpha.color, + test_noalpha.w, test_noalpha.h, test_noalpha.alpha, + 0, 60, 1); + fail_if(result == 0); + + result = eet_data_image_write(ef, EET_TEST_FILE_IMAGE "5", test_noalpha.color, + test_noalpha.w, test_noalpha.h, test_noalpha.alpha, + 0, 10, 1); + fail_if(result == 0); + + result = eet_data_image_write(ef, EET_TEST_FILE_IMAGE "6", test_noalpha.color, + test_noalpha.w, test_noalpha.h, test_noalpha.alpha, + 0, 0, 1); + fail_if(result == 0); + + result = eet_data_image_write(ef, EET_TEST_FILE_IMAGE "7", test_alpha.color, + test_alpha.w, test_alpha.h, test_alpha.alpha, + 9, 100, 0); + fail_if(result == 0); + + result = eet_data_image_write(ef, EET_TEST_FILE_IMAGE "8", test_alpha.color, + test_alpha.w, test_alpha.h, test_alpha.alpha, + 0, 80, 1); + fail_if(result == 0); + + result = eet_data_image_write(ef, EET_TEST_FILE_IMAGE "9", test_alpha.color, + test_alpha.w, test_alpha.h, test_alpha.alpha, + 0, 100, 1); + fail_if(result == 0); + + data = eet_data_image_read(ef, EET_TEST_FILE_IMAGE "2", &w, &h, &alpha, &compress, &quality, &lossy); + fail_if(data == NULL); + fail_if(w != test_noalpha.w); + fail_if(h != test_noalpha.h); + fail_if(alpha != test_noalpha.alpha); + fail_if(compress != 9); + fail_if(lossy != 0); + fail_if(data[0] != test_noalpha.color[0]); + free(data); + + result = eet_data_image_header_read(ef, EET_TEST_FILE_IMAGE "2", &w, &h, &alpha, &compress, &quality, &lossy); + fail_if(result == 0); + fail_if(w != test_noalpha.w); + fail_if(h != test_noalpha.h); + fail_if(alpha != test_noalpha.alpha); + fail_if(compress != 9); + fail_if(lossy != 0); + + eet_close(ef); + + /* Test read of image */ + ef = eet_open(file, EET_FILE_MODE_READ); + fail_if(!ef); + + result = eet_data_image_header_read(ef, EET_TEST_FILE_IMAGE "0", &w, &h, &alpha, &compress, &quality, &lossy); + fail_if(result == 0); + fail_if(w != test_noalpha.w); + fail_if(h != test_noalpha.h); + fail_if(alpha != test_noalpha.alpha); + fail_if(compress != 0); + fail_if(lossy != 0); + + data = malloc(w * h * 4); + fail_if(data == NULL); + result = eet_data_image_read_to_surface(ef, EET_TEST_FILE_IMAGE "0", 4, 4, data, 2, 2, w * 4, &alpha, &compress, &quality, &lossy); + fail_if(result != 1); + fail_if(alpha != test_noalpha.alpha); + fail_if(compress != 0); + fail_if(quality != 100); + fail_if(lossy != 0); + fail_if(data[0] != test_noalpha.color[4 + 4 * w]); + free(data); + + data = malloc(w * h * 4); + fail_if(data == NULL); + result = eet_data_image_read_to_surface(ef, EET_TEST_FILE_IMAGE "0", 0, 0, data, w, h, w * 4, &alpha, &compress, &quality, &lossy); + fail_if(result != 1); + fail_if(alpha != test_noalpha.alpha); + fail_if(compress != 0); + fail_if(quality != 100); + fail_if(lossy != 0); + fail_if(data[0] != test_noalpha.color[0]); + free(data); + + data = eet_data_image_read(ef, EET_TEST_FILE_IMAGE "1", &w, &h, &alpha, &compress, &quality, &lossy); + fail_if(data == NULL); + fail_if(w != test_noalpha.w); + fail_if(h != test_noalpha.h); + fail_if(alpha != test_noalpha.alpha); + fail_if(compress != 5); + fail_if(quality != 100); + fail_if(lossy != 0); + fail_if(data[0] != test_noalpha.color[0]); + free(data); + + data = eet_data_image_read(ef, EET_TEST_FILE_IMAGE "2", &w, &h, &alpha, &compress, &quality, &lossy); + fail_if(data == NULL); + fail_if(w != test_noalpha.w); + fail_if(h != test_noalpha.h); + fail_if(alpha != test_noalpha.alpha); + fail_if(compress != 9); + fail_if(lossy != 0); + fail_if(data[0] != test_noalpha.color[0]); + free(data); + + data = eet_data_image_read(ef, EET_TEST_FILE_IMAGE "3", &w, &h, &alpha, &compress, &quality, &lossy); + fail_if(data == NULL); + fail_if(w != test_noalpha.w); + fail_if(h != test_noalpha.h); + fail_if(alpha != test_noalpha.alpha); + fail_if(lossy != 1); + free(data); + + data = eet_data_image_read(ef, EET_TEST_FILE_IMAGE "5", &w, &h, &alpha, &compress, &quality, &lossy); + fail_if(data == NULL); + fail_if(w != test_noalpha.w); + fail_if(h != test_noalpha.h); + fail_if(alpha != test_noalpha.alpha); + fail_if(lossy != 1); + free(data); + + data = eet_data_image_read(ef, EET_TEST_FILE_IMAGE "6", &w, &h, &alpha, &compress, &quality, &lossy); + fail_if(data == NULL); + fail_if(w != test_noalpha.w); + fail_if(h != test_noalpha.h); + fail_if(alpha != test_noalpha.alpha); + fail_if(lossy != 1); + free(data); + + result = eet_data_image_header_read(ef, EET_TEST_FILE_IMAGE "7", &w, &h, &alpha, &compress, &quality, &lossy); + fail_if(result == 0); + fail_if(w != test_alpha.w); + fail_if(h != test_alpha.h); + fail_if(alpha != test_alpha.alpha); + fail_if(compress != 9); + fail_if(lossy != 0); + + data = eet_data_image_read(ef, EET_TEST_FILE_IMAGE "7", &w, &h, &alpha, &compress, &quality, &lossy); + fail_if(data == NULL); + fail_if(w != test_alpha.w); + fail_if(h != test_alpha.h); + fail_if(alpha != test_alpha.alpha); + fail_if(compress != 9); + fail_if(lossy != 0); + fail_if(data[0] != test_alpha.color[0]); + free(data); + + result = eet_data_image_header_read(ef, EET_TEST_FILE_IMAGE "9", &w, &h, &alpha, &compress, &quality, &lossy); + fail_if(result == 0); + fail_if(w != test_alpha.w); + fail_if(h != test_alpha.h); + fail_if(alpha != test_alpha.alpha); + fail_if(lossy != 1); + + data = eet_data_image_read(ef, EET_TEST_FILE_IMAGE "9", &w, &h, &alpha, &compress, &quality, &lossy); + fail_if(data == NULL); + fail_if(w != test_alpha.w); + fail_if(h != test_alpha.h); + fail_if(alpha != test_alpha.alpha); + fail_if(lossy != 1); + free(data); + + eet_close(ef); + + eet_shutdown(); +} +END_TEST + +#define IM0 0x00112233 +#define IM1 0x44556677 +#define IM2 0x8899aabb +#define IM3 0xccddeeff + +START_TEST(eet_small_image) +{ + char *file = strdup("/tmp/eet_suite_testXXXXXX"); + unsigned int image[4]; + unsigned int *data; + Eet_File *ef; + int w; + int h; + int alpha; + int compression; + int quality; + int lossy; + int result; + + image[0] = IM0; + image[1] = IM1; + image[2] = IM2; + image[3] = IM3; + + eet_init(); + + mktemp(file); + + ef = eet_open(file, EET_FILE_MODE_WRITE); + fail_if(!ef); + + result = eet_data_image_write(ef, "/images/test", image, 2, 2, 1, 9, 100, 0); + fail_if(result == 0); + + eet_close(ef); + + ef = eet_open(file, EET_FILE_MODE_READ); + fail_if(!ef); + + data = (unsigned int*) eet_data_image_read(ef, "/images/test", &w, &h, &alpha, &compression, &quality, &lossy); + fail_if(data == NULL); + + eet_close(ef); + + fail_if(data[0] != IM0); + fail_if(data[1] != IM1); + fail_if(data[2] != IM2); + fail_if(data[3] != IM3); + + free(data); + + eet_shutdown(); +} +END_TEST + +Suite * +eet_suite(void) +{ + Suite *s; + TCase *tc; + + s = suite_create("Eet"); + + tc = tcase_create("Eet_Init"); + tcase_add_test(tc, eet_test_init); + suite_add_tcase(s, tc); + + tc = tcase_create("Eet Data Encoding/Decoding"); + tcase_add_test(tc, eet_test_basic_data_type_encoding_decoding); + tcase_add_test(tc, eet_test_data_type_encoding_decoding); + tcase_add_test(tc, eet_test_data_type_dump_undump); + suite_add_tcase(s, tc); + + tc = tcase_create("Eet File"); + tcase_add_test(tc, eet_file_simple_write); + tcase_add_test(tc, eet_file_data_test); + tcase_add_test(tc, eet_file_data_dump_test); + suite_add_tcase(s, tc); + + tc = tcase_create("Eet Image"); + tcase_add_test(tc, eet_image); + tcase_add_test(tc, eet_small_image); + suite_add_tcase(s, tc); + + return s; +} + +int +main(void) +{ + Suite *s; + SRunner *sr; + int failed_count; + + s = eet_suite(); + sr = srunner_create(s); + srunner_run_all(sr, CK_NORMAL); + failed_count = srunner_ntests_failed(sr); + srunner_free(sr); + + return (failed_count == 0) ? EXIT_SUCCESS : EXIT_FAILURE; +} diff --git a/src/tests/eet_suite.h b/src/tests/eet_suite.h new file mode 100644 index 0000000..4b979a2 --- /dev/null +++ b/src/tests/eet_suite.h @@ -0,0 +1,21 @@ +#ifndef _EET_SUITE_H +# define _EET_SUITE_H + +#include "Eet.h" + +typedef struct _Eet_List Eet_List; +typedef struct _Eet_Hash Eet_Hash; + +Eet_List* eet_list_prepend(Eet_List *list, const void *data); +Eet_List* eet_list_next(Eet_List *list); +void* eet_list_data(Eet_List *list); +void eet_list_free(Eet_List *list); + +void eet_hash_foreach(const Eet_Hash *hash, int (*func) (const Eet_Hash *hash, const char *key, void *data, void *fdata), const void *fdata); +Eet_Hash* eet_hash_add(Eet_Hash *hash, const char *key, const void *data); +void eet_hash_free(Eet_Hash *hash); + +void eet_test_setup_eddc(Eet_Data_Descriptor_Class *eddc); + + +#endif /* _EET_SUITE_H */ diff --git a/win32/MANIFEST.txt b/win32/MANIFEST.txt new file mode 100644 index 0000000..e1272fe --- /dev/null +++ b/win32/MANIFEST.txt @@ -0,0 +1,11 @@ + + This folder content: + + vs8 - Visual Studio 8 project files + start.bat - batch script to start work with the solution + eet.sln - Eet MSVC solution + libeet.vcproj - libeet project + + set_env.bat - common environment startup + MANIFEST.txt - this file + README.txt - about this folder \ No newline at end of file diff --git a/win32/README.txt b/win32/README.txt new file mode 100644 index 0000000..baf3060 --- /dev/null +++ b/win32/README.txt @@ -0,0 +1,8 @@ + + This folder contains Microsoft Visual Studion projects for building Eet. + +Important: + + Do not launch manually any solutions or projects in the folder, to start + a solution run proper start.bat script, it will setup environment for + projects and will check system requirements. diff --git a/win32/set_env.bat b/win32/set_env.bat new file mode 100644 index 0000000..ab862d8 --- /dev/null +++ b/win32/set_env.bat @@ -0,0 +1,25 @@ +@echo off + +rem Set external libraries directory. +set EXT_DIR=%cd%\..\..\..\..\extern + +if not exist %EXT_DIR% ( + set EXT_DIR= + echo ERROR: External libs dir is not set. + pause + goto END +) + +rem Add installation directory pathes. +set INCLUDE=%EXT_DIR%\include;%INCLUDE% +set LIB=%EXT_DIR%\lib;%LIB% + +rem Add Evil lib path +set EvilInclude=%cd%\..\..\..\proto\evil\src\lib +set EvilCommon=%cd%\..\..\..\proto\evil\win32\common +set EvilOut=%cd%\..\..\..\proto\evil\win32\%PROJECT_TYPE%\out + +set INCLUDE=%EvilCommon%;%EvilInclude%;%EvilInclude%\dlfcn;%EvilInclude%\mman;%INCLUDE% +set LIB=%EvilOut%;%LIB% + +:END diff --git a/win32/vs8/eet.sln b/win32/vs8/eet.sln new file mode 100644 index 0000000..24b01bb --- /dev/null +++ b/win32/vs8/eet.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libeet", "libeet.vcproj", "{689B4F2B-666D-439F-9BF3-1203D813DE3F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {689B4F2B-666D-439F-9BF3-1203D813DE3F}.Debug|Win32.ActiveCfg = Debug|Win32 + {689B4F2B-666D-439F-9BF3-1203D813DE3F}.Debug|Win32.Build.0 = Debug|Win32 + {689B4F2B-666D-439F-9BF3-1203D813DE3F}.Release|Win32.ActiveCfg = Release|Win32 + {689B4F2B-666D-439F-9BF3-1203D813DE3F}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/win32/vs8/libeet.vcproj b/win32/vs8/libeet.vcproj new file mode 100644 index 0000000..3d0c6a9 --- /dev/null +++ b/win32/vs8/libeet.vcproj @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win32/vs8/start.bat b/win32/vs8/start.bat new file mode 100644 index 0000000..7d63109 --- /dev/null +++ b/win32/vs8/start.bat @@ -0,0 +1,33 @@ +@echo off +rem Warning: environment is set for Win32 platform. + +set PROJECT_TYPE=vs8 + +pushd .. +call set_env.bat +popd + +if "%EXT_DIR%" == "" goto END + +rem Setup common Win32 environment variables + +set SolutionDirectory=%cd% +set DebugOutputDirectory=%SolutionDirectory%\out +set ReleaseOutputDirectory=%SolutionDirectory%\out +set DebugLibraryDirectory=%SolutionDirectory%\out +set ReleaseLibraryDirectory=%SolutionDirectory%\out +set TemporaryDirectory=%SolutionDirectory%\temp + +rem Check for basic requirements +if "%VS80COMNTOOLS%" == "" ( + echo ERROR: Microsoft Visual Studio 2005 is not installed. + pause + goto END +) + +rem Setting environment for using Microsoft Visual Studio 2005 x86 tools. +call "%VS80COMNTOOLS%vsvars32.bat" + +eet.sln + +:END \ No newline at end of file -- 2.7.4

  2. SECJYs-b|9Q5*@_B!K+=OffjbCE;5oiE8et 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

K5@fs&u&U7H5(~;!esNbm?k7{RVZo42B!;& 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 Eg86MPumAu6 literal 0 HcmV?d00001 diff --git a/doc/img/eet_big.png b/doc/img/eet_big.png new file mode 100644 index 0000000000000000000000000000000000000000..cd818f75b1d6aac7b03797683c85c80eff6230da GIT binary patch literal 937116 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%0DQEkHvE@L3(L4 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