Initial check in of curl.

Plan to:
- Fix warnings
- Add java support

Change-Id: Ia61d4d479aa61178f2883161491ab844301317e0
diff --git a/src/Makefile.in b/src/Makefile.in
new file mode 100644
index 0000000..48dd835
--- /dev/null
+++ b/src/Makefile.in
@@ -0,0 +1,724 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# ./src/Makefile.inc
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = curl$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(srcdir)/Makefile.inc $(srcdir)/curl_config.h.in
+subdir = src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \
+	$(top_srcdir)/m4/curl-confopts.m4 \
+	$(top_srcdir)/m4/curl-functions.m4 \
+	$(top_srcdir)/m4/curl-override.m4 \
+	$(top_srcdir)/m4/curl-reentrant.m4 \
+	$(top_srcdir)/m4/curl-system.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h curl_config.h \
+	$(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am__objects_1 = main.$(OBJEXT) hugehelp.$(OBJEXT) urlglob.$(OBJEXT) \
+	writeout.$(OBJEXT) writeenv.$(OBJEXT) getpass.$(OBJEXT) \
+	homedir.$(OBJEXT) curlutil.$(OBJEXT) os-specific.$(OBJEXT)
+am__objects_2 = strtoofft.$(OBJEXT) strdup.$(OBJEXT) rawstr.$(OBJEXT) \
+	nonblock.$(OBJEXT)
+am__objects_3 =
+am_curl_OBJECTS = $(am__objects_1) $(am__objects_2) $(am__objects_3)
+curl_OBJECTS = $(am_curl_OBJECTS)
+DEFAULT_INCLUDES = 
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(curl_SOURCES)
+DIST_SOURCES = $(curl_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
+CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
+CURLDEBUG_FALSE = @CURLDEBUG_FALSE@
+CURLDEBUG_TRUE = @CURLDEBUG_TRUE@
+CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
+CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
+CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
+CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
+CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
+CURL_DISABLE_IMAP = @CURL_DISABLE_IMAP@
+CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
+CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
+CURL_DISABLE_POP3 = @CURL_DISABLE_POP3@
+CURL_DISABLE_PROXY = @CURL_DISABLE_PROXY@
+CURL_DISABLE_RTSP = @CURL_DISABLE_RTSP@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LIBS = @CURL_LIBS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
+HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
+HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+KRB4_ENABLED = @KRB4_ENABLED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+MANOPT = @MANOPT@
+MIMPURE_FALSE = @MIMPURE_FALSE@
+MIMPURE_TRUE = @MIMPURE_TRUE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
+NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
+# Use the C locale to ensure that only ASCII characters appear in the
+# embedded text.
+NROFF = env LC_ALL=C @NROFF@ @MANOPT@ # figured out by the configure script
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH = @PATH@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKGADD_NAME = @PKGADD_NAME@
+PKGADD_PKG = @PKGADD_PKG@
+PKGADD_VENDOR = @PKGADD_VENDOR@
+PKGCONFIG = @PKGCONFIG@
+RANDOM_FILE = @RANDOM_FILE@
+RANLIB = @RANLIB@
+REQUIRE_LIB_DEPS = @REQUIRE_LIB_DEPS@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
+SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
+SSL_ENABLED = @SSL_ENABLED@
+STATICLIB_FALSE = @STATICLIB_FALSE@
+STATICLIB_TRUE = @STATICLIB_TRUE@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
+USE_ARES = @USE_ARES@
+USE_EMBEDDED_ARES_FALSE = @USE_EMBEDDED_ARES_FALSE@
+USE_EMBEDDED_ARES_TRUE = @USE_EMBEDDED_ARES_TRUE@
+USE_GNUTLS = @USE_GNUTLS@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
+USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
+USE_NSS = @USE_NSS@
+USE_SSLEAY = @USE_SSLEAY@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+libext = @libext@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at http://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+AUTOMAKE_OPTIONS = foreign nostdinc
+
+# Specify our include paths here, and do it relative to $(top_srcdir) and
+# $(top_builddir), to ensure that these paths which belong to the library
+# being currently built and tested are searched before the library which
+# might possibly already be installed in the system.
+#
+# $(top_builddir)/include/curl for generated curlbuild.h included from curl.h
+# $(top_builddir)/include for generated curlbuild.h included from lib/setup.h
+# $(top_srcdir)/include is for libcurl's external include files
+# $(top_builddir)/lib is for libcurl's generated lib/curl_config.h file
+# $(top_builddir)/src is for curl's generated src/curl_config.h file
+# $(top_srcdir)/lib is for libcurl's lib/setup.h and other "borrowed" files
+# $(top_srcdir)/src is for curl's src/setup.h and "curl-private" files
+INCLUDES = -I$(top_builddir)/include/curl \
+           -I$(top_builddir)/include      \
+           -I$(top_srcdir)/include        \
+           -I$(top_builddir)/lib          \
+           -I$(top_builddir)/src          \
+           -I$(top_srcdir)/lib            \
+           -I$(top_srcdir)/src
+
+
+# libcurl has sources that provide functions named curlx_* that aren't part of
+# the official API, but we re-use the code here to avoid duplication.
+CURLX_ONES = $(top_srcdir)/lib/strtoofft.c \
+	$(top_srcdir)/lib/strdup.c \
+	$(top_srcdir)/lib/rawstr.c \
+	$(top_srcdir)/lib/nonblock.c
+
+CURL_SOURCES = main.c hugehelp.c urlglob.c writeout.c writeenv.c \
+	getpass.c homedir.c curlutil.c os-specific.c
+
+CURL_HFILES = hugehelp.h setup.h config-win32.h config-mac.h \
+	config-riscos.h urlglob.h version.h os-specific.h \
+	writeout.h writeenv.h getpass.h homedir.h curlutil.h
+
+curl_SOURCES = $(CURL_SOURCES) $(CURLX_ONES) $(CURL_HFILES)
+curl_LDADD = $(top_builddir)/lib/libcurl.la @CURL_LIBS@
+curl_DEPENDENCIES = $(top_builddir)/lib/libcurl.la
+BUILT_SOURCES = hugehelp.c
+CLEANFILES = hugehelp.c
+EXTRA_DIST = mkhelp.pl makefile.dj Makefile.vc6 Makefile.b32 Makefile.m32 \
+	Makefile.riscos curl_config.h.in macos/curl.mcp.xml.sit.hqx	  \
+	macos/MACINSTALL.TXT macos/src/curl_GUSIConfig.cpp vc6curlsrc.dsp \
+	macos/src/macos_main.cpp config-amigaos.h makefile.amiga curl.rc  \
+	Makefile.netware Makefile.inc Makefile.Watcom vc6curlsrc.dsw      \
+	CMakeLists.txt
+
+MANPAGE = $(top_srcdir)/docs/curl.1
+README = $(top_srcdir)/docs/MANUAL
+MKHELP = $(top_srcdir)/src/mkhelp.pl
+HUGE = hugehelp.c
+all: $(BUILT_SOURCES) curl_config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.inc $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+curl_config.h: stamp-h2
+	@if test ! -f $@; then \
+	  rm -f stamp-h2; \
+	  $(MAKE) stamp-h2; \
+	else :; fi
+
+stamp-h2: $(srcdir)/curl_config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h2
+	cd $(top_builddir) && $(SHELL) ./config.status src/curl_config.h
+$(srcdir)/curl_config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
+	cd $(top_srcdir) && $(AUTOHEADER)
+	rm -f stamp-h2
+	touch $@
+
+distclean-hdr:
+	-rm -f curl_config.h stamp-h2
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+	     || test -f $$p1 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+	  else :; fi; \
+	done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+
+clean-binPROGRAMS:
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+curl$(EXEEXT): $(curl_OBJECTS) $(curl_DEPENDENCIES) 
+	@rm -f curl$(EXEEXT)
+	$(LINK) $(curl_LDFLAGS) $(curl_OBJECTS) $(curl_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curlutil.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpass.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/homedir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hugehelp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonblock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/os-specific.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rawstr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoofft.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/urlglob.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/writeenv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/writeout.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
+
+strtoofft.o: $(top_srcdir)/lib/strtoofft.c
+@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strtoofft.o -MD -MP -MF "$(DEPDIR)/strtoofft.Tpo" -c -o strtoofft.o `test -f '$(top_srcdir)/lib/strtoofft.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/strtoofft.c; \
+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/strtoofft.Tpo" "$(DEPDIR)/strtoofft.Po"; else rm -f "$(DEPDIR)/strtoofft.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(top_srcdir)/lib/strtoofft.c' object='strtoofft.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strtoofft.o `test -f '$(top_srcdir)/lib/strtoofft.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/strtoofft.c
+
+strtoofft.obj: $(top_srcdir)/lib/strtoofft.c
+@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strtoofft.obj -MD -MP -MF "$(DEPDIR)/strtoofft.Tpo" -c -o strtoofft.obj `if test -f '$(top_srcdir)/lib/strtoofft.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/strtoofft.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/strtoofft.c'; fi`; \
+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/strtoofft.Tpo" "$(DEPDIR)/strtoofft.Po"; else rm -f "$(DEPDIR)/strtoofft.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(top_srcdir)/lib/strtoofft.c' object='strtoofft.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strtoofft.obj `if test -f '$(top_srcdir)/lib/strtoofft.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/strtoofft.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/strtoofft.c'; fi`
+
+strdup.o: $(top_srcdir)/lib/strdup.c
+@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strdup.o -MD -MP -MF "$(DEPDIR)/strdup.Tpo" -c -o strdup.o `test -f '$(top_srcdir)/lib/strdup.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/strdup.c; \
+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/strdup.Tpo" "$(DEPDIR)/strdup.Po"; else rm -f "$(DEPDIR)/strdup.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(top_srcdir)/lib/strdup.c' object='strdup.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strdup.o `test -f '$(top_srcdir)/lib/strdup.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/strdup.c
+
+strdup.obj: $(top_srcdir)/lib/strdup.c
+@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strdup.obj -MD -MP -MF "$(DEPDIR)/strdup.Tpo" -c -o strdup.obj `if test -f '$(top_srcdir)/lib/strdup.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/strdup.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/strdup.c'; fi`; \
+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/strdup.Tpo" "$(DEPDIR)/strdup.Po"; else rm -f "$(DEPDIR)/strdup.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(top_srcdir)/lib/strdup.c' object='strdup.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strdup.obj `if test -f '$(top_srcdir)/lib/strdup.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/strdup.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/strdup.c'; fi`
+
+rawstr.o: $(top_srcdir)/lib/rawstr.c
+@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rawstr.o -MD -MP -MF "$(DEPDIR)/rawstr.Tpo" -c -o rawstr.o `test -f '$(top_srcdir)/lib/rawstr.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/rawstr.c; \
+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/rawstr.Tpo" "$(DEPDIR)/rawstr.Po"; else rm -f "$(DEPDIR)/rawstr.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(top_srcdir)/lib/rawstr.c' object='rawstr.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rawstr.o `test -f '$(top_srcdir)/lib/rawstr.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/rawstr.c
+
+rawstr.obj: $(top_srcdir)/lib/rawstr.c
+@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rawstr.obj -MD -MP -MF "$(DEPDIR)/rawstr.Tpo" -c -o rawstr.obj `if test -f '$(top_srcdir)/lib/rawstr.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/rawstr.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/rawstr.c'; fi`; \
+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/rawstr.Tpo" "$(DEPDIR)/rawstr.Po"; else rm -f "$(DEPDIR)/rawstr.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(top_srcdir)/lib/rawstr.c' object='rawstr.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rawstr.obj `if test -f '$(top_srcdir)/lib/rawstr.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/rawstr.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/rawstr.c'; fi`
+
+nonblock.o: $(top_srcdir)/lib/nonblock.c
+@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonblock.o -MD -MP -MF "$(DEPDIR)/nonblock.Tpo" -c -o nonblock.o `test -f '$(top_srcdir)/lib/nonblock.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/nonblock.c; \
+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/nonblock.Tpo" "$(DEPDIR)/nonblock.Po"; else rm -f "$(DEPDIR)/nonblock.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(top_srcdir)/lib/nonblock.c' object='nonblock.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonblock.o `test -f '$(top_srcdir)/lib/nonblock.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/nonblock.c
+
+nonblock.obj: $(top_srcdir)/lib/nonblock.c
+@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nonblock.obj -MD -MP -MF "$(DEPDIR)/nonblock.Tpo" -c -o nonblock.obj `if test -f '$(top_srcdir)/lib/nonblock.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/nonblock.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/nonblock.c'; fi`; \
+@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/nonblock.Tpo" "$(DEPDIR)/nonblock.Po"; else rm -f "$(DEPDIR)/nonblock.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$(top_srcdir)/lib/nonblock.c' object='nonblock.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nonblock.obj `if test -f '$(top_srcdir)/lib/nonblock.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/nonblock.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/nonblock.c'; fi`
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES) curl_config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS) curl_config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES) curl_config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS) curl_config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(mkdir_p) $(distdir)/macos $(distdir)/macos/src
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(PROGRAMS) curl_config.h
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-hdr distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic clean-libtool ctags distclean distclean-compile \
+	distclean-generic distclean-hdr distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-binPROGRAMS install-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-binPROGRAMS \
+	uninstall-info-am
+
+
+# Here are the stuff to create a built-in manual
+
+# This generates the hugehelp.c file in both uncompressed and compressed formats
+@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@$(HUGE): $(README) $(MANPAGE)  mkhelp.pl
+@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@	echo '#include "setup.h"' > $(HUGE)
+@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@	echo '#ifndef HAVE_LIBZ' >> $(HUGE)
+@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@	$(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) $(README) >> $(HUGE)
+@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@	echo '#else' >> $(HUGE)
+@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@	$(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) -c $(README) >> $(HUGE)
+@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@	echo '#endif /* HAVE_LIBZ */' >> $(HUGE)
+# This generates the hugehelp.c file uncompressed only
+@HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@$(HUGE): $(README) $(MANPAGE)  mkhelp.pl
+@HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@	echo '#include "setup.h"' > $(HUGE)
+@HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@	$(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) $(README) >> $(HUGE)
+
+# built-in manual has been disabled, make a blank file
+@USE_MANUAL_FALSE@$(HUGE):
+@USE_MANUAL_FALSE@	echo "/* built-in manual is disabled, blank function */" > $(HUGE)
+@USE_MANUAL_FALSE@	echo '#include "hugehelp.h"' >> $(HUGE)
+@USE_MANUAL_FALSE@	echo "void hugehelp(void) {}" >>$(HUGE)
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/Makefile.inc b/src/Makefile.inc
new file mode 100644
index 0000000..9faf89d
--- /dev/null
+++ b/src/Makefile.inc
@@ -0,0 +1,19 @@
+# ./src/Makefile.inc
+
+# libcurl has sources that provide functions named curlx_* that aren't part of
+# the official API, but we re-use the code here to avoid duplication.
+CURLX_ONES =  $(top_srcdir)/lib/strtoofft.c \
+	$(top_srcdir)/lib/strdup.c \
+	$(top_srcdir)/lib/rawstr.c \
+	$(top_srcdir)/lib/nonblock.c
+
+CURL_SOURCES = main.c hugehelp.c urlglob.c writeout.c writeenv.c \
+	getpass.c homedir.c curlutil.c os-specific.c
+
+CURL_HFILES = hugehelp.h setup.h config-win32.h config-mac.h \
+	config-riscos.h urlglob.h version.h os-specific.h \
+	writeout.h writeenv.h getpass.h homedir.h curlutil.h
+
+curl_SOURCES = $(CURL_SOURCES) $(CURLX_ONES) $(CURL_HFILES)
+
+
diff --git a/src/curl.rc b/src/curl.rc
new file mode 100644
index 0000000..58e439d
--- /dev/null
+++ b/src/curl.rc
@@ -0,0 +1,63 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include <winver.h>
+#include "version.h"
+
+LANGUAGE  0x09,0x01
+
+#define RC_VERSION  CURL_VERSION_MAJOR, CURL_VERSION_MINOR, CURL_VERSION_PATCH, 0
+
+VS_VERSION_INFO VERSIONINFO
+  FILEVERSION     RC_VERSION
+  PRODUCTVERSION  RC_VERSION
+  FILEFLAGSMASK   0x3fL
+#if defined(DEBUGBUILD) || defined(_DEBUG)
+  FILEFLAGS 1
+#else
+  FILEFLAGS 0
+#endif
+  FILEOS      VOS__WINDOWS32
+  FILETYPE    VFT_APP
+  FILESUBTYPE 0x0L
+
+BEGIN
+  BLOCK "StringFileInfo"
+  BEGIN
+    BLOCK "040904b0"
+    BEGIN
+      VALUE "CompanyName",      "cURL, http://curl.haxx.se/\0"
+      VALUE "FileDescription",  "The cURL executable\0"
+      VALUE "FileVersion",      CURL_VERSION "\0"
+      VALUE "InternalName",     "curl\0"
+      VALUE "OriginalFilename", "curl.exe\0"
+      VALUE "ProductName",      "The cURL executable\0"
+      VALUE "ProductVersion",   CURL_VERSION "\0"
+      VALUE "LegalCopyright",   "© " CURL_COPYRIGHT "\0"
+      VALUE "License",          "http://curl.haxx.se/docs/copyright.html\0"
+    END
+  END
+
+  BLOCK "VarFileInfo"
+  BEGIN
+    VALUE "Translation", 0x409, 1200
+  END
+END
diff --git a/src/curl_config.h b/src/curl_config.h
new file mode 100644
index 0000000..1ac94f3
--- /dev/null
+++ b/src/curl_config.h
@@ -0,0 +1,974 @@
+/* src/curl_config.h.  Generated from curl_config.h.in by configure.  */
+/* lib/curl_config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* when building libcurl itself */
+/* #undef BUILDING_LIBCURL */
+
+/* Location of default ca bundle */
+#define CURL_CA_BUNDLE "/etc/ssl/certs/ca-certificates.crt"
+
+/* Location of default ca path */
+/* #undef CURL_CA_PATH */
+
+/* to disable cookies support */
+/* #undef CURL_DISABLE_COOKIES */
+
+/* to disable cryptographic authentication */
+/* #undef CURL_DISABLE_CRYPTO_AUTH */
+
+/* to disable DICT */
+/* #undef CURL_DISABLE_DICT */
+
+/* to disable FILE */
+/* #undef CURL_DISABLE_FILE */
+
+/* to disable FTP */
+/* #undef CURL_DISABLE_FTP */
+
+/* to disable HTTP */
+/* #undef CURL_DISABLE_HTTP */
+
+/* to disable IMAP */
+/* #undef CURL_DISABLE_IMAP */
+
+/* to disable LDAP */
+#define CURL_DISABLE_LDAP 1
+
+/* to disable LDAPS */
+#define CURL_DISABLE_LDAPS 1
+
+/* to disable POP3 */
+/* #undef CURL_DISABLE_POP3 */
+
+/* to disable proxies */
+/* #undef CURL_DISABLE_PROXY */
+
+/* to disable RTSP */
+/* #undef CURL_DISABLE_RTSP */
+
+/* to disable SMTP */
+/* #undef CURL_DISABLE_SMTP */
+
+/* to disable TELNET */
+/* #undef CURL_DISABLE_TELNET */
+
+/* to disable TFTP */
+/* #undef CURL_DISABLE_TFTP */
+
+/* to disable verbose strings */
+/* #undef CURL_DISABLE_VERBOSE_STRINGS */
+
+/* to make a symbol visible */
+/* #undef CURL_EXTERN_SYMBOL */
+
+/* to enable hidden symbols */
+/* #undef CURL_HIDDEN_SYMBOLS */
+
+/* W$ LDAP with non-W$ compiler */
+/* #undef CURL_LDAP_HYBRID */
+
+/* Use W$ LDAP implementation */
+/* #undef CURL_LDAP_WIN */
+
+/* when not building a shared library */
+/* #undef CURL_STATICLIB */
+
+/* your Entropy Gathering Daemon socket pathname */
+/* #undef EGD_SOCKET */
+
+/* Define if you want to enable IPv6 support */
+#define ENABLE_IPV6 1
+
+/* Define to the type qualifier of arg 1 for getnameinfo. */
+#define GETNAMEINFO_QUAL_ARG1 const
+
+/* Define to the type of arg 1 for getnameinfo. */
+#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
+
+/* Define to the type of arg 2 for getnameinfo. */
+#define GETNAMEINFO_TYPE_ARG2 socklen_t
+
+/* Define to the type of args 4 and 6 for getnameinfo. */
+#define GETNAMEINFO_TYPE_ARG46 socklen_t
+
+/* Define to the type of arg 7 for getnameinfo. */
+#define GETNAMEINFO_TYPE_ARG7 unsigned int
+
+/* Specifies the number of arguments to getservbyport_r */
+#define GETSERVBYPORT_R_ARGS 6
+
+/* Specifies the size of the buffer to pass to getservbyport_r */
+#define GETSERVBYPORT_R_BUFSIZE 4096
+
+/* Define to 1 if you have the alarm function. */
+#define HAVE_ALARM 1
+
+/* Define to 1 if you have the <alloca.h> header file. */
+#define HAVE_ALLOCA_H 1
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#define HAVE_ARPA_INET_H 1
+
+/* Define to 1 if you have the <arpa/tftp.h> header file. */
+#define HAVE_ARPA_TFTP_H 1
+
+/* Define to 1 if you have the <assert.h> header file. */
+#define HAVE_ASSERT_H 1
+
+/* Define to 1 if you have the basename function. */
+#define HAVE_BASENAME 1
+
+/* Define to 1 if bool is an available type. */
+#define HAVE_BOOL_T 1
+
+/* Define to 1 if you have the clock_gettime function and monotonic timer. */
+#define HAVE_CLOCK_GETTIME_MONOTONIC 1
+
+/* Define to 1 if you have the closesocket function. */
+/* #undef HAVE_CLOSESOCKET */
+
+/* Define to 1 if you have the CloseSocket camel case function. */
+/* #undef HAVE_CLOSESOCKET_CAMEL */
+
+/* Define to 1 if you have the connect function. */
+#define HAVE_CONNECT 1
+
+/* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function. */
+#define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1
+
+/* Define to 1 if you have the <crypto.h> header file. */
+/* #undef HAVE_CRYPTO_H */
+
+/* Define to 1 if you have the <des.h> header file. */
+/* #undef HAVE_DES_H */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the `ENGINE_cleanup' function. */
+#define HAVE_ENGINE_CLEANUP 1
+
+/* Define to 1 if you have the `ENGINE_load_builtin_engines' function. */
+#define HAVE_ENGINE_LOAD_BUILTIN_ENGINES 1
+
+/* Define to 1 if you have the <errno.h> header file. */
+#define HAVE_ERRNO_H 1
+
+/* Define to 1 if you have the <err.h> header file. */
+/* #undef HAVE_ERR_H */
+
+/* Define to 1 if you have the fcntl function. */
+#define HAVE_FCNTL 1
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have a working fcntl O_NONBLOCK function. */
+#define HAVE_FCNTL_O_NONBLOCK 1
+
+/* Define to 1 if you have the fdopen function. */
+#define HAVE_FDOPEN 1
+
+/* Define to 1 if you have the `fork' function. */
+#define HAVE_FORK 1
+
+/* Define to 1 if you have the freeaddrinfo function. */
+#define HAVE_FREEADDRINFO 1
+
+/* Define to 1 if you have the freeifaddrs function. */
+#define HAVE_FREEIFADDRS 1
+
+/* Define to 1 if you have the ftruncate function. */
+#define HAVE_FTRUNCATE 1
+
+/* Define to 1 if you have a working getaddrinfo function. */
+#define HAVE_GETADDRINFO 1
+
+/* Define to 1 if the getaddrinfo function is threadsafe. */
+#define HAVE_GETADDRINFO_THREADSAFE 1
+
+/* Define to 1 if you have the `geteuid' function. */
+#define HAVE_GETEUID 1
+
+/* Define to 1 if you have the gethostbyaddr function. */
+#define HAVE_GETHOSTBYADDR 1
+
+/* Define to 1 if you have the gethostbyaddr_r function. */
+#define HAVE_GETHOSTBYADDR_R 1
+
+/* gethostbyaddr_r() takes 5 args */
+/* #undef HAVE_GETHOSTBYADDR_R_5 */
+
+/* gethostbyaddr_r() takes 7 args */
+/* #undef HAVE_GETHOSTBYADDR_R_7 */
+
+/* gethostbyaddr_r() takes 8 args */
+#define HAVE_GETHOSTBYADDR_R_8 1
+
+/* Define to 1 if you have the gethostbyname function. */
+#define HAVE_GETHOSTBYNAME 1
+
+/* Define to 1 if you have the gethostbyname_r function. */
+#define HAVE_GETHOSTBYNAME_R 1
+
+/* gethostbyname_r() takes 3 args */
+/* #undef HAVE_GETHOSTBYNAME_R_3 */
+
+/* gethostbyname_r() takes 5 args */
+/* #undef HAVE_GETHOSTBYNAME_R_5 */
+
+/* gethostbyname_r() takes 6 args */
+#define HAVE_GETHOSTBYNAME_R_6 1
+
+/* Define to 1 if you have the gethostname function. */
+#define HAVE_GETHOSTNAME 1
+
+/* Define to 1 if you have a working getifaddrs function. */
+#define HAVE_GETIFADDRS 1
+
+/* Define to 1 if you have the getnameinfo function. */
+#define HAVE_GETNAMEINFO 1
+
+/* Define to 1 if you have the `getpass_r' function. */
+/* #undef HAVE_GETPASS_R */
+
+/* Define to 1 if you have the `getppid' function. */
+#define HAVE_GETPPID 1
+
+/* Define to 1 if you have the `getprotobyname' function. */
+#define HAVE_GETPROTOBYNAME 1
+
+/* Define to 1 if you have the `getpwuid' function. */
+#define HAVE_GETPWUID 1
+
+/* Define to 1 if you have the `getrlimit' function. */
+#define HAVE_GETRLIMIT 1
+
+/* Define to 1 if you have the getservbyport_r function. */
+#define HAVE_GETSERVBYPORT_R 1
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define to 1 if you have a working glibc-style strerror_r function. */
+/* #undef HAVE_GLIBC_STRERROR_R */
+
+/* Define to 1 if you have a working gmtime_r function. */
+#define HAVE_GMTIME_R 1
+
+/* if you have the gssapi libraries */
+/* #undef HAVE_GSSAPI */
+
+/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */
+/* #undef HAVE_GSSAPI_GSSAPI_GENERIC_H */
+
+/* Define to 1 if you have the <gssapi/gssapi.h> header file. */
+/* #undef HAVE_GSSAPI_GSSAPI_H */
+
+/* Define to 1 if you have the <gssapi/gssapi_krb5.h> header file. */
+/* #undef HAVE_GSSAPI_GSSAPI_KRB5_H */
+
+/* if you have the GNU gssapi libraries */
+/* #undef HAVE_GSSGNU */
+
+/* if you have the Heimdal gssapi libraries */
+/* #undef HAVE_GSSHEIMDAL */
+
+/* if you have the MIT gssapi libraries */
+/* #undef HAVE_GSSMIT */
+
+/* Define to 1 if you have the `idna_strerror' function. */
+/* #undef HAVE_IDNA_STRERROR */
+
+/* Define to 1 if you have the `idn_free' function. */
+/* #undef HAVE_IDN_FREE */
+
+/* Define to 1 if you have the <idn-free.h> header file. */
+/* #undef HAVE_IDN_FREE_H */
+
+/* Define to 1 if you have the <ifaddrs.h> header file. */
+#define HAVE_IFADDRS_H 1
+
+/* Define to 1 if you have the `inet_addr' function. */
+#define HAVE_INET_ADDR 1
+
+/* Define to 1 if you have the inet_ntoa_r function. */
+/* #undef HAVE_INET_NTOA_R */
+
+/* inet_ntoa_r() takes 2 args */
+/* #undef HAVE_INET_NTOA_R_2 */
+
+/* inet_ntoa_r() takes 3 args */
+/* #undef HAVE_INET_NTOA_R_3 */
+
+/* Define to 1 if you have a IPv6 capable working inet_ntop function. */
+#define HAVE_INET_NTOP 1
+
+/* Define to 1 if you have a IPv6 capable working inet_pton function. */
+#define HAVE_INET_PTON 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the ioctl function. */
+#define HAVE_IOCTL 1
+
+/* Define to 1 if you have the ioctlsocket function. */
+/* #undef HAVE_IOCTLSOCKET */
+
+/* Define to 1 if you have the IoctlSocket camel case function. */
+/* #undef HAVE_IOCTLSOCKET_CAMEL */
+
+/* Define to 1 if you have a working IoctlSocket camel case FIONBIO function.
+   */
+/* #undef HAVE_IOCTLSOCKET_CAMEL_FIONBIO */
+
+/* Define to 1 if you have a working ioctlsocket FIONBIO function. */
+/* #undef HAVE_IOCTLSOCKET_FIONBIO */
+
+/* Define to 1 if you have a working ioctl FIONBIO function. */
+#define HAVE_IOCTL_FIONBIO 1
+
+/* Define to 1 if you have a working ioctl SIOCGIFADDR function. */
+#define HAVE_IOCTL_SIOCGIFADDR 1
+
+/* Define to 1 if you have the <io.h> header file. */
+/* #undef HAVE_IO_H */
+
+/* if you have the Kerberos4 libraries (including -ldes) */
+/* #undef HAVE_KRB4 */
+
+/* Define to 1 if you have the `krb_get_our_ip_for_realm' function. */
+/* #undef HAVE_KRB_GET_OUR_IP_FOR_REALM */
+
+/* Define to 1 if you have the <krb.h> header file. */
+/* #undef HAVE_KRB_H */
+
+/* Define to 1 if you have the lber.h header file. */
+/* #undef HAVE_LBER_H */
+
+/* Define to 1 if you have the ldapssl.h header file. */
+/* #undef HAVE_LDAPSSL_H */
+
+/* Define to 1 if you have the ldap.h header file. */
+/* #undef HAVE_LDAP_H */
+
+/* Use LDAPS implementation */
+/* #undef HAVE_LDAP_SSL */
+
+/* Define to 1 if you have the ldap_ssl.h header file. */
+/* #undef HAVE_LDAP_SSL_H */
+
+/* Define to 1 if you have the `ldap_url_parse' function. */
+/* #undef HAVE_LDAP_URL_PARSE */
+
+/* Define to 1 if you have the <libgen.h> header file. */
+#define HAVE_LIBGEN_H 1
+
+/* Define to 1 if you have the `idn' library (-lidn). */
+/* #undef HAVE_LIBIDN */
+
+/* Define to 1 if you have the `resolv' library (-lresolv). */
+/* #undef HAVE_LIBRESOLV */
+
+/* Define to 1 if you have the `resolve' library (-lresolve). */
+/* #undef HAVE_LIBRESOLVE */
+
+/* Define to 1 if you have the `ssh2' library (-lssh2). */
+/* #undef HAVE_LIBSSH2 */
+
+/* Define to 1 if you have the <libssh2.h> header file. */
+/* #undef HAVE_LIBSSH2_H */
+
+/* Define to 1 if you have the `libssh2_version' function. */
+/* #undef HAVE_LIBSSH2_VERSION */
+
+/* Define to 1 if you have the `ssl' library (-lssl). */
+#define HAVE_LIBSSL 1
+
+/* if zlib is available */
+#define HAVE_LIBZ 1
+
+/* Define to 1 if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
+
+/* if your compiler supports LL */
+#define HAVE_LL 1
+
+/* Define to 1 if you have the <locale.h> header file. */
+#define HAVE_LOCALE_H 1
+
+/* Define to 1 if you have a working localtime_r function. */
+#define HAVE_LOCALTIME_R 1
+
+/* Define to 1 if the compiler supports the 'long long' data type. */
+#define HAVE_LONGLONG 1
+
+/* Define to 1 if you have the malloc.h header file. */
+#define HAVE_MALLOC_H 1
+
+/* Define to 1 if you have the memory.h header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the memrchr function or macro. */
+/* #undef HAVE_MEMRCHR */
+
+/* Define to 1 if you have the MSG_NOSIGNAL flag. */
+#define HAVE_MSG_NOSIGNAL 1
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#define HAVE_NETDB_H 1
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#define HAVE_NETINET_IN_H 1
+
+/* Define to 1 if you have the <netinet/tcp.h> header file. */
+#define HAVE_NETINET_TCP_H 1
+
+/* Define to 1 if you have the <net/if.h> header file. */
+#define HAVE_NET_IF_H 1
+
+/* Define to 1 if NI_WITHSCOPEID exists and works. */
+/* #undef HAVE_NI_WITHSCOPEID */
+
+/* if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE
+   */
+/* #undef HAVE_OLD_GSSMIT */
+
+/* Define to 1 if you have the <openssl/crypto.h> header file. */
+#define HAVE_OPENSSL_CRYPTO_H 1
+
+/* Define to 1 if you have the <openssl/engine.h> header file. */
+#define HAVE_OPENSSL_ENGINE_H 1
+
+/* Define to 1 if you have the <openssl/err.h> header file. */
+#define HAVE_OPENSSL_ERR_H 1
+
+/* Define to 1 if you have the <openssl/pem.h> header file. */
+#define HAVE_OPENSSL_PEM_H 1
+
+/* Define to 1 if you have the <openssl/pkcs12.h> header file. */
+#define HAVE_OPENSSL_PKCS12_H 1
+
+/* Define to 1 if you have the <openssl/rsa.h> header file. */
+#define HAVE_OPENSSL_RSA_H 1
+
+/* Define to 1 if you have the <openssl/ssl.h> header file. */
+#define HAVE_OPENSSL_SSL_H 1
+
+/* Define to 1 if you have the <openssl/x509.h> header file. */
+#define HAVE_OPENSSL_X509_H 1
+
+/* Define to 1 if you have the <pem.h> header file. */
+/* #undef HAVE_PEM_H */
+
+/* Define to 1 if you have the `perror' function. */
+#define HAVE_PERROR 1
+
+/* Define to 1 if you have the `pipe' function. */
+#define HAVE_PIPE 1
+
+/* if you have the function PK11_CreateGenericObject */
+/* #undef HAVE_PK11_CREATEGENERICOBJECT */
+
+/* Define to 1 if you have a working poll function. */
+#define HAVE_POLL 1
+
+/* If you have a fine poll */
+#define HAVE_POLL_FINE 1
+
+/* Define to 1 if you have the <poll.h> header file. */
+#define HAVE_POLL_H 1
+
+/* Define to 1 if you have a working POSIX-style strerror_r function. */
+#define HAVE_POSIX_STRERROR_R 1
+
+/* Define to 1 if you have the <pwd.h> header file. */
+#define HAVE_PWD_H 1
+
+/* Define to 1 if you have the `RAND_egd' function. */
+#define HAVE_RAND_EGD 1
+
+/* Define to 1 if you have the `RAND_screen' function. */
+/* #undef HAVE_RAND_SCREEN */
+
+/* Define to 1 if you have the `RAND_status' function. */
+#define HAVE_RAND_STATUS 1
+
+/* Define to 1 if you have the recv function. */
+#define HAVE_RECV 1
+
+/* Define to 1 if you have the recvfrom function. */
+#define HAVE_RECVFROM 1
+
+/* Define to 1 if you have the <rsa.h> header file. */
+/* #undef HAVE_RSA_H */
+
+/* Define to 1 if you have the select function. */
+#define HAVE_SELECT 1
+
+/* Define to 1 if you have the send function. */
+#define HAVE_SEND 1
+
+/* Define to 1 if you have the <setjmp.h> header file. */
+#define HAVE_SETJMP_H 1
+
+/* Define to 1 if you have the `setlocale' function. */
+#define HAVE_SETLOCALE 1
+
+/* Define to 1 if you have the `setmode' function. */
+/* #undef HAVE_SETMODE */
+
+/* Define to 1 if you have the `setrlimit' function. */
+#define HAVE_SETRLIMIT 1
+
+/* Define to 1 if you have the setsockopt function. */
+#define HAVE_SETSOCKOPT 1
+
+/* Define to 1 if you have a working setsockopt SO_NONBLOCK function. */
+/* #undef HAVE_SETSOCKOPT_SO_NONBLOCK */
+
+/* Define to 1 if you have the <sgtty.h> header file. */
+#define HAVE_SGTTY_H 1
+
+/* Define to 1 if you have the sigaction function. */
+#define HAVE_SIGACTION 1
+
+/* Define to 1 if you have the siginterrupt function. */
+#define HAVE_SIGINTERRUPT 1
+
+/* Define to 1 if you have the signal function. */
+#define HAVE_SIGNAL 1
+
+/* Define to 1 if you have the <signal.h> header file. */
+#define HAVE_SIGNAL_H 1
+
+/* Define to 1 if you have the sigsetjmp function or macro. */
+#define HAVE_SIGSETJMP 1
+
+/* Define to 1 if sig_atomic_t is an available typedef. */
+#define HAVE_SIG_ATOMIC_T 1
+
+/* Define to 1 if sig_atomic_t is already defined as volatile. */
+/* #undef HAVE_SIG_ATOMIC_T_VOLATILE */
+
+/* Define to 1 if struct sockaddr_in6 has the sin6_scope_id member */
+#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
+
+/* Define to 1 if you have the socket function. */
+#define HAVE_SOCKET 1
+
+/* Define to 1 if you have the <socket.h> header file. */
+/* #undef HAVE_SOCKET_H */
+
+/* Define this if you have the SPNEGO library fbopenssl */
+/* #undef HAVE_SPNEGO */
+
+/* Define to 1 if you have the `SSL_get_shutdown' function. */
+#define HAVE_SSL_GET_SHUTDOWN 1
+
+/* Define to 1 if you have the <ssl.h> header file. */
+/* #undef HAVE_SSL_H */
+
+/* Define to 1 if you have the <stdbool.h> header file. */
+#define HAVE_STDBOOL_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdio.h> header file. */
+#define HAVE_STDIO_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the strcasecmp function. */
+#define HAVE_STRCASECMP 1
+
+/* Define to 1 if you have the strcasestr function. */
+/* #undef HAVE_STRCASESTR */
+
+/* Define to 1 if you have the strcmpi function. */
+/* #undef HAVE_STRCMPI */
+
+/* Define to 1 if you have the strdup function. */
+#define HAVE_STRDUP 1
+
+/* Define to 1 if you have the strerror_r function. */
+#define HAVE_STRERROR_R 1
+
+/* Define to 1 if you have the stricmp function. */
+/* #undef HAVE_STRICMP */
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the strlcat function. */
+/* #undef HAVE_STRLCAT */
+
+/* Define to 1 if you have the `strlcpy' function. */
+/* #undef HAVE_STRLCPY */
+
+/* Define to 1 if you have the strncasecmp function. */
+#define HAVE_STRNCASECMP 1
+
+/* Define to 1 if you have the strncmpi function. */
+/* #undef HAVE_STRNCMPI */
+
+/* Define to 1 if you have the strnicmp function. */
+/* #undef HAVE_STRNICMP */
+
+/* Define to 1 if you have the <stropts.h> header file. */
+#define HAVE_STROPTS_H 1
+
+/* Define to 1 if you have the strstr function. */
+#define HAVE_STRSTR 1
+
+/* Define to 1 if you have the strtok_r function. */
+#define HAVE_STRTOK_R 1
+
+/* Define to 1 if you have the strtoll function. */
+#define HAVE_STRTOLL 1
+
+/* if struct sockaddr_storage is defined */
+#define HAVE_STRUCT_SOCKADDR_STORAGE 1
+
+/* Define to 1 if you have the timeval struct. */
+#define HAVE_STRUCT_TIMEVAL 1
+
+/* Define to 1 if you have the <sys/filio.h> header file. */
+/* #undef HAVE_SYS_FILIO_H */
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/poll.h> header file. */
+#define HAVE_SYS_POLL_H 1
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#define HAVE_SYS_RESOURCE_H 1
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#define HAVE_SYS_SELECT_H 1
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#define HAVE_SYS_SOCKET_H 1
+
+/* Define to 1 if you have the <sys/sockio.h> header file. */
+/* #undef HAVE_SYS_SOCKIO_H */
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <sys/uio.h> header file. */
+#define HAVE_SYS_UIO_H 1
+
+/* Define to 1 if you have the <sys/un.h> header file. */
+#define HAVE_SYS_UN_H 1
+
+/* Define to 1 if you have the <sys/utime.h> header file. */
+/* #undef HAVE_SYS_UTIME_H */
+
+/* Define to 1 if you have the <termios.h> header file. */
+#define HAVE_TERMIOS_H 1
+
+/* Define to 1 if you have the <termio.h> header file. */
+#define HAVE_TERMIO_H 1
+
+/* Define to 1 if you have the <time.h> header file. */
+#define HAVE_TIME_H 1
+
+/* Define to 1 if you have the <tld.h> header file. */
+/* #undef HAVE_TLD_H */
+
+/* Define to 1 if you have the `tld_strerror' function. */
+/* #undef HAVE_TLD_STRERROR */
+
+/* Define to 1 if you have the `uname' function. */
+#define HAVE_UNAME 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the `utime' function. */
+#define HAVE_UTIME 1
+
+/* Define to 1 if you have the <utime.h> header file. */
+#define HAVE_UTIME_H 1
+
+/* Define to 1 if compiler supports C99 variadic macro style. */
+#define HAVE_VARIADIC_MACROS_C99 1
+
+/* Define to 1 if compiler supports old gcc variadic macro style. */
+#define HAVE_VARIADIC_MACROS_GCC 1
+
+/* Define to 1 if you have the winber.h header file. */
+/* #undef HAVE_WINBER_H */
+
+/* Define to 1 if you have the windows.h header file. */
+/* #undef HAVE_WINDOWS_H */
+
+/* Define to 1 if you have the winldap.h header file. */
+/* #undef HAVE_WINLDAP_H */
+
+/* Define to 1 if you have the winsock2.h header file. */
+/* #undef HAVE_WINSOCK2_H */
+
+/* Define to 1 if you have the winsock.h header file. */
+/* #undef HAVE_WINSOCK_H */
+
+/* Define this symbol if your OS supports changing the contents of argv */
+#define HAVE_WRITABLE_ARGV 1
+
+/* Define to 1 if you have the writev function. */
+#define HAVE_WRITEV 1
+
+/* Define to 1 if you have the ws2tcpip.h header file. */
+/* #undef HAVE_WS2TCPIP_H */
+
+/* Define to 1 if you have the <x509.h> header file. */
+/* #undef HAVE_X509_H */
+
+/* if you have the zlib.h header file */
+#define HAVE_ZLIB_H 1
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#define LT_OBJDIR ".libs/"
+
+/* Define to 1 if you are building a native Windows target. */
+/* #undef NATIVE_WINDOWS */
+
+/* Define to 1 if you need the lber.h header file even with ldap.h */
+/* #undef NEED_LBER_H */
+
+/* Define to 1 if you need the malloc.h header file even with stdlib.h */
+/* #undef NEED_MALLOC_H */
+
+/* Define to 1 if you need the memory.h header file even with stdlib.h */
+/* #undef NEED_MEMORY_H */
+
+/* Define to 1 if _REENTRANT preprocessor symbol must be defined. */
+/* #undef NEED_REENTRANT */
+
+/* Define to 1 if _THREAD_SAFE preprocessor symbol must be defined. */
+/* #undef NEED_THREAD_SAFE */
+
+/* cpu-machine-OS */
+#define OS "arm-unknown-eabi"
+
+/* Name of package */
+#define PACKAGE "curl"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "a suitable curl mailing list => http://curl.haxx.se/mail/"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "curl"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "curl -"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "curl"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "-"
+
+/* a suitable file to read random data from */
+#define RANDOM_FILE "/dev/urandom"
+
+/* Define to the type of arg 1 for recvfrom. */
+#define RECVFROM_TYPE_ARG1 int
+
+/* Define to the type pointed by arg 2 for recvfrom. */
+#define RECVFROM_TYPE_ARG2 void
+
+/* Define to 1 if the type pointed by arg 2 for recvfrom is void. */
+#define RECVFROM_TYPE_ARG2_IS_VOID 1
+
+/* Define to the type of arg 3 for recvfrom. */
+#define RECVFROM_TYPE_ARG3 size_t
+
+/* Define to the type of arg 4 for recvfrom. */
+#define RECVFROM_TYPE_ARG4 int
+
+/* Define to the type pointed by arg 5 for recvfrom. */
+#define RECVFROM_TYPE_ARG5 struct sockaddr
+
+/* Define to 1 if the type pointed by arg 5 for recvfrom is void. */
+/* #undef RECVFROM_TYPE_ARG5_IS_VOID */
+
+/* Define to the type pointed by arg 6 for recvfrom. */
+#define RECVFROM_TYPE_ARG6 socklen_t
+
+/* Define to 1 if the type pointed by arg 6 for recvfrom is void. */
+/* #undef RECVFROM_TYPE_ARG6_IS_VOID */
+
+/* Define to the function return type for recvfrom. */
+#define RECVFROM_TYPE_RETV ssize_t
+
+/* Define to the type of arg 1 for recv. */
+#define RECV_TYPE_ARG1 int
+
+/* Define to the type of arg 2 for recv. */
+#define RECV_TYPE_ARG2 void *
+
+/* Define to the type of arg 3 for recv. */
+#define RECV_TYPE_ARG3 size_t
+
+/* Define to the type of arg 4 for recv. */
+#define RECV_TYPE_ARG4 int
+
+/* Define to the function return type for recv. */
+#define RECV_TYPE_RETV ssize_t
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#define RETSIGTYPE void
+
+/* Define to the type qualifier of arg 5 for select. */
+#define SELECT_QUAL_ARG5 
+
+/* Define to the type of arg 1 for select. */
+#define SELECT_TYPE_ARG1 int
+
+/* Define to the type of args 2, 3 and 4 for select. */
+#define SELECT_TYPE_ARG234 fd_set *
+
+/* Define to the type of arg 5 for select. */
+#define SELECT_TYPE_ARG5 struct timeval *
+
+/* Define to the function return type for select. */
+#define SELECT_TYPE_RETV int
+
+/* Define to the type qualifier of arg 2 for send. */
+#define SEND_QUAL_ARG2 const
+
+/* Define to the type of arg 1 for send. */
+#define SEND_TYPE_ARG1 int
+
+/* Define to the type of arg 2 for send. */
+#define SEND_TYPE_ARG2 void *
+
+/* Define to the type of arg 3 for send. */
+#define SEND_TYPE_ARG3 size_t
+
+/* Define to the type of arg 4 for send. */
+#define SEND_TYPE_ARG4 int
+
+/* Define to the function return type for send. */
+#define SEND_TYPE_RETV ssize_t
+
+/* The size of `int', as computed by sizeof. */
+#define SIZEOF_INT 4
+
+/* The size of `long', as computed by sizeof. */
+#define SIZEOF_LONG 8
+
+/* The size of `off_t', as computed by sizeof. */
+#define SIZEOF_OFF_T 8
+
+/* The size of `short', as computed by sizeof. */
+#define SIZEOF_SHORT 2
+
+/* The size of `size_t', as computed by sizeof. */
+#define SIZEOF_SIZE_T 8
+
+/* The size of `time_t', as computed by sizeof. */
+#define SIZEOF_TIME_T 8
+
+/* The size of `void*', as computed by sizeof. */
+#define SIZEOF_VOIDP 8
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define to the type of arg 3 for strerror_r. */
+#define STRERROR_R_TYPE_ARG3 size_t
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#define TIME_WITH_SYS_TIME 1
+
+/* Define to enable c-ares support */
+/* #undef USE_ARES */
+
+/* Define to disable non-blocking sockets. */
+/* #undef USE_BLOCKING_SOCKETS */
+
+/* if GnuTLS is enabled */
+/* #undef USE_GNUTLS */
+
+/* if libSSH2 is in use */
+/* #undef USE_LIBSSH2 */
+
+/* If you want to build curl with the built-in manual */
+#define USE_MANUAL 1
+
+/* if NSS is enabled */
+/* #undef USE_NSS */
+
+/* if OpenSSL is in use */
+#define USE_OPENSSL 1
+
+/* if SSL is enabled */
+#define USE_SSLEAY 1
+
+/* Define to 1 if you are building a Windows target without large file
+   support. */
+/* #undef USE_WIN32_LARGE_FILES */
+
+/* to enable SSPI support */
+/* #undef USE_WINDOWS_SSPI */
+
+/* Define to 1 if using yaSSL in OpenSSL compatibility mode. */
+/* #undef USE_YASSLEMUL */
+
+/* Version number of package */
+#define VERSION "7.20.1"
+
+/* Define to avoid automatic inclusion of winsock.h */
+/* #undef WIN32_LEAN_AND_MEAN */
+
+/* Define to 1 if OS is AIX. */
+#ifndef _ALL_SOURCE
+/* #  undef _ALL_SOURCE */
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Type to use in place of in_addr_t when system does not provide it. */
+/* #undef in_addr_t */
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
+
+/* the signed version of size_t */
+/* #undef ssize_t */
diff --git a/src/curl_config.h.in b/src/curl_config.h.in
new file mode 100644
index 0000000..846fb27
--- /dev/null
+++ b/src/curl_config.h.in
@@ -0,0 +1,973 @@
+/* lib/curl_config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* when building libcurl itself */
+#undef BUILDING_LIBCURL
+
+/* Location of default ca bundle */
+#undef CURL_CA_BUNDLE
+
+/* Location of default ca path */
+#undef CURL_CA_PATH
+
+/* to disable cookies support */
+#undef CURL_DISABLE_COOKIES
+
+/* to disable cryptographic authentication */
+#undef CURL_DISABLE_CRYPTO_AUTH
+
+/* to disable DICT */
+#undef CURL_DISABLE_DICT
+
+/* to disable FILE */
+#undef CURL_DISABLE_FILE
+
+/* to disable FTP */
+#undef CURL_DISABLE_FTP
+
+/* to disable HTTP */
+#undef CURL_DISABLE_HTTP
+
+/* to disable IMAP */
+#undef CURL_DISABLE_IMAP
+
+/* to disable LDAP */
+#undef CURL_DISABLE_LDAP
+
+/* to disable LDAPS */
+#undef CURL_DISABLE_LDAPS
+
+/* to disable POP3 */
+#undef CURL_DISABLE_POP3
+
+/* to disable proxies */
+#undef CURL_DISABLE_PROXY
+
+/* to disable RTSP */
+#undef CURL_DISABLE_RTSP
+
+/* to disable SMTP */
+#undef CURL_DISABLE_SMTP
+
+/* to disable TELNET */
+#undef CURL_DISABLE_TELNET
+
+/* to disable TFTP */
+#undef CURL_DISABLE_TFTP
+
+/* to disable verbose strings */
+#undef CURL_DISABLE_VERBOSE_STRINGS
+
+/* to make a symbol visible */
+#undef CURL_EXTERN_SYMBOL
+
+/* to enable hidden symbols */
+#undef CURL_HIDDEN_SYMBOLS
+
+/* W$ LDAP with non-W$ compiler */
+#undef CURL_LDAP_HYBRID
+
+/* Use W$ LDAP implementation */
+#undef CURL_LDAP_WIN
+
+/* when not building a shared library */
+#undef CURL_STATICLIB
+
+/* your Entropy Gathering Daemon socket pathname */
+#undef EGD_SOCKET
+
+/* Define if you want to enable IPv6 support */
+#undef ENABLE_IPV6
+
+/* Define to the type qualifier of arg 1 for getnameinfo. */
+#undef GETNAMEINFO_QUAL_ARG1
+
+/* Define to the type of arg 1 for getnameinfo. */
+#undef GETNAMEINFO_TYPE_ARG1
+
+/* Define to the type of arg 2 for getnameinfo. */
+#undef GETNAMEINFO_TYPE_ARG2
+
+/* Define to the type of args 4 and 6 for getnameinfo. */
+#undef GETNAMEINFO_TYPE_ARG46
+
+/* Define to the type of arg 7 for getnameinfo. */
+#undef GETNAMEINFO_TYPE_ARG7
+
+/* Specifies the number of arguments to getservbyport_r */
+#undef GETSERVBYPORT_R_ARGS
+
+/* Specifies the size of the buffer to pass to getservbyport_r */
+#undef GETSERVBYPORT_R_BUFSIZE
+
+/* Define to 1 if you have the alarm function. */
+#undef HAVE_ALARM
+
+/* Define to 1 if you have the <alloca.h> header file. */
+#undef HAVE_ALLOCA_H
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#undef HAVE_ARPA_INET_H
+
+/* Define to 1 if you have the <arpa/tftp.h> header file. */
+#undef HAVE_ARPA_TFTP_H
+
+/* Define to 1 if you have the <assert.h> header file. */
+#undef HAVE_ASSERT_H
+
+/* Define to 1 if you have the basename function. */
+#undef HAVE_BASENAME
+
+/* Define to 1 if bool is an available type. */
+#undef HAVE_BOOL_T
+
+/* Define to 1 if you have the clock_gettime function and monotonic timer. */
+#undef HAVE_CLOCK_GETTIME_MONOTONIC
+
+/* Define to 1 if you have the closesocket function. */
+#undef HAVE_CLOSESOCKET
+
+/* Define to 1 if you have the CloseSocket camel case function. */
+#undef HAVE_CLOSESOCKET_CAMEL
+
+/* Define to 1 if you have the connect function. */
+#undef HAVE_CONNECT
+
+/* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function. */
+#undef HAVE_CRYPTO_CLEANUP_ALL_EX_DATA
+
+/* Define to 1 if you have the <crypto.h> header file. */
+#undef HAVE_CRYPTO_H
+
+/* Define to 1 if you have the <des.h> header file. */
+#undef HAVE_DES_H
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the `ENGINE_cleanup' function. */
+#undef HAVE_ENGINE_CLEANUP
+
+/* Define to 1 if you have the `ENGINE_load_builtin_engines' function. */
+#undef HAVE_ENGINE_LOAD_BUILTIN_ENGINES
+
+/* Define to 1 if you have the <errno.h> header file. */
+#undef HAVE_ERRNO_H
+
+/* Define to 1 if you have the <err.h> header file. */
+#undef HAVE_ERR_H
+
+/* Define to 1 if you have the fcntl function. */
+#undef HAVE_FCNTL
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have a working fcntl O_NONBLOCK function. */
+#undef HAVE_FCNTL_O_NONBLOCK
+
+/* Define to 1 if you have the fdopen function. */
+#undef HAVE_FDOPEN
+
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* Define to 1 if you have the freeaddrinfo function. */
+#undef HAVE_FREEADDRINFO
+
+/* Define to 1 if you have the freeifaddrs function. */
+#undef HAVE_FREEIFADDRS
+
+/* Define to 1 if you have the ftruncate function. */
+#undef HAVE_FTRUNCATE
+
+/* Define to 1 if you have a working getaddrinfo function. */
+#undef HAVE_GETADDRINFO
+
+/* Define to 1 if the getaddrinfo function is threadsafe. */
+#undef HAVE_GETADDRINFO_THREADSAFE
+
+/* Define to 1 if you have the `geteuid' function. */
+#undef HAVE_GETEUID
+
+/* Define to 1 if you have the gethostbyaddr function. */
+#undef HAVE_GETHOSTBYADDR
+
+/* Define to 1 if you have the gethostbyaddr_r function. */
+#undef HAVE_GETHOSTBYADDR_R
+
+/* gethostbyaddr_r() takes 5 args */
+#undef HAVE_GETHOSTBYADDR_R_5
+
+/* gethostbyaddr_r() takes 7 args */
+#undef HAVE_GETHOSTBYADDR_R_7
+
+/* gethostbyaddr_r() takes 8 args */
+#undef HAVE_GETHOSTBYADDR_R_8
+
+/* Define to 1 if you have the gethostbyname function. */
+#undef HAVE_GETHOSTBYNAME
+
+/* Define to 1 if you have the gethostbyname_r function. */
+#undef HAVE_GETHOSTBYNAME_R
+
+/* gethostbyname_r() takes 3 args */
+#undef HAVE_GETHOSTBYNAME_R_3
+
+/* gethostbyname_r() takes 5 args */
+#undef HAVE_GETHOSTBYNAME_R_5
+
+/* gethostbyname_r() takes 6 args */
+#undef HAVE_GETHOSTBYNAME_R_6
+
+/* Define to 1 if you have the gethostname function. */
+#undef HAVE_GETHOSTNAME
+
+/* Define to 1 if you have a working getifaddrs function. */
+#undef HAVE_GETIFADDRS
+
+/* Define to 1 if you have the getnameinfo function. */
+#undef HAVE_GETNAMEINFO
+
+/* Define to 1 if you have the `getpass_r' function. */
+#undef HAVE_GETPASS_R
+
+/* Define to 1 if you have the `getppid' function. */
+#undef HAVE_GETPPID
+
+/* Define to 1 if you have the `getprotobyname' function. */
+#undef HAVE_GETPROTOBYNAME
+
+/* Define to 1 if you have the `getpwuid' function. */
+#undef HAVE_GETPWUID
+
+/* Define to 1 if you have the `getrlimit' function. */
+#undef HAVE_GETRLIMIT
+
+/* Define to 1 if you have the getservbyport_r function. */
+#undef HAVE_GETSERVBYPORT_R
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#undef HAVE_GETTIMEOFDAY
+
+/* Define to 1 if you have a working glibc-style strerror_r function. */
+#undef HAVE_GLIBC_STRERROR_R
+
+/* Define to 1 if you have a working gmtime_r function. */
+#undef HAVE_GMTIME_R
+
+/* if you have the gssapi libraries */
+#undef HAVE_GSSAPI
+
+/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */
+#undef HAVE_GSSAPI_GSSAPI_GENERIC_H
+
+/* Define to 1 if you have the <gssapi/gssapi.h> header file. */
+#undef HAVE_GSSAPI_GSSAPI_H
+
+/* Define to 1 if you have the <gssapi/gssapi_krb5.h> header file. */
+#undef HAVE_GSSAPI_GSSAPI_KRB5_H
+
+/* if you have the GNU gssapi libraries */
+#undef HAVE_GSSGNU
+
+/* if you have the Heimdal gssapi libraries */
+#undef HAVE_GSSHEIMDAL
+
+/* if you have the MIT gssapi libraries */
+#undef HAVE_GSSMIT
+
+/* Define to 1 if you have the `idna_strerror' function. */
+#undef HAVE_IDNA_STRERROR
+
+/* Define to 1 if you have the `idn_free' function. */
+#undef HAVE_IDN_FREE
+
+/* Define to 1 if you have the <idn-free.h> header file. */
+#undef HAVE_IDN_FREE_H
+
+/* Define to 1 if you have the <ifaddrs.h> header file. */
+#undef HAVE_IFADDRS_H
+
+/* Define to 1 if you have the `inet_addr' function. */
+#undef HAVE_INET_ADDR
+
+/* Define to 1 if you have the inet_ntoa_r function. */
+#undef HAVE_INET_NTOA_R
+
+/* inet_ntoa_r() takes 2 args */
+#undef HAVE_INET_NTOA_R_2
+
+/* inet_ntoa_r() takes 3 args */
+#undef HAVE_INET_NTOA_R_3
+
+/* Define to 1 if you have a IPv6 capable working inet_ntop function. */
+#undef HAVE_INET_NTOP
+
+/* Define to 1 if you have a IPv6 capable working inet_pton function. */
+#undef HAVE_INET_PTON
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the ioctl function. */
+#undef HAVE_IOCTL
+
+/* Define to 1 if you have the ioctlsocket function. */
+#undef HAVE_IOCTLSOCKET
+
+/* Define to 1 if you have the IoctlSocket camel case function. */
+#undef HAVE_IOCTLSOCKET_CAMEL
+
+/* Define to 1 if you have a working IoctlSocket camel case FIONBIO function.
+   */
+#undef HAVE_IOCTLSOCKET_CAMEL_FIONBIO
+
+/* Define to 1 if you have a working ioctlsocket FIONBIO function. */
+#undef HAVE_IOCTLSOCKET_FIONBIO
+
+/* Define to 1 if you have a working ioctl FIONBIO function. */
+#undef HAVE_IOCTL_FIONBIO
+
+/* Define to 1 if you have a working ioctl SIOCGIFADDR function. */
+#undef HAVE_IOCTL_SIOCGIFADDR
+
+/* Define to 1 if you have the <io.h> header file. */
+#undef HAVE_IO_H
+
+/* if you have the Kerberos4 libraries (including -ldes) */
+#undef HAVE_KRB4
+
+/* Define to 1 if you have the `krb_get_our_ip_for_realm' function. */
+#undef HAVE_KRB_GET_OUR_IP_FOR_REALM
+
+/* Define to 1 if you have the <krb.h> header file. */
+#undef HAVE_KRB_H
+
+/* Define to 1 if you have the lber.h header file. */
+#undef HAVE_LBER_H
+
+/* Define to 1 if you have the ldapssl.h header file. */
+#undef HAVE_LDAPSSL_H
+
+/* Define to 1 if you have the ldap.h header file. */
+#undef HAVE_LDAP_H
+
+/* Use LDAPS implementation */
+#undef HAVE_LDAP_SSL
+
+/* Define to 1 if you have the ldap_ssl.h header file. */
+#undef HAVE_LDAP_SSL_H
+
+/* Define to 1 if you have the `ldap_url_parse' function. */
+#undef HAVE_LDAP_URL_PARSE
+
+/* Define to 1 if you have the <libgen.h> header file. */
+#undef HAVE_LIBGEN_H
+
+/* Define to 1 if you have the `idn' library (-lidn). */
+#undef HAVE_LIBIDN
+
+/* Define to 1 if you have the `resolv' library (-lresolv). */
+#undef HAVE_LIBRESOLV
+
+/* Define to 1 if you have the `resolve' library (-lresolve). */
+#undef HAVE_LIBRESOLVE
+
+/* Define to 1 if you have the `ssh2' library (-lssh2). */
+#undef HAVE_LIBSSH2
+
+/* Define to 1 if you have the <libssh2.h> header file. */
+#undef HAVE_LIBSSH2_H
+
+/* Define to 1 if you have the `libssh2_version' function. */
+#undef HAVE_LIBSSH2_VERSION
+
+/* Define to 1 if you have the `ssl' library (-lssl). */
+#undef HAVE_LIBSSL
+
+/* if zlib is available */
+#undef HAVE_LIBZ
+
+/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* if your compiler supports LL */
+#undef HAVE_LL
+
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define to 1 if you have a working localtime_r function. */
+#undef HAVE_LOCALTIME_R
+
+/* Define to 1 if the compiler supports the 'long long' data type. */
+#undef HAVE_LONGLONG
+
+/* Define to 1 if you have the malloc.h header file. */
+#undef HAVE_MALLOC_H
+
+/* Define to 1 if you have the memory.h header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the memrchr function or macro. */
+#undef HAVE_MEMRCHR
+
+/* Define to 1 if you have the MSG_NOSIGNAL flag. */
+#undef HAVE_MSG_NOSIGNAL
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#undef HAVE_NETDB_H
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#undef HAVE_NETINET_IN_H
+
+/* Define to 1 if you have the <netinet/tcp.h> header file. */
+#undef HAVE_NETINET_TCP_H
+
+/* Define to 1 if you have the <net/if.h> header file. */
+#undef HAVE_NET_IF_H
+
+/* Define to 1 if NI_WITHSCOPEID exists and works. */
+#undef HAVE_NI_WITHSCOPEID
+
+/* if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE
+   */
+#undef HAVE_OLD_GSSMIT
+
+/* Define to 1 if you have the <openssl/crypto.h> header file. */
+#undef HAVE_OPENSSL_CRYPTO_H
+
+/* Define to 1 if you have the <openssl/engine.h> header file. */
+#undef HAVE_OPENSSL_ENGINE_H
+
+/* Define to 1 if you have the <openssl/err.h> header file. */
+#undef HAVE_OPENSSL_ERR_H
+
+/* Define to 1 if you have the <openssl/pem.h> header file. */
+#undef HAVE_OPENSSL_PEM_H
+
+/* Define to 1 if you have the <openssl/pkcs12.h> header file. */
+#undef HAVE_OPENSSL_PKCS12_H
+
+/* Define to 1 if you have the <openssl/rsa.h> header file. */
+#undef HAVE_OPENSSL_RSA_H
+
+/* Define to 1 if you have the <openssl/ssl.h> header file. */
+#undef HAVE_OPENSSL_SSL_H
+
+/* Define to 1 if you have the <openssl/x509.h> header file. */
+#undef HAVE_OPENSSL_X509_H
+
+/* Define to 1 if you have the <pem.h> header file. */
+#undef HAVE_PEM_H
+
+/* Define to 1 if you have the `perror' function. */
+#undef HAVE_PERROR
+
+/* Define to 1 if you have the `pipe' function. */
+#undef HAVE_PIPE
+
+/* if you have the function PK11_CreateGenericObject */
+#undef HAVE_PK11_CREATEGENERICOBJECT
+
+/* Define to 1 if you have a working poll function. */
+#undef HAVE_POLL
+
+/* If you have a fine poll */
+#undef HAVE_POLL_FINE
+
+/* Define to 1 if you have the <poll.h> header file. */
+#undef HAVE_POLL_H
+
+/* Define to 1 if you have a working POSIX-style strerror_r function. */
+#undef HAVE_POSIX_STRERROR_R
+
+/* Define to 1 if you have the <pwd.h> header file. */
+#undef HAVE_PWD_H
+
+/* Define to 1 if you have the `RAND_egd' function. */
+#undef HAVE_RAND_EGD
+
+/* Define to 1 if you have the `RAND_screen' function. */
+#undef HAVE_RAND_SCREEN
+
+/* Define to 1 if you have the `RAND_status' function. */
+#undef HAVE_RAND_STATUS
+
+/* Define to 1 if you have the recv function. */
+#undef HAVE_RECV
+
+/* Define to 1 if you have the recvfrom function. */
+#undef HAVE_RECVFROM
+
+/* Define to 1 if you have the <rsa.h> header file. */
+#undef HAVE_RSA_H
+
+/* Define to 1 if you have the select function. */
+#undef HAVE_SELECT
+
+/* Define to 1 if you have the send function. */
+#undef HAVE_SEND
+
+/* Define to 1 if you have the <setjmp.h> header file. */
+#undef HAVE_SETJMP_H
+
+/* Define to 1 if you have the `setlocale' function. */
+#undef HAVE_SETLOCALE
+
+/* Define to 1 if you have the `setmode' function. */
+#undef HAVE_SETMODE
+
+/* Define to 1 if you have the `setrlimit' function. */
+#undef HAVE_SETRLIMIT
+
+/* Define to 1 if you have the setsockopt function. */
+#undef HAVE_SETSOCKOPT
+
+/* Define to 1 if you have a working setsockopt SO_NONBLOCK function. */
+#undef HAVE_SETSOCKOPT_SO_NONBLOCK
+
+/* Define to 1 if you have the <sgtty.h> header file. */
+#undef HAVE_SGTTY_H
+
+/* Define to 1 if you have the sigaction function. */
+#undef HAVE_SIGACTION
+
+/* Define to 1 if you have the siginterrupt function. */
+#undef HAVE_SIGINTERRUPT
+
+/* Define to 1 if you have the signal function. */
+#undef HAVE_SIGNAL
+
+/* Define to 1 if you have the <signal.h> header file. */
+#undef HAVE_SIGNAL_H
+
+/* Define to 1 if you have the sigsetjmp function or macro. */
+#undef HAVE_SIGSETJMP
+
+/* Define to 1 if sig_atomic_t is an available typedef. */
+#undef HAVE_SIG_ATOMIC_T
+
+/* Define to 1 if sig_atomic_t is already defined as volatile. */
+#undef HAVE_SIG_ATOMIC_T_VOLATILE
+
+/* Define to 1 if struct sockaddr_in6 has the sin6_scope_id member */
+#undef HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
+
+/* Define to 1 if you have the socket function. */
+#undef HAVE_SOCKET
+
+/* Define to 1 if you have the <socket.h> header file. */
+#undef HAVE_SOCKET_H
+
+/* Define this if you have the SPNEGO library fbopenssl */
+#undef HAVE_SPNEGO
+
+/* Define to 1 if you have the `SSL_get_shutdown' function. */
+#undef HAVE_SSL_GET_SHUTDOWN
+
+/* Define to 1 if you have the <ssl.h> header file. */
+#undef HAVE_SSL_H
+
+/* Define to 1 if you have the <stdbool.h> header file. */
+#undef HAVE_STDBOOL_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdio.h> header file. */
+#undef HAVE_STDIO_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the strcasecmp function. */
+#undef HAVE_STRCASECMP
+
+/* Define to 1 if you have the strcasestr function. */
+#undef HAVE_STRCASESTR
+
+/* Define to 1 if you have the strcmpi function. */
+#undef HAVE_STRCMPI
+
+/* Define to 1 if you have the strdup function. */
+#undef HAVE_STRDUP
+
+/* Define to 1 if you have the strerror_r function. */
+#undef HAVE_STRERROR_R
+
+/* Define to 1 if you have the stricmp function. */
+#undef HAVE_STRICMP
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the strlcat function. */
+#undef HAVE_STRLCAT
+
+/* Define to 1 if you have the `strlcpy' function. */
+#undef HAVE_STRLCPY
+
+/* Define to 1 if you have the strncasecmp function. */
+#undef HAVE_STRNCASECMP
+
+/* Define to 1 if you have the strncmpi function. */
+#undef HAVE_STRNCMPI
+
+/* Define to 1 if you have the strnicmp function. */
+#undef HAVE_STRNICMP
+
+/* Define to 1 if you have the <stropts.h> header file. */
+#undef HAVE_STROPTS_H
+
+/* Define to 1 if you have the strstr function. */
+#undef HAVE_STRSTR
+
+/* Define to 1 if you have the strtok_r function. */
+#undef HAVE_STRTOK_R
+
+/* Define to 1 if you have the strtoll function. */
+#undef HAVE_STRTOLL
+
+/* if struct sockaddr_storage is defined */
+#undef HAVE_STRUCT_SOCKADDR_STORAGE
+
+/* Define to 1 if you have the timeval struct. */
+#undef HAVE_STRUCT_TIMEVAL
+
+/* Define to 1 if you have the <sys/filio.h> header file. */
+#undef HAVE_SYS_FILIO_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/poll.h> header file. */
+#undef HAVE_SYS_POLL_H
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the <sys/sockio.h> header file. */
+#undef HAVE_SYS_SOCKIO_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <sys/uio.h> header file. */
+#undef HAVE_SYS_UIO_H
+
+/* Define to 1 if you have the <sys/un.h> header file. */
+#undef HAVE_SYS_UN_H
+
+/* Define to 1 if you have the <sys/utime.h> header file. */
+#undef HAVE_SYS_UTIME_H
+
+/* Define to 1 if you have the <termios.h> header file. */
+#undef HAVE_TERMIOS_H
+
+/* Define to 1 if you have the <termio.h> header file. */
+#undef HAVE_TERMIO_H
+
+/* Define to 1 if you have the <time.h> header file. */
+#undef HAVE_TIME_H
+
+/* Define to 1 if you have the <tld.h> header file. */
+#undef HAVE_TLD_H
+
+/* Define to 1 if you have the `tld_strerror' function. */
+#undef HAVE_TLD_STRERROR
+
+/* Define to 1 if you have the `uname' function. */
+#undef HAVE_UNAME
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `utime' function. */
+#undef HAVE_UTIME
+
+/* Define to 1 if you have the <utime.h> header file. */
+#undef HAVE_UTIME_H
+
+/* Define to 1 if compiler supports C99 variadic macro style. */
+#undef HAVE_VARIADIC_MACROS_C99
+
+/* Define to 1 if compiler supports old gcc variadic macro style. */
+#undef HAVE_VARIADIC_MACROS_GCC
+
+/* Define to 1 if you have the winber.h header file. */
+#undef HAVE_WINBER_H
+
+/* Define to 1 if you have the windows.h header file. */
+#undef HAVE_WINDOWS_H
+
+/* Define to 1 if you have the winldap.h header file. */
+#undef HAVE_WINLDAP_H
+
+/* Define to 1 if you have the winsock2.h header file. */
+#undef HAVE_WINSOCK2_H
+
+/* Define to 1 if you have the winsock.h header file. */
+#undef HAVE_WINSOCK_H
+
+/* Define this symbol if your OS supports changing the contents of argv */
+#undef HAVE_WRITABLE_ARGV
+
+/* Define to 1 if you have the writev function. */
+#undef HAVE_WRITEV
+
+/* Define to 1 if you have the ws2tcpip.h header file. */
+#undef HAVE_WS2TCPIP_H
+
+/* Define to 1 if you have the <x509.h> header file. */
+#undef HAVE_X509_H
+
+/* if you have the zlib.h header file */
+#undef HAVE_ZLIB_H
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
+/* Define to 1 if you are building a native Windows target. */
+#undef NATIVE_WINDOWS
+
+/* Define to 1 if you need the lber.h header file even with ldap.h */
+#undef NEED_LBER_H
+
+/* Define to 1 if you need the malloc.h header file even with stdlib.h */
+#undef NEED_MALLOC_H
+
+/* Define to 1 if you need the memory.h header file even with stdlib.h */
+#undef NEED_MEMORY_H
+
+/* Define to 1 if _REENTRANT preprocessor symbol must be defined. */
+#undef NEED_REENTRANT
+
+/* Define to 1 if _THREAD_SAFE preprocessor symbol must be defined. */
+#undef NEED_THREAD_SAFE
+
+/* cpu-machine-OS */
+#undef OS
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* a suitable file to read random data from */
+#undef RANDOM_FILE
+
+/* Define to the type of arg 1 for recvfrom. */
+#undef RECVFROM_TYPE_ARG1
+
+/* Define to the type pointed by arg 2 for recvfrom. */
+#undef RECVFROM_TYPE_ARG2
+
+/* Define to 1 if the type pointed by arg 2 for recvfrom is void. */
+#undef RECVFROM_TYPE_ARG2_IS_VOID
+
+/* Define to the type of arg 3 for recvfrom. */
+#undef RECVFROM_TYPE_ARG3
+
+/* Define to the type of arg 4 for recvfrom. */
+#undef RECVFROM_TYPE_ARG4
+
+/* Define to the type pointed by arg 5 for recvfrom. */
+#undef RECVFROM_TYPE_ARG5
+
+/* Define to 1 if the type pointed by arg 5 for recvfrom is void. */
+#undef RECVFROM_TYPE_ARG5_IS_VOID
+
+/* Define to the type pointed by arg 6 for recvfrom. */
+#undef RECVFROM_TYPE_ARG6
+
+/* Define to 1 if the type pointed by arg 6 for recvfrom is void. */
+#undef RECVFROM_TYPE_ARG6_IS_VOID
+
+/* Define to the function return type for recvfrom. */
+#undef RECVFROM_TYPE_RETV
+
+/* Define to the type of arg 1 for recv. */
+#undef RECV_TYPE_ARG1
+
+/* Define to the type of arg 2 for recv. */
+#undef RECV_TYPE_ARG2
+
+/* Define to the type of arg 3 for recv. */
+#undef RECV_TYPE_ARG3
+
+/* Define to the type of arg 4 for recv. */
+#undef RECV_TYPE_ARG4
+
+/* Define to the function return type for recv. */
+#undef RECV_TYPE_RETV
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
+
+/* Define to the type qualifier of arg 5 for select. */
+#undef SELECT_QUAL_ARG5
+
+/* Define to the type of arg 1 for select. */
+#undef SELECT_TYPE_ARG1
+
+/* Define to the type of args 2, 3 and 4 for select. */
+#undef SELECT_TYPE_ARG234
+
+/* Define to the type of arg 5 for select. */
+#undef SELECT_TYPE_ARG5
+
+/* Define to the function return type for select. */
+#undef SELECT_TYPE_RETV
+
+/* Define to the type qualifier of arg 2 for send. */
+#undef SEND_QUAL_ARG2
+
+/* Define to the type of arg 1 for send. */
+#undef SEND_TYPE_ARG1
+
+/* Define to the type of arg 2 for send. */
+#undef SEND_TYPE_ARG2
+
+/* Define to the type of arg 3 for send. */
+#undef SEND_TYPE_ARG3
+
+/* Define to the type of arg 4 for send. */
+#undef SEND_TYPE_ARG4
+
+/* Define to the function return type for send. */
+#undef SEND_TYPE_RETV
+
+/* The size of `int', as computed by sizeof. */
+#undef SIZEOF_INT
+
+/* The size of `long', as computed by sizeof. */
+#undef SIZEOF_LONG
+
+/* The size of `off_t', as computed by sizeof. */
+#undef SIZEOF_OFF_T
+
+/* The size of `short', as computed by sizeof. */
+#undef SIZEOF_SHORT
+
+/* The size of `size_t', as computed by sizeof. */
+#undef SIZEOF_SIZE_T
+
+/* The size of `time_t', as computed by sizeof. */
+#undef SIZEOF_TIME_T
+
+/* The size of `void*', as computed by sizeof. */
+#undef SIZEOF_VOIDP
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define to the type of arg 3 for strerror_r. */
+#undef STRERROR_R_TYPE_ARG3
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* Define to enable c-ares support */
+#undef USE_ARES
+
+/* Define to disable non-blocking sockets. */
+#undef USE_BLOCKING_SOCKETS
+
+/* if GnuTLS is enabled */
+#undef USE_GNUTLS
+
+/* if libSSH2 is in use */
+#undef USE_LIBSSH2
+
+/* If you want to build curl with the built-in manual */
+#undef USE_MANUAL
+
+/* if NSS is enabled */
+#undef USE_NSS
+
+/* if OpenSSL is in use */
+#undef USE_OPENSSL
+
+/* if SSL is enabled */
+#undef USE_SSLEAY
+
+/* Define to 1 if you are building a Windows target without large file
+   support. */
+#undef USE_WIN32_LARGE_FILES
+
+/* to enable SSPI support */
+#undef USE_WINDOWS_SSPI
+
+/* Define to 1 if using yaSSL in OpenSSL compatibility mode. */
+#undef USE_YASSLEMUL
+
+/* Version number of package */
+#undef VERSION
+
+/* Define to avoid automatic inclusion of winsock.h */
+#undef WIN32_LEAN_AND_MEAN
+
+/* Define to 1 if OS is AIX. */
+#ifndef _ALL_SOURCE
+#  undef _ALL_SOURCE
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Type to use in place of in_addr_t when system does not provide it. */
+#undef in_addr_t
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+#undef inline
+#endif
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
+/* the signed version of size_t */
+#undef ssize_t
diff --git a/src/curlutil.c b/src/curlutil.c
new file mode 100644
index 0000000..bca2db7
--- /dev/null
+++ b/src/curlutil.c
@@ -0,0 +1,134 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "setup.h"
+
+#include "curlutil.h"
+
+#if defined(WIN32) && !defined(MSDOS)
+
+struct timeval cutil_tvnow(void)
+{
+  /*
+  ** GetTickCount() is available on _all_ Windows versions from W95 up
+  ** to nowadays. Returns milliseconds elapsed since last system boot,
+  ** increases monotonically and wraps once 49.7 days have elapsed.
+  */
+  struct timeval now;
+  DWORD milliseconds = GetTickCount();
+  now.tv_sec = milliseconds / 1000;
+  now.tv_usec = (milliseconds % 1000) * 1000;
+  return now;
+}
+
+#elif defined(HAVE_CLOCK_GETTIME_MONOTONIC)
+
+struct timeval cutil_tvnow(void)
+{
+  /*
+  ** clock_gettime() is granted to be increased monotonically when the
+  ** monotonic clock is queried. Time starting point is unspecified, it
+  ** could be the system start-up time, the Epoch, or something else,
+  ** in any case the time starting point does not change once that the
+  ** system has started up.
+  */
+  struct timeval now;
+  struct timespec tsnow;
+  if(0 == clock_gettime(CLOCK_MONOTONIC, &tsnow)) {
+    now.tv_sec = tsnow.tv_sec;
+    now.tv_usec = tsnow.tv_nsec / 1000;
+  }
+  /*
+  ** Even when the configure process has truly detected monotonic clock
+  ** availability, it might happen that it is not actually available at
+  ** run-time. When this occurs simply fallback to other time source.
+  */
+#ifdef HAVE_GETTIMEOFDAY
+  else
+    (void)gettimeofday(&now, NULL);
+#else
+  else {
+    now.tv_sec = (long)time(NULL);
+    now.tv_usec = 0;
+  }
+#endif
+  return now;
+}
+
+#elif defined(HAVE_GETTIMEOFDAY)
+
+struct timeval cutil_tvnow(void)
+{
+  /*
+  ** gettimeofday() is not granted to be increased monotonically, due to
+  ** clock drifting and external source time synchronization it can jump
+  ** forward or backward in time.
+  */
+  struct timeval now;
+  (void)gettimeofday(&now, NULL);
+  return now;
+}
+
+#else
+
+struct timeval cutil_tvnow(void)
+{
+  /*
+  ** time() returns the value of time in seconds since the Epoch.
+  */
+  struct timeval now;
+  now.tv_sec = (long)time(NULL);
+  now.tv_usec = 0;
+  return now;
+}
+
+#endif
+
+/*
+ * Make sure that the first argument is the more recent time, as otherwise
+ * we'll get a weird negative time-diff back...
+ *
+ * Returns: the time difference in number of milliseconds.
+ */
+long cutil_tvdiff(struct timeval newer, struct timeval older)
+{
+  return (newer.tv_sec-older.tv_sec)*1000+
+    (newer.tv_usec-older.tv_usec)/1000;
+}
+
+/*
+ * Same as cutil_tvdiff but with full usec resolution.
+ *
+ * Returns: the time difference in seconds with subsecond resolution.
+ */
+double cutil_tvdiff_secs(struct timeval newer, struct timeval older)
+{
+  return (double)(newer.tv_sec-older.tv_sec)+
+    (double)(newer.tv_usec-older.tv_usec)/1000000.0;
+}
+
+/* return the number of seconds in the given input timeval struct */
+long cutil_tvlong(struct timeval t1)
+{
+  return t1.tv_sec;
+}
+
diff --git a/src/curlutil.h b/src/curlutil.h
new file mode 100644
index 0000000..a993a77
--- /dev/null
+++ b/src/curlutil.h
@@ -0,0 +1,49 @@
+#ifndef __CURL_SRC_UTIL_H
+#define __CURL_SRC_UTIL_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "setup.h"
+
+
+struct timeval cutil_tvnow(void);
+
+/*
+ * Make sure that the first argument (t1) is the more recent time and t2 is
+ * the older time, as otherwise you get a weird negative time-diff back...
+ *
+ * Returns: the time difference in number of milliseconds.
+ */
+long cutil_tvdiff(struct timeval t1, struct timeval t2);
+
+/*
+ * Same as cutil_tvdiff but with full usec resolution.
+ *
+ * Returns: the time difference in seconds with subsecond resolution.
+ */
+double cutil_tvdiff_secs(struct timeval t1, struct timeval t2);
+
+long cutil_tvlong(struct timeval t1);
+
+
+#endif  /* __CURL_SRC_UTIL_H */
+
diff --git a/src/getpass.c b/src/getpass.c
new file mode 100644
index 0000000..b441a5a
--- /dev/null
+++ b/src/getpass.c
@@ -0,0 +1,267 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+/* This file is a reimplementation of the previous one, due to license
+   problems. */
+
+#include "setup.h"
+
+#ifndef HAVE_GETPASS_R
+/* this file is only for systems without getpass_r() */
+
+#include <stdio.h>
+#include <string.h>
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#include "getpass.h"
+
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
+#ifdef HAVE_TERMIOS_H
+#include <termios.h>
+#else
+#ifdef HAVE_TERMIO_H
+#include <termio.h>
+#endif
+#endif
+
+/* The last #include file should be: */
+#if defined(CURLDEBUG) && defined(CURLTOOLDEBUG)
+#include "memdebug.h"
+#endif
+
+#ifdef __VMS
+/* VMS implementation */
+#include descrip
+#include starlet
+#include iodef
+/* #include iosbdef */
+char *getpass_r(const char *prompt, char *buffer, size_t buflen)
+{
+  long sts;
+  short chan;
+
+  /* MSK, 23-JAN-2004, iosbdef.h wasn't in VAX V7.2 or CC 6.4  */
+  /* distribution so I created this.  May revert back later to */
+  /* struct _iosb iosb;                                        */
+  struct _iosb
+     {
+     short int iosb$w_status; /* status     */
+     short int iosb$w_bcnt;   /* byte count */
+     int       unused;        /* unused     */
+     } iosb;
+
+  $DESCRIPTOR(ttdesc, "TT");
+
+  buffer[0]='\0';
+  sts = sys$assign(&ttdesc, &chan,0,0);
+  if (sts & 1) {
+    sts = sys$qiow(0, chan,
+                   IO$_READPROMPT | IO$M_NOECHO,
+                   &iosb, 0, 0, buffer, buflen, 0, 0,
+                   prompt, strlen(prompt));
+
+    if((sts & 1) && (iosb.iosb$w_status&1))
+      buffer[iosb.iosb$w_bcnt] = '\0';
+
+    sts = sys$dassgn(chan);
+  }
+  return buffer; /* we always return success */
+}
+#define DONE
+#endif /* __VMS */
+
+
+#ifdef WIN32
+/* Windows implementation */
+#include <conio.h>
+#endif
+
+#ifdef __SYMBIAN32__
+#define getch() getchar()
+#endif
+
+#if defined(WIN32) || defined(__SYMBIAN32__)
+
+char *getpass_r(const char *prompt, char *buffer, size_t buflen)
+{
+  size_t i;
+  fputs(prompt, stderr);
+
+  for(i=0; i<buflen; i++) {
+    buffer[i] = (char)getch();
+    if ( buffer[i] == '\r' || buffer[i] == '\n' ) {
+      buffer[i] = 0;
+      break;
+    }
+    else
+      if ( buffer[i] == '\b')
+        /* remove this letter and if this is not the first key, remove the
+           previous one as well */
+        i = i - (i>=1?2:1);
+  }
+#ifndef __SYMBIAN32__
+  /* since echo is disabled, print a newline */
+  fputs("\n", stderr);
+#endif
+  /* if user didn't hit ENTER, terminate buffer */
+  if (i==buflen)
+    buffer[buflen-1]=0;
+
+  return buffer; /* we always return success */
+}
+#define DONE
+#endif /* WIN32 || __SYMBIAN32__ */
+
+#ifdef NETWARE
+/* NetWare implementation */
+#ifdef __NOVELL_LIBC__
+#include <screen.h>
+char *getpass_r(const char *prompt, char *buffer, size_t buflen)
+{
+  return getpassword(prompt, buffer, buflen);
+}
+#else
+#include <nwconio.h>
+char *getpass_r(const char *prompt, char *buffer, size_t buflen)
+{
+  size_t i = 0;
+
+  printf("%s", prompt);
+  do {
+    buffer[i++] = getch();
+    if (buffer[i-1] == '\b') {
+      /* remove this letter and if this is not the first key,
+         remove the previous one as well */
+      if (i > 1) {
+        printf("\b \b");
+        i = i - 2;
+      } else {
+        RingTheBell();
+        i = i - 1;
+      }
+    } else if (buffer[i-1] != 13) {
+      putchar('*');
+    }
+  } while ((buffer[i-1] != 13) && (i < buflen));
+  buffer[i-1] = 0;
+  printf("\r\n");
+  return buffer;
+}
+#endif /* __NOVELL_LIBC__ */
+#define DONE
+#endif /* NETWARE */
+
+#ifndef DONE /* not previously provided */
+
+#ifdef HAVE_TERMIOS_H
+#define struct_term struct termios
+#else
+#ifdef HAVE_TERMIO_H
+#define struct_term  struct termio
+#else
+#undef struct_term
+#endif
+#endif
+
+static bool ttyecho(bool enable, int fd)
+{
+#ifdef struct_term
+  static struct_term withecho;
+  static struct_term noecho;
+#endif
+  if(!enable) {
+  /* disable echo by extracting the current 'withecho' mode and remove the
+     ECHO bit and set back the struct */
+#ifdef HAVE_TERMIOS_H
+    tcgetattr(fd, &withecho);
+    noecho = withecho;
+    noecho.c_lflag &= ~ECHO;
+    tcsetattr(fd, TCSANOW, &noecho);
+#else /* HAVE_TERMIOS_H */
+#ifdef HAVE_TERMIO_H
+    ioctl(fd, TCGETA, &withecho);
+    noecho = withecho;
+    noecho.c_lflag &= ~ECHO;
+    ioctl(fd, TCSETA, &noecho);
+#else /* HAVE_TERMIO_H */
+/* neither HAVE_TERMIO_H nor HAVE_TERMIOS_H, we can't disable echo! */
+    (void)fd; /* prevent compiler warning on unused variable */
+    return FALSE; /* not disabled */
+#endif
+#endif
+    return TRUE; /* disabled */
+  }
+  else {
+    /* re-enable echo, assumes we disabled it before (and set the structs we
+       now use to reset the terminal status) */
+#ifdef HAVE_TERMIOS_H
+    tcsetattr(fd, TCSAFLUSH, &withecho);
+#else /* HAVE_TERMIOS_H */
+#ifdef HAVE_TERMIO_H
+    ioctl(fd, TCSETA, &withecho);
+#else
+/* neither HAVE_TERMIO_H nor HAVE_TERMIOS_H */
+    return FALSE; /* not enabled */
+#endif
+#endif
+    return TRUE; /* enabled */
+  }
+}
+
+char *getpass_r(const char *prompt, /* prompt to display */
+                char *password,     /* buffer to store password in */
+                size_t buflen)      /* size of buffer to store password in */
+{
+  ssize_t nread;
+  bool disabled;
+  int fd=open("/dev/tty", O_RDONLY);
+  if(-1 == fd)
+    fd = 1; /* use stdin if the tty couldn't be used */
+
+  disabled = ttyecho(FALSE, fd); /* disable terminal echo */
+
+  fputs(prompt, stderr);
+  nread=read(fd, password, buflen);
+  if(nread > 0)
+    password[--nread]=0; /* zero terminate where enter is stored */
+  else
+    password[0]=0; /* got nothing */
+
+  if(disabled) {
+    /* if echo actually was disabled, add a newline */
+    fputs("\n", stderr);
+    (void)ttyecho(TRUE, fd); /* enable echo */
+  }
+
+  if(1 != fd)
+    close(fd);
+
+  return password; /* return pointer to buffer */
+}
+
+#endif /* DONE */
+#endif /* HAVE_GETPASS_R */
diff --git a/src/getpass.h b/src/getpass.h
new file mode 100644
index 0000000..3b29d47
--- /dev/null
+++ b/src/getpass.h
@@ -0,0 +1,34 @@
+#ifndef __GETPASS_H
+#define __GETPASS_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#ifndef HAVE_GETPASS_R
+/* If there's a system-provided function named like this, we trust it is
+   also found in one of the standard headers. */
+
+/*
+ * Returning NULL will abort the continued operation!
+ */
+char* getpass_r(const char *prompt, char* buffer, size_t buflen );
+#endif
+
+#endif
diff --git a/src/homedir.c b/src/homedir.c
new file mode 100644
index 0000000..ab1d369
--- /dev/null
+++ b/src/homedir.c
@@ -0,0 +1,120 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "setup.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef HAVE_PWD_H
+#include <pwd.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef __VMS
+#include <unixlib.h>
+#endif
+
+#include "homedir.h"
+
+#if defined(CURLDEBUG) && defined(CURLTOOLDEBUG)
+#include "memdebug.h"
+#endif
+
+static
+char *GetEnv(const char *variable, char do_expand)
+{
+  char *env = NULL;
+#ifdef WIN32
+  char  buf1[1024], buf2[1024];
+  DWORD rc;
+
+  /* Don't use getenv(); it doesn't find variable added after program was
+   * started. Don't accept truncated results (i.e. rc >= sizeof(buf1)).  */
+
+  rc = GetEnvironmentVariable(variable, buf1, sizeof(buf1));
+  if (rc > 0 && rc < sizeof(buf1)) {
+    env = buf1;
+    variable = buf1;
+  }
+  if (do_expand && strchr(variable,'%')) {
+    /* buf2 == variable if not expanded */
+    rc = ExpandEnvironmentStrings (variable, buf2, sizeof(buf2));
+    if (rc > 0 && rc < sizeof(buf2) &&
+        !strchr(buf2,'%'))    /* no vars still unexpanded */
+      env = buf2;
+  }
+#else
+  (void)do_expand;
+#ifdef __VMS
+  env = getenv(variable);
+  if (env && strcmp("HOME",variable) == 0) {
+        env = decc_translate_vms(env);
+  }
+#else
+  /* no length control */
+  env = getenv(variable);
+#endif
+#endif
+  return (env && env[0])?strdup(env):NULL;
+}
+
+/* return the home directory of the current user as an allocated string */
+char *homedir(void)
+{
+  char *home;
+
+  home = GetEnv("CURL_HOME", FALSE);
+  if(home)
+    return home;
+
+  home = GetEnv("HOME", FALSE);
+  if(home)
+    return home;
+
+#if defined(HAVE_GETPWUID) && defined(HAVE_GETEUID)
+ {
+   struct passwd *pw = getpwuid(geteuid());
+
+   if (pw) {
+#ifdef __VMS
+     home = decc_translate_vms(pw->pw_dir);
+#else
+     home = pw->pw_dir;
+#endif
+     if (home && home[0])
+       home = strdup(home);
+     else
+       home = NULL;
+   }
+ }
+#endif /* PWD-stuff */
+#ifdef WIN32
+  home = GetEnv("APPDATA", TRUE);
+  if(!home)
+    home = GetEnv("%USERPROFILE%\\Application Data", TRUE); /* Normally only
+                                                               on Win-2K/XP */
+#endif /* WIN32 */
+  return home;
+}
diff --git a/src/homedir.h b/src/homedir.h
new file mode 100644
index 0000000..c88d517
--- /dev/null
+++ b/src/homedir.h
@@ -0,0 +1,27 @@
+#ifndef HEADER_CURL_HOMEDIR_H
+#define HEADER_CURL_HOMEDIR_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+char *homedir(void);
+
+#endif /* HEADER_CURL_HOMEDIR_H */
diff --git a/src/hugehelp.c b/src/hugehelp.c
new file mode 100644
index 0000000..d3e5761
--- /dev/null
+++ b/src/hugehelp.c
@@ -0,0 +1,6958 @@
+#include "setup.h"
+#ifndef HAVE_LIBZ
+/*
+ * NEVER EVER edit this manually, fix the mkhelp.pl script instead!
+ * Generation time: Sun Mar 28 23:35:15 2010
+ */
+#include "setup.h"
+#ifdef USE_MANUAL
+#include "hugehelp.h"
+#include <stdio.h>
+void hugehelp(void)
+{
+   fputs(
+"                                  _   _ ____  _\n"
+"  Project                     ___| | | |  _ \\| |\n"
+"                             / __| | | | |_) | |\n"
+"                            | (__| |_| |  _ <| |___\n"
+"                             \\___|\\___/|_| \\_\\_____|\n"
+"\n"
+"NAME\n"
+"       curl - transfer a URL\n"
+"\n"
+"SYNOPSIS\n"
+"       curl [options] [URL...]\n"
+"\n"
+"DESCRIPTION\n"
+"       curl  is  a tool to transfer data from or to a server, using one of the\n"
+"       supported protocols (HTTP, HTTPS, FTP, FTPS,  SCP,  SFTP,  TFTP,  DICT,\n"
+, stdout);
+ fputs(
+"       TELNET,  LDAP  or  FILE).  The command is designed to work without user\n"
+"       interaction.\n"
+"\n"
+"       curl offers a busload of useful tricks like proxy support, user authen-\n"
+"       tication,  FTP upload, HTTP post, SSL connections, cookies, file trans-\n"
+"       fer resume and more. As you will see below, the number of features will\n"
+"       make your head spin!\n"
+"\n"
+"       curl  is  powered  by  libcurl  for  all transfer-related features. See\n"
+"       libcurl(3) for details.\n"
+"\n"
+"URL\n"
+, stdout);
+ fputs(
+"       The URL syntax is protocol-dependent. You'll find a  detailed  descrip-\n"
+"       tion in RFC 3986.\n"
+"\n"
+"       You  can  specify  multiple  URLs or parts of URLs by writing part sets\n"
+"       within braces as in:\n"
+"\n"
+"        http://site.{one,two,three}.com\n"
+"\n"
+"       or you can get sequences of alphanumeric series by using [] as in:\n"
+"\n"
+"        ftp://ftp.numericals.com/file[1-100].txt\n"
+"        ftp://ftp.numericals.com/file[001-100].txt    (with leading zeros)\n"
+"        ftp://ftp.letters.com/file[a-z].txt\n"
+"\n"
+, stdout);
+ fputs(
+"       No nesting of the sequences is supported at the moment, but you can use\n"
+"       several ones next to each other:\n"
+"\n"
+"        http://any.org/archive[1996-1999]/vol[1-4]/part{a,b,c}.html\n"
+"\n"
+"       You  can  specify  any amount of URLs on the command line. They will be\n"
+"       fetched in a sequential manner in the specified order.\n"
+"\n"
+"       Since curl 7.15.1 you can also specify a step counter for  the  ranges,\n"
+"       so that you can get every Nth number or letter:\n"
+"\n"
+, stdout);
+ fputs(
+"        http://www.numericals.com/file[1-100:10].txt\n"
+"        http://www.letters.com/file[a-z:2].txt\n"
+"\n"
+"       If  you  specify  URL  without protocol:// prefix, curl will attempt to\n"
+"       guess what protocol you might want. It will then default  to  HTTP  but\n"
+"       try  other  protocols based on often-used host name prefixes. For exam-\n"
+"       ple, for host names starting with \"ftp.\" curl will assume you  want  to\n"
+"       speak FTP.\n"
+"\n"
+, stdout);
+ fputs(
+"       curl  will  do  its best to use what you pass to it as a URL. It is not\n"
+"       trying to validate it as a syntactically correct URL by any  means  but\n"
+"       is instead very liberal with what it accepts.\n"
+"\n"
+"       Curl will attempt to re-use connections for multiple file transfers, so\n"
+"       that getting many files from the same server will not do multiple  con-\n"
+"       nects / handshakes. This improves speed. Of course this is only done on\n"
+, stdout);
+ fputs(
+"       files specified on a single command line and  cannot  be  used  between\n"
+"       separate curl invokes.\n"
+"\n"
+"PROGRESS METER\n"
+"       curl  normally  displays a progress meter during operations, indicating\n"
+"       the amount of transferred data,  transfer  speeds  and  estimated  time\n"
+"       left, etc.\n"
+"\n"
+"       However,  since  curl displays this data to the terminal by default, if\n"
+"       you invoke curl to do an operation and it is about to write data to the\n"
+, stdout);
+ fputs(
+"       terminal,  it disables the progress meter as otherwise it would mess up\n"
+"       the output mixing progress meter and response data.\n"
+"\n"
+"       If you want a progress meter for HTTP POST or PUT requests, you need to\n"
+"       redirect  the  response  output to a file, using shell redirect (>), -o\n"
+"       [file] or similar.\n"
+"\n"
+"       It is not the same case for FTP upload as that operation does not  spit\n"
+"       out any response data to the terminal.\n"
+"\n"
+, stdout);
+ fputs(
+"       If you prefer a progress \"bar\" instead of the regular meter, -# is your\n"
+"       friend.\n"
+"OPTIONS\n"
+"       In general, all boolean options are enabled with --option and yet again\n"
+"       disabled  with --no-option. That is, you use the exact same option name\n"
+"       but prefix it with \"no-\". However, in this list we mostly only list and\n"
+"       show  the --option version of them. (This concept with --no options was\n"
+"       added in  7.19.0.  Previously  most  options  were  toggled  on/off  on\n"
+, stdout);
+ fputs(
+"       repeated use of the same command line option.)\n"
+"\n"
+"       -a/--append\n"
+"              (FTP/SFTP) When used in an upload, this will tell curl to append\n"
+"              to the target file  instead  of  overwriting  it.  If  the  file\n"
+"              doesn't  exist,  it  will  be  created.   Note that this flag is\n"
+"              ignored by some SSH servers (including OpenSSH).\n"
+"\n"
+"       -A/--user-agent <agent string>\n"
+"              (HTTP) Specify the User-Agent string to send to the HTTP server.\n"
+, stdout);
+ fputs(
+"              Some   badly   done  CGIs  fail  if  this  field  isn't  set  to\n"
+"              \"Mozilla/4.0\". To encode blanks  in  the  string,  surround  the\n"
+"              string  with  single  quote marks. This can also be set with the\n"
+"              -H/--header option of course.\n"
+"\n"
+"              If this option is set more than once, the last one will  be  the\n"
+"              one that's used.\n"
+"\n"
+"       --anyauth\n"
+"              (HTTP) Tells curl to figure out authentication method by itself,\n"
+, stdout);
+ fputs(
+"              and use the most secure one the remote site claims  to  support.\n"
+"              This is done by first doing a request and checking the response-\n"
+"              headers, thus possibly inducing  an  extra  network  round-trip.\n"
+"              This  is  used  instead  of  setting  a  specific authentication\n"
+"              method, which you can do with  --basic,  --digest,  --ntlm,  and\n"
+"              --negotiate.\n"
+"\n"
+, stdout);
+ fputs(
+"              Note  that  using --anyauth is not recommended if you do uploads\n"
+"              from stdin, since it may require data to be sent twice and  then\n"
+"              the client must be able to rewind. If the need should arise when\n"
+"              uploading from stdin, the upload operation will fail.\n"
+"\n"
+"       -b/--cookie <name=data>\n"
+"              (HTTP) Pass the data to the HTTP server as a cookie. It is  sup-\n"
+"              posedly  the data previously received from the server in a \"Set-\n"
+, stdout);
+ fputs(
+"              Cookie:\" line.  The data should be in the format  \"NAME1=VALUE1;\n"
+"              NAME2=VALUE2\".\n"
+"\n"
+"              If  no  '=' symbol is used in the line, it is treated as a file-\n"
+"              name to use to read previously stored cookie lines  from,  which\n"
+"              should  be used in this session if they match. Using this method\n"
+"              also activates the \"cookie parser\" which will make  curl  record\n"
+, stdout);
+ fputs(
+"              incoming cookies too, which may be handy if you're using this in\n"
+"              combination with the -L/--location option. The  file  format  of\n"
+"              the  file  to  read cookies from should be plain HTTP headers or\n"
+"              the Netscape/Mozilla cookie file format.\n"
+"\n"
+"              NOTE that the file specified with -b/--cookie is  only  used  as\n"
+"              input.  No cookies will be stored in the file. To store cookies,\n"
+, stdout);
+ fputs(
+"              use the -c/--cookie-jar option or you could even save  the  HTTP\n"
+"              headers to a file using -D/--dump-header!\n"
+"\n"
+"              If  this  option is set more than once, the last one will be the\n"
+"              one that's used.\n"
+"\n"
+"       -B/--use-ascii\n"
+"              Enable ASCII transfer when using FTP or LDAP. For FTP, this  can\n"
+"              also  be enforced by using an URL that ends with \";type=A\". This\n"
+, stdout);
+ fputs(
+"              option causes data sent to stdout to be in text mode  for  win32\n"
+"              systems.\n"
+"\n"
+"       --basic\n"
+"              (HTTP)  Tells curl to use HTTP Basic authentication. This is the\n"
+"              default and this option is usually pointless, unless you use  it\n"
+"              to  override  a  previously  set  option  that  sets a different\n"
+"              authentication method (such as --ntlm,  --digest,  or  --negoti-\n"
+"              ate).\n"
+"\n"
+"       --ciphers <list of ciphers>\n"
+, stdout);
+ fputs(
+"              (SSL) Specifies which ciphers to use in the connection. The list\n"
+"              of ciphers must specify valid ciphers. Read  up  on  SSL  cipher\n"
+"              list           details           on           this          URL:\n"
+"              http://www.openssl.org/docs/apps/ciphers.html\n"
+"\n"
+"              NSS ciphers are done differently than OpenSSL  and  GnuTLS.  The\n"
+"              full  list of NSS ciphers is in the NSSCipherSuite entry at this\n"
+, stdout);
+ fputs(
+"              URL: http://directory.fedora.redhat.com/docs/mod_nss.html#Direc-\n"
+"              tives\n"
+"\n"
+"              If this option is used several times, the last one will override\n"
+"              the others.\n"
+"\n"
+"       --compressed\n"
+"              (HTTP) Request a compressed response using one of the algorithms\n"
+"              libcurl supports, and return the uncompressed document.  If this\n"
+"              option is used and the server  sends  an  unsupported  encoding,\n"
+, stdout);
+ fputs(
+"              curl will report an error.\n"
+"\n"
+"       --connect-timeout <seconds>\n"
+"              Maximum  time  in  seconds  that you allow the connection to the\n"
+"              server to take.  This only limits  the  connection  phase,  once\n"
+"              curl  has  connected this option is of no more use. See also the\n"
+"              -m/--max-time option.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       -c/--cookie-jar <file name>\n"
+, stdout);
+ fputs(
+"              Specify to which file you want curl to write all cookies after a\n"
+"              completed  operation.  Curl  writes  all cookies previously read\n"
+"              from a specified file as  well  as  all  cookies  received  from\n"
+"              remote server(s). If no cookies are known, no file will be writ-\n"
+"              ten. The file will be written using  the  Netscape  cookie  file\n"
+"              format.  If  you  set  the  file name to a single dash, \"-\", the\n"
+, stdout);
+ fputs(
+"              cookies will be written to stdout.\n"
+"\n"
+"              NOTE If the cookie jar can't be created or written to, the whole\n"
+"              curl operation won't fail or even report an error clearly. Using\n"
+"              -v will get a warning displayed, but that is  the  only  visible\n"
+"              feedback you get about this possibly lethal situation.\n"
+"\n"
+"              If  this  option  is used several times, the last specified file\n"
+"              name will be used.\n"
+"\n"
+, stdout);
+ fputs(
+"       -C/--continue-at <offset>\n"
+"              Continue/Resume a previous file transfer at  the  given  offset.\n"
+"              The  given  offset  is  the  exact  number of bytes that will be\n"
+"              skipped, counting from the beginning of the source  file  before\n"
+"              it is transferred to the destination.  If used with uploads, the\n"
+"              FTP server command SIZE will not be used by curl.\n"
+"\n"
+"              Use \"-C -\" to tell curl to automatically find out  where/how  to\n"
+, stdout);
+ fputs(
+"              resume  the  transfer. It then uses the given output/input files\n"
+"              to figure that out.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --create-dirs\n"
+"              When used in conjunction with the -o option,  curl  will  create\n"
+"              the  necessary  local directory hierarchy as needed. This option\n"
+"              creates the dirs mentioned with the -o option, nothing else.  If\n"
+, stdout);
+ fputs(
+"              the  -o file name uses no dir or if the dirs it mentions already\n"
+"              exist, no dir will be created.\n"
+"\n"
+"              To create remote directories when using FTP or SFTP, try  --ftp-\n"
+"              create-dirs.\n"
+"\n"
+"       --crlf (FTP) Convert LF to CRLF in upload. Useful for MVS (OS/390).\n"
+"\n"
+"       --crlfile <file>\n"
+"              (HTTPS/FTPS)  Provide a file using PEM format with a Certificate\n"
+"              Revocation List that may specify peer certificates that  are  to\n"
+, stdout);
+ fputs(
+"              be considered revoked.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"              (Added in 7.19.7)\n"
+"\n"
+"       -d/--data <data>\n"
+"              (HTTP)  Sends  the  specified data in a POST request to the HTTP\n"
+"              server, in the same way that a browser  does  when  a  user  has\n"
+"              filled  in an HTML form and presses the submit button. This will\n"
+"              cause curl to pass the data to the server using the content-type\n"
+, stdout);
+ fputs(
+"              application/x-www-form-urlencoded.  Compare to -F/--form.\n"
+"\n"
+"              -d/--data  is  the  same  as  --data-ascii.  To post data purely\n"
+"              binary, you should instead use the --data-binary option. To URL-\n"
+"              encode the value of a form field you may use --data-urlencode.\n"
+"\n"
+"              If  any of these options is used more than once on the same com-\n"
+"              mand line, the data pieces specified  will  be  merged  together\n"
+, stdout);
+ fputs(
+"              with  a  separating  &-symbol.  Thus,  using  '-d name=daniel -d\n"
+"              skill=lousy'  would  generate  a  post  chunk  that  looks  like\n"
+"              'name=daniel&skill=lousy'.\n"
+"\n"
+"              If  you  start  the data with the letter @, the rest should be a\n"
+"              file name to read the data from, or - if you want curl  to  read\n"
+"              the  data  from stdin.  The contents of the file must already be\n"
+, stdout);
+ fputs(
+"              URL-encoded. Multiple files can also be specified. Posting  data\n"
+"              from  a file named 'foobar' would thus be done with --data @foo-\n"
+"              bar.\n"
+"\n"
+"       --data-binary <data>\n"
+"              (HTTP) This posts data exactly as specified with no  extra  pro-\n"
+"              cessing whatsoever.\n"
+"\n"
+"              If  you  start  the data with the letter @, the rest should be a\n"
+"              filename.  Data is posted in a similar  manner  as  --data-ascii\n"
+, stdout);
+ fputs(
+"              does,  except  that  newlines  are preserved and conversions are\n"
+"              never done.\n"
+"\n"
+"              If this option is used several times,  the  ones  following  the\n"
+"              first will append data as described in -d/--data.\n"
+"\n"
+"       --data-urlencode <data>\n"
+"              (HTTP) This posts data, similar to the other --data options with\n"
+"              the exception that this performs URL-encoding. (Added in 7.18.0)\n"
+, stdout);
+ fputs(
+"              To be CGI-compliant, the <data> part should begin  with  a  name\n"
+"              followed  by a separator and a content specification. The <data>\n"
+"              part can be passed to curl using one of the following syntaxes:\n"
+"\n"
+"              content\n"
+"                     This will make curl URL-encode the content and pass  that\n"
+"                     on.  Just  be careful so that the content doesn't contain\n"
+"                     any = or @ symbols, as that will  then  make  the  syntax\n"
+, stdout);
+ fputs(
+"                     match one of the other cases below!\n"
+"\n"
+"              =content\n"
+"                     This  will make curl URL-encode the content and pass that\n"
+"                     on. The preceding = symbol is not included in the data.\n"
+"\n"
+"              name=content\n"
+"                     This will make curl URL-encode the content part and  pass\n"
+"                     that  on.  Note that the name part is expected to be URL-\n"
+"                     encoded already.\n"
+"\n"
+"              @filename\n"
+, stdout);
+ fputs(
+"                     This will  make  curl  load  data  from  the  given  file\n"
+"                     (including  any  newlines), URL-encode that data and pass\n"
+"                     it on in the POST.\n"
+"\n"
+"              name@filename\n"
+"                     This will  make  curl  load  data  from  the  given  file\n"
+"                     (including  any  newlines), URL-encode that data and pass\n"
+"                     it on in the POST. The  name  part  gets  an  equal  sign\n"
+, stdout);
+ fputs(
+"                     appended, resulting in name=urlencoded-file-content. Note\n"
+"                     that the name is expected to be URL-encoded already.\n"
+"\n"
+"       --digest\n"
+"              (HTTP) Enables HTTP Digest authentication. This is a authentica-\n"
+"              tion that prevents the password from being sent over the wire in\n"
+"              clear text. Use this in combination with  the  normal  -u/--user\n"
+"              option to set user name and password. See also --ntlm, --negoti-\n"
+, stdout);
+ fputs(
+"              ate and --anyauth for related options.\n"
+"\n"
+"              If this option is used several times, the following  occurrences\n"
+"              make no difference.\n"
+"\n"
+"       --disable-eprt\n"
+"              (FTP) Tell curl to disable the use of the EPRT and LPRT commands\n"
+"              when doing active FTP transfers. Curl will normally always first\n"
+"              attempt  to use EPRT, then LPRT before using PORT, but with this\n"
+, stdout);
+ fputs(
+"              option, it will use PORT right away. EPRT and  LPRT  are  exten-\n"
+"              sions  to  the  original  FTP  protocol, and may not work on all\n"
+"              servers, but they enable more functionality in a better way than\n"
+"              the traditional PORT command.\n"
+"\n"
+"              Since  curl 7.19.0, --eprt can be used to explicitly enable EPRT\n"
+"              again and --no-eprt is an alias for --disable-eprt.\n"
+"\n"
+, stdout);
+ fputs(
+"              Disabling EPRT only changes the active behavior. If you want  to\n"
+"              switch  to  passive  mode  you  need to not use -P/--ftp-port or\n"
+"              force it with --ftp-pasv.\n"
+"\n"
+"       --disable-epsv\n"
+"              (FTP) Tell curl to disable the use  of  the  EPSV  command  when\n"
+"              doing  passive  FTP  transfers.  Curl will normally always first\n"
+"              attempt to use EPSV before PASV, but with this option,  it  will\n"
+"              not try using EPSV.\n"
+"\n"
+, stdout);
+ fputs(
+"              Since  curl 7.19.0, --epsv can be used to explicitly enable EPRT\n"
+"              again and --no-epsv is an alias for --disable-epsv.\n"
+"\n"
+"              Disabling EPSV only changes the passive behavior. If you want to\n"
+"              switch to active mode you need to use -P/--ftp-port.\n"
+"\n"
+"       -D/--dump-header <file>\n"
+"              Write the protocol headers to the specified file.\n"
+"\n"
+"              This  option  is handy to use when you want to store the headers\n"
+, stdout);
+ fputs(
+"              that a HTTP site sends to you. Cookies from  the  headers  could\n"
+"              then   be  read  in  a  second  curl  invocation  by  using  the\n"
+"              -b/--cookie option! The -c/--cookie-jar option is however a bet-\n"
+"              ter way to store cookies.\n"
+"\n"
+"              When  used  in FTP, the FTP server response lines are considered\n"
+"              being \"headers\" and thus are saved there.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+, stdout);
+ fputs(
+"       -e/--referer <URL>\n"
+"              (HTTP) Sends the \"Referer Page\" information to the HTTP  server.\n"
+"              This  can also be set with the -H/--header flag of course.  When\n"
+"              used with -L/--location you can append \";auto\" to the  --referer\n"
+"              URL to make curl automatically set the previous URL when it fol-\n"
+"              lows a Location: header. The \";auto\" string can be  used  alone,\n"
+"              even if you don't set an initial --referer.\n"
+"\n"
+, stdout);
+ fputs(
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --engine <name>\n"
+"              Select  the  OpenSSL crypto engine to use for cipher operations.\n"
+"              Use --engine list  to  print  a  list  of  build-time  supported\n"
+"              engines.  Note  that  not  all  (or  none) of the engines may be\n"
+"              available at run-time.\n"
+"\n"
+"       --environment\n"
+"              (RISC OS ONLY) Sets a range of environment variables, using  the\n"
+, stdout);
+ fputs(
+"              names the -w option supports, to allow easier extraction of use-\n"
+"              ful information after having run curl.\n"
+"\n"
+"       --egd-file <file>\n"
+"              (SSL) Specify the path name  to  the  Entropy  Gathering  Daemon\n"
+"              socket.  The  socket  is  used to seed the random engine for SSL\n"
+"              connections. See also the --random-file option.\n"
+"\n"
+"       -E/--cert <certificate[:password]>\n"
+"              (SSL) Tells curl to use the specified certificate file when get-\n"
+, stdout);
+ fputs(
+"              ting  a  file with HTTPS or FTPS. The certificate must be in PEM\n"
+"              format.  If the optional password isn't specified,  it  will  be\n"
+"              queried  for  on  the  terminal. Note that this option assumes a\n"
+"              \"certificate\" file that is the private key and the private  cer-\n"
+"              tificate  concatenated!  See  --cert  and  --key to specify them\n"
+"              independently.\n"
+"\n"
+, stdout);
+ fputs(
+"              If curl is built against the NSS SSL library  then  this  option\n"
+"              tells curl the nickname of the certificate to use within the NSS\n"
+"              database defined by the  environment  variable  SSL_DIR  (or  by\n"
+"              default  /etc/pki/nssdb).  If  the  NSS PEM PKCS#11 module (lib-\n"
+"              nsspem.so) is available then PEM files may be loaded.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --cert-type <type>\n"
+, stdout);
+ fputs(
+"              (SSL) Tells curl what certificate type the provided  certificate\n"
+"              is in. PEM, DER and ENG are recognized types.  If not specified,\n"
+"              PEM is assumed.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --cacert <CA certificate>\n"
+"              (SSL) Tells curl to use the specified certificate file to verify\n"
+"              the  peer.  The  file  may contain multiple CA certificates. The\n"
+, stdout);
+ fputs(
+"              certificate(s) must be in PEM format. Normally curl is built  to\n"
+"              use a default file for this, so this option is typically used to\n"
+"              alter that default file.\n"
+"\n"
+"              curl recognizes the environment variable named  'CURL_CA_BUNDLE'\n"
+"              if  it  is  set,  and uses the given path as a path to a CA cert\n"
+"              bundle. This option overrides that variable.\n"
+"\n"
+"              The windows version of curl will automatically  look  for  a  CA\n"
+, stdout);
+ fputs(
+"              certs file named 'curl-ca-bundle.crt', either in the same direc-\n"
+"              tory as curl.exe, or in the Current Working Directory, or in any\n"
+"              folder along your PATH.\n"
+"\n"
+"              If  curl  is  built against the NSS SSL library then this option\n"
+"              tells curl the nickname of the CA certificate to use within  the\n"
+"              NSS  database defined by the environment variable SSL_DIR (or by\n"
+, stdout);
+ fputs(
+"              default /etc/pki/nssdb).  If the NSS PEM  PKCS#11  module  (lib-\n"
+"              nsspem.so) is available then PEM files may be loaded.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --capath <CA certificate directory>\n"
+"              (SSL)  Tells  curl to use the specified certificate directory to\n"
+"              verify the peer. The certificates must be in PEM format, and the\n"
+, stdout);
+ fputs(
+"              directory  must  have  been processed using the c_rehash utility\n"
+"              supplied with openssl. Using --capath can  allow  curl  to  make\n"
+"              SSL-connections much more efficiently than using --cacert if the\n"
+"              --cacert file contains many CA certificates.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       -f/--fail\n"
+"              (HTTP) Fail silently (no output at all) on server  errors.  This\n"
+, stdout);
+ fputs(
+"              is  mostly done to better enable scripts etc to better deal with\n"
+"              failed attempts. In normal cases when a  HTTP  server  fails  to\n"
+"              deliver  a  document,  it  returns  an  HTML document stating so\n"
+"              (which often also describes why and more). This flag  will  pre-\n"
+"              vent curl from outputting that and return error 22.\n"
+"\n"
+"              This  method is not fail-safe and there are occasions where non-\n"
+, stdout);
+ fputs(
+"              successful response codes will  slip  through,  especially  when\n"
+"              authentication is involved (response codes 401 and 407).\n"
+"\n"
+"       --ftp-account [data]\n"
+"              (FTP) When an FTP server asks for \"account data\" after user name\n"
+"              and password has been provided, this data is sent off using  the\n"
+"              ACCT command. (Added in 7.13.0)\n"
+"\n"
+"              If  this option is used twice, the second will override the pre-\n"
+"              vious use.\n"
+"\n"
+, stdout);
+ fputs(
+"       --ftp-create-dirs\n"
+"              (FTP/SFTP) When an FTP or SFTP URL/operation uses  a  path  that\n"
+"              doesn't  currently exist on the server, the standard behavior of\n"
+"              curl is to fail. Using this option, curl will instead attempt to\n"
+"              create missing directories.\n"
+"\n"
+"       --ftp-method [method]\n"
+"              (FTP)  Control  what method curl should use to reach a file on a\n"
+"              FTP(S) server. The method argument should be one of the  follow-\n"
+, stdout);
+ fputs(
+"              ing alternatives:\n"
+"\n"
+"              multicwd\n"
+"                     curl  does  a  single CWD operation for each path part in\n"
+"                     the given URL. For deep hierarchies this means very  many\n"
+"                     commands.  This  is  how  RFC1738 says it should be done.\n"
+"                     This is the default but the slowest behavior.\n"
+"\n"
+"              nocwd  curl does no CWD at all. curl will do  SIZE,  RETR,  STOR\n"
+, stdout);
+ fputs(
+"                     etc and give a full path to the server for all these com-\n"
+"                     mands. This is the fastest behavior.\n"
+"\n"
+"              singlecwd\n"
+"                     curl does one CWD with the full target directory and then\n"
+"                     operates  on  the  file  \"normally\" (like in the multicwd\n"
+"                     case). This is somewhat  more  standards  compliant  than\n"
+"                     'nocwd' but without the full penalty of 'multicwd'.\n"
+"       (Added in 7.15.1)\n"
+"\n"
+, stdout);
+ fputs(
+"       --ftp-pasv\n"
+"              (FTP)  Use  passive  mode for the data conection. Passive is the\n"
+"              internal default behavior, but using this option can be used  to\n"
+"              override a previous -P/-ftp-port option. (Added in 7.11.0)\n"
+"\n"
+"              If  this option is used several times, the following occurrences\n"
+"              make no difference. Undoing an  enforced  passive  really  isn't\n"
+"              doable  but  you must then instead enforce the correct -P/--ftp-\n"
+, stdout);
+ fputs(
+"              port again.\n"
+"\n"
+"              Passive mode means that curl will try the EPSV command first and\n"
+"              then PASV, unless --disable-epsv is used.\n"
+"\n"
+"       --ftp-alternative-to-user <command>\n"
+"              (FTP)  If  authenticating with the USER and PASS commands fails,\n"
+"              send this  command.   When  connecting  to  Tumbleweed's  Secure\n"
+"              Transport  server  over  FTPS  using a client certificate, using\n"
+, stdout);
+ fputs(
+"              \"SITE AUTH\" will tell the server to retrieve the  username  from\n"
+"              the certificate. (Added in 7.15.5)\n"
+"\n"
+"       --ftp-skip-pasv-ip\n"
+"              (FTP) Tell curl to not use the IP address the server suggests in\n"
+"              its response to curl's PASV command when curl connects the  data\n"
+"              connection.  Instead  curl  will  re-use  the same IP address it\n"
+"              already uses for the control connection. (Added in 7.14.2)\n"
+"\n"
+, stdout);
+ fputs(
+"              This option has no effect if PORT, EPRT or EPSV is used  instead\n"
+"              of PASV.\n"
+"\n"
+"       --ftp-pret\n"
+"              (FTP)  Tell  curl to send a PRET command before PASV (and EPSV).\n"
+"              Certain FTP servers, mainly drftpd,  require  this  non-standard\n"
+"              command  for  directory  listings as well as up and downloads in\n"
+"              PASV mode.  (Added in 7.20.x)\n"
+"\n"
+"       --ssl  (FTP, POP3, IMAP, SMTP) Try to use SSL/TLS for  the  connection.\n"
+, stdout);
+ fputs(
+"              Reverts to a non-secure connection if the server doesn't support\n"
+"              SSL/TLS.  See also --ftp-ssl-control and --ssl-reqd for  differ-\n"
+"              ent levels of encryption required. (Added in 7.20.0)\n"
+"\n"
+"              This  option  was  formerly known as --ftp-ssl (Added in 7.11.0)\n"
+"              and that can still be used but will be removed in a future  ver-\n"
+"              sion.\n"
+"\n"
+"       --ftp-ssl-control\n"
+, stdout);
+ fputs(
+"              (FTP)  Require  SSL/TLS  for  the FTP login, clear for transfer.\n"
+"              Allows secure authentication, but non-encrypted  data  transfers\n"
+"              for  efficiency.   Fails the transfer if the server doesn't sup-\n"
+"              port SSL/TLS.  (Added in 7.16.0)\n"
+"\n"
+"       --ssl-reqd\n"
+"              (FTP, POP3, IMAP, SMTP)  Require  SSL/TLS  for  the  connection.\n"
+"              Terminates the connection if the server doesn't support SSL/TLS.\n"
+"              (Added in 7.20.0)\n"
+"\n"
+, stdout);
+ fputs(
+"              This option was  formerly  known  as  --ftp-ssl-reqd  (added  in\n"
+"              7.15.5)  and  that  can  still  be used but will be removed in a\n"
+"              future version.\n"
+"\n"
+"       --ftp-ssl-ccc\n"
+"              (FTP) Use CCC (Clear Command Channel)  Shuts  down  the  SSL/TLS\n"
+"              layer after authenticating. The rest of the control channel com-\n"
+"              munication will be unencrypted. This allows NAT routers to  fol-\n"
+, stdout);
+ fputs(
+"              low the FTP transaction. The default mode is passive. See --ftp-\n"
+"              ssl-ccc-mode for other modes.  (Added in 7.16.1)\n"
+"\n"
+"       --ftp-ssl-ccc-mode [active/passive]\n"
+"              (FTP) Use CCC (Clear Command Channel) Sets  the  CCC  mode.  The\n"
+"              passive  mode  will  not initiate the shutdown, but instead wait\n"
+"              for the server to do it, and will not reply to the shutdown from\n"
+, stdout);
+ fputs(
+"              the server. The active mode initiates the shutdown and waits for\n"
+"              a reply from the server.  (Added in 7.16.2)\n"
+"\n"
+"       -F/--form <name=content>\n"
+"              (HTTP) This lets curl emulate a filled-in form in which  a  user\n"
+"              has  pressed  the  submit  button. This causes curl to POST data\n"
+"              using the Content-Type multipart/form-data according to RFC2388.\n"
+"              This  enables  uploading of binary files etc. To force the 'con-\n"
+, stdout);
+ fputs(
+"              tent' part to be a file, prefix the file name with an @ sign. To\n"
+"              just get the content part from a file, prefix the file name with\n"
+"              the symbol <. The difference between @ and  <  is  then  that  @\n"
+"              makes  a  file  get attached in the post as a file upload, while\n"
+"              the < makes a text field and just get the contents for that text\n"
+"              field from a file.\n"
+"\n"
+, stdout);
+ fputs(
+"              Example,  to send your password file to the server, where 'pass-\n"
+"              word' is the name of the form-field to which /etc/passwd will be\n"
+"              the input:\n"
+"\n"
+"              curl -F password=@/etc/passwd www.mypasswords.com\n"
+"\n"
+"              To  read  the file's content from stdin instead of a file, use -\n"
+"              where the file name should've been. This goes for both @  and  <\n"
+"              constructs.\n"
+"\n"
+, stdout);
+ fputs(
+"              You  can  also  tell  curl  what  Content-Type  to  use by using\n"
+"              'type=', in a manner similar to:\n"
+"\n"
+"              curl -F \"web=@index.html;type=text/html\" url.com\n"
+"\n"
+"              or\n"
+"\n"
+"              curl -F \"name=daniel;type=text/foo\" url.com\n"
+"\n"
+"              You can also explicitly change the name field of an file  upload\n"
+"              part by setting filename=, like this:\n"
+"\n"
+"              curl -F \"file=@localfile;filename=nameinpost\" url.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See further examples and details in the MANUAL.\n"
+"\n"
+"              This option can be used multiple times.\n"
+"\n"
+"       --form-string <name=string>\n"
+"              (HTTP)  Similar  to  --form except that the value string for the\n"
+"              named parameter is used literally. Leading '@' and  '<'  charac-\n"
+"              ters, and the ';type=' string in the value have no special mean-\n"
+"              ing. Use this in preference to --form if there's any possibility\n"
+, stdout);
+ fputs(
+"              that  the  string  value may accidentally trigger the '@' or '<'\n"
+"              features of --form.\n"
+"\n"
+"       -g/--globoff\n"
+"              This option switches off the \"URL globbing parser\". When you set\n"
+"              this  option, you can specify URLs that contain the letters {}[]\n"
+"              without having them being interpreted by curl itself. Note  that\n"
+"              these  letters are not normal legal URL contents but they should\n"
+, stdout);
+ fputs(
+"              be encoded according to the URI standard.\n"
+"\n"
+"       -G/--get\n"
+"              When used,  this  option  will  make  all  data  specified  with\n"
+"              -d/--data  or  --data-binary  to  be  used in a HTTP GET request\n"
+"              instead of the POST request that otherwise would  be  used.  The\n"
+"              data will be appended to the URL with a '?' separator.\n"
+"\n"
+"              If  used  in  combination with -I, the POST data will instead be\n"
+, stdout);
+ fputs(
+"              appended to the URL with a HEAD request.\n"
+"\n"
+"              If this option is used several times, the following  occurrences\n"
+"              make  no  difference. This is because undoing a GET doesn't make\n"
+"              sense, but you  should  then  instead  enforce  the  alternative\n"
+"              method you prefer.\n"
+"\n"
+"       -h/--help\n"
+"              Usage help.\n"
+"\n"
+"       -H/--header <header>\n"
+"              (HTTP)  Extra  header  to  use  when getting a web page. You may\n"
+, stdout);
+ fputs(
+"              specify any number of extra headers. Note that if you should add\n"
+"              a  custom  header  that has the same name as one of the internal\n"
+"              ones curl would use, your externally set  header  will  be  used\n"
+"              instead of the internal one. This allows you to make even trick-\n"
+"              ier stuff than curl would normally do. You  should  not  replace\n"
+"              internally  set  headers  without  knowing  perfectly  well what\n"
+, stdout);
+ fputs(
+"              you're doing. Remove an internal header by giving a  replacement\n"
+"              without  content  on  the  right  side  of  the colon, as in: -H\n"
+"              \"Host:\".\n"
+"\n"
+"              curl will make sure that each header  you  add/replace  is  sent\n"
+"              with the proper end-of-line marker, you should thus not add that\n"
+"              as a part of the header content: do not add newlines or carriage\n"
+"              returns, they will only mess things up for you.\n"
+"\n"
+, stdout);
+ fputs(
+"              See also the -A/--user-agent and -e/--referer options.\n"
+"\n"
+"              This  option  can  be  used multiple times to add/replace/remove\n"
+"              multiple headers.\n"
+"\n"
+"       --hostpubmd5 <md5>\n"
+"              Pass a string  containing  32  hexadecimal  digits.  The  string\n"
+"              should  be  the 128 bit MD5 checksum of the remote host's public\n"
+"              key, curl will refuse the connection with the  host  unless  the\n"
+, stdout);
+ fputs(
+"              md5sums  match.  This option is only for SCP and SFTP transfers.\n"
+"              (Added in 7.17.1)\n"
+"\n"
+"       --ignore-content-length\n"
+"              (HTTP) Ignore the Content-Length header.  This  is  particularly\n"
+"              useful  for servers running Apache 1.x, which will report incor-\n"
+"              rect Content-Length for files larger than 2 gigabytes.\n"
+"\n"
+"       -i/--include\n"
+"              (HTTP) Include the HTTP-header in the  output.  The  HTTP-header\n"
+, stdout);
+ fputs(
+"              includes  things  like  server-name, date of the document, HTTP-\n"
+"              version and more...\n"
+"\n"
+"       --interface <name>\n"
+"              Perform an operation using a specified interface. You can  enter\n"
+"              interface  name,  IP address or host name. An example could look\n"
+"              like:\n"
+"\n"
+"               curl --interface eth0:1 http://www.netscape.com/\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       -I/--head\n"
+, stdout);
+ fputs(
+"              (HTTP/FTP/FILE) Fetch the HTTP-header only! HTTP-servers feature\n"
+"              the  command  HEAD which this uses to get nothing but the header\n"
+"              of a document. When used on a FTP or FILE  file,  curl  displays\n"
+"              the file size and last modification time only.\n"
+"\n"
+"       -j/--junk-session-cookies\n"
+"              (HTTP) When curl is told to read cookies from a given file, this\n"
+"              option will make it discard all  \"session  cookies\".  This  will\n"
+, stdout);
+ fputs(
+"              basically  have  the same effect as if a new session is started.\n"
+"              Typical browsers always discard  session  cookies  when  they're\n"
+"              closed down.\n"
+"\n"
+"       -J/--remote-header-name\n"
+"              (HTTP)  This option tells the -O/--remote-name option to use the\n"
+"              server-specified   Content-Disposition   filename   instead   of\n"
+"              extracting a filename from the URL.\n"
+"\n"
+"       -k/--insecure\n"
+, stdout);
+ fputs(
+"              (SSL)  This  option explicitly allows curl to perform \"insecure\"\n"
+"              SSL connections and transfers. All SSL connections are attempted\n"
+"              to  be  made secure by using the CA certificate bundle installed\n"
+"              by default. This makes  all  connections  considered  \"insecure\"\n"
+"              fail unless -k/--insecure is used.\n"
+"\n"
+"              See     this    online    resource    for    further    details:\n"
+"              http://curl.haxx.se/docs/sslcerts.html\n"
+, stdout);
+ fputs(
+"\n"
+"       --keepalive-time <seconds>\n"
+"              This option sets the time a  connection  needs  to  remain  idle\n"
+"              before  sending keepalive probes and the time between individual\n"
+"              keepalive probes. It is currently effective on operating systems\n"
+"              offering  the  TCP_KEEPIDLE  and  TCP_KEEPINTVL  socket  options\n"
+"              (meaning Linux, recent AIX, HP-UX and more). This option has  no\n"
+"              effect if --no-keepalive is used. (Added in 7.18.0)\n"
+"\n"
+, stdout);
+ fputs(
+"              If  this option is used multiple times, the last occurrence sets\n"
+"              the amount.\n"
+"       --key <key>\n"
+"              (SSL/SSH) Private key file name. Allows you to provide your pri-\n"
+"              vate key in this separate file.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --key-type <type>\n"
+"              (SSL)  Private key file type. Specify which type your --key pro-\n"
+, stdout);
+ fputs(
+"              vided private key is. DER, PEM, and ENG are  supported.  If  not\n"
+"              specified, PEM is assumed.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --krb <level>\n"
+"              (FTP)  Enable Kerberos authentication and use. The level must be\n"
+"              entered and should be one of 'clear', 'safe', 'confidential', or\n"
+"              'private'.  Should  you  use  a  level that is not one of these,\n"
+, stdout);
+ fputs(
+"              'private' will instead be used.\n"
+"\n"
+"              This option requires a library built with  kerberos4  or  GSSAPI\n"
+"              (GSS-Negotiate)  support. This is not very common. Use -V/--ver-\n"
+"              sion to see if your curl supports it.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       -K/--config <config file>\n"
+"              Specify which config file to read curl arguments from. The  con-\n"
+, stdout);
+ fputs(
+"              fig  file  is a text file in which command line arguments can be\n"
+"              written which then will be used as if they were written  on  the\n"
+"              actual command line. Options and their parameters must be speci-\n"
+"              fied on the same config  file  line,  separated  by  whitespace,\n"
+"              colon,  the equals sign or any combination thereof (however, the\n"
+"              preferred separator is the equals sign). If the parameter is  to\n"
+, stdout);
+ fputs(
+"              contain  whitespace,  the  parameter  must  be  enclosed  within\n"
+"              quotes. Within double quotes, the following escape sequences are\n"
+"              available:  \\\\, \\\", \\t, \\n, \\r and \\v. A backslash preceding any\n"
+"              other letter is ignored. If the first column of a config line is\n"
+"              a  '#' character, the rest of the line will be treated as a com-\n"
+"              ment. Only write one option per  physical  line  in  the  config\n"
+"              file.\n"
+"\n"
+, stdout);
+ fputs(
+"              Specify the filename to -K/--config as '-' to make curl read the\n"
+"              file from stdin.\n"
+"\n"
+"              Note that to be able to specify a URL in the  config  file,  you\n"
+"              need  to  specify  it  using the --url option, and not by simply\n"
+"              writing the URL on its own line. So, it could  look  similar  to\n"
+"              this:\n"
+"\n"
+"              url = \"http://curl.haxx.se/docs/\"\n"
+"\n"
+"              Long  option  names  can  optionally be given in the config file\n"
+, stdout);
+ fputs(
+"              without the initial double dashes.\n"
+"\n"
+"              When curl is invoked, it always (unless -q is used) checks for a\n"
+"              default  config  file  and  uses it if found. The default config\n"
+"              file is checked for in the following places in this order:\n"
+"\n"
+"              1) curl tries to find the \"home dir\": It first  checks  for  the\n"
+"              CURL_HOME and then the HOME environment variables. Failing that,\n"
+, stdout);
+ fputs(
+"              it uses getpwuid() on UNIX-like systems (which returns the  home\n"
+"              dir  given the current user in your system). On Windows, it then\n"
+"              checks for the APPDATA variable, or as a last resort the '%USER-\n"
+"              PROFILE%\\Application Data'.\n"
+"\n"
+"              2)  On  windows, if there is no _curlrc file in the home dir, it\n"
+"              checks for one in the same dir the curl executable is placed. On\n"
+, stdout);
+ fputs(
+"              UNIX-like  systems,  it will simply try to load .curlrc from the\n"
+"              determined home dir.\n"
+"\n"
+"              # --- Example file ---\n"
+"              # this is a comment\n"
+"              url = \"curl.haxx.se\"\n"
+"              output = \"curlhere.html\"\n"
+"              user-agent = \"superagent/1.0\"\n"
+"\n"
+"              # and fetch another URL too\n"
+"              url = \"curl.haxx.se/docs/manpage.html\"\n"
+"              -O\n"
+"              referer = \"http://nowhereatall.com/\"\n"
+, stdout);
+ fputs(
+"              # --- End of example file ---\n"
+"\n"
+"              This option can be used multiple times to load  multiple  config\n"
+"              files.\n"
+"\n"
+"       --libcurl <file>\n"
+"              Append  this  option  to any ordinary curl command line, and you\n"
+"              will get a libcurl-using source code written to  the  file  that\n"
+"              does the equivalent of what your command-line operation does!\n"
+"\n"
+"              NOTE:  this does not properly support -F and the sending of mul-\n"
+, stdout);
+ fputs(
+"              tipart formposts, so in those cases the output program  will  be\n"
+"              missing necessary calls to curl_formadd(3), and possibly more.\n"
+"\n"
+"              If  this  option is used several times, the last given file name\n"
+"              will be used. (Added in 7.16.1)\n"
+"\n"
+"       --limit-rate <speed>\n"
+"              Specify the maximum transfer rate you want  curl  to  use.  This\n"
+"              feature is useful if you have a limited pipe and you'd like your\n"
+, stdout);
+ fputs(
+"              transfer not to use your entire bandwidth.\n"
+"\n"
+"              The given speed is measured in bytes/second, unless a suffix  is\n"
+"              appended.   Appending  'k' or 'K' will count the number as kilo-\n"
+"              bytes, 'm' or M' makes it megabytes, while 'g' or 'G'  makes  it\n"
+"              gigabytes. Examples: 200K, 3m and 1G.\n"
+"\n"
+"              The  given  rate  is the average speed counted during the entire\n"
+, stdout);
+ fputs(
+"              transfer. It means that curl might use higher transfer speeds in\n"
+"              short bursts, but over time it uses no more than the given rate.\n"
+"              If  you  also  use the -Y/--speed-limit option, that option will\n"
+"              take precedence and might cripple the rate-limiting slightly, to\n"
+"              help keeping the speed-limit logic working.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       -l/--list-only\n"
+, stdout);
+ fputs(
+"              (FTP)  When listing an FTP directory, this switch forces a name-\n"
+"              only view.  Especially useful if you want to  machine-parse  the\n"
+"              contents  of  an  FTP  directory since the normal directory view\n"
+"              doesn't use a standard look or format.\n"
+"\n"
+"              This option causes an FTP NLST command to  be  sent.   Some  FTP\n"
+"              servers  list  only files in their response to NLST; they do not\n"
+, stdout);
+ fputs(
+"              include subdirectories and symbolic links.\n"
+"\n"
+"       --local-port <num>[-num]\n"
+"              Set a preferred number or range of local port numbers to use for\n"
+"              the  connection(s).   Note  that  port  numbers  by nature are a\n"
+"              scarce resource that will be busy at times so setting this range\n"
+"              to something too narrow might cause unnecessary connection setup\n"
+"              failures. (Added in 7.15.2)\n"
+"\n"
+"       -L/--location\n"
+, stdout);
+ fputs(
+"              (HTTP/HTTPS) If the server reports that the requested  page  has\n"
+"              moved to a different location (indicated with a Location: header\n"
+"              and a 3XX response code), this option will make  curl  redo  the\n"
+"              request  on the new place. If used together with -i/--include or\n"
+"              -I/--head, headers from all requested pages will be shown.  When\n"
+"              authentication  is  used, curl only sends its credentials to the\n"
+, stdout);
+ fputs(
+"              initial host. If a redirect takes curl to a different  host,  it\n"
+"              won't  be  able to intercept the user+password. See also --loca-\n"
+"              tion-trusted on how to change this. You can limit the amount  of\n"
+"              redirects to follow by using the --max-redirs option.\n"
+"\n"
+"              When  curl follows a redirect and the request is not a plain GET\n"
+"              (for example POST or PUT), it will do the following request with\n"
+, stdout);
+ fputs(
+"              a GET if the HTTP response was 301, 302, or 303. If the response\n"
+"              code was any other 3xx code, curl  will  re-send  the  following\n"
+"              request using the same unmodified method.\n"
+"\n"
+"       --location-trusted\n"
+"              (HTTP/HTTPS) Like -L/--location, but will allow sending the name\n"
+"              + password to all hosts that the site may redirect to. This  may\n"
+"              or may not introduce a security breach if the site redirects you\n"
+, stdout);
+ fputs(
+"              to a site to which you'll send your authentication  info  (which\n"
+"              is plaintext in the case of HTTP Basic authentication).\n"
+"\n"
+"       --mail-rcpt <address>\n"
+"              (SMTP)  Specify  a single address that the given mail should get\n"
+"              sent to. This option can be used multiple times to specify  many\n"
+"              recipients.\n"
+"\n"
+"              (Added in 7.20.0)\n"
+"\n"
+"       --mail-from <address>\n"
+, stdout);
+ fputs(
+"              (SMTP)  Specify  a single address that the given mail should get\n"
+"              sent from.\n"
+"\n"
+"              (Added in 7.20.0)\n"
+"\n"
+"       --max-filesize <bytes>\n"
+"              Specify the maximum size (in bytes) of a file  to  download.  If\n"
+"              the  file requested is larger than this value, the transfer will\n"
+"              not start and curl will return with exit code 63.\n"
+"\n"
+"              NOTE: The file size is not always known prior to  download,  and\n"
+, stdout);
+ fputs(
+"              for such files this option has no effect even if the file trans-\n"
+"              fer ends up being larger than this given  limit.  This  concerns\n"
+"              both FTP and HTTP transfers.\n"
+"\n"
+"       -m/--max-time <seconds>\n"
+"              Maximum  time  in  seconds that you allow the whole operation to\n"
+"              take.  This is useful for preventing your batch jobs from  hang-\n"
+"              ing  for  hours  due  to slow networks or links going down.  See\n"
+, stdout);
+ fputs(
+"              also the --connect-timeout option.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       -M/--manual\n"
+"              Manual. Display the huge help text.\n"
+"\n"
+"       -n/--netrc\n"
+"              Makes curl scan the .netrc  (_netrc  on  Windows)  file  in  the\n"
+"              user's home directory for login name and password. This is typi-\n"
+"              cally used for FTP on UNIX. If used with HTTP, curl will  enable\n"
+, stdout);
+ fputs(
+"              user  authentication.  See netrc(4) or ftp(1) for details on the\n"
+"              file format. Curl will not complain if that  file  doesn't  have\n"
+"              the  right permissions (it should not be either world- or group-\n"
+"              readable). The environment variable \"HOME\" is used to  find  the\n"
+"              home directory.\n"
+"\n"
+"              A  quick  and  very  simple  example of how to setup a .netrc to\n"
+, stdout);
+ fputs(
+"              allow curl to FTP to the machine host.domain.com with user  name\n"
+"              'myself' and password 'secret' should look similar to:\n"
+"\n"
+"              machine host.domain.com login myself password secret\n"
+"\n"
+"       --netrc-optional\n"
+"              Very  similar to --netrc, but this option makes the .netrc usage\n"
+"              optional and not mandatory as the --netrc option does.\n"
+"\n"
+"       --negotiate\n"
+"              (HTTP) Enables GSS-Negotiate authentication.  The  GSS-Negotiate\n"
+, stdout);
+ fputs(
+"              method was designed by Microsoft and is used in their web appli-\n"
+"              cations. It is  primarily  meant  as  a  support  for  Kerberos5\n"
+"              authentication but may be also used along with another authenti-\n"
+"              cation method. For more information see IETF draft draft-brezak-\n"
+"              spnego-http-04.txt.\n"
+"\n"
+"              If  you  want to enable Negotiate for your proxy authentication,\n"
+"              then use --proxy-negotiate.\n"
+"\n"
+, stdout);
+ fputs(
+"              This option requires a library built with GSSAPI  support.  This\n"
+"              is not very common. Use -V/--version to see if your version sup-\n"
+"              ports GSS-Negotiate.\n"
+"\n"
+"              When using this option, you must also provide a  fake  -u/--user\n"
+"              option  to  activate the authentication code properly. Sending a\n"
+"              '-u :' is enough as the user  name  and  password  from  the  -u\n"
+"              option aren't actually used.\n"
+"\n"
+, stdout);
+ fputs(
+"              If  this option is used several times, the following occurrences\n"
+"              make no difference.\n"
+"\n"
+"       -N/--no-buffer\n"
+"              Disables the buffering of the output stream. In normal work sit-\n"
+"              uations,  curl  will  use a standard buffered output stream that\n"
+"              will have the effect that it will output the data in chunks, not\n"
+"              necessarily  exactly  when  the data arrives.  Using this option\n"
+"              will disable that buffering.\n"
+"\n"
+, stdout);
+ fputs(
+"              Note that this is the negated option name  documented.  You  can\n"
+"              thus use --buffer to enforce the buffering.\n"
+"\n"
+"       --no-keepalive\n"
+"              Disables the use of keepalive messages on the TCP connection, as\n"
+"              by default curl enables them.\n"
+"\n"
+"              Note that this is the negated option name  documented.  You  can\n"
+"              thus use --keepalive to enforce keepalive.\n"
+"\n"
+"       --no-sessionid\n"
+, stdout);
+ fputs(
+"              (SSL)  Disable curl's use of SSL session-ID caching.  By default\n"
+"              all transfers are done using the cache. Note that while  nothing\n"
+"              should  ever  get  hurt  by attempting to reuse SSL session-IDs,\n"
+"              there seem to be broken SSL implementations in the wild that may\n"
+"              require  you to disable this in order for you to succeed. (Added\n"
+"              in 7.16.0)\n"
+"\n"
+"              Note that this is the negated option name  documented.  You  can\n"
+, stdout);
+ fputs(
+"              thus use --sessionid to enforce session-ID caching.\n"
+"\n"
+"       --noproxy <no-proxy-list>\n"
+"              Comma-separated  list  of hosts which do not use a proxy, if one\n"
+"              is specified.  The only wildcard is a single * character,  which\n"
+"              matches all hosts, and effectively disables the proxy. Each name\n"
+"              in this list is matched as either a domain  which  contains  the\n"
+"              hostname,  or  the hostname itself. For example, local.com would\n"
+, stdout);
+ fputs(
+"              match  local.com,  local.com:80,  and  www.local.com,  but   not\n"
+"              www.notlocal.com.  (Added in 7.19.4).\n"
+"\n"
+"       --ntlm (HTTP)  Enables  NTLM  authentication.  The  NTLM authentication\n"
+"              method was designed by Microsoft and is used by IIS web servers.\n"
+"              It  is a proprietary protocol, reverse-engineered by clever peo-\n"
+"              ple and implemented in curl based on their efforts. This kind of\n"
+, stdout);
+ fputs(
+"              behavior  should  not be endorsed, you should encourage everyone\n"
+"              who uses NTLM to switch to a public and  documented  authentica-\n"
+"              tion method instead, such as Digest.\n"
+"\n"
+"              If  you  want to enable NTLM for your proxy authentication, then\n"
+"              use --proxy-ntlm.\n"
+"\n"
+"              This option requires a  library  built  with  SSL  support.  Use\n"
+"              -V/--version to see if your curl supports NTLM.\n"
+"\n"
+, stdout);
+ fputs(
+"              If  this option is used several times, the following occurrences\n"
+"              make no difference.\n"
+"\n"
+"       -o/--output <file>\n"
+"              Write output to <file> instead of stdout. If you are using {} or\n"
+"              []  to  fetch  multiple documents, you can use '#' followed by a\n"
+"              number in the <file> specifier. That variable will  be  replaced\n"
+"              with the current string for the URL being fetched. Like in:\n"
+"\n"
+, stdout);
+ fputs(
+"                curl http://{one,two}.site.com -o \"file_#1.txt\"\n"
+"\n"
+"              or use several variables like:\n"
+"\n"
+"                curl http://{site,host}.host[1-5].com -o \"#1_#2\"\n"
+"\n"
+"              You  may use this option as many times as the number of URLs you\n"
+"              have.\n"
+"\n"
+"              See also the --create-dirs option to create the  local  directo-\n"
+"              ries  dynamically.  Specifying the output as '-' (a single dash)\n"
+"              will force the output to be done to stdout.\n"
+"\n"
+, stdout);
+ fputs(
+"       -O/--remote-name\n"
+"              Write output to a local file named like the remote file we  get.\n"
+"              (Only  the file part of the remote file is used, the path is cut\n"
+"              off.)\n"
+"\n"
+"              The remote file name to use for saving  is  extracted  from  the\n"
+"              given URL, nothing else.\n"
+"\n"
+"              You  may use this option as many times as the number of URLs you\n"
+"              have.\n"
+"\n"
+"       --remote-name-all\n"
+, stdout);
+ fputs(
+"              This option changes the default action for all given URLs to  be\n"
+"              dealt  with as if -O/--remote-name were used for each one. So if\n"
+"              you want to disable that for a specific URL after --remote-name-\n"
+"              all  has  been  used,  you  must use \"-o -\" or --no-remote-name.\n"
+"              (Added in 7.19.0)\n"
+"\n"
+"       --pass <phrase>\n"
+"              (SSL/SSH) Passphrase for the private key\n"
+"\n"
+, stdout);
+ fputs(
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --post301\n"
+"              Tells curl to respect  RFC  2616/10.3.2  and  not  convert  POST\n"
+"              requests into GET requests when following a 301 redirection. The\n"
+"              non-RFC behaviour is ubiquitous in web browsers,  so  curl  does\n"
+"              the  conversion  by  default to maintain consistency. However, a\n"
+"              server may require a POST to remain a POST after  such  a  redi-\n"
+, stdout);
+ fputs(
+"              rection. This option is meaningful only when using -L/--location\n"
+"              (Added in 7.17.1)\n"
+"\n"
+"       --post302\n"
+"              Tells curl to respect  RFC  2616/10.3.2  and  not  convert  POST\n"
+"              requests into GET requests when following a 302 redirection. The\n"
+"              non-RFC behaviour is ubiquitous in web browsers,  so  curl  does\n"
+"              the  conversion  by  default to maintain consistency. However, a\n"
+, stdout);
+ fputs(
+"              server may require a POST to remain a POST after  such  a  redi-\n"
+"              rection. This option is meaningful only when using -L/--location\n"
+"              (Added in 7.19.1)\n"
+"\n"
+"       --proxy-anyauth\n"
+"              Tells curl to pick a suitable authentication method when  commu-\n"
+"              nicating  with  the  given  proxy.  This  might  cause  an extra\n"
+"              request/response round-trip. (Added in 7.13.2)\n"
+"\n"
+"       --proxy-basic\n"
+, stdout);
+ fputs(
+"              Tells curl to use HTTP Basic authentication  when  communicating\n"
+"              with the given proxy. Use --basic for enabling HTTP Basic with a\n"
+"              remote host. Basic is the  default  authentication  method  curl\n"
+"              uses with proxies.\n"
+"\n"
+"       --proxy-digest\n"
+"              Tells  curl to use HTTP Digest authentication when communicating\n"
+"              with the given proxy. Use --digest for enabling HTTP Digest with\n"
+"              a remote host.\n"
+"\n"
+, stdout);
+ fputs(
+"       --proxy-negotiate\n"
+"              Tells curl to use HTTP Negotiate authentication when communicat-\n"
+"              ing with the given proxy.  Use  --negotiate  for  enabling  HTTP\n"
+"              Negotiate with a remote host. (Added in 7.17.1)\n"
+"\n"
+"       --proxy-ntlm\n"
+"              Tells  curl  to  use HTTP NTLM authentication when communicating\n"
+"              with the given proxy. Use --ntlm for enabling NTLM with a remote\n"
+"              host.\n"
+"\n"
+"       --proxy1.0 <proxyhost[:port]>\n"
+, stdout);
+ fputs(
+"              Use  the  specified  HTTP  1.0  proxy. If the port number is not\n"
+"              specified, it is assumed at port 1080.\n"
+"\n"
+"              The only difference between  this  and  the  HTTP  proxy  option\n"
+"              (-x/--proxy),  is that attempts to use CONNECT through the proxy\n"
+"              will specify an HTTP 1.0 protocol instead of  the  default  HTTP\n"
+"              1.1.\n"
+"\n"
+"       -p/--proxytunnel\n"
+"              When  an HTTP proxy is used (-x/--proxy), this option will cause\n"
+, stdout);
+ fputs(
+"              non-HTTP protocols  to  attempt  to  tunnel  through  the  proxy\n"
+"              instead  of merely using it to do HTTP-like operations. The tun-\n"
+"              nel approach is made with the HTTP  proxy  CONNECT  request  and\n"
+"              requires that the proxy allows direct connect to the remote port\n"
+"              number curl wants to tunnel through to.\n"
+"\n"
+"       --pubkey <key>\n"
+"              (SSH) Public key file name. Allows you to  provide  your  public\n"
+, stdout);
+ fputs(
+"              key in this separate file.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       -P/--ftp-port <address>\n"
+"              (FTP)  Reverses  the  default initiator/listener roles when con-\n"
+"              necting with FTP. This switch makes curl  use  active  mode.  In\n"
+"              practice,  curl  then  tells  the  server to connect back to the\n"
+"              client's specified address and port, while passive mode asks the\n"
+, stdout);
+ fputs(
+"              server  to  setup  an  IP address and port for it to connect to.\n"
+"              <address> should be one of:\n"
+"\n"
+"              interface\n"
+"                     i.e \"eth0\" to specify which interface's  IP  address  you\n"
+"                     want to use (Unix only)\n"
+"\n"
+"              IP address\n"
+"                     i.e \"192.168.10.1\" to specify the exact IP address\n"
+"\n"
+"              host name\n"
+"                     i.e \"my.host.domain\" to specify the machine\n"
+"\n"
+, stdout);
+ fputs(
+"              -      make  curl  pick the same IP address that is already used\n"
+"                     for the control connection\n"
+"\n"
+"       If this option is used several times, the last one will be  used.  Dis-\n"
+"       able  the  use  of PORT with --ftp-pasv. Disable the attempt to use the\n"
+"       EPRT command instead of PORT by using --disable-eprt.  EPRT  is  really\n"
+"       PORT++.\n"
+"\n"
+"       Starting in 7.19.5, you can append \":[start]-[end]\" to the right of the\n"
+, stdout);
+ fputs(
+"       address, to tell curl what TCP port range to use. That means you  spec-\n"
+"       ify  a  port  range,  from  a lower to a higher number. A single number\n"
+"       works as well, but do note that it increases the risk of failure  since\n"
+"       the port may not be available.\n"
+"\n"
+"       -q     If  used  as the first parameter on the command line, the curlrc\n"
+"              config file will not be read and used. See the  -K/--config  for\n"
+"              details on the default config file search path.\n"
+"\n"
+, stdout);
+ fputs(
+"       -Q/--quote <command>\n"
+"              (FTP/SFTP)  Send  an arbitrary command to the remote FTP or SFTP\n"
+"              server. Quote commands are sent BEFORE the transfer takes  place\n"
+"              (just  after  the  initial PWD command in an FTP transfer, to be\n"
+"              exact). To make commands take place after a successful transfer,\n"
+"              prefix  them  with  a  dash '-'.  To make commands be sent after\n"
+, stdout);
+ fputs(
+"              libcurl has changed  the  working  directory,  just  before  the\n"
+"              transfer command(s), prefix the command with a '+' (this is only\n"
+"              supported for FTP). You may specify any number of  commands.  If\n"
+"              the  server  returns failure for one of the commands, the entire\n"
+"              operation will be aborted. You must send  syntactically  correct\n"
+"              FTP  commands  as  RFC959  defines to FTP servers, or one of the\n"
+, stdout);
+ fputs(
+"              commands listed below to SFTP servers.  This option can be  used\n"
+"              multiple times.\n"
+"\n"
+"              SFTP  is  a  binary protocol. Unlike for FTP, libcurl interprets\n"
+"              SFTP quote commands before sending them to the server.   Follow-\n"
+"              ing is the list of all supported SFTP quote commands:\n"
+"\n"
+"              chgrp group file\n"
+"                     The  chgrp command sets the group ID of the file named by\n"
+, stdout);
+ fputs(
+"                     the file operand to the group ID specified by  the  group\n"
+"                     operand. The group operand is a decimal integer group ID.\n"
+"\n"
+"              chmod mode file\n"
+"                     The  chmod  command  modifies  the  file mode bits of the\n"
+"                     specified file. The mode operand is an octal integer mode\n"
+"                     number.\n"
+"\n"
+"              chown user file\n"
+"                     The chown command sets the owner of the file named by the\n"
+, stdout);
+ fputs(
+"                     file operand to the user ID specified by the  user  oper-\n"
+"                     and. The user operand is a decimal integer user ID.\n"
+"\n"
+"              ln source_file target_file\n"
+"                     The ln and symlink commands create a symbolic link at the\n"
+"                     target_file location pointing to  the  source_file  loca-\n"
+"                     tion.\n"
+"\n"
+"              mkdir directory_name\n"
+"                     The  mkdir  command  creates  the  directory named by the\n"
+, stdout);
+ fputs(
+"                     directory_name operand.\n"
+"\n"
+"              pwd    The pwd command returns the absolute pathname of the cur-\n"
+"                     rent working directory.\n"
+"\n"
+"              rename source target\n"
+"                     The rename command renames the file or directory named by\n"
+"                     the source operand to the destination path named  by  the\n"
+"                     target operand.\n"
+"\n"
+"              rm file\n"
+, stdout);
+ fputs(
+"                     The rm command removes the file specified by the file op-\n"
+"                     erand.\n"
+"\n"
+"              rmdir directory\n"
+"                     The rmdir command removes the directory  entry  specified\n"
+"                     by the directory operand, provided it is empty.\n"
+"\n"
+"              symlink source_file target_file\n"
+"                     See ln.\n"
+"\n"
+"       --random-file <file>\n"
+"              (SSL) Specify the path name to file containing what will be con-\n"
+, stdout);
+ fputs(
+"              sidered as random data. The data is  used  to  seed  the  random\n"
+"              engine for SSL connections.  See also the --egd-file option.\n"
+"\n"
+"       -r/--range <range>\n"
+"              (HTTP/FTP/SFTP/FILE)  Retrieve a byte range (i.e a partial docu-\n"
+"              ment) from a HTTP/1.1, FTP or  SFTP  server  or  a  local  FILE.\n"
+"              Ranges can be specified in a number of ways.\n"
+"\n"
+"              0-499     specifies the first 500 bytes\n"
+"\n"
+, stdout);
+ fputs(
+"              500-999   specifies the second 500 bytes\n"
+"\n"
+"              -500      specifies the last 500 bytes\n"
+"\n"
+"              9500-     specifies the bytes from offset 9500 and forward\n"
+"\n"
+"              0-0,-1    specifies the first and last byte only(*)(H)\n"
+"\n"
+"              500-700,600-799\n"
+"                        specifies 300 bytes from offset 500(H)\n"
+"\n"
+"              100-199,500-599\n"
+"                        specifies two separate 100-byte ranges(*)(H)\n"
+"\n"
+, stdout);
+ fputs(
+"       (*)  =  NOTE  that this will cause the server to reply with a multipart\n"
+"       response!\n"
+"\n"
+"       Only digit characters (0-9) are valid in the 'start' and 'stop'  fields\n"
+"       of  the 'start-stop' range syntax. If a non-digit character is given in\n"
+"       the range, the server's response will be unspecified, depending on  the\n"
+"       server's configuration.\n"
+"\n"
+"       You  should  also  be aware that many HTTP/1.1 servers do not have this\n"
+, stdout);
+ fputs(
+"       feature enabled, so that when  you  attempt  to  get  a  range,  you'll\n"
+"       instead get the whole document.\n"
+"\n"
+"       FTP  and SFTP range downloads only support the simple 'start-stop' syn-\n"
+"       tax (optionally with one of the numbers omitted). FTP  use  depends  on\n"
+"       the extended FTP command SIZE.\n"
+"\n"
+"       If this option is used several times, the last one will be used.\n"
+"\n"
+"       --raw  When  used, it disables all internal HTTP decoding of content or\n"
+, stdout);
+ fputs(
+"              transfer encodings and instead makes them passed  on  unaltered,\n"
+"              raw. (Added in 7.16.2)\n"
+"\n"
+"       -R/--remote-time\n"
+"              When  used,  this  will  make  libcurl attempt to figure out the\n"
+"              timestamp of the remote file, and if that is available make  the\n"
+"              local file get that same timestamp.\n"
+"\n"
+"       --retry <num>\n"
+"              If  a  transient  error is returned when curl tries to perform a\n"
+, stdout);
+ fputs(
+"              transfer, it will retry this number of times before  giving  up.\n"
+"              Setting  the  number to 0 makes curl do no retries (which is the\n"
+"              default). Transient error means either: a timeout,  an  FTP  4xx\n"
+"              response code or an HTTP 5xx response code.\n"
+"\n"
+"              When  curl  is about to retry a transfer, it will first wait one\n"
+"              second and then for all forthcoming retries it will  double  the\n"
+, stdout);
+ fputs(
+"              waiting  time until it reaches 10 minutes which then will be the\n"
+"              delay between the rest of the retries.  By  using  --retry-delay\n"
+"              you   disable  this  exponential  backoff  algorithm.  See  also\n"
+"              --retry-max-time to limit the total time  allowed  for  retries.\n"
+"              (Added in 7.12.3)\n"
+"\n"
+"              If  this  option  is  used  multiple  times, the last occurrence\n"
+"              decide the amount.\n"
+"\n"
+"       --retry-delay <seconds>\n"
+, stdout);
+ fputs(
+"              Make curl sleep this amount of time before  each  retry  when  a\n"
+"              transfer  has  failed  with  a  transient  error (it changes the\n"
+"              default backoff time algorithm between retries). This option  is\n"
+"              only  interesting if --retry is also used. Setting this delay to\n"
+"              zero will make curl use the default  backoff  time.   (Added  in\n"
+"              7.12.3)\n"
+"\n"
+"              If  this  option  is  used  multiple  times, the last occurrence\n"
+, stdout);
+ fputs(
+"              determines the amount.\n"
+"\n"
+"       --retry-max-time <seconds>\n"
+"              The retry timer is reset  before  the  first  transfer  attempt.\n"
+"              Retries will be done as usual (see --retry) as long as the timer\n"
+"              hasn't reached this given limit. Notice that if the timer hasn't\n"
+"              reached  the  limit, the request will be made and while perform-\n"
+"              ing, it may take longer than this given time period. To limit  a\n"
+, stdout);
+ fputs(
+"              single  request's  maximum  time,  use  -m/--max-time.  Set this\n"
+"              option to zero to not timeout retries. (Added in 7.12.3)\n"
+"\n"
+"              If this option is  used  multiple  times,  the  last  occurrence\n"
+"              determines the amount.\n"
+"\n"
+"       -s/--silent\n"
+"              Silent  or  quiet  mode. Don't show progress meter or error mes-\n"
+"              sages.  Makes Curl mute.\n"
+"\n"
+"       -S/--show-error\n"
+, stdout);
+ fputs(
+"              When used with -s it makes curl show  an  error  message  if  it\n"
+"              fails.\n"
+"\n"
+"       --socks4 <host[:port]>\n"
+"              Use the specified SOCKS4 proxy. If the port number is not speci-\n"
+"              fied, it is assumed at port 1080. (Added in 7.15.2)\n"
+"\n"
+"              This option overrides any previous use of  -x/--proxy,  as  they\n"
+"              are mutually exclusive.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+, stdout);
+ fputs(
+"       --socks4a <host[:port]>\n"
+"              Use the specified SOCKS4a proxy. If the port number is not spec-\n"
+"              ified, it is assumed at port 1080. (Added in 7.18.0)\n"
+"\n"
+"              This option overrides any previous use of  -x/--proxy,  as  they\n"
+"              are mutually exclusive.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --socks5-hostname <host[:port]>\n"
+"              Use  the  specified  SOCKS5 proxy (and let the proxy resolve the\n"
+, stdout);
+ fputs(
+"              host name). If the port number is not specified, it  is  assumed\n"
+"              at port 1080. (Added in 7.18.0)\n"
+"\n"
+"              This  option  overrides  any previous use of -x/--proxy, as they\n"
+"              are mutually exclusive.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"              (This  option  was  previously  wrongly  documented  and used as\n"
+"              --socks without the number appended.)\n"
+"\n"
+"       --socks5 <host[:port]>\n"
+, stdout);
+ fputs(
+"              Use the specified SOCKS5 proxy  -  but  resolve  the  host  name\n"
+"              locally.  If  the port number is not specified, it is assumed at\n"
+"              port 1080.\n"
+"\n"
+"              This option overrides any previous use of  -x/--proxy,  as  they\n"
+"              are mutually exclusive.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"              (This option was  previously  wrongly  documented  and  used  as\n"
+, stdout);
+ fputs(
+"              --socks without the number appended.)\n"
+"\n"
+"              This  option (as well as --socks4) does not work with IPV6, FTPS\n"
+"              or LDAP.\n"
+"\n"
+"       --socks5-gssapi-service <servicename>\n"
+"              The default service name for a socks server is rcmd/server-fqdn.\n"
+"              This option allows you to change it.\n"
+"\n"
+"              Examples:\n"
+"               --socks5  proxy-name  --socks5-gssapi-service sockd   would use\n"
+"              sockd/proxy-name\n"
+, stdout);
+ fputs(
+"               --socks5  proxy-name  --socks5-gssapi-service   sockd/real-name\n"
+"              would  use  sockd/real-name  for cases where the proxy-name does\n"
+"              not match the princpal name.\n"
+"               (Added in 7.19.4).\n"
+"\n"
+"       --socks5-gssapi-nec\n"
+"              As part of the gssapi negotiation a protection mode  is  negoti-\n"
+"              ated.  The  rfc1961  says  in  section 4.3/4.4 it should be pro-\n"
+"              tected, but the NEC  reference  implementation  does  not.   The\n"
+, stdout);
+ fputs(
+"              option  --socks5-gssapi-nec  allows  the unprotected exchange of\n"
+"              the protection mode negotiation. (Added in 7.19.4).\n"
+"\n"
+"       --stderr <file>\n"
+"              Redirect all writes to stderr to the specified file instead.  If\n"
+"              the  file  name is a plain '-', it is instead written to stdout.\n"
+"              This option has no point when you're using a shell  with  decent\n"
+"              redirecting capabilities.\n"
+"\n"
+, stdout);
+ fputs(
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --tcp-nodelay\n"
+"              Turn  on the TCP_NODELAY option. See the curl_easy_setopt(3) man\n"
+"              page for details about this option. (Added in 7.11.2)\n"
+"\n"
+"       -t/--telnet-option <OPT=val>\n"
+"              Pass options to the telnet protocol. Supported options are:\n"
+"\n"
+"              TTYPE=<term> Sets the terminal type.\n"
+"\n"
+"              XDISPLOC=<X display> Sets the X display location.\n"
+"\n"
+, stdout);
+ fputs(
+"              NEW_ENV=<var,val> Sets an environment variable.\n"
+"\n"
+"       --tftp-blksize <value>\n"
+"              (TFTP) Set TFTP BLKSIZE option (must be >512). This is the block\n"
+"              size  that curl will try to use when tranferring data to or from\n"
+"              a TFTP server. By default 512 bytes will be used.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"              (Added in 7.20.0)\n"
+"\n"
+"       -T/--upload-file <file>\n"
+, stdout);
+ fputs(
+"              This transfers the specified local file to the  remote  URL.  If\n"
+"              there is no file part in the specified URL, Curl will append the\n"
+"              local file name. NOTE that you must use a trailing / on the last\n"
+"              directory  to really prove to Curl that there is no file name or\n"
+"              curl will think that your last directory name is the remote file\n"
+"              name to use. That will most likely cause the upload operation to\n"
+, stdout);
+ fputs(
+"              fail. If this is used on a HTTP(S) server, the PUT command  will\n"
+"              be used.\n"
+"\n"
+"              Use  the file name \"-\" (a single dash) to use stdin instead of a\n"
+"              given file.  Alternately, the file name \".\"  (a  single  period)\n"
+"              may  be  specified  instead  of \"-\" to use stdin in non-blocking\n"
+"              mode to  allow  reading  server  output  while  stdin  is  being\n"
+"              uploaded.\n"
+"\n"
+, stdout);
+ fputs(
+"              You can specify one -T for each URL on the command line. Each -T\n"
+"              + URL pair specifies what to upload and to where. curl also sup-\n"
+"              ports \"globbing\" of the -T argument, meaning that you can upload\n"
+"              multiple files to a single URL by using the  same  URL  globbing\n"
+"              style supported in the URL, like this:\n"
+"\n"
+"              curl -T \"{file1,file2}\" http://www.uploadtothissite.com\n"
+"\n"
+"              or even\n"
+"\n"
+, stdout);
+ fputs(
+"              curl -T \"img[1-1000].png\" ftp://ftp.picturemania.com/upload/\n"
+"\n"
+"       --trace <file>\n"
+"              Enables  a  full  trace  dump of all incoming and outgoing data,\n"
+"              including descriptive information, to the given output file. Use\n"
+"              \"-\" as filename to have the output sent to stdout.\n"
+"\n"
+"              This  option overrides previous uses of -v/--verbose or --trace-\n"
+"              ascii.\n"
+"\n"
+, stdout);
+ fputs(
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --trace-ascii <file>\n"
+"              Enables a full trace dump of all  incoming  and  outgoing  data,\n"
+"              including descriptive information, to the given output file. Use\n"
+"              \"-\" as filename to have the output sent to stdout.\n"
+"\n"
+"              This is very similar to --trace, but leaves out the hex part and\n"
+"              only  shows  the ASCII part of the dump. It makes smaller output\n"
+, stdout);
+ fputs(
+"              that might be easier to read for untrained humans.\n"
+"\n"
+"              This option overrides previous uses of -v/--verbose or --trace.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --trace-time\n"
+"              Prepends a time stamp to each trace or verbose  line  that  curl\n"
+"              displays.  (Added in 7.14.0)\n"
+"\n"
+"       -u/--user <user:password>\n"
+"              Specify the user name and password to use for server authentica-\n"
+, stdout);
+ fputs(
+"              tion. Overrides -n/--netrc and --netrc-optional.\n"
+"\n"
+"              If you just give the user name (without entering a  colon)  curl\n"
+"              will prompt for a password.\n"
+"\n"
+"              If  you  use an SSPI-enabled curl binary and do NTLM authentica-\n"
+"              tion, you can force curl to pick up the user name  and  password\n"
+"              from  your  environment by simply specifying a single colon with\n"
+"              this option: \"-u :\".\n"
+"\n"
+, stdout);
+ fputs(
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       -U/--proxy-user <user:password>\n"
+"              Specify the user name and password to use for proxy  authentica-\n"
+"              tion.\n"
+"\n"
+"              If  you  use an SSPI-enabled curl binary and do NTLM authentica-\n"
+"              tion, you can force curl to pick up the user name  and  password\n"
+"              from  your  environment by simply specifying a single colon with\n"
+"              this option: \"-U :\".\n"
+"\n"
+, stdout);
+ fputs(
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --url <URL>\n"
+"              Specify a URL to fetch. This option is  mostly  handy  when  you\n"
+"              want to specify URL(s) in a config file.\n"
+"\n"
+"              This  option  may  be used any number of times. To control where\n"
+"              this URL is written, use the -o/--output or the -O/--remote-name\n"
+"              options.\n"
+"\n"
+"       -v/--verbose\n"
+, stdout);
+ fputs(
+"              Makes  the  fetching  more  verbose/talkative. Mostly useful for\n"
+"              debugging. A line starting with '>' means \"header data\" sent  by\n"
+"              curl, '<' means \"header data\" received by curl that is hidden in\n"
+"              normal cases, and a line starting with '*' means additional info\n"
+"              provided by curl.\n"
+"\n"
+"              Note  that  if  you  only  want  HTTP  headers  in  the  output,\n"
+"              -i/--include might be the option you're looking for.\n"
+"\n"
+, stdout);
+ fputs(
+"              If you think this option still doesn't give you enough  details,\n"
+"              consider using --trace or --trace-ascii instead.\n"
+"\n"
+"              This option overrides previous uses of --trace-ascii or --trace.\n"
+"\n"
+"              Use -S/--silent to make curl quiet.\n"
+"\n"
+"       -V/--version\n"
+"              Displays information about curl and the libcurl version it uses.\n"
+"              The  first  line  includes the full version of curl, libcurl and\n"
+, stdout);
+ fputs(
+"              other 3rd party libraries linked with the executable.\n"
+"\n"
+"              The second line (starts with \"Protocols:\") shows  all  protocols\n"
+"              that libcurl reports to support.\n"
+"\n"
+"              The third line (starts with \"Features:\") shows specific features\n"
+"              libcurl reports to offer. Available features include:\n"
+"\n"
+"              IPv6   You can use IPv6 with this.\n"
+"\n"
+"              krb4   Krb4 for FTP is supported.\n"
+"\n"
+"              SSL    HTTPS and FTPS are supported.\n"
+"\n"
+, stdout);
+ fputs(
+"              libz   Automatic decompression of compressed files over HTTP  is\n"
+"                     supported.\n"
+"\n"
+"              NTLM   NTLM authentication is supported.\n"
+"\n"
+"              GSS-Negotiate\n"
+"                     Negotiate authentication and krb5 for FTP is supported.\n"
+"\n"
+"              Debug  This  curl  uses a libcurl built with Debug. This enables\n"
+"                     more error-tracking and memory debugging etc.  For  curl-\n"
+"                     developers only!\n"
+"\n"
+"              AsynchDNS\n"
+, stdout);
+ fputs(
+"                     This curl uses asynchronous name resolves.\n"
+"\n"
+"              SPNEGO SPNEGO Negotiate authentication is supported.\n"
+"\n"
+"              Largefile\n"
+"                     This curl supports transfers of large files, files larger\n"
+"                     than 2GB.\n"
+"\n"
+"              IDN    This curl supports IDN - international domain names.\n"
+"\n"
+"              SSPI   SSPI is supported. If you use NTLM and set a  blank  user\n"
+, stdout);
+ fputs(
+"                     name,  curl  will authenticate with your current user and\n"
+"                     password.\n"
+"\n"
+"       -w/--write-out <format>\n"
+"              Defines what to display on stdout after a completed and success-\n"
+"              ful  operation.  The  format  is a string that may contain plain\n"
+"              text mixed with any number of variables. The string can be spec-\n"
+"              ified  as \"string\", to get read from a particular file you spec-\n"
+, stdout);
+ fputs(
+"              ify it \"@filename\" and to tell curl  to  read  the  format  from\n"
+"              stdin you write \"@-\".\n"
+"\n"
+"              The  variables  present in the output format will be substituted\n"
+"              by the value or text that curl thinks fit, as  described  below.\n"
+"              All  variables are specified as %{variable_name} and to output a\n"
+"              normal % you just write them as %%. You can output a newline  by\n"
+, stdout);
+ fputs(
+"              using \\n, a carriage return with \\r and a tab space with \\t.\n"
+"\n"
+"              NOTE: The %-symbol is a special symbol in the win32-environment,\n"
+"              where all occurrences of %  must  be  doubled  when  using  this\n"
+"              option.\n"
+"\n"
+"              The variables available at this point are:\n"
+"\n"
+"              url_effective  The URL that was fetched last. This is most mean-\n"
+"                             ingful if you've told curl  to  follow  location:\n"
+, stdout);
+ fputs(
+"                             headers.\n"
+"\n"
+"              http_code      The numerical response code that was found in the\n"
+"                             last retrieved HTTP(S)  or  FTP(s)  transfer.  In\n"
+"                             7.18.2  the alias response_code was added to show\n"
+"                             the same info.\n"
+"\n"
+"              http_connect   The numerical code that was  found  in  the  last\n"
+"                             response   (from  a  proxy)  to  a  curl  CONNECT\n"
+, stdout);
+ fputs(
+"                             request. (Added in 7.12.4)\n"
+"\n"
+"              time_total     The total time, in seconds, that the full  opera-\n"
+"                             tion lasted. The time will be displayed with mil-\n"
+"                             lisecond resolution.\n"
+"\n"
+"              time_namelookup\n"
+"                             The time, in seconds,  it  took  from  the  start\n"
+"                             until the name resolving was completed.\n"
+"\n"
+, stdout);
+ fputs(
+"              time_connect   The  time,  in  seconds,  it  took from the start\n"
+"                             until the TCP connect  to  the  remote  host  (or\n"
+"                             proxy) was completed.\n"
+"\n"
+"              time_appconnect\n"
+"                             The  time,  in  seconds,  it  took from the start\n"
+"                             until the SSL/SSH/etc  connect/handshake  to  the\n"
+"                             remote host was completed. (Added in 7.19.0)\n"
+"\n"
+, stdout);
+ fputs(
+"              time_pretransfer\n"
+"                             The  time,  in  seconds,  it  took from the start\n"
+"                             until the file transfer was just about to  begin.\n"
+"                             This includes all pre-transfer commands and nego-\n"
+"                             tiations that are specific to the particular pro-\n"
+"                             tocol(s) involved.\n"
+"\n"
+"              time_redirect  The time, in seconds, it took for all redirection\n"
+, stdout);
+ fputs(
+"                             steps include name lookup,  connect,  pretransfer\n"
+"                             and  transfer  before  the  final transaction was\n"
+"                             started. time_redirect shows the complete  execu-\n"
+"                             tion  time  for  multiple redirections. (Added in\n"
+"                             7.12.3)\n"
+"\n"
+"              time_starttransfer\n"
+"                             The time, in seconds,  it  took  from  the  start\n"
+, stdout);
+ fputs(
+"                             until  the first byte was just about to be trans-\n"
+"                             ferred. This includes time_pretransfer  and  also\n"
+"                             the  time  the  server  needed  to  calculate the\n"
+"                             result.\n"
+"\n"
+"              size_download  The total amount of bytes that were downloaded.\n"
+"\n"
+"              size_upload    The total amount of bytes that were uploaded.\n"
+"\n"
+, stdout);
+ fputs(
+"              size_header    The total amount of bytes of the downloaded head-\n"
+"                             ers.\n"
+"\n"
+"              size_request   The  total  amount of bytes that were sent in the\n"
+"                             HTTP request.\n"
+"\n"
+"              speed_download The average download speed that curl measured for\n"
+"                             the complete download. Bytes per second.\n"
+"\n"
+"              speed_upload   The  average  upload speed that curl measured for\n"
+, stdout);
+ fputs(
+"                             the complete upload. Bytes per second.\n"
+"\n"
+"              content_type   The Content-Type of the  requested  document,  if\n"
+"                             there was any.\n"
+"\n"
+"              num_connects   Number  of new connects made in the recent trans-\n"
+"                             fer. (Added in 7.12.3)\n"
+"\n"
+"              num_redirects  Number of redirects that  were  followed  in  the\n"
+"                             request. (Added in 7.12.3)\n"
+"\n"
+, stdout);
+ fputs(
+"              redirect_url   When a HTTP request was made without -L to follow\n"
+"                             redirects, this variable will show the actual URL\n"
+"                             a redirect would take you to. (Added in 7.18.2)\n"
+"\n"
+"              ftp_entry_path The initial path libcurl ended up in when logging\n"
+"                             on to the remote FTP server. (Added in 7.15.4)\n"
+"\n"
+"              ssl_verify_result\n"
+, stdout);
+ fputs(
+"                             The result of the SSL peer certificate  verifica-\n"
+"                             tion that was requested. 0 means the verification\n"
+"                             was successful. (Added in 7.19.0)\n"
+"\n"
+"       If this option is used several times, the last one will be used.\n"
+"\n"
+"       -x/--proxy <proxyhost[:port]>\n"
+"              Use the specified HTTP proxy. If the port number is  not  speci-\n"
+"              fied, it is assumed at port 1080.\n"
+"\n"
+, stdout);
+ fputs(
+"              This  option  overrides  existing environment variables that set\n"
+"              the proxy to use. If there's an environment variable  setting  a\n"
+"              proxy, you can set proxy to \"\" to override it.\n"
+"\n"
+"              Note  that  all  operations that are performed over a HTTP proxy\n"
+"              will transparently be converted to HTTP. It means  that  certain\n"
+"              protocol specific operations might not be available. This is not\n"
+, stdout);
+ fputs(
+"              the case if you can tunnel through the proxy, as done  with  the\n"
+"              -p/--proxytunnel option.\n"
+"\n"
+"              Starting  with 7.14.1, the proxy host can be specified the exact\n"
+"              same way as the proxy environment variables, including the  pro-\n"
+"              tocol prefix (http://) and the embedded user + password.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       -X/--request <command>\n"
+, stdout);
+ fputs(
+"              (HTTP) Specifies a custom request method to use when communicat-\n"
+"              ing with the HTTP server.  The specified request  will  be  used\n"
+"              instead  of  the  method otherwise used (which defaults to GET).\n"
+"              Read the HTTP 1.1 specification for  details  and  explanations.\n"
+"              Common  additional  HTTP  requests  include  PUT and DELETE, but\n"
+"              related technologies like WebDAV offers PROPFIND, COPY, MOVE and\n"
+"              more.\n"
+"\n"
+, stdout);
+ fputs(
+"              (FTP) Specifies a custom FTP command to use instead of LIST when\n"
+"              doing file lists with FTP.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       -y/--speed-time <time>\n"
+"              If a download is slower than speed-limit bytes per second during\n"
+"              a speed-time period, the download gets aborted. If speed-time is\n"
+"              used, the default speed-limit will be 1 unless set with -Y.\n"
+"\n"
+, stdout);
+ fputs(
+"              This option controls transfers and thus  will  not  affect  slow\n"
+"              connects  etc.  If this is a concern for you, try the --connect-\n"
+"              timeout option.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       -Y/--speed-limit <speed>\n"
+"              If a download is slower than this given speed (in bytes per sec-\n"
+"              ond)  for  speed-time seconds it gets aborted. speed-time is set\n"
+, stdout);
+ fputs(
+"              with -y and is 30 if not set.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       -z/--time-cond <date expression>\n"
+"              (HTTP/FTP) Request a file that has been modified later than  the\n"
+"              given  time  and date, or one that has been modified before that\n"
+"              time. The date expression can be all sorts of date strings or if\n"
+"              it  doesn't  match  any  internal ones, it tries to get the time\n"
+, stdout);
+ fputs(
+"              from a given file name  instead!  See  the  curl_getdate(3)  man\n"
+"              pages for date expression details.\n"
+"\n"
+"              Start the date expression with a dash (-) to make it request for\n"
+"              a document that is older than the given date/time, default is  a\n"
+"              document that is newer than the specified date/time.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --max-redirs <num>\n"
+, stdout);
+ fputs(
+"              Set   maximum   number  of  redirection-followings  allowed.  If\n"
+"              -L/--location is used, this option can be used to  prevent  curl\n"
+"              from following redirections \"in absurdum\". By default, the limit\n"
+"              is set to 50 redirections. Set this option to -1 to make it lim-\n"
+"              itless.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       -0/--http1.0\n"
+, stdout);
+ fputs(
+"              (HTTP)  Forces curl to issue its requests using HTTP 1.0 instead\n"
+"              of using its internally preferred: HTTP 1.1.\n"
+"\n"
+"       -1/--tlsv1\n"
+"              (SSL) Forces curl to use TLS version 1 when negotiating  with  a\n"
+"              remote TLS server.\n"
+"\n"
+"       -2/--sslv2\n"
+"              (SSL)  Forces  curl to use SSL version 2 when negotiating with a\n"
+"              remote SSL server.\n"
+"\n"
+"       -3/--sslv3\n"
+"              (SSL) Forces curl to use SSL version 3 when negotiating  with  a\n"
+, stdout);
+ fputs(
+"              remote SSL server.\n"
+"\n"
+"       -4/--ipv4\n"
+"              If  libcurl  is  capable  of resolving an address to multiple IP\n"
+"              versions (which it is if it is IPv6-capable), this option  tells\n"
+"              libcurl to resolve names to IPv4 addresses only.\n"
+"\n"
+"       -6/--ipv6\n"
+"              If  libcurl  is  capable  of resolving an address to multiple IP\n"
+"              versions (which it is if it is IPv6-capable), this option  tells\n"
+, stdout);
+ fputs(
+"              libcurl to resolve names to IPv6 addresses only.\n"
+"\n"
+"       -#/--progress-bar\n"
+"              Make curl display progress information as a progress bar instead\n"
+"              of the default statistics.\n"
+"\n"
+"FILES\n"
+"       ~/.curlrc\n"
+"              Default config file, see -K/--config for details.\n"
+"\n"
+"ENVIRONMENT\n"
+"       The environment variables can be specified in lower case or upper case.\n"
+"       The lower case version has precedence. http_proxy is an exception as it\n"
+, stdout);
+ fputs(
+"       is only available in lower case.\n"
+"\n"
+"       http_proxy [protocol://]<host>[:port]\n"
+"              Sets the proxy server to use for HTTP.\n"
+"       HTTPS_PROXY [protocol://]<host>[:port]\n"
+"              Sets the proxy server to use for HTTPS.\n"
+"\n"
+"       FTP_PROXY [protocol://]<host>[:port]\n"
+"              Sets the proxy server to use for FTP.\n"
+"\n"
+"       ALL_PROXY [protocol://]<host>[:port]\n"
+"              Sets the proxy server to use if no  protocol-specific  proxy  is\n"
+"              set.\n"
+"\n"
+, stdout);
+ fputs(
+"       NO_PROXY <comma-separated list of hosts>\n"
+"              list  of  host names that shouldn't go through any proxy. If set\n"
+"              to a asterisk '*' only, it matches all hosts.\n"
+"\n"
+"EXIT CODES\n"
+"       There are a bunch of different  error  codes  and  their  corresponding\n"
+"       error  messages  that  may appear during bad conditions. At the time of\n"
+"       this writing, the exit codes are:\n"
+"\n"
+"       1      Unsupported protocol. This build of curl has no support for this\n"
+, stdout);
+ fputs(
+"              protocol.\n"
+"\n"
+"       2      Failed to initialize.\n"
+"\n"
+"       3      URL malformed. The syntax was not correct.\n"
+"\n"
+"       5      Couldn't  resolve  proxy.  The  given  proxy  host  could not be\n"
+"              resolved.\n"
+"\n"
+"       6      Couldn't resolve host. The given remote host was not resolved.\n"
+"\n"
+"       7      Failed to connect to host.\n"
+"\n"
+"       8      FTP weird server reply.  The  server  sent  data  curl  couldn't\n"
+"              parse.\n"
+"\n"
+, stdout);
+ fputs(
+"       9      FTP  access  denied. The server denied login or denied access to\n"
+"              the particular resource or directory you wanted to  reach.  Most\n"
+"              often  you  tried to change to a directory that doesn't exist on\n"
+"              the server.\n"
+"\n"
+"       11     FTP weird PASS reply. Curl couldn't parse the reply sent to  the\n"
+"              PASS request.\n"
+"\n"
+"       13     FTP  weird PASV reply, Curl couldn't parse the reply sent to the\n"
+"              PASV request.\n"
+"\n"
+, stdout);
+ fputs(
+"       14     FTP weird 227 format.  Curl  couldn't  parse  the  227-line  the\n"
+"              server sent.\n"
+"\n"
+"       15     FTP  can't  get host. Couldn't resolve the host IP we got in the\n"
+"              227-line.\n"
+"\n"
+"       17     FTP couldn't set binary.  Couldn't  change  transfer  method  to\n"
+"              binary.\n"
+"\n"
+"       18     Partial file. Only a part of the file was transferred.\n"
+"\n"
+"       19     FTP  couldn't download/access the given file, the RETR (or simi-\n"
+"              lar) command failed.\n"
+"\n"
+, stdout);
+ fputs(
+"       21     FTP quote error. A quote command returned error from the server.\n"
+"       22     HTTP page not retrieved. The requested  url  was  not  found  or\n"
+"              returned  another  error  with  the HTTP error code being 400 or\n"
+"              above. This return code only appears if -f/--fail is used.\n"
+"\n"
+"       23     Write error. Curl couldn't write data to a local  filesystem  or\n"
+"              similar.\n"
+"\n"
+"       25     FTP  couldn't  STOR  file. The server denied the STOR operation,\n"
+, stdout);
+ fputs(
+"              used for FTP uploading.\n"
+"\n"
+"       26     Read error. Various reading problems.\n"
+"\n"
+"       27     Out of memory. A memory allocation request failed.\n"
+"\n"
+"       28     Operation timeout. The specified  time-out  period  was  reached\n"
+"              according to the conditions.\n"
+"\n"
+"       30     FTP  PORT  failed.  The PORT command failed. Not all FTP servers\n"
+"              support the PORT  command,  try  doing  a  transfer  using  PASV\n"
+"              instead!\n"
+"\n"
+, stdout);
+ fputs(
+"       31     FTP  couldn't use REST. The REST command failed. This command is\n"
+"              used for resumed FTP transfers.\n"
+"\n"
+"       33     HTTP range error. The range \"command\" didn't work.\n"
+"\n"
+"       34     HTTP post error. Internal post-request generation error.\n"
+"\n"
+"       35     SSL connect error. The SSL handshaking failed.\n"
+"\n"
+"       36     FTP bad download resume. Couldn't continue  an  earlier  aborted\n"
+"              download.\n"
+"\n"
+, stdout);
+ fputs(
+"       37     FILE couldn't read file. Failed to open the file. Permissions?\n"
+"\n"
+"       38     LDAP cannot bind. LDAP bind operation failed.\n"
+"\n"
+"       39     LDAP search failed.\n"
+"\n"
+"       41     Function not found. A required LDAP function was not found.\n"
+"\n"
+"       42     Aborted by callback. An application told curl to abort the oper-\n"
+"              ation.\n"
+"\n"
+"       43     Internal error. A function was called with a bad parameter.\n"
+"\n"
+, stdout);
+ fputs(
+"       45     Interface error. A specified outgoing  interface  could  not  be\n"
+"              used.\n"
+"\n"
+"       47     Too many redirects. When following redirects, curl hit the maxi-\n"
+"              mum amount.\n"
+"\n"
+"       48     Unknown TELNET option specified.\n"
+"\n"
+"       49     Malformed telnet option.\n"
+"\n"
+"       51     The peer's SSL certificate or SSH MD5 fingerprint was not ok.\n"
+"\n"
+"       52     The server didn't reply anything, which here  is  considered  an\n"
+"              error.\n"
+"\n"
+, stdout);
+ fputs(
+"       53     SSL crypto engine not found.\n"
+"\n"
+"       54     Cannot set SSL crypto engine as default.\n"
+"\n"
+"       55     Failed sending network data.\n"
+"\n"
+"       56     Failure in receiving network data.\n"
+"\n"
+"       58     Problem with the local certificate.\n"
+"\n"
+"       59     Couldn't use specified SSL cipher.\n"
+"\n"
+"       60     Peer  certificate cannot be authenticated with known CA certifi-\n"
+"              cates.\n"
+"\n"
+"       61     Unrecognized transfer encoding.\n"
+"\n"
+"       62     Invalid LDAP URL.\n"
+"\n"
+, stdout);
+ fputs(
+"       63     Maximum file size exceeded.\n"
+"\n"
+"       64     Requested FTP SSL level failed.\n"
+"\n"
+"       65     Sending the data requires a rewind that failed.\n"
+"\n"
+"       66     Failed to initialise SSL Engine.\n"
+"\n"
+"       67     The user name, password, or similar was not  accepted  and  curl\n"
+"              failed to log in.\n"
+"\n"
+"       68     File not found on TFTP server.\n"
+"\n"
+"       69     Permission problem on TFTP server.\n"
+"\n"
+"       70     Out of disk space on TFTP server.\n"
+"\n"
+"       71     Illegal TFTP operation.\n"
+"\n"
+, stdout);
+ fputs(
+"       72     Unknown TFTP transfer ID.\n"
+"\n"
+"       73     File already exists (TFTP).\n"
+"\n"
+"       74     No such user (TFTP).\n"
+"\n"
+"       75     Character conversion failed.\n"
+"\n"
+"       76     Character conversion functions required.\n"
+"\n"
+"       77     Problem with reading the SSL CA cert (path? access rights?).\n"
+"\n"
+"       78     The resource referenced in the URL does not exist.\n"
+"\n"
+"       79     An unspecified error occurred during the SSH session.\n"
+"\n"
+"       80     Failed to shut down the SSL connection.\n"
+"\n"
+, stdout);
+ fputs(
+"       82     Could  not  load  CRL  file,  missing  or wrong format (added in\n"
+"              7.19.0).\n"
+"\n"
+"       83     Issuer check failed (added in 7.19.0).\n"
+"\n"
+"       XX     More error codes will appear here in future releases. The exist-\n"
+"              ing ones are meant to never change.\n"
+"\n"
+"AUTHORS / CONTRIBUTORS\n"
+"       Daniel  Stenberg is the main author, but the whole list of contributors\n"
+"       is found in the separate THANKS file.\n"
+"\n"
+"WWW\n"
+"       http://curl.haxx.se\n"
+"\n"
+"FTP\n"
+, stdout);
+ fputs(
+"       ftp://ftp.sunet.se/pub/www/utilities/curl/\n"
+"\n"
+"SEE ALSO\n"
+"       ftp(1), wget(1)\n"
+"\n"
+"LATEST VERSION\n"
+"\n"
+"  You always find news about what's going on as well as the latest versions\n"
+"  from the curl web pages, located at:\n"
+"\n"
+"        http://curl.haxx.se\n"
+"\n"
+"SIMPLE USAGE\n"
+"\n"
+"  Get the main page from Netscape's web-server:\n"
+"\n"
+"        curl http://www.netscape.com/\n"
+"\n"
+"  Get the README file the user's home directory at funet's ftp-server:\n"
+"\n"
+"        curl ftp://ftp.funet.fi/README\n"
+"\n"
+, stdout);
+ fputs(
+"  Get a web page from a server using port 8000:\n"
+"\n"
+"        curl http://www.weirdserver.com:8000/\n"
+"\n"
+"  Get a list of a directory of an FTP site:\n"
+"\n"
+"        curl ftp://cool.haxx.se/\n"
+"\n"
+"  Get the definition of curl from a dictionary:\n"
+"\n"
+"        curl dict://dict.org/m:curl\n"
+"\n"
+"  Fetch two documents at once:\n"
+"\n"
+"        curl ftp://cool.haxx.se/ http://www.weirdserver.com:8000/\n"
+"\n"
+"  Get a file off an FTPS server:\n"
+"\n"
+"        curl ftps://files.are.secure.com/secrets.txt\n"
+"\n"
+, stdout);
+ fputs(
+"  or use the more appropriate FTPS way to get the same file:\n"
+"\n"
+"        curl --ftp-ssl ftp://files.are.secure.com/secrets.txt\n"
+"\n"
+"  Get a file from an SSH server using SFTP:\n"
+"\n"
+"        curl -u username sftp://shell.example.com/etc/issue\n"
+"\n"
+"  Get a file from an SSH server using SCP using a private key to authenticate:\n"
+"\n"
+"        curl -u username: --key ~/.ssh/id_dsa --pubkey ~/.ssh/id_dsa.pub \\\n"
+"            scp://shell.example.com/~/personal.txt\n"
+"\n"
+"  Get the main page from an IPv6 web server:\n"
+"\n"
+, stdout);
+ fputs(
+"        curl -g \"http://[2001:1890:1112:1::20]/\"\n"
+"\n"
+"DOWNLOAD TO A FILE\n"
+"\n"
+"  Get a web page and store in a local file:\n"
+"\n"
+"        curl -o thatpage.html http://www.netscape.com/\n"
+"\n"
+"  Get a web page and store in a local file, make the local file get the name\n"
+"  of the remote document (if no file name part is specified in the URL, this\n"
+"  will fail):\n"
+"\n"
+"        curl -O http://www.netscape.com/index.html\n"
+"\n"
+"  Fetch two files and store them with their remote names:\n"
+"\n"
+, stdout);
+ fputs(
+"        curl -O www.haxx.se/index.html -O curl.haxx.se/download.html\n"
+"\n"
+"USING PASSWORDS\n"
+"\n"
+" FTP\n"
+"\n"
+"   To ftp files using name+passwd, include them in the URL like:\n"
+"\n"
+"        curl ftp://name:passwd@machine.domain:port/full/path/to/file\n"
+"\n"
+"   or specify them with the -u flag like\n"
+"\n"
+"        curl -u name:passwd ftp://machine.domain:port/full/path/to/file\n"
+"\n"
+" FTPS\n"
+"\n"
+"   It is just like for FTP, but you may also want to specify and use\n"
+"   SSL-specific options for certificates etc.\n"
+"\n"
+, stdout);
+ fputs(
+"   Note that using FTPS:// as prefix is the \"implicit\" way as described in the\n"
+"   standards while the recommended \"explicit\" way is done by using FTP:// and\n"
+"   the --ftp-ssl option.\n"
+"\n"
+" SFTP / SCP\n"
+"\n"
+"   This is similar to FTP, but you can specify a private key to use instead of\n"
+"   a password. Note that the private key may itself be protected by a password\n"
+"   that is unrelated to the login password of the remote system.  If you\n"
+"   provide a private key file you must also provide a public key file.\n"
+, stdout);
+ fputs(
+"\n"
+" HTTP\n"
+"\n"
+"   Curl also supports user and password in HTTP URLs, thus you can pick a file\n"
+"   like:\n"
+"\n"
+"        curl http://name:passwd@machine.domain/full/path/to/file\n"
+"\n"
+"   or specify user and password separately like in\n"
+"\n"
+"        curl -u name:passwd http://machine.domain/full/path/to/file\n"
+"\n"
+"   HTTP offers many different methods of authentication and curl supports\n"
+"   several: Basic, Digest, NTLM and Negotiate. Without telling which method to\n"
+, stdout);
+ fputs(
+"   use, curl defaults to Basic. You can also ask curl to pick the most secure\n"
+"   ones out of the ones that the server accepts for the given URL, by using\n"
+"   --anyauth.\n"
+"\n"
+"   NOTE! Since HTTP URLs don't support user and password, you can't use that\n"
+"   style when using Curl via a proxy. You _must_ use the -u style fetch\n"
+"   during such circumstances.\n"
+"\n"
+" HTTPS\n"
+"\n"
+"   Probably most commonly used with private certificates, as explained below.\n"
+"\n"
+"PROXY\n"
+"\n"
+, stdout);
+ fputs(
+" Get an ftp file using a proxy named my-proxy that uses port 888:\n"
+"\n"
+"        curl -x my-proxy:888 ftp://ftp.leachsite.com/README\n"
+"\n"
+" Get a file from a HTTP server that requires user and password, using the\n"
+" same proxy as above:\n"
+"\n"
+"        curl -u user:passwd -x my-proxy:888 http://www.get.this/\n"
+"\n"
+" Some proxies require special authentication. Specify by using -U as above:\n"
+"\n"
+"        curl -U user:passwd -x my-proxy:888 http://www.get.this/\n"
+"\n"
+, stdout);
+ fputs(
+" A comma-separated list of hosts and domains which do not use the proxy can\n"
+" be specified as:\n"
+"\n"
+"        curl --noproxy localhost,get.this -x my-proxy:888 http://www.get.this/\n"
+"\n"
+" If the proxy is specified with --proxy1.0 instead of --proxy or -x, then\n"
+" curl will use HTTP/1.0 instead of HTTP/1.1 for any CONNECT attempts.\n"
+"\n"
+" curl also supports SOCKS4 and SOCKS5 proxies with --socks4 and --socks5.\n"
+"\n"
+" See also the environment variables Curl support that offer further proxy\n"
+" control.\n"
+"\n"
+"RANGES\n"
+"\n"
+, stdout);
+ fputs(
+"  With HTTP 1.1 byte-ranges were introduced. Using this, a client can request\n"
+"  to get only one or more subparts of a specified document. Curl supports\n"
+"  this with the -r flag.\n"
+"\n"
+"  Get the first 100 bytes of a document:\n"
+"\n"
+"        curl -r 0-99 http://www.get.this/\n"
+"\n"
+"  Get the last 500 bytes of a document:\n"
+"\n"
+"        curl -r -500 http://www.get.this/\n"
+"\n"
+"  Curl also supports simple ranges for FTP files as well. Then you can only\n"
+"  specify start and stop position.\n"
+"\n"
+, stdout);
+ fputs(
+"  Get the first 100 bytes of a document using FTP:\n"
+"\n"
+"        curl -r 0-99 ftp://www.get.this/README\n"
+"\n"
+"UPLOADING\n"
+"\n"
+" FTP / FTPS / SFTP / SCP\n"
+"\n"
+"  Upload all data on stdin to a specified server:\n"
+"\n"
+"        curl -T - ftp://ftp.upload.com/myfile\n"
+"\n"
+"  Upload data from a specified file, login with user and password:\n"
+"\n"
+"        curl -T uploadfile -u user:passwd ftp://ftp.upload.com/myfile\n"
+"\n"
+"  Upload a local file to the remote site, and use the local file name remote\n"
+"  too:\n"
+"\n"
+, stdout);
+ fputs(
+"        curl -T uploadfile -u user:passwd ftp://ftp.upload.com/\n"
+"\n"
+"  Upload a local file to get appended to the remote file:\n"
+"\n"
+"        curl -T localfile -a ftp://ftp.upload.com/remotefile\n"
+"\n"
+"  Curl also supports ftp upload through a proxy, but only if the proxy is\n"
+"  configured to allow that kind of tunneling. If it does, you can run curl in\n"
+"  a fashion similar to:\n"
+"\n"
+"        curl --proxytunnel -x proxy:port -T localfile ftp.upload.com\n"
+"\n"
+" HTTP\n"
+"\n"
+"  Upload all data on stdin to a specified http site:\n"
+"\n"
+, stdout);
+ fputs(
+"        curl -T - http://www.upload.com/myfile\n"
+"\n"
+"  Note that the http server must have been configured to accept PUT before\n"
+"  this can be done successfully.\n"
+"\n"
+"  For other ways to do http data upload, see the POST section below.\n"
+"\n"
+"VERBOSE / DEBUG\n"
+"\n"
+"  If curl fails where it isn't supposed to, if the servers don't let you in,\n"
+"  if you can't understand the responses: use the -v flag to get verbose\n"
+"  fetching. Curl will output lots of info and what it sends and receives in\n"
+, stdout);
+ fputs(
+"  order to let the user see all client-server interaction (but it won't show\n"
+"  you the actual data).\n"
+"\n"
+"        curl -v ftp://ftp.upload.com/\n"
+"\n"
+"  To get even more details and information on what curl does, try using the\n"
+"  --trace or --trace-ascii options with a given file name to log to, like\n"
+"  this:\n"
+"\n"
+"        curl --trace trace.txt www.haxx.se\n"
+"\n"
+"\n"
+"DETAILED INFORMATION\n"
+"\n"
+"  Different protocols provide different ways of getting detailed information\n"
+, stdout);
+ fputs(
+"  about specific files/documents. To get curl to show detailed information\n"
+"  about a single file, you should use -I/--head option. It displays all\n"
+"  available info on a single file for HTTP and FTP. The HTTP information is a\n"
+"  lot more extensive.\n"
+"\n"
+"  For HTTP, you can get the header information (the same as -I would show)\n"
+"  shown before the data by using -i/--include. Curl understands the\n"
+"  -D/--dump-header option when getting files from both FTP and HTTP, and it\n"
+, stdout);
+ fputs(
+"  will then store the headers in the specified file.\n"
+"\n"
+"  Store the HTTP headers in a separate file (headers.txt in the example):\n"
+"\n"
+"        curl --dump-header headers.txt curl.haxx.se\n"
+"\n"
+"  Note that headers stored in a separate file can be very useful at a later\n"
+"  time if you want curl to use cookies sent by the server. More about that in\n"
+"  the cookies section.\n"
+"\n"
+"POST (HTTP)\n"
+"\n"
+"  It's easy to post data using curl. This is done using the -d <data>\n"
+"  option.  The post data must be urlencoded.\n"
+"\n"
+, stdout);
+ fputs(
+"  Post a simple \"name\" and \"phone\" guestbook.\n"
+"\n"
+"        curl -d \"name=Rafael%20Sagula&phone=3320780\" \\\n"
+"                http://www.where.com/guest.cgi\n"
+"\n"
+"  How to post a form with curl, lesson #1:\n"
+"\n"
+"  Dig out all the <input> tags in the form that you want to fill in. (There's\n"
+"  a perl program called formfind.pl on the curl site that helps with this).\n"
+"\n"
+"  If there's a \"normal\" post, you use -d to post. -d takes a full \"post\n"
+"  string\", which is in the format\n"
+"\n"
+, stdout);
+ fputs(
+"        <variable1>=<data1>&<variable2>=<data2>&...\n"
+"\n"
+"  The 'variable' names are the names set with \"name=\" in the <input> tags, and\n"
+"  the data is the contents you want to fill in for the inputs. The data *must*\n"
+"  be properly URL encoded. That means you replace space with + and that you\n"
+"  write weird letters with %XX where XX is the hexadecimal representation of\n"
+"  the letter's ASCII code.\n"
+"\n"
+"  Example:\n"
+"\n"
+"  (page located at http://www.formpost.com/getthis/\n"
+"\n"
+, stdout);
+ fputs(
+"        <form action=\"post.cgi\" method=\"post\">\n"
+"        <input name=user size=10>\n"
+"        <input name=pass type=password size=10>\n"
+"        <input name=id type=hidden value=\"blablabla\">\n"
+"        <input name=ding value=\"submit\">\n"
+"        </form>\n"
+"\n"
+"  We want to enter user 'foobar' with password '12345'.\n"
+"\n"
+"  To post to this, you enter a curl command line like:\n"
+"\n"
+"        curl -d \"user=foobar&pass=12345&id=blablabla&ding=submit\"  (continues)\n"
+"          http://www.formpost.com/getthis/post.cgi\n"
+"\n"
+"\n"
+, stdout);
+ fputs(
+"  While -d uses the application/x-www-form-urlencoded mime-type, generally\n"
+"  understood by CGI's and similar, curl also supports the more capable\n"
+"  multipart/form-data type. This latter type supports things like file upload.\n"
+"\n"
+"  -F accepts parameters like -F \"name=contents\". If you want the contents to\n"
+"  be read from a file, use <@filename> as contents. When specifying a file,\n"
+"  you can also specify the file content type by appending ';type=<mime type>'\n"
+, stdout);
+ fputs(
+"  to the file name. You can also post the contents of several files in one\n"
+"  field.  For example, the field name 'coolfiles' is used to send three files,\n"
+"  with different content types using the following syntax:\n"
+"\n"
+"        curl -F \"coolfiles=@fil1.gif;type=image/gif,fil2.txt,fil3.html\" \\\n"
+"        http://www.post.com/postit.cgi\n"
+"\n"
+"  If the content-type is not specified, curl will try to guess from the file\n"
+"  extension (it only knows a few), or use the previously specified type (from\n"
+, stdout);
+ fputs(
+"  an earlier file if several files are specified in a list) or else it will\n"
+"  using the default type 'text/plain'.\n"
+"\n"
+"  Emulate a fill-in form with -F. Let's say you fill in three fields in a\n"
+"  form. One field is a file name which to post, one field is your name and one\n"
+"  field is a file description. We want to post the file we have written named\n"
+"  \"cooltext.txt\". To let curl do the posting of this data instead of your\n"
+"  favourite browser, you have to read the HTML source of the form page and\n"
+, stdout);
+ fputs(
+"  find the names of the input fields. In our example, the input field names\n"
+"  are 'file', 'yourname' and 'filedescription'.\n"
+"\n"
+"        curl -F \"file=@cooltext.txt\" -F \"yourname=Daniel\" \\\n"
+"             -F \"filedescription=Cool text file with cool text inside\" \\\n"
+"             http://www.post.com/postit.cgi\n"
+"\n"
+"  To send two files in one post you can do it in two ways:\n"
+"\n"
+"  1. Send multiple files in a single \"field\" with a single field name:\n"
+"\n"
+"        curl -F \"pictures=@dog.gif,cat.gif\"\n"
+"\n"
+, stdout);
+ fputs(
+"  2. Send two fields with two field names:\n"
+"\n"
+"        curl -F \"docpicture=@dog.gif\" -F \"catpicture=@cat.gif\"\n"
+"\n"
+"  To send a field value literally without interpreting a leading '@'\n"
+"  or '<', or an embedded ';type=', use --form-string instead of\n"
+"  -F. This is recommended when the value is obtained from a user or\n"
+"  some other unpredictable source. Under these circumstances, using\n"
+"  -F instead of --form-string would allow a user to trick curl into\n"
+"  uploading a file.\n"
+"\n"
+"REFERRER\n"
+"\n"
+, stdout);
+ fputs(
+"  A HTTP request has the option to include information about which address\n"
+"  that referred to actual page.  Curl allows you to specify the\n"
+"  referrer to be used on the command line. It is especially useful to\n"
+"  fool or trick stupid servers or CGI scripts that rely on that information\n"
+"  being available or contain certain data.\n"
+"\n"
+"        curl -e www.coolsite.com http://www.showme.com/\n"
+"\n"
+"  NOTE: The Referer: [sic] field is defined in the HTTP spec to be a full URL.\n"
+"\n"
+"USER AGENT\n"
+"\n"
+, stdout);
+ fputs(
+"  A HTTP request has the option to include information about the browser\n"
+"  that generated the request. Curl allows it to be specified on the command\n"
+"  line. It is especially useful to fool or trick stupid servers or CGI\n"
+"  scripts that only accept certain browsers.\n"
+"\n"
+"  Example:\n"
+"\n"
+"  curl -A 'Mozilla/3.0 (Win95; I)' http://www.nationsbank.com/\n"
+"\n"
+"  Other common strings:\n"
+"    'Mozilla/3.0 (Win95; I)'     Netscape Version 3 for Windows 95\n"
+"    'Mozilla/3.04 (Win95; U)'    Netscape Version 3 for Windows 95\n"
+, stdout);
+ fputs(
+"    'Mozilla/2.02 (OS/2; U)'     Netscape Version 2 for OS/2\n"
+"    'Mozilla/4.04 [en] (X11; U; AIX 4.2; Nav)'           NS for AIX\n"
+"    'Mozilla/4.05 [en] (X11; U; Linux 2.0.32 i586)'      NS for Linux\n"
+"\n"
+"  Note that Internet Explorer tries hard to be compatible in every way:\n"
+"    'Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)'    MSIE for W95\n"
+"\n"
+"  Mozilla is not the only possible User-Agent name:\n"
+"    'Konqueror/1.0'             KDE File Manager desktop client\n"
+, stdout);
+ fputs(
+"    'Lynx/2.7.1 libwww-FM/2.14' Lynx command line browser\n"
+"\n"
+"COOKIES\n"
+"\n"
+"  Cookies are generally used by web servers to keep state information at the\n"
+"  client's side. The server sets cookies by sending a response line in the\n"
+"  headers that looks like 'Set-Cookie: <data>' where the data part then\n"
+"  typically contains a set of NAME=VALUE pairs (separated by semicolons ';'\n"
+"  like \"NAME1=VALUE1; NAME2=VALUE2;\"). The server can also specify for what\n"
+, stdout);
+ fputs(
+"  path the \"cookie\" should be used for (by specifying \"path=value\"), when the\n"
+"  cookie should expire (\"expire=DATE\"), for what domain to use it\n"
+"  (\"domain=NAME\") and if it should be used on secure connections only\n"
+"  (\"secure\").\n"
+"\n"
+"  If you've received a page from a server that contains a header like:\n"
+"        Set-Cookie: sessionid=boo123; path=\"/foo\";\n"
+"\n"
+"  it means the server wants that first pair passed on when we get anything in\n"
+"  a path beginning with \"/foo\".\n"
+"\n"
+, stdout);
+ fputs(
+"  Example, get a page that wants my name passed in a cookie:\n"
+"\n"
+"        curl -b \"name=Daniel\" www.sillypage.com\n"
+"\n"
+"  Curl also has the ability to use previously received cookies in following\n"
+"  sessions. If you get cookies from a server and store them in a file in a\n"
+"  manner similar to:\n"
+"\n"
+"        curl --dump-header headers www.example.com\n"
+"\n"
+"  ... you can then in a second connect to that (or another) site, use the\n"
+"  cookies from the 'headers' file like:\n"
+"\n"
+"        curl -b headers www.example.com\n"
+"\n"
+, stdout);
+ fputs(
+"  While saving headers to a file is a working way to store cookies, it is\n"
+"  however error-prone and not the preferred way to do this. Instead, make curl\n"
+"  save the incoming cookies using the well-known netscape cookie format like\n"
+"  this:\n"
+"\n"
+"        curl -c cookies.txt www.example.com\n"
+"\n"
+"  Note that by specifying -b you enable the \"cookie awareness\" and with -L\n"
+"  you can make curl follow a location: (which often is used in combination\n"
+, stdout);
+ fputs(
+"  with cookies). So that if a site sends cookies and a location, you can\n"
+"  use a non-existing file to trigger the cookie awareness like:\n"
+"\n"
+"        curl -L -b empty.txt www.example.com\n"
+"\n"
+"  The file to read cookies from must be formatted using plain HTTP headers OR\n"
+"  as netscape's cookie file. Curl will determine what kind it is based on the\n"
+"  file contents.  In the above command, curl will parse the header and store\n"
+"  the cookies received from www.example.com.  curl will send to the server the\n"
+, stdout);
+ fputs(
+"  stored cookies which match the request as it follows the location.  The\n"
+"  file \"empty.txt\" may be a nonexistent file.\n"
+"\n"
+"  Alas, to both read and write cookies from a netscape cookie file, you can\n"
+"  set both -b and -c to use the same file:\n"
+"\n"
+"        curl -b cookies.txt -c cookies.txt www.example.com\n"
+"\n"
+"PROGRESS METER\n"
+"\n"
+"  The progress meter exists to show a user that something actually is\n"
+"  happening. The different fields in the output have the following meaning:\n"
+"\n"
+, stdout);
+ fputs(
+"  % Total    % Received % Xferd  Average Speed          Time             Curr.\n"
+"                                 Dload  Upload Total    Current  Left    Speed\n"
+"  0  151M    0 38608    0     0   9406      0  4:41:43  0:00:04  4:41:39  9287\n"
+"\n"
+"  From left-to-right:\n"
+"   %             - percentage completed of the whole transfer\n"
+"   Total         - total size of the whole expected transfer\n"
+"   %             - percentage completed of the download\n"
+"   Received      - currently downloaded amount of bytes\n"
+, stdout);
+ fputs(
+"   %             - percentage completed of the upload\n"
+"   Xferd         - currently uploaded amount of bytes\n"
+"   Average Speed\n"
+"   Dload         - the average transfer speed of the download\n"
+"   Average Speed\n"
+"   Upload        - the average transfer speed of the upload\n"
+"   Time Total    - expected time to complete the operation\n"
+"   Time Current  - time passed since the invoke\n"
+"   Time Left     - expected time left to completion\n"
+"   Curr.Speed    - the average transfer speed the last 5 seconds (the first\n"
+, stdout);
+ fputs(
+"                   5 seconds of a transfer is based on less time of course.)\n"
+"\n"
+"  The -# option will display a totally different progress bar that doesn't\n"
+"  need much explanation!\n"
+"\n"
+"SPEED LIMIT\n"
+"\n"
+"  Curl allows the user to set the transfer speed conditions that must be met\n"
+"  to let the transfer keep going. By using the switch -y and -Y you\n"
+"  can make curl abort transfers if the transfer speed is below the specified\n"
+"  lowest limit for a specified time.\n"
+"\n"
+, stdout);
+ fputs(
+"  To have curl abort the download if the speed is slower than 3000 bytes per\n"
+"  second for 1 minute, run:\n"
+"\n"
+"        curl -Y 3000 -y 60 www.far-away-site.com\n"
+"\n"
+"  This can very well be used in combination with the overall time limit, so\n"
+"  that the above operation must be completed in whole within 30 minutes:\n"
+"\n"
+"        curl -m 1800 -Y 3000 -y 60 www.far-away-site.com\n"
+"\n"
+"  Forcing curl not to transfer data faster than a given rate is also possible,\n"
+, stdout);
+ fputs(
+"  which might be useful if you're using a limited bandwidth connection and you\n"
+"  don't want your transfer to use all of it (sometimes referred to as\n"
+"  \"bandwidth throttle\").\n"
+"\n"
+"  Make curl transfer data no faster than 10 kilobytes per second:\n"
+"\n"
+"        curl --limit-rate 10K www.far-away-site.com\n"
+"\n"
+"    or\n"
+"\n"
+"        curl --limit-rate 10240 www.far-away-site.com\n"
+"\n"
+"  Or prevent curl from uploading data faster than 1 megabyte per second:\n"
+"\n"
+"        curl -T upload --limit-rate 1M ftp://uploadshereplease.com\n"
+"\n"
+, stdout);
+ fputs(
+"  When using the --limit-rate option, the transfer rate is regulated on a\n"
+"  per-second basis, which will cause the total transfer speed to become lower\n"
+"  than the given number. Sometimes of course substantially lower, if your\n"
+"  transfer stalls during periods.\n"
+"\n"
+"CONFIG FILE\n"
+"\n"
+"  Curl automatically tries to read the .curlrc file (or _curlrc file on win32\n"
+"  systems) from the user's home dir on startup.\n"
+"\n"
+"  The config file could be made up with normal command line switches, but you\n"
+, stdout);
+ fputs(
+"  can also specify the long options without the dashes to make it more\n"
+"  readable. You can separate the options and the parameter with spaces, or\n"
+"  with = or :. Comments can be used within the file. If the first letter on a\n"
+"  line is a '#'-symbol the rest of the line is treated as a comment.\n"
+"\n"
+"  If you want the parameter to contain spaces, you must enclose the entire\n"
+"  parameter within double quotes (\"). Within those quotes, you specify a\n"
+"  quote as \\\".\n"
+"\n"
+, stdout);
+ fputs(
+"  NOTE: You must specify options and their arguments on the same line.\n"
+"\n"
+"  Example, set default time out and proxy in a config file:\n"
+"\n"
+"        # We want a 30 minute timeout:\n"
+"        -m 1800\n"
+"        # ... and we use a proxy for all accesses:\n"
+"        proxy = proxy.our.domain.com:8080\n"
+"\n"
+"  White spaces ARE significant at the end of lines, but all white spaces\n"
+"  leading up to the first characters of each line are ignored.\n"
+"\n"
+"  Prevent curl from reading the default file by using -q as the first command\n"
+, stdout);
+ fputs(
+"  line parameter, like:\n"
+"\n"
+"        curl -q www.thatsite.com\n"
+"\n"
+"  Force curl to get and display a local help page in case it is invoked\n"
+"  without URL by making a config file similar to:\n"
+"\n"
+"        # default url to get\n"
+"        url = \"http://help.with.curl.com/curlhelp.html\"\n"
+"\n"
+"  You can specify another config file to be read by using the -K/--config\n"
+"  flag. If you set config file name to \"-\" it'll read the config from stdin,\n"
+"  which can be handy if you want to hide options from being visible in process\n"
+, stdout);
+ fputs(
+"  tables etc:\n"
+"\n"
+"        echo \"user = user:passwd\" | curl -K - http://that.secret.site.com\n"
+"\n"
+"EXTRA HEADERS\n"
+"\n"
+"  When using curl in your own very special programs, you may end up needing\n"
+"  to pass on your own custom headers when getting a web page. You can do\n"
+"  this by using the -H flag.\n"
+"\n"
+"  Example, send the header \"X-you-and-me: yes\" to the server when getting a\n"
+"  page:\n"
+"\n"
+"        curl -H \"X-you-and-me: yes\" www.love.com\n"
+"\n"
+"  This can also be useful in case you want curl to send a different text in a\n"
+, stdout);
+ fputs(
+"  header than it normally does. The -H header you specify then replaces the\n"
+"  header curl would normally send. If you replace an internal header with an\n"
+"  empty one, you prevent that header from being sent. To prevent the Host:\n"
+"  header from being used:\n"
+"\n"
+"        curl -H \"Host:\" www.server.com\n"
+"\n"
+"FTP and PATH NAMES\n"
+"\n"
+"  Do note that when getting files with the ftp:// URL, the given path is\n"
+"  relative the directory you enter. To get the file 'README' from your home\n"
+"  directory at your ftp site, do:\n"
+"\n"
+, stdout);
+ fputs(
+"        curl ftp://user:passwd@my.site.com/README\n"
+"\n"
+"  But if you want the README file from the root directory of that very same\n"
+"  site, you need to specify the absolute file name:\n"
+"\n"
+"        curl ftp://user:passwd@my.site.com//README\n"
+"\n"
+"  (I.e with an extra slash in front of the file name.)\n"
+"\n"
+"SFTP and SCP and PATH NAMES\n"
+"\n"
+"  With sftp: and scp: URLs, the path name given is the absolute name on the\n"
+"  server. To access a file relative to the remote user's home directory,\n"
+, stdout);
+ fputs(
+"  prefix the file with /~/ , such as:\n"
+"\n"
+"        curl -u $USER sftp://home.example.com/~/.bashrc\n"
+"\n"
+"FTP and firewalls\n"
+"\n"
+"  The FTP protocol requires one of the involved parties to open a second\n"
+"  connection as soon as data is about to get transfered. There are two ways to\n"
+"  do this.\n"
+"\n"
+"  The default way for curl is to issue the PASV command which causes the\n"
+"  server to open another port and await another connection performed by the\n"
+, stdout);
+ fputs(
+"  client. This is good if the client is behind a firewall that don't allow\n"
+"  incoming connections.\n"
+"\n"
+"        curl ftp.download.com\n"
+"\n"
+"  If the server for example, is behind a firewall that don't allow connections\n"
+"  on other ports than 21 (or if it just doesn't support the PASV command), the\n"
+"  other way to do it is to use the PORT command and instruct the server to\n"
+"  connect to the client on the given (as parameters to the PORT command) IP\n"
+"  number and port.\n"
+"\n"
+, stdout);
+ fputs(
+"  The -P flag to curl supports a few different options. Your machine may have\n"
+"  several IP-addresses and/or network interfaces and curl allows you to select\n"
+"  which of them to use. Default address can also be used:\n"
+"\n"
+"        curl -P - ftp.download.com\n"
+"\n"
+"  Download with PORT but use the IP address of our 'le0' interface (this does\n"
+"  not work on windows):\n"
+"\n"
+"        curl -P le0 ftp.download.com\n"
+"\n"
+"  Download with PORT but use 192.168.0.10 as our IP address to use:\n"
+"\n"
+, stdout);
+ fputs(
+"        curl -P 192.168.0.10 ftp.download.com\n"
+"\n"
+"NETWORK INTERFACE\n"
+"\n"
+"  Get a web page from a server using a specified port for the interface:\n"
+"\n"
+"        curl --interface eth0:1 http://www.netscape.com/\n"
+"\n"
+"  or\n"
+"\n"
+"        curl --interface 192.168.1.10 http://www.netscape.com/\n"
+"\n"
+"HTTPS\n"
+"\n"
+"  Secure HTTP requires SSL libraries to be installed and used when curl is\n"
+"  built. If that is done, curl is capable of retrieving and posting documents\n"
+"  using the HTTPS protocol.\n"
+"\n"
+"  Example:\n"
+"\n"
+, stdout);
+ fputs(
+"        curl https://www.secure-site.com\n"
+"\n"
+"  Curl is also capable of using your personal certificates to get/post files\n"
+"  from sites that require valid certificates. The only drawback is that the\n"
+"  certificate needs to be in PEM-format. PEM is a standard and open format to\n"
+"  store certificates with, but it is not used by the most commonly used\n"
+"  browsers (Netscape and MSIE both use the so called PKCS#12 format). If you\n"
+, stdout);
+ fputs(
+"  want curl to use the certificates you use with your (favourite) browser, you\n"
+"  may need to download/compile a converter that can convert your browser's\n"
+"  formatted certificates to PEM formatted ones. This kind of converter is\n"
+"  included in recent versions of OpenSSL, and for older versions Dr Stephen\n"
+"  N. Henson has written a patch for SSLeay that adds this functionality. You\n"
+"  can get his patch (that requires an SSLeay installation) from his site at:\n"
+"  http://www.drh-consultancy.demon.co.uk/\n"
+, stdout);
+ fputs(
+"\n"
+"  Example on how to automatically retrieve a document using a certificate with\n"
+"  a personal password:\n"
+"\n"
+"        curl -E /path/to/cert.pem:password https://secure.site.com/\n"
+"\n"
+"  If you neglect to specify the password on the command line, you will be\n"
+"  prompted for the correct password before any data can be received.\n"
+"\n"
+"  Many older SSL-servers have problems with SSLv3 or TLS, that newer versions\n"
+"  of OpenSSL etc is using, therefore it is sometimes useful to specify what\n"
+, stdout);
+ fputs(
+"  SSL-version curl should use. Use -3, -2 or -1 to specify that exact SSL\n"
+"  version to use (for SSLv3, SSLv2 or TLSv1 respectively):\n"
+"\n"
+"        curl -2 https://secure.site.com/\n"
+"\n"
+"  Otherwise, curl will first attempt to use v3 and then v2.\n"
+"\n"
+"  To use OpenSSL to convert your favourite browser's certificate into a PEM\n"
+"  formatted one that curl can use, do something like this (assuming netscape,\n"
+"  but IE is likely to work similarly):\n"
+"\n"
+"    You start with hitting the 'security' menu button in netscape.\n"
+"\n"
+, stdout);
+ fputs(
+"    Select 'certificates->yours' and then pick a certificate in the list\n"
+"\n"
+"    Press the 'export' button\n"
+"\n"
+"    enter your PIN code for the certs\n"
+"\n"
+"    select a proper place to save it\n"
+"\n"
+"    Run the 'openssl' application to convert the certificate. If you cd to the\n"
+"    openssl installation, you can do it like:\n"
+"\n"
+"     # ./apps/openssl pkcs12 -in [file you saved] -clcerts -out [PEMfile]\n"
+"\n"
+"\n"
+"RESUMING FILE TRANSFERS\n"
+"\n"
+" To continue a file transfer where it was previously aborted, curl supports\n"
+, stdout);
+ fputs(
+" resume on http(s) downloads as well as ftp uploads and downloads.\n"
+"\n"
+" Continue downloading a document:\n"
+"\n"
+"        curl -C - -o file ftp://ftp.server.com/path/file\n"
+"\n"
+" Continue uploading a document(*1):\n"
+"\n"
+"        curl -C - -T file ftp://ftp.server.com/path/file\n"
+"\n"
+" Continue downloading a document from a web server(*2):\n"
+"\n"
+"        curl -C - -o file http://www.server.com/\n"
+"\n"
+" (*1) = This requires that the ftp server supports the non-standard command\n"
+"        SIZE. If it doesn't, curl will say so.\n"
+"\n"
+, stdout);
+ fputs(
+" (*2) = This requires that the web server supports at least HTTP/1.1. If it\n"
+"        doesn't, curl will say so.\n"
+"\n"
+"TIME CONDITIONS\n"
+"\n"
+" HTTP allows a client to specify a time condition for the document it\n"
+" requests. It is If-Modified-Since or If-Unmodified-Since. Curl allow you to\n"
+" specify them with the -z/--time-cond flag.\n"
+"\n"
+" For example, you can easily make a download that only gets performed if the\n"
+" remote file is newer than a local copy. It would be made like:\n"
+"\n"
+, stdout);
+ fputs(
+"        curl -z local.html http://remote.server.com/remote.html\n"
+"\n"
+" Or you can download a file only if the local file is newer than the remote\n"
+" one. Do this by prepending the date string with a '-', as in:\n"
+"\n"
+"        curl -z -local.html http://remote.server.com/remote.html\n"
+"\n"
+" You can specify a \"free text\" date as condition. Tell curl to only download\n"
+" the file if it was updated since January 12, 2012:\n"
+"\n"
+"        curl -z \"Jan 12 2012\" http://remote.server.com/remote.html\n"
+"\n"
+, stdout);
+ fputs(
+" Curl will then accept a wide range of date formats. You always make the date\n"
+" check the other way around by prepending it with a dash '-'.\n"
+"\n"
+"DICT\n"
+"\n"
+"  For fun try\n"
+"\n"
+"        curl dict://dict.org/m:curl\n"
+"        curl dict://dict.org/d:heisenbug:jargon\n"
+"        curl dict://dict.org/d:daniel:web1913\n"
+"\n"
+"  Aliases for 'm' are 'match' and 'find', and aliases for 'd' are 'define'\n"
+"  and 'lookup'. For example,\n"
+"\n"
+"        curl dict://dict.org/find:curl\n"
+"\n"
+, stdout);
+ fputs(
+"  Commands that break the URL description of the RFC (but not the DICT\n"
+"  protocol) are\n"
+"\n"
+"        curl dict://dict.org/show:db\n"
+"        curl dict://dict.org/show:strat\n"
+"\n"
+"  Authentication is still missing (but this is not required by the RFC)\n"
+"\n"
+"LDAP\n"
+"\n"
+"  If you have installed the OpenLDAP library, curl can take advantage of it\n"
+"  and offer ldap:// support.\n"
+"\n"
+"  LDAP is a complex thing and writing an LDAP query is not an easy task. I do\n"
+, stdout);
+ fputs(
+"  advice you to dig up the syntax description for that elsewhere. Two places\n"
+"  that might suit you are:\n"
+"\n"
+"  Netscape's \"Netscape Directory SDK 3.0 for C Programmer's Guide Chapter 10:\n"
+"  Working with LDAP URLs\":\n"
+"  http://developer.netscape.com/docs/manuals/dirsdk/csdk30/url.htm\n"
+"\n"
+"  RFC 2255, \"The LDAP URL Format\" http://curl.haxx.se/rfc/rfc2255.txt\n"
+"\n"
+"  To show you an example, this is now I can get all people from my local LDAP\n"
+"  server that has a certain sub-domain in their email address:\n"
+"\n"
+, stdout);
+ fputs(
+"        curl -B \"ldap://ldap.frontec.se/o=frontec??sub?mail=*sth.frontec.se\"\n"
+"\n"
+"  If I want the same info in HTML format, I can get it by not using the -B\n"
+"  (enforce ASCII) flag.\n"
+"\n"
+"ENVIRONMENT VARIABLES\n"
+"\n"
+"  Curl reads and understands the following environment variables:\n"
+"\n"
+"        http_proxy, HTTPS_PROXY, FTP_PROXY\n"
+"\n"
+"  They should be set for protocol-specific proxies. General proxy should be\n"
+"  set with\n"
+"\n"
+"        ALL_PROXY\n"
+"\n"
+"  A comma-separated list of host names that shouldn't go through any proxy is\n"
+, stdout);
+ fputs(
+"  set in (only an asterisk, '*' matches all hosts)\n"
+"\n"
+"        NO_PROXY\n"
+"\n"
+"  If the host name matches one of these strings, or the host is within the\n"
+"  domain of one of these strings, transactions with that node will not be\n"
+"  proxied.\n"
+"\n"
+"\n"
+"  The usage of the -x/--proxy flag overrides the environment variables.\n"
+"\n"
+"NETRC\n"
+"\n"
+"  Unix introduced the .netrc concept a long time ago. It is a way for a user\n"
+"  to specify name and password for commonly visited ftp sites in a file so\n"
+, stdout);
+ fputs(
+"  that you don't have to type them in each time you visit those sites. You\n"
+"  realize this is a big security risk if someone else gets hold of your\n"
+"  passwords, so therefore most unix programs won't read this file unless it is\n"
+"  only readable by yourself (curl doesn't care though).\n"
+"\n"
+"  Curl supports .netrc files if told so (using the -n/--netrc and\n"
+"  --netrc-optional options). This is not restricted to only ftp,\n"
+"  but curl can use it for all protocols where authentication is used.\n"
+"\n"
+, stdout);
+ fputs(
+"  A very simple .netrc file could look something like:\n"
+"\n"
+"        machine curl.haxx.se login iamdaniel password mysecret\n"
+"\n"
+"CUSTOM OUTPUT\n"
+"\n"
+"  To better allow script programmers to get to know about the progress of\n"
+"  curl, the -w/--write-out option was introduced. Using this, you can specify\n"
+"  what information from the previous transfer you want to extract.\n"
+"\n"
+"  To display the amount of bytes downloaded together with some text and an\n"
+"  ending newline:\n"
+"\n"
+, stdout);
+ fputs(
+"        curl -w 'We downloaded %{size_download} bytes\\n' www.download.com\n"
+"\n"
+"KERBEROS FTP TRANSFER\n"
+"\n"
+"  Curl supports kerberos4 and kerberos5/GSSAPI for FTP transfers. You need\n"
+"  the kerberos package installed and used at curl build time for it to be\n"
+"  used.\n"
+"\n"
+"  First, get the krb-ticket the normal way, like with the kinit/kauth tool.\n"
+"  Then use curl in way similar to:\n"
+"\n"
+"        curl --krb private ftp://krb4site.com -u username:fakepwd\n"
+"\n"
+, stdout);
+ fputs(
+"  There's no use for a password on the -u switch, but a blank one will make\n"
+"  curl ask for one and you already entered the real password to kinit/kauth.\n"
+"\n"
+"TELNET\n"
+"\n"
+"  The curl telnet support is basic and very easy to use. Curl passes all data\n"
+"  passed to it on stdin to the remote server. Connect to a remote telnet\n"
+"  server using a command line similar to:\n"
+"\n"
+"        curl telnet://remote.server.com\n"
+"\n"
+"  And enter the data to pass to the server on stdin. The result will be sent\n"
+, stdout);
+ fputs(
+"  to stdout or to the file you specify with -o.\n"
+"\n"
+"  You might want the -N/--no-buffer option to switch off the buffered output\n"
+"  for slow connections or similar.\n"
+"\n"
+"  Pass options to the telnet protocol negotiation, by using the -t option. To\n"
+"  tell the server we use a vt100 terminal, try something like:\n"
+"\n"
+"        curl -tTTYPE=vt100 telnet://remote.server.com\n"
+"\n"
+"  Other interesting options for it -t include:\n"
+"\n"
+"   - XDISPLOC=<X display> Sets the X display location.\n"
+"\n"
+, stdout);
+ fputs(
+"   - NEW_ENV=<var,val> Sets an environment variable.\n"
+"\n"
+"  NOTE: the telnet protocol does not specify any way to login with a specified\n"
+"  user and password so curl can't do that automatically. To do that, you need\n"
+"  to track when the login prompt is received and send the username and\n"
+"  password accordingly.\n"
+"\n"
+"PERSISTENT CONNECTIONS\n"
+"\n"
+"  Specifying multiple files on a single command line will make curl transfer\n"
+"  all of them, one after the other in the specified order.\n"
+"\n"
+, stdout);
+ fputs(
+"  libcurl will attempt to use persistent connections for the transfers so that\n"
+"  the second transfer to the same host can use the same connection that was\n"
+"  already initiated and was left open in the previous transfer. This greatly\n"
+"  decreases connection time for all but the first transfer and it makes a far\n"
+"  better use of the network.\n"
+"\n"
+"  Note that curl cannot use persistent connections for transfers that are used\n"
+"  in subsequence curl invokes. Try to stuff as many URLs as possible on the\n"
+, stdout);
+ fputs(
+"  same command line if they are using the same host, as that'll make the\n"
+"  transfers faster. If you use a http proxy for file transfers, practically\n"
+"  all transfers will be persistent.\n"
+"\n"
+"MULTIPLE TRANSFERS WITH A SINGLE COMMAND LINE\n"
+"\n"
+"  As is mentioned above, you can download multiple files with one command line\n"
+"  by simply adding more URLs. If you want those to get saved to a local file\n"
+"  instead of just printed to stdout, you need to add one save option for each\n"
+, stdout);
+ fputs(
+"  URL you specify. Note that this also goes for the -O option (but not\n"
+"  --remote-name-all).\n"
+"\n"
+"  For example: get two files and use -O for the first and a custom file\n"
+"  name for the second:\n"
+"\n"
+"    curl -O http://url.com/file.txt ftp://ftp.com/moo.exe -o moo.jpg\n"
+"\n"
+"  You can also upload multiple files in a similar fashion:\n"
+"\n"
+"    curl -T local1 ftp://ftp.com/moo.exe -T local2 ftp://ftp.com/moo2.txt\n"
+"\n"
+"IPv6\n"
+"\n"
+"  curl will connect to a server with IPv6 when a host lookup returns an IPv6\n"
+, stdout);
+ fputs(
+"  address and fall back to IPv4 if the connection fails. The --ipv4 and --ipv6\n"
+"  options can specify which address to use when both are available. IPv6\n"
+"  addresses can also be specified directly in URLs using the syntax:\n"
+"\n"
+"    http://[2001:1890:1112:1::20]/overview.html\n"
+"\n"
+"  When this style is used, the -g option must be given to stop curl from\n"
+"  interpreting the square brackets as special globbing characters.  Link local\n"
+, stdout);
+ fputs(
+"  and site local addresses including a scope identifier, such as fe80::1234%1,\n"
+"  may also be used, but the scope portion must be numeric and the percent\n"
+"  character must be URL escaped. The previous example in an SFTP URL might\n"
+"  look like:\n"
+"\n"
+"    sftp://[fe80::1234%251]/\n"
+"\n"
+"  IPv6 addresses provided other than in URLs (e.g. to the --proxy, --interface\n"
+"  or --ftp-port options) should not be URL encoded.\n"
+"\n"
+"\n"
+"MAILING LISTS\n"
+"\n"
+"  For your convenience, we have several open mailing lists to discuss curl,\n"
+, stdout);
+ fputs(
+"  its development and things relevant to this. Get all info at\n"
+"  http://curl.haxx.se/mail/. Some of the lists available are:\n"
+"\n"
+"  curl-users\n"
+"\n"
+"    Users of the command line tool. How to use it, what doesn't work, new\n"
+"    features, related tools, questions, news, installations, compilations,\n"
+"    running, porting etc.\n"
+"\n"
+"  curl-library\n"
+"\n"
+"    Developers using or developing libcurl. Bugs, extensions, improvements.\n"
+"\n"
+"  curl-announce\n"
+"\n"
+, stdout);
+ fputs(
+"    Low-traffic. Only receives announcements of new public versions. At worst,\n"
+"    that makes something like one or two mails per month, but usually only one\n"
+"    mail every second month.\n"
+"\n"
+"  curl-and-php\n"
+"\n"
+"    Using the curl functions in PHP. Everything curl with a PHP angle. Or PHP\n"
+"    with a curl angle.\n"
+"\n"
+"  curl-and-python\n"
+"\n"
+"    Python hackers using curl with or without the python binding pycurl.\n"
+"\n"
+"  Please direct curl questions, feature requests and trouble reports to one of\n"
+, stdout);
+ fputs(
+"  these mailing lists instead of mailing any individual.\n"
+, stdout) ;
+}
+#endif /* USE_MANUAL */
+#else
+/*
+ * NEVER EVER edit this manually, fix the mkhelp.pl script instead!
+ * Generation time: Sun Mar 28 23:35:15 2010
+ */
+#include "setup.h"
+#ifdef USE_MANUAL
+#include "hugehelp.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <zlib.h>
+static const unsigned char hugehelpgz[] = {
+  /* This mumbo-jumbo is the huge help text compressed with gzip.
+     Thanks to this operation, the size of this data shrunk from 130818
+     to 40275 bytes. You can disable the use of compressed help
+     texts by NOT passing -c to the mkhelp.pl tool. */
+  0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xed, 0xbd,
+  0x7b, 0x5b, 0x23, 0xd7, 0xb1, 0x2e, 0xfe, 0x3f, 0x9f, 0xa2, 0x23, 0xff,
+  0x12, 0x41, 0x22, 0x89, 0xcb, 0x5c, 0xec, 0x21, 0x33, 0xde, 0xc6, 0xc0,
+  0xd8, 0x6c, 0x33, 0x03, 0x07, 0x31, 0xbe, 0x1c, 0xc7, 0xcf, 0x3c, 0x2d,
+  0xa9, 0x81, 0x0e, 0x92, 0x5a, 0xe9, 0x6e, 0x01, 0x72, 0x76, 0xf6, 0x67,
+  0x3f, 0x55, 0x6f, 0x55, 0xad, 0xb5, 0xfa, 0x22, 0x66, 0x9c, 0xd8, 0x39,
+  0xbf, 0x73, 0x9e, 0x93, 0xbd, 0x3d, 0x80, 0xd4, 0xbd, 0xae, 0xb5, 0x6a,
+  0xd5, 0xf5, 0xad, 0x28, 0xfa, 0xd0, 0xff, 0xde, 0xe3, 0xbf, 0xf7, 0xf4,
+  0x3f, 0xfa, 0xb9, 0x11, 0x45, 0xe7, 0x79, 0xf6, 0xd7, 0x64, 0x5c, 0xb6,
+  0x3f, 0xfb, 0xfe, 0xfd, 0x7f, 0x45, 0xf2, 0x7f, 0xf4, 0xce, 0x5f, 0xe8,
+  0xe7, 0xc6, 0xa3, 0x6d, 0x6f, 0x47, 0xfe, 0x85, 0xff, 0x7a, 0xbf, 0x15,
+  0x7d, 0xe8, 0x85, 0xff, 0x8a, 0x36, 0xf1, 0xc2, 0x7b, 0xed, 0xe1, 0x25,
+  0xff, 0xfe, 0xfe, 0xfd, 0xe3, 0x9d, 0xfc, 0x85, 0x47, 0xc5, 0xff, 0x6c,
+  0xf3, 0x7b, 0x7f, 0x79, 0xcf, 0xbf, 0xd2, 0x27, 0x1b, 0x1b, 0x6f, 0x0f,
+  0xde, 0x1c, 0xdb, 0xab, 0xe3, 0x65, 0x3e, 0x8d, 0xfa, 0x51, 0x99, 0xc7,
+  0xf3, 0xe2, 0x2a, 0xc9, 0xa3, 0x38, 0x7a, 0x77, 0x71, 0xba, 0xb1, 0x31,
+  0xfc, 0xe1, 0xed, 0xd9, 0xf9, 0xf0, 0x64, 0x58, 0x79, 0xec, 0xc7, 0x6c,
+  0x51, 0xa6, 0xd9, 0xbc, 0xf8, 0x29, 0xfa, 0x91, 0x1e, 0x1a, 0x0c, 0x06,
+  0x3f, 0x6d, 0x6c, 0x1c, 0x1d, 0x0f, 0x0f, 0x2f, 0x4e, 0xce, 0x2f, 0x4f,
+  0xce, 0xde, 0x56, 0x9e, 0x8d, 0xd2, 0x22, 0xa2, 0xc6, 0xca, 0x2c, 0x9b,
+  0xd2, 0x3f, 0xbe, 0xfd, 0x49, 0x5c, 0xc6, 0xd1, 0x55, 0x9e, 0xcd, 0xa2,
+  0x2c, 0xe7, 0x2f, 0xe2, 0xa8, 0x48, 0xf2, 0xbb, 0x24, 0xef, 0x45, 0xcb,
+  0x22, 0x9d, 0x5f, 0x47, 0xd9, 0x3c, 0x89, 0xb2, 0xab, 0xa8, 0xbc, 0x49,
+  0xac, 0xb9, 0x62, 0xb9, 0x58, 0x64, 0x79, 0x99, 0x4c, 0xa2, 0x45, 0x9e,
+  0x95, 0xd9, 0x38, 0x9b, 0x16, 0xd1, 0xe6, 0xd7, 0x97, 0x97, 0xe7, 0xbd,
+  0x88, 0xff, 0x1d, 0xf6, 0xa2, 0xd7, 0xfc, 0xfb, 0x6b, 0xfc, 0x1a, 0x0d,
+  0x0f, 0xcf, 0xf9, 0x5f, 0x7c, 0x14, 0x5d, 0xca, 0x8f, 0xa3, 0x93, 0xc3,
+  0xcb, 0x9e, 0x35, 0x77, 0x79, 0x7c, 0xfa, 0xf6, 0xf8, 0x92, 0x3e, 0x3d,
+  0x3d, 0x3a, 0x38, 0x8f, 0x78, 0x14, 0xd1, 0xeb, 0x93, 0xd3, 0xe3, 0xad,
+  0x01, 0x7d, 0x75, 0x93, 0x44, 0xe3, 0x6c, 0x36, 0x8b, 0xe7, 0x13, 0x1e,
+  0xfe, 0x24, 0x29, 0xd2, 0xeb, 0x39, 0xf5, 0x4b, 0xc3, 0xbc, 0xcf, 0xf2,
+  0xdb, 0xe8, 0x3e, 0x2d, 0x6f, 0xb2, 0x65, 0x49, 0x23, 0x4d, 0x72, 0x6b,
+  0x2e, 0x9d, 0x97, 0x49, 0x1e, 0x8f, 0x79, 0x5d, 0x06, 0x1b, 0x95, 0x15,
+  0xc8, 0xae, 0x68, 0xbe, 0x05, 0x4d, 0x70, 0xb4, 0x2c, 0xa6, 0x59, 0x3c,
+  0xe1, 0x69, 0xd1, 0x9b, 0x57, 0x4b, 0x5a, 0x90, 0x3c, 0x1d, 0xdf, 0x16,
+  0xd1, 0x34, 0xbd, 0x4d, 0x78, 0x52, 0x0f, 0x2b, 0x9b, 0x64, 0x0f, 0x6d,
+  0x47, 0xf1, 0x92, 0xe6, 0x3f, 0xef, 0x5b, 0x73, 0x65, 0x3a, 0x8e, 0xb9,
+  0x03, 0x1a, 0x34, 0x4d, 0x28, 0x5a, 0x2e, 0xb8, 0x39, 0x99, 0x7d, 0xb4,
+  0xc8, 0x0a, 0x7a, 0x6b, 0x38, 0x3c, 0xa5, 0x91, 0xcf, 0xe7, 0x09, 0x06,
+  0x52, 0xf4, 0xe8, 0x8f, 0xec, 0x36, 0x4d, 0xe8, 0x97, 0xab, 0x74, 0x9a,
+  0xc8, 0xea, 0xbb, 0xe6, 0x78, 0x1b, 0xf2, 0xa4, 0x58, 0xce, 0x92, 0x88,
+  0x67, 0x3a, 0xcb, 0xf2, 0x64, 0x10, 0x1d, 0x14, 0xd1, 0x2a, 0x5b, 0xd2,
+  0x14, 0xa7, 0x53, 0xda, 0x91, 0x24, 0x1a, 0x25, 0xd3, 0xec, 0xbe, 0xc7,
+  0xfb, 0x10, 0xcd, 0x97, 0xb3, 0x11, 0xbd, 0x42, 0xc3, 0xbf, 0x4a, 0xe2,
+  0x72, 0x49, 0xaf, 0xe2, 0x31, 0x6b, 0x6e, 0x16, 0xd3, 0x2c, 0xe8, 0xdd,
+  0x3c, 0xba, 0x49, 0x68, 0x96, 0xc5, 0x22, 0x9d, 0xff, 0x6e, 0xa3, 0x49,
+  0x0b, 0x8b, 0xec, 0x3e, 0xc9, 0x69, 0x31, 0xa3, 0xd1, 0x2a, 0xa2, 0x99,
+  0x8f, 0xe4, 0x9b, 0x2b, 0x5e, 0xff, 0x78, 0x3a, 0x75, 0x04, 0xd2, 0xcf,
+  0x93, 0x69, 0xcc, 0x9b, 0x6d, 0x7d, 0x0d, 0xa2, 0x61, 0xe2, 0x68, 0x41,
+  0xdf, 0xdb, 0x7c, 0xb2, 0x85, 0x37, 0x27, 0x49, 0x19, 0xa7, 0xd3, 0x82,
+  0x16, 0x9e, 0x89, 0xd6, 0x36, 0x98, 0x86, 0x4c, 0x7f, 0x46, 0xc5, 0x6a,
+  0x5e, 0xc6, 0x0f, 0xdc, 0xb7, 0xd1, 0x4d, 0x7f, 0x92, 0x2c, 0x92, 0xf9,
+  0x24, 0x99, 0x97, 0x83, 0xe8, 0x87, 0x6c, 0xd9, 0xa5, 0x6e, 0xaf, 0x52,
+  0x5a, 0x81, 0x38, 0xd2, 0x96, 0x78, 0x78, 0xb4, 0xeb, 0xe3, 0x3c, 0x5d,
+  0x04, 0x8b, 0x9f, 0xcd, 0x69, 0x97, 0xa3, 0x8b, 0xd7, 0x87, 0xd1, 0x93,
+  0x17, 0x9f, 0x3d, 0xf7, 0xbb, 0x4c, 0x4d, 0xd0, 0x04, 0xe3, 0x39, 0x91,
+  0xe8, 0x22, 0x19, 0xa7, 0x57, 0x34, 0xaf, 0xd9, 0x72, 0x5a, 0xa6, 0x0b,
+  0x5a, 0x71, 0x1e, 0x41, 0xc1, 0xc4, 0xb5, 0x88, 0xf3, 0xb2, 0xe0, 0xb5,
+  0xc3, 0x07, 0x34, 0xf7, 0xfb, 0x3c, 0x2d, 0x99, 0xd0, 0xf9, 0x0b, 0x5a,
+  0xe9, 0xb2, 0xb0, 0xe6, 0x98, 0xba, 0xa8, 0x9f, 0x11, 0x51, 0x13, 0xad,
+  0x70, 0x5c, 0x50, 0xa7, 0xfb, 0xae, 0xaf, 0xe8, 0xa6, 0x2c, 0x17, 0xfb,
+  0xdb, 0xdb, 0x45, 0x5a, 0x26, 0x83, 0xbf, 0xd3, 0x21, 0xe9, 0x95, 0xf7,
+  0x59, 0xaf, 0xbc, 0xc9, 0x93, 0xe4, 0x1f, 0x03, 0xa2, 0x59, 0xf7, 0x20,
+  0x75, 0xc9, 0xfb, 0xc8, 0xc3, 0xba, 0x4e, 0xb8, 0x83, 0xbf, 0x2d, 0x93,
+  0x39, 0x37, 0x48, 0x43, 0x88, 0xa7, 0x8b, 0x9b, 0x98, 0x76, 0x33, 0x21,
+  0xf2, 0xe3, 0x63, 0x47, 0x04, 0xc2, 0x23, 0x92, 0x83, 0xf7, 0xe3, 0x4f,
+  0x8d, 0x3e, 0xaf, 0xd0, 0x25, 0xfd, 0x3b, 0xd0, 0x97, 0x62, 0x5a, 0x6b,
+  0xea, 0x6c, 0x9b, 0x89, 0xea, 0xc7, 0xdd, 0xfe, 0xee, 0xce, 0xce, 0x4f,
+  0x83, 0xf2, 0xa1, 0xfc, 0xc8, 0x17, 0x76, 0x76, 0xfc, 0x2b, 0xfc, 0xf4,
+  0x26, 0xcf, 0x38, 0x9a, 0x12, 0xd1, 0x70, 0xff, 0x3f, 0x27, 0x79, 0x56,
+  0x6c, 0xb5, 0x34, 0x35, 0x4d, 0x4a, 0x3a, 0x62, 0x41, 0x3b, 0x71, 0xff,
+  0x67, 0xe9, 0xd6, 0x1e, 0x7e, 0x9b, 0x45, 0xf3, 0xa4, 0xc0, 0xaa, 0x0a,
+  0xeb, 0x08, 0xa6, 0x4d, 0xdb, 0xef, 0x19, 0x48, 0x5c, 0xe2, 0xdb, 0x59,
+  0x36, 0x23, 0x1a, 0xe8, 0xd1, 0xc1, 0x2c, 0xdd, 0x62, 0xd1, 0xb9, 0x73,
+  0x0c, 0x27, 0x21, 0x7e, 0x14, 0x4f, 0x99, 0x15, 0x15, 0xd4, 0x30, 0x0d,
+  0x96, 0x18, 0x40, 0x12, 0x8f, 0x6f, 0xa2, 0x8c, 0xde, 0xce, 0x9b, 0x9b,
+  0x12, 0xcf, 0x57, 0x83, 0x2c, 0xbf, 0xde, 0x8e, 0xf3, 0xf1, 0x4d, 0x7a,
+  0x47, 0x2b, 0xf3, 0xe2, 0xc5, 0xf3, 0x3e, 0xfd, 0xf3, 0xe2, 0xa7, 0xed,
+  0xbb, 0x6c, 0x4a, 0x0b, 0xf5, 0xf4, 0xa7, 0x6d, 0xde, 0xee, 0xbf, 0xc7,
+  0xbd, 0x51, 0x6f, 0xfc, 0x8f, 0xc1, 0x4d, 0x39, 0x9b, 0x3e, 0x46, 0x45,
+  0xd4, 0x5e, 0x14, 0xcf, 0xb2, 0xe5, 0xbc, 0x74, 0x84, 0x43, 0x34, 0x58,
+  0x06, 0xdc, 0x69, 0x9a, 0xce, 0xe9, 0xcc, 0x12, 0xa5, 0xaf, 0xe4, 0xc4,
+  0x8e, 0x12, 0x7f, 0xb8, 0xcb, 0xf1, 0x0d, 0x4d, 0x95, 0x28, 0x29, 0xd6,
+  0x65, 0x28, 0x53, 0x9a, 0x0c, 0xbd, 0x36, 0xa7, 0x43, 0x9c, 0x4a, 0x3b,
+  0xd2, 0x55, 0x4a, 0xcf, 0x65, 0xf9, 0x24, 0xc9, 0x3d, 0x4d, 0x0f, 0x53,
+  0x5a, 0x35, 0x39, 0xb5, 0x9f, 0x0e, 0x76, 0x9f, 0x0d, 0x76, 0xdd, 0x02,
+  0xd1, 0x56, 0x66, 0x6e, 0x88, 0xd4, 0x74, 0x99, 0x2c, 0x68, 0x38, 0x4b,
+  0x66, 0x7f, 0x72, 0x8a, 0xb9, 0xdd, 0x88, 0x4e, 0xf1, 0x35, 0xb1, 0x1d,
+  0xb7, 0x94, 0xc4, 0xf9, 0x6f, 0xe2, 0xb2, 0x42, 0x92, 0xbc, 0xba, 0xab,
+  0xe8, 0x2d, 0x6d, 0xbd, 0x31, 0x96, 0x3c, 0x92, 0x3d, 0x6e, 0xae, 0xec,
+  0xfd, 0xfd, 0xfd, 0x7a, 0xda, 0xdb, 0xdf, 0xad, 0x91, 0x5f, 0xf0, 0x52,
+  0x1b, 0xd1, 0xec, 0xef, 0x55, 0xc9, 0xe6, 0xe4, 0x2a, 0xc2, 0xc0, 0xfc,
+  0xc2, 0x33, 0xdb, 0x70, 0x5c, 0xde, 0xb8, 0x06, 0xb5, 0x48, 0xbf, 0x27,
+  0x57, 0xe9, 0x43, 0x4f, 0x16, 0x06, 0x2b, 0x1e, 0x53, 0xfb, 0xb3, 0x05,
+  0x93, 0x86, 0x35, 0x77, 0xbd, 0x4c, 0x0a, 0xe2, 0x8c, 0x3c, 0x5d, 0x7b,
+  0x15, 0xcd, 0xcf, 0xd2, 0xeb, 0x9b, 0x32, 0xba, 0x8f, 0x99, 0xeb, 0x9c,
+  0x94, 0xf2, 0x36, 0xb3, 0x77, 0xe2, 0x34, 0x57, 0x31, 0xf1, 0x8b, 0x88,
+  0xc9, 0x4b, 0x98, 0x39, 0x53, 0xa4, 0xe3, 0x3b, 0xb4, 0x48, 0x42, 0x70,
+  0x51, 0x70, 0xf1, 0x8d, 0xe2, 0x82, 0x37, 0x6d, 0x4e, 0x84, 0x51, 0xd2,
+  0x0d, 0xb1, 0xe4, 0xbf, 0x6e, 0xe8, 0x0a, 0x88, 0xe6, 0xf1, 0x2c, 0xd1,
+  0x61, 0x32, 0xcf, 0x7c, 0x4d, 0x8b, 0x9a, 0x3c, 0xc4, 0x33, 0xc7, 0xc6,
+  0x88, 0x29, 0xf5, 0xb0, 0x4f, 0xee, 0x69, 0x3a, 0x18, 0x25, 0x11, 0x25,
+  0x9f, 0x1a, 0x1c, 0xc4, 0x0e, 0x1f, 0xb6, 0x4e, 0x38, 0xc5, 0x02, 0x77,
+  0x04, 0x96, 0x88, 0x87, 0x1f, 0x05, 0x93, 0xa5, 0x25, 0x8b, 0x6f, 0xf9,
+  0x36, 0xaa, 0x5d, 0x7a, 0xf2, 0x66, 0x34, 0xa1, 0x19, 0xa5, 0xc4, 0xf7,
+  0x46, 0x74, 0x2c, 0x79, 0x7a, 0x34, 0x4e, 0x59, 0x19, 0x6e, 0x6c, 0x41,
+  0x0d, 0xf3, 0x87, 0x69, 0xc9, 0x1c, 0x07, 0x02, 0x07, 0x56, 0x86, 0x8e,
+  0xea, 0x3c, 0x0b, 0xe7, 0xcf, 0x43, 0xa3, 0xe7, 0xee, 0xe2, 0x69, 0x4a,
+  0x62, 0x43, 0xe2, 0x5e, 0x00, 0x67, 0x1f, 0xf3, 0xad, 0x38, 0x9d, 0xae,
+  0x88, 0x08, 0xf3, 0x9c, 0xe5, 0x32, 0xde, 0x3c, 0xe2, 0x66, 0x7c, 0x78,
+  0xa2, 0x59, 0x42, 0xb7, 0x49, 0x65, 0x39, 0x53, 0xe6, 0x6d, 0x44, 0xb4,
+  0x74, 0x43, 0x81, 0xfe, 0xe8, 0x26, 0xc1, 0x21, 0xc7, 0xd4, 0x31, 0x34,
+  0x6e, 0x7d, 0x3c, 0x4e, 0x16, 0x65, 0xe1, 0xe7, 0x74, 0xd8, 0xb2, 0xdf,
+  0x74, 0x77, 0xf2, 0xba, 0x87, 0xf7, 0x2d, 0x16, 0xd6, 0xf1, 0x7e, 0x7f,
+  0xe5, 0xb2, 0x00, 0xd0, 0xa3, 0x43, 0xe0, 0xe6, 0xc4, 0xfd, 0xd0, 0x19,
+  0xc0, 0xa2, 0xcf, 0x78, 0xa4, 0xfc, 0x6c, 0x21, 0xf2, 0x10, 0xce, 0x25,
+  0xef, 0xa2, 0x08, 0x44, 0xd2, 0x2d, 0x2d, 0x08, 0x2f, 0xa6, 0xbf, 0x57,
+  0xa8, 0x57, 0xb7, 0xa7, 0xdc, 0x7d, 0x41, 0xb2, 0x24, 0x31, 0xf5, 0x49,
+  0x71, 0x43, 0xd7, 0x70, 0xc1, 0x3c, 0x81, 0x67, 0x3a, 0x23, 0x8a, 0xb9,
+  0xe3, 0x1d, 0x5e, 0x24, 0xc9, 0x64, 0x10, 0x9d, 0x5d, 0xf1, 0x51, 0xcd,
+  0x69, 0xd0, 0x25, 0xbe, 0x66, 0x7e, 0x42, 0x2b, 0x37, 0x81, 0xb0, 0x35,
+  0x77, 0xac, 0x03, 0x63, 0x09, 0x58, 0x03, 0x58, 0x08, 0x0d, 0x75, 0x5a,
+  0x65, 0x3c, 0x90, 0x1a, 0xf8, 0x38, 0xf3, 0xe0, 0x68, 0x8b, 0xa3, 0x08,
+  0x64, 0x48, 0xbf, 0x95, 0xf7, 0x49, 0x32, 0xf7, 0x6c, 0x94, 0x78, 0x1e,
+  0x6f, 0x1b, 0x08, 0x23, 0x9d, 0xdf, 0x65, 0x3c, 0xc0, 0x8d, 0x8d, 0xf3,
+  0x8b, 0xb3, 0xaf, 0x2e, 0x8e, 0x87, 0xc3, 0xe8, 0xcd, 0xf1, 0xe5, 0xf1,
+  0x45, 0x95, 0x7a, 0xe6, 0x59, 0x3e, 0xc3, 0xa6, 0x46, 0x93, 0xb4, 0x58,
+  0x4c, 0xe3, 0x15, 0x6f, 0x37, 0xcd, 0xe5, 0x3a, 0xe7, 0xb3, 0x35, 0x4b,
+  0x98, 0xd9, 0x4c, 0x96, 0x39, 0x38, 0xfd, 0x82, 0xf6, 0x4f, 0xa5, 0x1d,
+  0xba, 0xc4, 0x21, 0x22, 0xcd, 0xaf, 0xfd, 0x4a, 0x27, 0x01, 0x0b, 0xb5,
+  0xcd, 0x60, 0xf9, 0x83, 0x05, 0xd0, 0x5e, 0xe4, 0x05, 0x52, 0x59, 0x23,
+  0x16, 0x56, 0x79, 0x56, 0x7c, 0x8d, 0xcc, 0x20, 0x7f, 0xd0, 0xc5, 0x3f,
+  0xf3, 0x72, 0x47, 0x72, 0x45, 0xf7, 0x05, 0xb1, 0x56, 0x4f, 0x1a, 0x5f,
+  0x93, 0x3c, 0x03, 0xb9, 0x95, 0x97, 0x68, 0x9c, 0xe8, 0x0c, 0xdc, 0xb0,
+  0xb1, 0xd0, 0x10, 0x76, 0x59, 0xfa, 0xa5, 0xd1, 0xd0, 0xd0, 0x67, 0xe9,
+  0x9c, 0x28, 0x8e, 0x68, 0x54, 0x4f, 0x3e, 0x0d, 0xfc, 0xca, 0x9a, 0xe3,
+  0x83, 0x21, 0x6b, 0x24, 0x0d, 0xd1, 0x5b, 0xb4, 0xef, 0xc4, 0x32, 0xdd,
+  0x3c, 0x31, 0xc0, 0x14, 0xc7, 0x24, 0x1e, 0x31, 0x83, 0x62, 0xb1, 0x94,
+  0x84, 0x89, 0x24, 0xec, 0xc6, 0xcd, 0x5f, 0x7b, 0xeb, 0xf1, 0x39, 0xe4,
+  0x51, 0xc5, 0x23, 0xde, 0x5c, 0x1e, 0x48, 0x6d, 0x39, 0xe9, 0x44, 0x81,
+  0xcb, 0xdc, 0xa7, 0x05, 0x4e, 0xd8, 0x7d, 0xb6, 0x9c, 0x92, 0x50, 0xc8,
+  0x0f, 0x2c, 0x17, 0xe1, 0x72, 0x52, 0x97, 0x0b, 0xea, 0x75, 0x96, 0x3e,
+  0x40, 0x7c, 0xa9, 0xb5, 0x42, 0x63, 0xa3, 0x3f, 0x17, 0xb4, 0x1d, 0x32,
+  0x9e, 0x41, 0xc8, 0x66, 0x21, 0x59, 0x32, 0x07, 0x69, 0x6c, 0x26, 0x1f,
+  0x1c, 0xb0, 0xbe, 0xf3, 0xb3, 0xe1, 0x25, 0xdf, 0x04, 0xe7, 0xef, 0x2e,
+  0xa9, 0x21, 0xba, 0xb6, 0x8a, 0x92, 0x36, 0x96, 0x5f, 0x9c, 0x27, 0x10,
+  0xc1, 0xad, 0x39, 0xda, 0xc3, 0x14, 0xe7, 0x5d, 0x2f, 0x1c, 0xeb, 0xd4,
+  0xc6, 0x07, 0x9d, 0x82, 0x49, 0xd9, 0x34, 0x8a, 0xe2, 0x26, 0xa1, 0x83,
+  0xe4, 0x5e, 0xdb, 0xfc, 0x7c, 0xab, 0x17, 0xf5, 0x5d, 0x73, 0x3f, 0xf2,
+  0xa3, 0x3f, 0x71, 0xcf, 0x45, 0x3a, 0x4b, 0xa7, 0x71, 0x70, 0x17, 0x3a,
+  0x96, 0xe4, 0x8f, 0xe6, 0x98, 0xd8, 0x2f, 0xc6, 0xec, 0xe5, 0x70, 0x5e,
+  0x40, 0x9c, 0x6b, 0xbf, 0x51, 0x93, 0x2c, 0x91, 0xf7, 0x58, 0x18, 0x76,
+  0x1c, 0x88, 0xb7, 0x8c, 0x8f, 0x7c, 0x65, 0x99, 0xea, 0xd4, 0xd1, 0x58,
+  0x36, 0x66, 0xe9, 0x50, 0xcb, 0xdc, 0xc2, 0x75, 0x46, 0x71, 0xde, 0x71,
+  0xcc, 0x4c, 0x05, 0x9e, 0x3c, 0xb9, 0x5e, 0xd2, 0xe0, 0x65, 0x55, 0x69,
+  0x7e, 0x9f, 0xf0, 0xd0, 0x59, 0x28, 0x77, 0x87, 0x9b, 0xa4, 0xbd, 0xf9,
+  0x64, 0xb0, 0x71, 0x06, 0x55, 0xcd, 0xe9, 0x75, 0x27, 0x7c, 0x27, 0xcf,
+  0x99, 0x13, 0xf6, 0x20, 0x86, 0x8f, 0x48, 0x5f, 0x4b, 0x40, 0x75, 0xc2,
+  0xd8, 0xe2, 0x3c, 0x89, 0x92, 0x39, 0x13, 0xcf, 0x44, 0x58, 0x65, 0xbf,
+  0x2f, 0x5f, 0x61, 0xc7, 0x57, 0x74, 0x9d, 0xc7, 0xd7, 0x71, 0xea, 0xce,
+  0xbc, 0x12, 0xda, 0x24, 0xb2, 0x87, 0xe7, 0x99, 0x3e, 0xcf, 0x9c, 0x89,
+  0x99, 0xac, 0x6e, 0xea, 0x12, 0xbc, 0x28, 0xe1, 0x3b, 0x8a, 0xf6, 0x04,
+  0x6b, 0xab, 0xed, 0xf2, 0xd5, 0x64, 0xcd, 0x8d, 0x70, 0x0d, 0xf3, 0x9d,
+  0x06, 0xca, 0xc4, 0x2d, 0x45, 0x2d, 0x76, 0x06, 0xfe, 0xf4, 0x41, 0xa0,
+  0x49, 0x59, 0x97, 0xa2, 0x9b, 0xe6, 0x9e, 0x65, 0xbb, 0xa2, 0x24, 0xfe,
+  0x01, 0xfe, 0x86, 0xcf, 0x68, 0x9c, 0x8e, 0x23, 0xdd, 0x64, 0xf7, 0x42,
+  0x36, 0x6e, 0x16, 0xd4, 0x46, 0x91, 0xe2, 0x3a, 0xe5, 0xcf, 0x67, 0x83,
+  0x68, 0x13, 0x0c, 0x94, 0xb8, 0x2c, 0xdf, 0x04, 0x7e, 0x16, 0x6e, 0x41,
+  0xee, 0x63, 0x27, 0xb0, 0xc7, 0x93, 0x89, 0x08, 0x5a, 0x2c, 0x2a, 0xbd,
+  0x18, 0xec, 0x0c, 0xd8, 0x46, 0x90, 0xdc, 0xa5, 0x19, 0xe9, 0x7b, 0x7c,
+  0x07, 0xf1, 0x45, 0xeb, 0xde, 0x8b, 0x58, 0xfb, 0xe1, 0x1b, 0xf4, 0xfa,
+  0x1a, 0xeb, 0x93, 0xcd, 0xb7, 0x49, 0x41, 0x8c, 0x02, 0xf6, 0x9b, 0x93,
+  0x72, 0x02, 0xce, 0xc3, 0x6b, 0x63, 0x72, 0x2c, 0x88, 0x2e, 0xe4, 0xbd,
+  0xba, 0x9a, 0x5b, 0x8e, 0x4e, 0xfa, 0xf1, 0x76, 0xbf, 0x1f, 0x2f, 0x58,
+  0xb1, 0xa9, 0x99, 0x03, 0x36, 0x89, 0x48, 0xb7, 0x59, 0x13, 0xde, 0x8a,
+  0xbe, 0x63, 0x79, 0x03, 0x5c, 0x9a, 0xe5, 0xc2, 0xb9, 0x53, 0x21, 0xb1,
+  0x74, 0x22, 0x91, 0xf0, 0x21, 0x31, 0xce, 0xd3, 0xda, 0x9c, 0x51, 0x6a,
+  0x9c, 0xb3, 0x14, 0x87, 0x4b, 0xce, 0x51, 0x21, 0x8f, 0x37, 0xa2, 0x1b,
+  0x27, 0x37, 0xed, 0x86, 0xf6, 0x6b, 0x20, 0x12, 0x16, 0x4e, 0x29, 0x3f,
+  0x5d, 0x6b, 0x8e, 0x0f, 0xc9, 0xbc, 0x4b, 0x2b, 0x94, 0x3c, 0xa4, 0xac,
+  0xc2, 0xf2, 0x0e, 0xab, 0xf4, 0xc0, 0x57, 0xca, 0x38, 0xc7, 0x62, 0x0c,
+  0x20, 0xde, 0x97, 0x89, 0x1c, 0x31, 0x0c, 0xf7, 0x6a, 0x1a, 0x5f, 0x13,
+  0x1d, 0xd5, 0x9a, 0x23, 0x4d, 0x3d, 0x63, 0xf6, 0x4e, 0xdc, 0xb5, 0x20,
+  0xf1, 0x9e, 0x34, 0xe2, 0xaf, 0xf5, 0x22, 0x2d, 0xa2, 0x4d, 0x62, 0xd0,
+  0xd3, 0x25, 0xb4, 0x8c, 0x33, 0x9a, 0x18, 0x7d, 0xb5, 0xe5, 0xcf, 0x59,
+  0xff, 0x80, 0xd6, 0x8f, 0xb5, 0xee, 0x7e, 0x4c, 0x27, 0xa1, 0x8c, 0x5e,
+  0xca, 0x8f, 0xa2, 0xe4, 0x5b, 0xe6, 0xf3, 0xfa, 0x92, 0x32, 0xaf, 0xda,
+  0x8a, 0x86, 0x2a, 0x30, 0xf2, 0xdc, 0xde, 0xf1, 0xab, 0x07, 0xc1, 0x3b,
+  0xbc, 0x50, 0x05, 0x2d, 0x9f, 0x2d, 0x18, 0xd8, 0x9b, 0x0c, 0x65, 0x50,
+  0x6b, 0x6e, 0xc8, 0x23, 0xa5, 0xf9, 0xc6, 0x13, 0x26, 0x18, 0xb9, 0x8f,
+  0xa3, 0xc3, 0xaf, 0x4e, 0x88, 0x5c, 0xae, 0x48, 0x1d, 0xa5, 0x59, 0x61,
+  0x01, 0x59, 0x7d, 0xa6, 0x1b, 0x99, 0xd8, 0x32, 0xcd, 0x1b, 0x6b, 0x46,
+  0x7a, 0x63, 0x28, 0x8d, 0xe9, 0xff, 0x3a, 0x6f, 0xb2, 0x9f, 0x69, 0x01,
+  0xe3, 0xed, 0xa7, 0x83, 0x1d, 0x3a, 0x23, 0x97, 0xa4, 0xb5, 0xcc, 0xc7,
+  0xd9, 0x84, 0x94, 0xf9, 0x69, 0x3c, 0xbf, 0x2d, 0x22, 0xd0, 0x2a, 0xf6,
+  0x43, 0x46, 0xca, 0x77, 0xd7, 0x32, 0xcf, 0xe9, 0x96, 0x9c, 0x44, 0xe1,
+  0xe5, 0x61, 0xc7, 0x45, 0xa6, 0x23, 0x87, 0xc0, 0x04, 0x81, 0xe8, 0x6f,
+  0x4b, 0xde, 0x8e, 0x59, 0x9c, 0xdf, 0x9a, 0xb4, 0xe1, 0xb4, 0x83, 0x51,
+  0x82, 0x81, 0xe1, 0xf9, 0x66, 0x73, 0xfd, 0xaf, 0x69, 0xa1, 0xd9, 0x44,
+  0xc0, 0x22, 0xbf, 0x9c, 0xbe, 0xcc, 0xe4, 0x12, 0xbf, 0x1d, 0x9e, 0xfb,
+  0x61, 0xde, 0xfa, 0x20, 0x6b, 0x71, 0xd4, 0x32, 0x9b, 0x2a, 0x98, 0x12,
+  0xe8, 0x4d, 0x3a, 0x9f, 0x62, 0x9d, 0x98, 0xc6, 0x74, 0xcc, 0x78, 0xe1,
+  0x3c, 0xed, 0x34, 0xfb, 0xe6, 0xef, 0x99, 0x82, 0xba, 0x05, 0x4e, 0x41,
+  0xb0, 0xfb, 0x7d, 0x62, 0xc9, 0x6c, 0x6e, 0x69, 0xdf, 0xe8, 0x4b, 0x3a,
+  0x15, 0x85, 0x3b, 0x16, 0x57, 0xe9, 0xf5, 0x32, 0x4f, 0x84, 0x91, 0xc3,
+  0x42, 0x63, 0x86, 0x19, 0x66, 0xbb, 0x37, 0x19, 0x88, 0x8f, 0xa4, 0xde,
+  0x64, 0x7a, 0xd5, 0xab, 0x35, 0xc7, 0xc7, 0xd7, 0x58, 0x1e, 0xf8, 0x42,
+  0x91, 0x8c, 0xd1, 0xd4, 0x3c, 0x51, 0xf6, 0x3d, 0xe3, 0x55, 0x65, 0xed,
+  0x3e, 0x1a, 0x4f, 0xe3, 0x74, 0x56, 0x88, 0x56, 0xa0, 0xaa, 0x6b, 0x9d,
+  0x6e, 0x2e, 0x55, 0x8a, 0x03, 0xc1, 0x8c, 0x58, 0x8a, 0xcc, 0x0b, 0x96,
+  0x13, 0x79, 0xbb, 0x62, 0xbb, 0x3e, 0xd1, 0x29, 0xe9, 0x82, 0xe3, 0x5b,
+  0x10, 0x25, 0x7a, 0x91, 0x9b, 0xa7, 0x5f, 0x6b, 0x4e, 0x36, 0xa5, 0xe0,
+  0xf5, 0x5c, 0x16, 0x6c, 0x51, 0x2a, 0xd2, 0x11, 0x11, 0x24, 0x49, 0x55,
+  0xcb, 0x31, 0x28, 0x80, 0xb5, 0x53, 0xd2, 0x83, 0xf3, 0x98, 0x65, 0xce,
+  0x12, 0xb6, 0xb0, 0x08, 0x64, 0xd3, 0x27, 0x12, 0x59, 0xb4, 0x8e, 0x0e,
+  0x36, 0x1f, 0x91, 0x0b, 0x2b, 0x4c, 0xa2, 0x50, 0xe9, 0x97, 0x8d, 0x2e,
+  0x2a, 0x6a, 0x8e, 0x6b, 0xab, 0x59, 0x6b, 0x4e, 0xd6, 0xb6, 0x47, 0x42,
+  0x7a, 0x4a, 0x2a, 0xb8, 0x69, 0x92, 0x24, 0x1c, 0x09, 0x5d, 0xf6, 0xfb,
+  0xa4, 0x13, 0xa5, 0xe3, 0x1e, 0xff, 0x36, 0x49, 0x49, 0xf9, 0x2c, 0xf1,
+  0xeb, 0xbc, 0x9c, 0xce, 0x7a, 0x51, 0xc8, 0xfd, 0xdd, 0x8e, 0xcf, 0x93,
+  0xeb, 0x8c, 0x74, 0xe2, 0xb2, 0x49, 0x75, 0xe0, 0x34, 0xc2, 0x6a, 0x54,
+  0x78, 0x70, 0xf4, 0x61, 0xa2, 0x00, 0xc9, 0x10, 0xc4, 0x8e, 0xd9, 0x8a,
+  0x34, 0xe1, 0xd3, 0xc9, 0xc3, 0xa1, 0xa1, 0x08, 0x3f, 0xad, 0xf3, 0x24,
+  0x88, 0xf5, 0x45, 0x49, 0x8c, 0xa7, 0xa7, 0x42, 0x22, 0xf1, 0xb8, 0x59,
+  0xbc, 0xc2, 0x0e, 0x91, 0x34, 0xe2, 0x24, 0x00, 0x1c, 0x1c, 0x62, 0x20,
+  0xe5, 0x7d, 0x3a, 0x56, 0xf1, 0x9a, 0x17, 0xa4, 0xce, 0x80, 0xd9, 0x00,
+  0x30, 0x4d, 0xf9, 0xc1, 0xd9, 0x92, 0xf6, 0x97, 0xde, 0xe2, 0xcb, 0x56,
+  0x54, 0x92, 0x7b, 0xda, 0xad, 0x81, 0x1c, 0x9b, 0x44, 0x44, 0x26, 0xba,
+  0xed, 0x58, 0x92, 0x8b, 0xf3, 0x14, 0xca, 0x57, 0xa3, 0x39, 0x19, 0x33,
+  0x4f, 0x32, 0x1c, 0x27, 0xbf, 0xae, 0x82, 0x8d, 0x17, 0x68, 0x70, 0xb4,
+  0x98, 0x23, 0x05, 0x07, 0x67, 0x44, 0xa7, 0x59, 0xac, 0x8c, 0xd1, 0x4b,
+  0xbe, 0xb3, 0x5f, 0xf1, 0x64, 0xd6, 0xf0, 0xcb, 0x73, 0x68, 0x7c, 0x37,
+  0x55, 0x91, 0x27, 0xe0, 0x8b, 0xa2, 0xd6, 0x49, 0x6b, 0xa6, 0x0a, 0x32,
+  0xed, 0xd7, 0x09, 0x95, 0x48, 0x33, 0x01, 0xab, 0x74, 0x6d, 0x2d, 0xfc,
+  0x85, 0x4b, 0x3b, 0x93, 0xa4, 0x77, 0x6c, 0x39, 0x74, 0xda, 0x94, 0x34,
+  0x0e, 0x53, 0x48, 0x67, 0x98, 0x94, 0xf5, 0xe6, 0x0e, 0xd1, 0xe1, 0x7e,
+  0x47, 0xcd, 0x29, 0xb0, 0x1c, 0xa2, 0x55, 0x5d, 0x3a, 0x5a, 0x60, 0xb5,
+  0x97, 0x5c, 0xb1, 0x5e, 0x42, 0x44, 0xd1, 0x61, 0xd3, 0xf9, 0xee, 0xab,
+  0x6f, 0x0f, 0x4e, 0xdf, 0x1d, 0xef, 0xfe, 0xb9, 0x4e, 0x3d, 0xf4, 0xdd,
+  0x9e, 0x7c, 0xb7, 0xd7, 0x69, 0xe3, 0x68, 0x44, 0x40, 0x51, 0xd4, 0x7d,
+  0xd5, 0x25, 0x05, 0x76, 0x36, 0xca, 0xa6, 0x3c, 0x4b, 0xbb, 0x93, 0xc1,
+  0xc9, 0x68, 0x14, 0x3d, 0x95, 0xf0, 0x4b, 0xb9, 0xfe, 0x64, 0x61, 0xf8,
+  0xf6, 0xac, 0x8f, 0x1d, 0xfa, 0xbe, 0x6a, 0xd6, 0x20, 0x80, 0x78, 0x12,
+  0x2e, 0x46, 0x51, 0xe2, 0x36, 0xd4, 0x0d, 0xe2, 0x96, 0x0b, 0xa1, 0x47,
+  0x3a, 0x13, 0x38, 0x48, 0x75, 0x5e, 0x2f, 0x33, 0xe6, 0x29, 0xfb, 0x21,
+  0x81, 0xeb, 0x16, 0x90, 0x8f, 0x52, 0x10, 0xd6, 0x8a, 0xa8, 0xb7, 0x1c,
+  0xdf, 0x0c, 0xe8, 0xd2, 0x13, 0x9e, 0x92, 0x16, 0x7a, 0x3c, 0xeb, 0xfc,
+  0x8e, 0xaf, 0x03, 0x56, 0xd1, 0xef, 0x68, 0x16, 0xb2, 0xf5, 0x1d, 0x1d,
+  0x0b, 0x29, 0x85, 0xb4, 0x2f, 0x1d, 0x3d, 0xce, 0xa0, 0x2c, 0x58, 0x90,
+  0x55, 0x03, 0xe4, 0xf3, 0x95, 0xd7, 0x9b, 0xa3, 0xb3, 0x93, 0xcd, 0xb8,
+  0x47, 0x35, 0x6b, 0xb3, 0x5b, 0xc1, 0x18, 0x02, 0x9f, 0x27, 0x1a, 0x35,
+  0xeb, 0xc0, 0x2b, 0x3d, 0x91, 0xdd, 0x3c, 0xd1, 0xe3, 0x2b, 0xea, 0x6e,
+  0x9d, 0xf2, 0xa9, 0xb1, 0x11, 0x09, 0xdb, 0x4a, 0xda, 0x72, 0x59, 0x45,
+  0xfd, 0x53, 0x22, 0xe8, 0x69, 0xa6, 0x0c, 0xdd, 0x0b, 0xad, 0x2a, 0xbd,
+  0x44, 0x8e, 0x06, 0xb2, 0xab, 0x96, 0x73, 0xa9, 0xcf, 0x30, 0xcf, 0xc6,
+  0x56, 0xd8, 0x40, 0xe5, 0x68, 0x39, 0x72, 0x22, 0xdd, 0x90, 0x56, 0x16,
+  0x94, 0xaf, 0x4c, 0x97, 0x34, 0x8f, 0x96, 0xe6, 0xde, 0x26, 0x65, 0x31,
+  0x8e, 0x17, 0xc9, 0xb6, 0xde, 0xe8, 0xb6, 0x91, 0xe8, 0x45, 0x06, 0xd2,
+  0x64, 0x5e, 0x67, 0x97, 0xc7, 0x26, 0x26, 0xe9, 0x93, 0x5e, 0x97, 0x17,
+  0x41, 0x36, 0x38, 0xb3, 0x7c, 0xc2, 0x20, 0x24, 0x2b, 0x93, 0x8e, 0x1b,
+  0x02, 0xd5, 0x9c, 0xb4, 0xa9, 0x01, 0x8c, 0xab, 0x36, 0x19, 0x35, 0x35,
+  0x1a, 0x71, 0xd9, 0xd9, 0xa0, 0x9e, 0x20, 0x6c, 0xe0, 0x63, 0xe7, 0x79,
+  0xa8, 0x73, 0x1b, 0xbd, 0xfd, 0xfa, 0x63, 0x37, 0x86, 0xfe, 0x5f, 0x63,
+  0x2f, 0x09, 0xa8, 0xd9, 0x1a, 0x0b, 0x45, 0x92, 0xfd, 0x9c, 0x44, 0xdf,
+  0xbb, 0x44, 0xd7, 0x96, 0xd7, 0xab, 0xfd, 0xca, 0xf2, 0xda, 0x9e, 0xf1,
+  0xeb, 0x23, 0x6a, 0x7e, 0xb2, 0x9c, 0x2d, 0x54, 0xd2, 0xf8, 0x5d, 0xdb,
+  0x31, 0x14, 0x89, 0xea, 0x97, 0x8a, 0x16, 0xa3, 0xe4, 0x17, 0x09, 0x16,
+  0x5f, 0x8a, 0x58, 0xd9, 0x8f, 0x8b, 0x71, 0x9a, 0xd6, 0xde, 0x3a, 0x86,
+  0x46, 0x15, 0x1d, 0x0c, 0x0f, 0x4f, 0x4e, 0xbc, 0x25, 0xe2, 0x5e, 0x84,
+  0x74, 0x9e, 0x06, 0xab, 0x97, 0xb4, 0x24, 0xec, 0xa2, 0x12, 0x5b, 0x1e,
+  0x1c, 0x59, 0x32, 0x6e, 0xba, 0xfd, 0xda, 0x4e, 0x1b, 0x8f, 0x2f, 0x99,
+  0x13, 0x6d, 0x8c, 0x45, 0x0a, 0x96, 0x86, 0x68, 0x3e, 0x6c, 0x17, 0x03,
+  0x59, 0xd0, 0xa5, 0x55, 0xa8, 0x12, 0xf5, 0xe7, 0x72, 0xb5, 0x48, 0x5e,
+  0x1d, 0x74, 0x44, 0x82, 0xab, 0xcf, 0x49, 0x16, 0x66, 0x1c, 0xd3, 0xf0,
+  0xd5, 0x86, 0x21, 0xb7, 0x13, 0x6f, 0xf1, 0x44, 0x2d, 0x0f, 0xca, 0x1b,
+  0xd9, 0x3a, 0x3e, 0x63, 0x11, 0x53, 0x6c, 0xc0, 0x74, 0x0b, 0x3d, 0xd9,
+  0xab, 0xb3, 0x96, 0x15, 0x5d, 0xff, 0xb3, 0x22, 0x94, 0xb9, 0x70, 0x63,
+  0xb7, 0x5f, 0x15, 0x35, 0x91, 0x8b, 0xc9, 0x06, 0xc7, 0xe5, 0x4b, 0x7e,
+  0xa5, 0x26, 0x28, 0x0c, 0x9c, 0x20, 0xd4, 0xdc, 0x18, 0x33, 0xae, 0xf2,
+  0x65, 0x5a, 0x93, 0x24, 0x97, 0xc5, 0x12, 0x36, 0xa6, 0x05, 0xc9, 0x4b,
+  0xe5, 0x94, 0x18, 0x5c, 0x2f, 0x5a, 0xce, 0xf9, 0xa7, 0xd3, 0x4c, 0x23,
+  0xaf, 0xb5, 0x7b, 0xe5, 0x07, 0xfa, 0x4d, 0x9e, 0xf2, 0x5c, 0xe3, 0x28,
+  0xe4, 0xb5, 0x22, 0x8d, 0x6b, 0xfb, 0x2a, 0x3d, 0xb0, 0x63, 0x87, 0x1e,
+  0x9b, 0xa4, 0xec, 0x04, 0xa4, 0x11, 0xd7, 0x77, 0xac, 0x55, 0x7c, 0xdc,
+  0x2c, 0x96, 0xc4, 0xd0, 0x88, 0xe5, 0x3b, 0xf1, 0x25, 0x10, 0x69, 0x78,
+  0x79, 0x4d, 0x76, 0xa9, 0x5f, 0x06, 0xc4, 0x64, 0x43, 0x8d, 0xa6, 0x3f,
+  0x4e, 0x17, 0x37, 0x7c, 0x3a, 0x5e, 0x42, 0x03, 0x66, 0x29, 0x5b, 0x3e,
+  0x68, 0x5c, 0xcf, 0xc3, 0xe1, 0xa9, 0x69, 0x33, 0x38, 0xe0, 0xe0, 0xa8,
+  0xf6, 0xb6, 0x2e, 0x7f, 0x6a, 0xae, 0x07, 0x33, 0x77, 0x0a, 0x57, 0xe4,
+  0xa6, 0xeb, 0x84, 0xe3, 0x3a, 0x12, 0x01, 0xc5, 0xec, 0xea, 0x30, 0xe0,
+  0xda, 0x57, 0x83, 0xe8, 0x02, 0xc2, 0xe0, 0x72, 0xc1, 0xa7, 0x27, 0x82,
+  0xeb, 0x52, 0xbf, 0xab, 0x35, 0x87, 0xc1, 0x87, 0x3b, 0x0a, 0x67, 0x5f,
+  0xe5, 0xf0, 0x55, 0xd8, 0x66, 0x1a, 0x7c, 0x47, 0x44, 0xbf, 0x5f, 0x67,
+  0x19, 0xde, 0x3b, 0x40, 0x92, 0xcd, 0xbc, 0x28, 0xa6, 0x70, 0xda, 0x4c,
+  0xb2, 0x71, 0xb1, 0x4d, 0x0a, 0x6f, 0xb1, 0x6d, 0x03, 0xac, 0xb8, 0x67,
+  0x8c, 0xb9, 0x0e, 0x87, 0x6e, 0x6e, 0x6c, 0x13, 0x81, 0xe4, 0xed, 0x76,
+  0x77, 0xba, 0x12, 0xd6, 0x21, 0xda, 0xe5, 0xa9, 0xda, 0x12, 0xbf, 0x9a,
+  0x2f, 0x2f, 0x4f, 0x87, 0x22, 0x57, 0xd4, 0x25, 0xc3, 0x25, 0xeb, 0x2a,
+  0xb6, 0x3b, 0x61, 0xe3, 0xb8, 0xaf, 0xe4, 0x0e, 0x18, 0x0e, 0x0f, 0xf1,
+  0xe1, 0x70, 0xc9, 0x6a, 0x01, 0x75, 0x93, 0xaf, 0x22, 0x55, 0x82, 0x6b,
+  0xcd, 0xf1, 0x6c, 0x6d, 0x7e, 0x62, 0xe6, 0xca, 0xf2, 0xd5, 0xe0, 0x2a,
+  0x99, 0x64, 0x79, 0x3c, 0x20, 0x56, 0x4d, 0x24, 0x09, 0x4f, 0x08, 0xe6,
+  0x4a, 0xc7, 0xf5, 0x3d, 0xcd, 0x1e, 0xd3, 0xfc, 0xe4, 0x88, 0x9f, 0xae,
+  0x93, 0x13, 0x5d, 0xdb, 0x49, 0xf1, 0x61, 0x8d, 0x0c, 0x17, 0x87, 0x39,
+  0xcb, 0xd8, 0x5a, 0x5a, 0xb4, 0xb1, 0x4d, 0x3b, 0x35, 0x2d, 0xb7, 0x1c,
+  0xec, 0x8e, 0x15, 0xc6, 0x40, 0x83, 0x5c, 0xb0, 0x91, 0x2b, 0x99, 0xb4,
+  0x73, 0x87, 0x0b, 0x53, 0x6d, 0x22, 0xff, 0xa4, 0x37, 0xa8, 0xd5, 0x23,
+  0x08, 0x88, 0x31, 0x5e, 0x67, 0x39, 0x31, 0xbc, 0x59, 0xd1, 0x20, 0x2d,
+  0xf1, 0x3f, 0xab, 0x7e, 0x45, 0x03, 0x17, 0x03, 0x66, 0xb9, 0xcc, 0x65,
+  0xf1, 0x97, 0xf3, 0xa0, 0x03, 0x5a, 0xb6, 0xe5, 0x0c, 0x5e, 0x63, 0x5b,
+  0x85, 0x76, 0x8e, 0x69, 0x6b, 0x22, 0x3c, 0xc7, 0xc9, 0x9f, 0xb0, 0x06,
+  0x14, 0xa2, 0x45, 0x2d, 0xe7, 0xde, 0x1b, 0x29, 0xda, 0x39, 0xeb, 0xe1,
+  0x75, 0xf9, 0xc4, 0x79, 0x1d, 0xf2, 0x84, 0x9f, 0xe5, 0x37, 0x69, 0x11,
+  0xb3, 0xbc, 0xba, 0x54, 0x38, 0x8f, 0x7d, 0x5e, 0x78, 0xe6, 0xc9, 0x2f,
+  0x49, 0xa5, 0xcc, 0xa8, 0x9f, 0xfa, 0x19, 0x7f, 0x13, 0x3f, 0xa4, 0xb3,
+  0xe5, 0x4c, 0xec, 0xd9, 0x62, 0x02, 0xd0, 0x27, 0x23, 0xef, 0x9b, 0x23,
+  0x7e, 0x98, 0xdd, 0xd7, 0x8e, 0x79, 0xcd, 0xa2, 0xec, 0xac, 0xfa, 0x98,
+  0x13, 0x7f, 0x47, 0x52, 0xdb, 0x40, 0xb5, 0x3d, 0x35, 0xb7, 0xcd, 0xd8,
+  0xe7, 0x23, 0x77, 0x76, 0xd0, 0x4e, 0xb4, 0xb8, 0x89, 0x8b, 0x84, 0x59,
+  0x18, 0xdd, 0xac, 0x6d, 0x53, 0x25, 0xe1, 0xad, 0x70, 0x6f, 0x24, 0x0d,
+  0x7e, 0x4d, 0x9b, 0x49, 0x82, 0x33, 0x2e, 0x68, 0x5a, 0x5e, 0xc4, 0x03,
+  0xc8, 0x95, 0xd7, 0x62, 0x63, 0x98, 0xd1, 0xad, 0x3b, 0x8b, 0x1f, 0xb0,
+  0x2a, 0x26, 0xc4, 0xfd, 0x5a, 0x94, 0xac, 0xb2, 0x71, 0xb0, 0x09, 0x35,
+  0x59, 0xe6, 0x25, 0x04, 0x11, 0x96, 0xcc, 0xeb, 0x9b, 0xe0, 0x0c, 0x46,
+  0x99, 0xf2, 0x58, 0x3c, 0xe9, 0xcc, 0xe2, 0x76, 0xdb, 0x89, 0x39, 0x9f,
+  0xed, 0xb0, 0x26, 0x72, 0xc5, 0x57, 0xb0, 0xae, 0x37, 0x05, 0xd8, 0xc5,
+  0x34, 0x01, 0x0d, 0x39, 0x25, 0x6d, 0xa0, 0xde, 0x2a, 0x69, 0xa4, 0x88,
+  0x2a, 0xcd, 0x54, 0xd4, 0xa4, 0x78, 0xd2, 0xa6, 0xa7, 0xc6, 0x81, 0xb4,
+  0x88, 0xd1, 0xc5, 0x30, 0x5a, 0x32, 0x9f, 0x8a, 0xb5, 0x35, 0xd7, 0x9c,
+  0xd7, 0xb5, 0xf0, 0x6e, 0xad, 0x39, 0x33, 0x66, 0x80, 0x52, 0x36, 0x8b,
+  0x2d, 0xa8, 0xa5, 0x73, 0x2f, 0x46, 0x32, 0xff, 0xbc, 0x9d, 0x67, 0xf7,
+  0xa4, 0x6d, 0xce, 0x33, 0xe9, 0xcb, 0xd6, 0x97, 0xc7, 0xde, 0xe0, 0x46,
+  0x89, 0xde, 0x38, 0x8d, 0x27, 0x4b, 0x27, 0x2f, 0x09, 0xcd, 0x99, 0xd4,
+  0x6c, 0x03, 0x6d, 0xb5, 0x3b, 0xaa, 0xf4, 0x1c, 0xba, 0x7f, 0x93, 0x32,
+  0x14, 0xe2, 0x4d, 0xb3, 0x72, 0xbe, 0xaf, 0x49, 0x5c, 0xdc, 0xf4, 0xa2,
+  0x4e, 0xbf, 0xd3, 0x6b, 0xa1, 0xb8, 0xba, 0x6c, 0x6c, 0xe3, 0x72, 0xc2,
+  0x52, 0xbb, 0x9c, 0xae, 0x8a, 0xba, 0x8e, 0x93, 0x89, 0x87, 0xc4, 0xba,
+  0x2e, 0x74, 0x7a, 0xb5, 0x7c, 0xf2, 0x85, 0xef, 0x1b, 0x13, 0x7a, 0xbc,
+  0xbf, 0xc9, 0xa6, 0xad, 0x27, 0x28, 0x50, 0xd5, 0x33, 0x6e, 0x06, 0xd6,
+  0x43, 0x76, 0x01, 0xb3, 0x24, 0x5d, 0x63, 0x22, 0xd1, 0x78, 0x9a, 0xc4,
+  0xf9, 0x74, 0xa5, 0x5a, 0x5c, 0xfd, 0x04, 0xdd, 0xc9, 0x54, 0xd8, 0xc6,
+  0x1b, 0x13, 0x75, 0xe6, 0x73, 0x5e, 0x5f, 0x75, 0x6b, 0x25, 0x13, 0x09,
+  0x9a, 0x28, 0xc5, 0x94, 0xaf, 0xab, 0x26, 0x6a, 0xc4, 0x5d, 0xca, 0x56,
+  0xa3, 0xc6, 0x6a, 0x27, 0xc9, 0x64, 0x14, 0x8f, 0x6f, 0xb1, 0xd2, 0x68,
+  0x53, 0x5c, 0x57, 0x7c, 0xfe, 0x9c, 0xa1, 0x89, 0x48, 0xf9, 0x86, 0x0e,
+  0x5e, 0x91, 0x96, 0xcb, 0x78, 0xdd, 0x89, 0xad, 0x0a, 0xed, 0x1f, 0x3c,
+  0xb4, 0x55, 0x5a, 0x6e, 0xd3, 0x9d, 0xd7, 0x1c, 0xe9, 0x43, 0x1c, 0x69,
+  0x12, 0xcd, 0xe6, 0x4b, 0x92, 0xdd, 0x89, 0xad, 0x66, 0x57, 0x57, 0x44,
+  0x20, 0x9f, 0x37, 0x4c, 0x07, 0xf2, 0xc8, 0xf6, 0x85, 0x06, 0x52, 0xb9,
+  0x23, 0x56, 0x75, 0xff, 0xf2, 0x85, 0x2d, 0xab, 0x74, 0x9d, 0xf2, 0x5e,
+  0x44, 0xd2, 0x5c, 0xd3, 0x64, 0x56, 0x7f, 0x22, 0xf2, 0xeb, 0x2b, 0x3e,
+  0x92, 0x20, 0x0c, 0x6b, 0xb4, 0x12, 0xa5, 0x3a, 0x2e, 0xeb, 0xd1, 0x1f,
+  0xc6, 0xa4, 0x6f, 0xd3, 0xc5, 0x82, 0x37, 0x0b, 0x01, 0x1a, 0xce, 0xc4,
+  0xc3, 0xad, 0x8d, 0x92, 0xeb, 0x74, 0x3e, 0x0f, 0x43, 0x65, 0xb2, 0x65,
+  0x3e, 0x76, 0x0a, 0xec, 0x28, 0xa1, 0xf3, 0x51, 0x6f, 0xce, 0x4c, 0x12,
+  0xde, 0x89, 0xaa, 0x26, 0x9c, 0x09, 0xa2, 0x6e, 0x8c, 0xfd, 0x9c, 0x5c,
+  0xc9, 0x9e, 0x40, 0xc5, 0x50, 0x8b, 0x58, 0xdb, 0x91, 0x79, 0xed, 0xed,
+  0x3e, 0xe6, 0xda, 0x18, 0x9e, 0xfc, 0xcf, 0x63, 0xef, 0xf0, 0x36, 0x23,
+  0x04, 0x69, 0x31, 0x4c, 0xdd, 0x0d, 0x72, 0x78, 0x47, 0x77, 0x7d, 0xa7,
+  0x7f, 0x18, 0xf5, 0x3b, 0x18, 0x48, 0xc5, 0x73, 0xb1, 0x2c, 0x33, 0x3a,
+  0xde, 0x1a, 0x1a, 0x80, 0xe8, 0x2e, 0xa6, 0x37, 0xd6, 0xad, 0xf2, 0x64,
+  0x5b, 0xfc, 0x3f, 0x59, 0x83, 0x5f, 0x61, 0x0b, 0x65, 0xb1, 0x6d, 0x96,
+  0x30, 0x43, 0x95, 0xea, 0x36, 0x11, 0x0b, 0x86, 0xec, 0x8f, 0xb8, 0x19,
+  0xb7, 0xa1, 0x1e, 0x8b, 0xcb, 0xbc, 0xa9, 0x2a, 0xa8, 0xa1, 0x58, 0xdc,
+  0x82, 0x2d, 0x2c, 0xe0, 0xd7, 0xbb, 0x81, 0xfa, 0xc2, 0x2d, 0x48, 0x4d,
+  0xc8, 0xeb, 0xe3, 0xa8, 0xf8, 0x7c, 0x88, 0xa4, 0xff, 0x4a, 0x32, 0x4d,
+  0xcd, 0xe4, 0x61, 0x6e, 0xad, 0x5e, 0x35, 0x7a, 0x43, 0xda, 0x6c, 0xb3,
+  0x72, 0xd0, 0x05, 0x4d, 0x22, 0x51, 0xcc, 0xa1, 0x29, 0x6c, 0x2a, 0x61,
+  0x7f, 0xb7, 0x4a, 0x9b, 0xd1, 0x4d, 0x4a, 0x63, 0xcf, 0xc7, 0x37, 0x2b,
+  0xbe, 0x2e, 0xd8, 0x00, 0xc9, 0xce, 0x9b, 0x4b, 0x3f, 0xcb, 0x3a, 0xdb,
+  0x42, 0x1f, 0x6a, 0x15, 0x4c, 0x59, 0x63, 0x60, 0x7d, 0x28, 0x9b, 0x1b,
+  0xfd, 0xd4, 0xc6, 0x47, 0x64, 0x71, 0xc3, 0x44, 0x9b, 0x4c, 0x59, 0x02,
+  0xa0, 0x05, 0x6c, 0x1b, 0x5d, 0x3f, 0x0b, 0x38, 0x38, 0xb6, 0x8d, 0xee,
+  0x17, 0x6a, 0x9c, 0x39, 0xa1, 0x18, 0xb0, 0xa4, 0x2b, 0xb6, 0xc2, 0x4a,
+  0x6f, 0x74, 0x19, 0x4d, 0xf9, 0x42, 0x5c, 0xd5, 0x9a, 0x53, 0x9f, 0x94,
+  0xbe, 0x6e, 0x6b, 0x6f, 0x3e, 0xa9, 0xfa, 0x76, 0x5e, 0x66, 0xfa, 0x95,
+  0x5d, 0x7d, 0xb6, 0x2a, 0xa2, 0x53, 0xd5, 0xb5, 0x7a, 0x09, 0x4e, 0x45,
+  0x7c, 0x4f, 0xbf, 0x7f, 0x55, 0x36, 0xac, 0x9c, 0xc1, 0x96, 0x56, 0x77,
+  0x7a, 0x7a, 0x05, 0x9f, 0xde, 0x16, 0x73, 0x1f, 0xa2, 0x94, 0x32, 0x3a,
+  0x7d, 0xcd, 0xd4, 0x76, 0x78, 0x41, 0x3f, 0x53, 0x73, 0xea, 0x31, 0x5b,
+  0x47, 0x90, 0x29, 0x2b, 0xe4, 0x6f, 0xbe, 0x1d, 0x46, 0x9b, 0x67, 0xc3,
+  0xed, 0x27, 0x2f, 0x76, 0xb6, 0xea, 0x6d, 0xf1, 0x4a, 0x41, 0x62, 0x69,
+  0x35, 0xda, 0x0e, 0xb7, 0x39, 0xa0, 0x76, 0x0b, 0x61, 0xcf, 0x77, 0xac,
+  0xf4, 0x56, 0xcc, 0x2c, 0xe7, 0xc7, 0x6f, 0xcc, 0x1e, 0x86, 0xdd, 0x8a,
+  0xa3, 0x43, 0x1a, 0x0f, 0xdb, 0xf2, 0x9b, 0x84, 0x73, 0x91, 0xdc, 0x99,
+  0x55, 0xed, 0x94, 0x15, 0x1e, 0x9c, 0x0a, 0xb6, 0xda, 0x99, 0x7a, 0xb8,
+  0x48, 0x98, 0x13, 0xf8, 0xf7, 0x95, 0xb5, 0x41, 0x4e, 0x68, 0x9e, 0xd6,
+  0x11, 0x64, 0xd4, 0x82, 0x86, 0x94, 0x43, 0xf6, 0xe7, 0x90, 0x89, 0xc9,
+  0x6f, 0x77, 0xc2, 0x6c, 0x4d, 0x0e, 0xcc, 0xd9, 0x0b, 0x5f, 0xef, 0xa7,
+  0x81, 0xff, 0x75, 0xc2, 0x16, 0x27, 0x36, 0x92, 0xbc, 0x7c, 0xc4, 0x02,
+  0x4e, 0x42, 0xab, 0x4a, 0xdc, 0x49, 0x14, 0x5c, 0x4e, 0x78, 0x0f, 0xf6,
+  0x69, 0xc4, 0x3f, 0x98, 0xe7, 0x26, 0xb0, 0x90, 0xb7, 0x8a, 0xdf, 0x3d,
+  0x17, 0xc7, 0x87, 0x9b, 0x2c, 0x5e, 0xc9, 0x8a, 0xc5, 0xd1, 0x28, 0xcf,
+  0xee, 0x39, 0x80, 0x58, 0x42, 0x10, 0x84, 0xf6, 0xd8, 0x5a, 0x81, 0xa8,
+  0x62, 0x16, 0xb3, 0xeb, 0xd7, 0x33, 0xcd, 0x59, 0x5c, 0x34, 0x2c, 0x1e,
+  0x7c, 0x7d, 0xf9, 0xe6, 0x14, 0xdb, 0x0a, 0x0d, 0x46, 0xb4, 0x1f, 0x39,
+  0xa1, 0xc5, 0x72, 0x44, 0xb2, 0x3d, 0xdf, 0xfd, 0xa5, 0x33, 0xbb, 0x84,
+  0x31, 0xc0, 0x46, 0xb9, 0x31, 0x02, 0xa3, 0x94, 0x17, 0x2f, 0xda, 0xac,
+  0xfe, 0xca, 0xf8, 0xcd, 0x3c, 0x8b, 0xcd, 0x24, 0x11, 0x87, 0xf4, 0x98,
+  0xd5, 0xa2, 0x4e, 0x39, 0xa4, 0x95, 0x4f, 0xd5, 0x44, 0xb2, 0xfd, 0xd0,
+  0x27, 0xc5, 0xbd, 0xcf, 0x83, 0xeb, 0x53, 0xf3, 0xe2, 0xd7, 0x64, 0xef,
+  0xf0, 0x21, 0x89, 0xc2, 0x4c, 0x28, 0xd4, 0x7c, 0xff, 0x35, 0xed, 0x04,
+  0x3f, 0xd1, 0xd8, 0x3d, 0xbf, 0x47, 0xfe, 0x56, 0xc5, 0xd2, 0x41, 0xb4,
+  0x95, 0xaf, 0xc4, 0x50, 0x37, 0xc0, 0x69, 0xe6, 0xa0, 0x6a, 0xf5, 0x2f,
+  0x10, 0x1f, 0x9f, 0xd6, 0xb9, 0x03, 0x1b, 0x8f, 0xf3, 0x95, 0x04, 0x32,
+  0xa8, 0x6d, 0xd7, 0x7c, 0x5c, 0xce, 0xcc, 0x29, 0x6d, 0xca, 0x93, 0xde,
+  0x9a, 0x9c, 0xb1, 0xaa, 0x5e, 0x3f, 0xef, 0xea, 0xa4, 0xe5, 0xd7, 0xee,
+  0xe2, 0xe9, 0x12, 0xda, 0x6b, 0x2c, 0xfb, 0x20, 0x5e, 0x5f, 0x44, 0x11,
+  0xc6, 0x2b, 0x34, 0xae, 0x0d, 0xbb, 0x35, 0x68, 0x95, 0x95, 0x38, 0xcc,
+  0x44, 0xae, 0xf7, 0x22, 0x71, 0x11, 0x08, 0x76, 0x06, 0xaa, 0x96, 0x4e,
+  0x8b, 0x2c, 0xb5, 0x48, 0x83, 0xfa, 0xe0, 0x5c, 0xe4, 0x41, 0x2f, 0x70,
+  0xba, 0xa4, 0x7c, 0x0d, 0x04, 0x64, 0x1c, 0xf8, 0x5e, 0x67, 0x49, 0x7e,
+  0x8d, 0xe8, 0xa9, 0x8c, 0xa4, 0xbd, 0xa6, 0x4d, 0x47, 0x7c, 0x76, 0xb1,
+  0x8b, 0x0e, 0x83, 0xf0, 0xfe, 0x87, 0xbe, 0x38, 0x44, 0xa0, 0x4d, 0x2e,
+  0xe9, 0x5c, 0x9a, 0x54, 0xdf, 0xed, 0x4f, 0x22, 0xf5, 0x2d, 0xcd, 0x69,
+  0x25, 0x68, 0x1f, 0x9b, 0x82, 0xce, 0x74, 0xfa, 0x6a, 0x4a, 0x62, 0xd7,
+  0xaa, 0x1b, 0x69, 0xe8, 0x92, 0x06, 0xb4, 0x94, 0x6a, 0xa7, 0x43, 0x14,
+  0xc6, 0xf8, 0x66, 0x39, 0xbf, 0x35, 0xdb, 0xdc, 0x94, 0x84, 0xee, 0x22,
+  0x42, 0xf4, 0x7d, 0xad, 0xb9, 0x6e, 0xd0, 0xd9, 0x1f, 0xc2, 0xb6, 0x5b,
+  0x57, 0x59, 0x94, 0x07, 0x8e, 0xa1, 0x0c, 0x1c, 0x52, 0xee, 0xf2, 0x92,
+  0x08, 0xd4, 0xe8, 0x8b, 0x9e, 0xb9, 0x5e, 0xcb, 0xc0, 0x0f, 0x10, 0x37,
+  0xcf, 0xa1, 0x57, 0x3c, 0xe0, 0x40, 0x70, 0x0d, 0x8a, 0xd3, 0x86, 0x78,
+  0x79, 0xdf, 0xfc, 0x8d, 0x5e, 0x65, 0x74, 0xfe, 0x86, 0xb6, 0xdb, 0x50,
+  0xe8, 0xdd, 0xfb, 0xf6, 0x5c, 0x82, 0x03, 0xce, 0x5b, 0x61, 0xf2, 0x1f,
+  0xba, 0x86, 0xb9, 0x4e, 0xaf, 0xc2, 0xa6, 0x38, 0xc9, 0x34, 0xeb, 0x4e,
+  0xdc, 0x9b, 0x30, 0xcc, 0xb1, 0xe6, 0xfc, 0x37, 0x82, 0x18, 0x44, 0xe7,
+  0x99, 0xc4, 0x63, 0x63, 0x14, 0x6d, 0xea, 0xa6, 0xdd, 0x27, 0x3c, 0xe9,
+  0x49, 0xd4, 0xbd, 0xca, 0xb2, 0x51, 0x9c, 0x77, 0x75, 0x0b, 0xe1, 0x87,
+  0x1e, 0xa9, 0x95, 0x4d, 0x63, 0x70, 0x30, 0x9d, 0x2f, 0xe8, 0xb9, 0x3a,
+  0x85, 0x8e, 0xe2, 0x8a, 0x5d, 0x24, 0x3c, 0x77, 0x8f, 0x71, 0xe4, 0x4b,
+  0x55, 0x41, 0x4a, 0x35, 0x71, 0x43, 0xca, 0x9e, 0x42, 0x7a, 0xa9, 0xb9,
+  0x4d, 0xd8, 0x6b, 0xa7, 0xde, 0xef, 0x45, 0xde, 0xe8, 0x9e, 0x05, 0x22,
+  0xc4, 0xd0, 0x12, 0x6d, 0x15, 0x59, 0x72, 0x17, 0x46, 0x53, 0xff, 0x76,
+  0xc4, 0xc2, 0xcb, 0x46, 0x1b, 0x7a, 0x84, 0xfb, 0x43, 0xe6, 0xe1, 0x82,
+  0xbe, 0x25, 0x8e, 0x2d, 0xb2, 0x90, 0xef, 0x06, 0x8f, 0x6b, 0x09, 0xc4,
+  0xe9, 0xf1, 0x0c, 0x11, 0xf1, 0xa4, 0x67, 0x64, 0x9e, 0xdc, 0xab, 0xd3,
+  0x90, 0x99, 0x2b, 0x5f, 0x05, 0xcc, 0xb7, 0xc5, 0xb4, 0x35, 0x86, 0xf4,
+  0x51, 0x58, 0x7c, 0x58, 0x5d, 0xb9, 0xe2, 0x25, 0xc0, 0xce, 0xfd, 0x93,
+  0x97, 0xb2, 0x29, 0x95, 0xf0, 0x58, 0x66, 0x6c, 0x98, 0x32, 0x0d, 0xbf,
+  0xb1, 0x0e, 0x1c, 0xf5, 0x20, 0xd1, 0xb9, 0x08, 0x58, 0x92, 0x45, 0x8d,
+  0x0b, 0xcd, 0xe1, 0x18, 0xc9, 0x8a, 0x38, 0xe6, 0xdf, 0xa0, 0x12, 0xc7,
+  0x44, 0x7f, 0x09, 0xa1, 0xf4, 0xdc, 0x02, 0xeb, 0x8d, 0x26, 0x31, 0xda,
+  0x4a, 0xa0, 0x2e, 0x4c, 0x2c, 0x6d, 0x84, 0x94, 0x48, 0xb8, 0x1b, 0x2f,
+  0x32, 0x8c, 0x6b, 0x2e, 0x9e, 0x89, 0x54, 0x77, 0xe6, 0xf5, 0x85, 0x3f,
+  0x66, 0x34, 0xdf, 0x41, 0x55, 0xe2, 0xf8, 0x6c, 0xb0, 0xb3, 0xd5, 0x14,
+  0x3a, 0x89, 0x36, 0x0e, 0xbf, 0x3a, 0x81, 0xd1, 0x74, 0x9a, 0xc6, 0x9c,
+  0xd1, 0xc0, 0x7d, 0xc8, 0x5c, 0x34, 0xbf, 0xc4, 0x88, 0xe8, 0x9a, 0xed,
+  0x7e, 0x8e, 0xf9, 0x86, 0x31, 0x76, 0xce, 0x2c, 0xc2, 0x2b, 0xad, 0xf9,
+  0x39, 0xb1, 0xb1, 0xe7, 0x4c, 0x22, 0x3b, 0x63, 0xe3, 0x1a, 0x2e, 0x64,
+  0x23, 0xf6, 0x8e, 0x80, 0xd6, 0xb5, 0x43, 0xef, 0xcc, 0x1b, 0xd8, 0xe9,
+  0x19, 0xc3, 0x8a, 0x4a, 0xcb, 0x05, 0xa6, 0xd5, 0xb0, 0xd2, 0xfa, 0x4d,
+  0x96, 0x94, 0x9d, 0xa4, 0xd8, 0xdf, 0x68, 0x58, 0x59, 0xd0, 0x7d, 0x7b,
+  0xbe, 0x9b, 0x93, 0x46, 0xc4, 0x91, 0x8c, 0x4e, 0x3c, 0xcb, 0x0a, 0x85,
+  0x0c, 0x91, 0x6b, 0x58, 0x2c, 0xc1, 0xfa, 0xb7, 0x37, 0x07, 0x5d, 0xf6,
+  0x3f, 0x99, 0x21, 0x42, 0xd6, 0x24, 0x0a, 0x67, 0x69, 0xda, 0x32, 0x19,
+  0xc2, 0xd6, 0x2c, 0x84, 0x8d, 0xff, 0x8e, 0x1b, 0x5e, 0x66, 0x17, 0xfa,
+  0xb3, 0x8a, 0x5e, 0x31, 0xff, 0xfe, 0x42, 0xdd, 0xfe, 0x6c, 0x6c, 0x0e,
+  0xb5, 0x77, 0xd1, 0x32, 0xd5, 0x09, 0x2e, 0xa2, 0x09, 0x96, 0xa1, 0xbd,
+  0x39, 0x38, 0xe0, 0xc3, 0xd5, 0x13, 0xf2, 0xe3, 0xc0, 0xd4, 0x42, 0x92,
+  0xb6, 0x1a, 0x2e, 0xcf, 0x57, 0x1f, 0x5e, 0xbd, 0x5f, 0xba, 0x7c, 0x8f,
+  0xaf, 0xde, 0x25, 0xa2, 0x8c, 0x49, 0x46, 0x40, 0x74, 0xc9, 0xab, 0x20,
+  0xdc, 0x81, 0xb5, 0x7b, 0x09, 0xc6, 0xf3, 0xfe, 0xe3, 0xea, 0xd1, 0x0c,
+  0x4c, 0x34, 0xaf, 0x7e, 0xad, 0x5d, 0x07, 0x31, 0xc2, 0x25, 0xc3, 0x83,
+  0x6f, 0x6f, 0x4e, 0xd8, 0x1e, 0xf6, 0x3e, 0x8c, 0x37, 0xd4, 0x5b, 0x19,
+  0x2d, 0x50, 0x7f, 0xc9, 0xc3, 0x42, 0x4d, 0xd4, 0x38, 0x7d, 0x2d, 0xc2,
+  0x5c, 0x45, 0xa6, 0x9b, 0xd8, 0x9d, 0xda, 0x98, 0xdf, 0x17, 0xc6, 0xc4,
+  0x3f, 0x34, 0xb9, 0x4a, 0x70, 0x04, 0xc2, 0x72, 0xc2, 0x8b, 0xbd, 0x62,
+  0x5a, 0x6a, 0xb1, 0x74, 0x19, 0x27, 0xf3, 0x01, 0x90, 0x92, 0x1f, 0x61,
+  0xec, 0x7d, 0xab, 0x57, 0x5d, 0xb3, 0x58, 0xc5, 0x5e, 0xdb, 0xe8, 0xf6,
+  0xe6, 0x52, 0x56, 0x98, 0x6c, 0xfb, 0x58, 0x71, 0x69, 0xdd, 0xbe, 0xff,
+  0xcb, 0xa6, 0x28, 0x36, 0x3a, 0x50, 0x83, 0x90, 0x03, 0x9b, 0x33, 0xd5,
+  0xab, 0x43, 0x6a, 0x1b, 0xdd, 0x5f, 0x11, 0xa7, 0x8b, 0xae, 0x61, 0x02,
+  0xb8, 0x9f, 0xd8, 0x22, 0xc7, 0xc6, 0xa6, 0x29, 0x44, 0xa3, 0x54, 0x62,
+  0x9d, 0x5f, 0x79, 0x75, 0xa6, 0x8f, 0x40, 0x1f, 0xa5, 0xda, 0x01, 0xe8,
+  0xf0, 0x11, 0x62, 0x75, 0xc4, 0xd9, 0x4e, 0x97, 0x6b, 0x29, 0xd0, 0x7c,
+  0xca, 0xed, 0xb7, 0x9d, 0x84, 0x26, 0x14, 0xe2, 0x74, 0x3f, 0xc2, 0x83,
+  0x6b, 0xbd, 0xee, 0x71, 0xf0, 0x4d, 0xd3, 0x87, 0x68, 0x97, 0x1c, 0x1b,
+  0x46, 0x21, 0x70, 0x22, 0xf9, 0x80, 0x56, 0xfc, 0x3e, 0xcb, 0x35, 0x48,
+  0x6b, 0x94, 0x80, 0xeb, 0xf3, 0x19, 0xcd, 0xe0, 0x55, 0x62, 0x1b, 0x37,
+  0x07, 0xc6, 0x35, 0x43, 0x76, 0xd8, 0x66, 0x8d, 0x70, 0x03, 0xd8, 0x37,
+  0x2c, 0xb0, 0xa7, 0x19, 0xca, 0xa3, 0x76, 0x2a, 0xe4, 0x91, 0xd0, 0x5c,
+  0x97, 0x1a, 0xdc, 0xdb, 0xee, 0xb0, 0x43, 0xa4, 0xae, 0xe4, 0xf3, 0xca,
+  0x52, 0x1a, 0x51, 0xf0, 0x10, 0x03, 0x47, 0x93, 0xf9, 0xe3, 0x1f, 0xf1,
+  0xbf, 0xe3, 0x55, 0x1f, 0x2d, 0xc8, 0xc6, 0x17, 0xcb, 0x64, 0x55, 0x99,
+  0xe0, 0x5f, 0xb0, 0x51, 0x04, 0x62, 0x50, 0x36, 0xa6, 0x73, 0x92, 0x23,
+  0xb7, 0xb1, 0xa1, 0xa9, 0xd1, 0x29, 0x82, 0xc5, 0x4a, 0xbc, 0xd2, 0xe3,
+  0xa4, 0xba, 0xe7, 0x88, 0xcc, 0xef, 0x27, 0x8b, 0xbc, 0x6c, 0x89, 0x13,
+  0x97, 0x50, 0x57, 0x9f, 0x7a, 0x22, 0x4f, 0x8b, 0x2b, 0xd4, 0x87, 0xa3,
+  0x1f, 0x9f, 0x5f, 0x5c, 0x62, 0xa2, 0xa7, 0xfc, 0x8b, 0x1a, 0x6f, 0xeb,
+  0xe3, 0x80, 0xd1, 0x41, 0x63, 0x51, 0x39, 0x02, 0x2c, 0x81, 0xdd, 0xcb,
+  0xe5, 0x43, 0x0d, 0x82, 0xa4, 0x2a, 0x97, 0xee, 0x13, 0x4f, 0xef, 0x39,
+  0x69, 0x06, 0x12, 0x5d, 0x63, 0x6d, 0x25, 0xf1, 0xca, 0xc2, 0x11, 0x78,
+  0x0c, 0x3d, 0xb9, 0x33, 0x31, 0x0a, 0xb1, 0x58, 0x9b, 0x5d, 0xea, 0x8c,
+  0xbf, 0x64, 0x17, 0x85, 0x8a, 0xd6, 0x6b, 0x5c, 0xb5, 0x3d, 0xc9, 0x27,
+  0x98, 0x4e, 0xd1, 0x24, 0xbf, 0x15, 0xe5, 0x48, 0xd3, 0x8b, 0x69, 0x1c,
+  0x03, 0x3f, 0x4f, 0xe9, 0x42, 0x2c, 0x51, 0x44, 0x7b, 0x41, 0x4e, 0xb6,
+  0x29, 0xa0, 0x12, 0xdc, 0xcf, 0x7a, 0x98, 0x88, 0xad, 0xd4, 0x0c, 0xb2,
+  0x7c, 0x30, 0x69, 0x97, 0xb8, 0x27, 0xfe, 0x65, 0xd6, 0xe1, 0xf9, 0x06,
+  0x44, 0x00, 0x2d, 0xa7, 0x50, 0x34, 0x0c, 0x28, 0x1a, 0xb1, 0x6e, 0x5e,
+  0x96, 0x64, 0xa5, 0xc9, 0x17, 0xa2, 0xb4, 0x5f, 0xa9, 0x05, 0x37, 0x9e,
+  0xa6, 0xe5, 0x4a, 0x84, 0xfd, 0x91, 0x28, 0x0e, 0x6a, 0x02, 0x6a, 0x8b,
+  0x18, 0xa5, 0x85, 0x9f, 0xa4, 0xf2, 0x96, 0x4c, 0x54, 0xb7, 0xad, 0x41,
+  0x8e, 0xc3, 0x20, 0x8d, 0x49, 0x12, 0x1a, 0x98, 0xe0, 0x99, 0x5e, 0x4c,
+  0x90, 0x5b, 0xaa, 0x18, 0x47, 0xdc, 0x66, 0x9a, 0x8e, 0x53, 0xd6, 0x96,
+  0x74, 0x78, 0xbc, 0x60, 0xf5, 0x7d, 0xe3, 0xbc, 0x10, 0x3d, 0x15, 0xf3,
+  0x4c, 0xda, 0x61, 0x9e, 0xc1, 0xd3, 0x4e, 0x63, 0x49, 0x99, 0xab, 0x92,
+  0x65, 0x63, 0x44, 0x47, 0xf8, 0x92, 0xf7, 0x15, 0x1b, 0x02, 0x3f, 0xd3,
+  0xf8, 0x06, 0x19, 0xa6, 0xe2, 0xde, 0x17, 0xf2, 0x1a, 0x25, 0x37, 0xf1,
+  0x5d, 0x9a, 0xe5, 0x83, 0x4a, 0xaa, 0x51, 0xd3, 0x72, 0x58, 0x10, 0x4d,
+  0x8c, 0x6f, 0x64, 0xb3, 0xf8, 0x90, 0xf3, 0xbb, 0x1a, 0xbc, 0x04, 0xed,
+  0x4c, 0x13, 0x8d, 0xb0, 0x45, 0x30, 0xb5, 0x9c, 0x6f, 0x8b, 0x7d, 0x16,
+  0xee, 0xb3, 0x46, 0x9c, 0x1e, 0x42, 0xad, 0x5c, 0x5e, 0x8a, 0x3e, 0x19,
+  0x17, 0x77, 0xed, 0xa7, 0xae, 0xb8, 0xfb, 0xe5, 0xa7, 0x0e, 0x01, 0xd3,
+  0x20, 0xab, 0xe3, 0xf3, 0xe1, 0xb7, 0x91, 0xf3, 0x96, 0xb4, 0x45, 0xf3,
+  0xca, 0x81, 0xf3, 0xf3, 0x02, 0xf9, 0x05, 0x87, 0xee, 0x9f, 0x3c, 0x75,
+  0xee, 0xd0, 0x51, 0xff, 0x7a, 0xd2, 0xce, 0x0f, 0x86, 0xdf, 0xd6, 0xce,
+  0x98, 0x77, 0x23, 0x58, 0x12, 0x47, 0x5d, 0x1e, 0xe0, 0x24, 0xaa, 0xdc,
+  0x82, 0xd2, 0xb8, 0xb5, 0x8f, 0x26, 0xbf, 0xe2, 0xee, 0xd7, 0x21, 0x3f,
+  0x6a, 0xe7, 0x31, 0xf2, 0x0b, 0xf7, 0xad, 0x85, 0xfc, 0x68, 0xfa, 0x0d,
+  0xf2, 0xb3, 0xb5, 0x6e, 0xa7, 0xbf, 0x75, 0xe4, 0x57, 0x66, 0x46, 0xb7,
+  0x20, 0xbd, 0x20, 0xc3, 0xad, 0x49, 0x74, 0x01, 0x29, 0xd5, 0xe2, 0x1a,
+  0xdb, 0x2d, 0xf7, 0xdf, 0x21, 0x7e, 0x40, 0x93, 0xfc, 0x24, 0x03, 0x39,
+  0x08, 0x94, 0xac, 0x26, 0x7e, 0x23, 0x6c, 0x73, 0xa3, 0x35, 0x74, 0x3f,
+  0x70, 0xb2, 0x4a, 0x58, 0xad, 0xcb, 0xe0, 0x25, 0xa6, 0x1b, 0x4c, 0x50,
+  0x23, 0x3e, 0xb9, 0x5d, 0xed, 0x66, 0xa3, 0x45, 0x4e, 0x89, 0x35, 0xd2,
+  0x3b, 0x45, 0x4c, 0x00, 0x5b, 0xc1, 0xe9, 0x4d, 0x6a, 0x65, 0xa0, 0xf1,
+  0xd7, 0x45, 0x28, 0xe7, 0xd9, 0x70, 0x25, 0x12, 0xb4, 0xc9, 0xce, 0xe6,
+  0xe2, 0x01, 0x10, 0x1b, 0x19, 0x82, 0x59, 0x62, 0x8b, 0x67, 0x71, 0x60,
+  0x13, 0x73, 0xe7, 0x6f, 0x00, 0xd6, 0x84, 0x8f, 0x10, 0xa8, 0x5b, 0x85,
+  0x83, 0x70, 0x58, 0x99, 0xf2, 0xef, 0x20, 0xe4, 0xad, 0x09, 0x51, 0xe5,
+  0xd5, 0x90, 0xac, 0x33, 0xe1, 0xbb, 0xcd, 0x38, 0x05, 0xe5, 0xc3, 0xb5,
+  0x48, 0xd8, 0xc6, 0x22, 0xc3, 0x31, 0xe7, 0x72, 0x23, 0x2c, 0xb4, 0x33,
+  0x09, 0xfd, 0xa2, 0x2e, 0xa4, 0x49, 0x8c, 0x30, 0x71, 0x1e, 0x3a, 0x3d,
+  0x1a, 0x0e, 0x11, 0x9e, 0x5f, 0x47, 0x57, 0xae, 0xa3, 0xd1, 0x47, 0x4b,
+  0x79, 0x8b, 0xa3, 0x68, 0x61, 0x4c, 0xcc, 0x93, 0xdf, 0xd0, 0x0b, 0x99,
+  0xd0, 0x82, 0x21, 0x4f, 0x91, 0x09, 0x93, 0x84, 0xcf, 0x75, 0x69, 0x53,
+  0xb2, 0xfb, 0x1c, 0x0c, 0x7e, 0xa1, 0x4f, 0x9f, 0xc7, 0xd7, 0x09, 0x27,
+  0x33, 0x8a, 0x33, 0xc9, 0x47, 0x1d, 0x69, 0x3e, 0x7c, 0x7b, 0xda, 0xd4,
+  0xa5, 0xc5, 0xc1, 0xb6, 0xa6, 0x1d, 0x55, 0x12, 0x8d, 0x90, 0x2c, 0xe6,
+  0xd3, 0x8c, 0x64, 0xf1, 0x9b, 0xa1, 0xc9, 0x16, 0x20, 0x5d, 0x89, 0x01,
+  0x77, 0xc8, 0x07, 0x62, 0x5c, 0xea, 0xfc, 0x99, 0x9d, 0xcb, 0x1d, 0x1b,
+  0x60, 0xe4, 0xa6, 0xdc, 0xb4, 0x96, 0xf2, 0x33, 0x5e, 0x2b, 0xad, 0xfa,
+  0xa4, 0x79, 0xa8, 0x72, 0x42, 0x35, 0x5e, 0x80, 0x9f, 0xc7, 0xc9, 0x22,
+  0xde, 0x49, 0x82, 0x5e, 0x9d, 0xac, 0x48, 0xf0, 0x63, 0x49, 0xfb, 0x54,
+  0x47, 0xb5, 0xaf, 0x47, 0x44, 0xf4, 0x11, 0x1b, 0x93, 0xa6, 0x6a, 0x29,
+  0xa3, 0xb4, 0x90, 0xee, 0x29, 0xe3, 0x84, 0xd4, 0x9d, 0x0d, 0xac, 0x47,
+  0xb9, 0xc4, 0x15, 0xb6, 0x5e, 0xf0, 0x80, 0x62, 0xd6, 0x75, 0x52, 0x00,
+  0x45, 0xb8, 0x69, 0xfd, 0x96, 0x5e, 0xeb, 0x64, 0x7e, 0xcd, 0xc9, 0x8c,
+  0x2f, 0x5b, 0x63, 0xa5, 0x92, 0xa9, 0x4f, 0xef, 0xb5, 0x88, 0xca, 0x71,
+  0xbe, 0x5a, 0x30, 0xeb, 0x97, 0xf7, 0x94, 0x1f, 0x31, 0x0f, 0x97, 0xb8,
+  0xc9, 0x20, 0x1b, 0x7c, 0xd0, 0x12, 0x2c, 0xe0, 0x3a, 0x94, 0x90, 0x52,
+  0x08, 0x00, 0xb4, 0x60, 0x25, 0xb8, 0x87, 0x7c, 0xc6, 0x57, 0xed, 0x68,
+  0x99, 0x4e, 0x27, 0x12, 0x3a, 0xe6, 0x41, 0x43, 0x1a, 0xce, 0x1a, 0x6e,
+  0xa8, 0x18, 0x54, 0x93, 0x85, 0x90, 0xec, 0x8b, 0x10, 0xa9, 0x4d, 0x8e,
+  0xd3, 0x9d, 0xd3, 0xdc, 0xb7, 0x4c, 0x68, 0xd6, 0x37, 0x34, 0x51, 0xa1,
+  0x7e, 0x4d, 0xdd, 0xc5, 0xe9, 0x14, 0x77, 0x18, 0x35, 0x93, 0x2f, 0xe7,
+  0xe8, 0xbd, 0xba, 0x52, 0x77, 0x69, 0x9e, 0xcd, 0x67, 0x4d, 0x3b, 0xc8,
+  0xe6, 0xc5, 0xc9, 0xf0, 0x30, 0x3a, 0x1b, 0x46, 0x67, 0x6f, 0x4f, 0x7f,
+  0xe0, 0xc3, 0x85, 0x88, 0x63, 0x00, 0x70, 0x70, 0xd7, 0xc1, 0x8b, 0xd1,
+  0x5d, 0x9c, 0xa7, 0x50, 0xeb, 0x7a, 0xeb, 0xb9, 0xa1, 0x40, 0x42, 0xe0,
+  0xfc, 0xdc, 0xdb, 0x16, 0xfb, 0xf0, 0x48, 0xbe, 0xb5, 0x10, 0x23, 0x98,
+  0xc4, 0x45, 0x9a, 0xe4, 0x62, 0x0f, 0x1f, 0x5b, 0x12, 0xdf, 0xb2, 0x99,
+  0x53, 0xc6, 0x36, 0xb3, 0xf0, 0x58, 0x4b, 0x20, 0x1b, 0x5f, 0x94, 0xd4,
+  0x3d, 0x4d, 0xb4, 0x16, 0xd9, 0x41, 0x13, 0xbd, 0x16, 0xfd, 0x77, 0x8d,
+  0x4f, 0x3a, 0x88, 0x54, 0x5e, 0xe9, 0xed, 0xcb, 0xa6, 0x79, 0xa8, 0xe3,
+  0x4e, 0xfa, 0x3e, 0x9e, 0x97, 0x79, 0xb6, 0x20, 0x9e, 0xff, 0x55, 0xcc,
+  0x2c, 0x0f, 0x33, 0x3d, 0x8a, 0x93, 0x59, 0x23, 0xfa, 0xa0, 0xc8, 0xc6,
+  0xb7, 0x49, 0xa9, 0x1e, 0x11, 0xfd, 0x2b, 0x48, 0x59, 0x83, 0x5e, 0x28,
+  0x7c, 0x93, 0x17, 0x74, 0x42, 0xd7, 0x93, 0x12, 0x10, 0x93, 0x1c, 0x0d,
+  0xa5, 0x69, 0x9e, 0x34, 0x28, 0x88, 0x6a, 0x78, 0x22, 0x9f, 0x26, 0xbc,
+  0x2f, 0x53, 0xab, 0x07, 0x24, 0xf6, 0x8f, 0xf9, 0xa6, 0x61, 0x4f, 0xfe,
+  0xcb, 0xc0, 0xff, 0xfd, 0xe3, 0xbe, 0xa9, 0xa0, 0x3f, 0xb5, 0x2f, 0x43,
+  0x33, 0x44, 0xbe, 0x7a, 0xb5, 0x07, 0x6d, 0x69, 0xd0, 0x1c, 0xb3, 0x97,
+  0xeb, 0x96, 0x2b, 0xcb, 0x32, 0xf1, 0x34, 0xb4, 0x8e, 0x56, 0x14, 0xbe,
+  0xff, 0x48, 0x32, 0x0e, 0x86, 0xc2, 0x64, 0xc2, 0xe6, 0x2c, 0xf1, 0x8c,
+  0xee, 0xad, 0xf3, 0xe3, 0x37, 0x8f, 0x84, 0xd6, 0xc1, 0x34, 0xb9, 0x50,
+  0xbd, 0xc3, 0x69, 0xfd, 0x92, 0xbe, 0xea, 0x46, 0x5a, 0xcb, 0xfa, 0xad,
+  0x35, 0xf7, 0xb7, 0x25, 0x43, 0x14, 0x4d, 0x34, 0xb5, 0x20, 0xb3, 0xdc,
+  0x55, 0x97, 0x2a, 0x5f, 0x4f, 0x0c, 0xb6, 0xc4, 0x74, 0xc0, 0x96, 0x14,
+  0x0d, 0xb7, 0x49, 0x27, 0x98, 0x47, 0x47, 0xa3, 0xb4, 0x34, 0x8e, 0x4d,
+  0xf8, 0x31, 0x92, 0x95, 0xa2, 0xdb, 0x64, 0xe5, 0x02, 0x78, 0xed, 0x33,
+  0x5e, 0x82, 0xe6, 0xda, 0xe9, 0x92, 0x20, 0x59, 0x9c, 0x7e, 0x99, 0xb3,
+  0xb2, 0xff, 0xbb, 0x08, 0xfb, 0x1f, 0xe9, 0xb6, 0x8a, 0x12, 0xd9, 0xef,
+  0x73, 0xa3, 0xa5, 0x87, 0xcf, 0xe1, 0x54, 0xf3, 0x46, 0xba, 0x8d, 0x03,
+  0xa7, 0x9a, 0xae, 0xda, 0x58, 0xaf, 0xa0, 0x68, 0x14, 0x60, 0x52, 0x9a,
+  0x75, 0x5f, 0x94, 0x16, 0x28, 0x8e, 0x28, 0xfa, 0x69, 0x3a, 0xca, 0x11,
+  0x9a, 0x23, 0x72, 0x52, 0x18, 0x30, 0xd7, 0x10, 0x55, 0x3c, 0x01, 0xb1,
+  0x15, 0x29, 0x1d, 0xdf, 0xe2, 0x24, 0x29, 0xc7, 0x0a, 0x37, 0xdc, 0x44,
+  0x3f, 0x01, 0xa7, 0xd2, 0xee, 0xea, 0xba, 0x47, 0x5c, 0xc6, 0x0c, 0x4c,
+  0xc3, 0x49, 0x17, 0xe9, 0x5c, 0x02, 0xb7, 0x24, 0x72, 0x2d, 0xe0, 0x41,
+  0x8e, 0x09, 0x21, 0xe4, 0xff, 0xfd, 0xd1, 0xc9, 0x85, 0x32, 0xcb, 0xd1,
+  0x6a, 0x4d, 0xea, 0x46, 0xb4, 0x9d, 0x94, 0xe3, 0xed, 0xc5, 0x6d, 0xba,
+  0x3d, 0x2f, 0x8a, 0xc9, 0x68, 0x2b, 0x4c, 0x28, 0xe7, 0x39, 0x73, 0x10,
+  0xca, 0xf9, 0x37, 0x87, 0xc3, 0x4f, 0x76, 0x77, 0x59, 0x96, 0x5e, 0x52,
+  0xd3, 0x9b, 0xb4, 0x06, 0x8d, 0x4c, 0xb9, 0x82, 0x96, 0x7d, 0x36, 0x28,
+  0xb2, 0x2d, 0x28, 0x00, 0x8e, 0xe1, 0x62, 0x95, 0x10, 0xc8, 0x02, 0x47,
+  0xa6, 0xe6, 0x91, 0xb1, 0xfd, 0xf1, 0xb7, 0x8c, 0x27, 0x11, 0xc2, 0x40,
+  0xb4, 0x43, 0xf4, 0x92, 0xff, 0xfd, 0xe0, 0x11, 0x07, 0x38, 0x4d, 0x65,
+  0x4b, 0xf8, 0x5d, 0x15, 0xf2, 0x39, 0x34, 0x67, 0x12, 0x85, 0x5f, 0xd7,
+  0xe9, 0x8a, 0xcd, 0x64, 0x03, 0x9e, 0x67, 0x2f, 0x3a, 0x3a, 0xbe, 0x00,
+  0x41, 0x1e, 0xbf, 0xfd, 0x0a, 0xc2, 0x21, 0xe7, 0xda, 0x5d, 0xcf, 0xd3,
+  0x9f, 0x99, 0xd3, 0x51, 0x9b, 0x85, 0x2c, 0x30, 0xdf, 0x65, 0xfe, 0x84,
+  0xd6, 0x9a, 0xe3, 0xf5, 0xe2, 0x55, 0xc4, 0x19, 0xfb, 0x6d, 0x97, 0x29,
+  0x16, 0xc6, 0x78, 0x78, 0x10, 0xce, 0xee, 0x57, 0x62, 0x88, 0x8c, 0x2a,
+  0x44, 0xcc, 0xe5, 0x6a, 0xd5, 0xe6, 0x38, 0xe7, 0x78, 0x24, 0xbb, 0x1a,
+  0x24, 0x2a, 0x92, 0x69, 0x43, 0x9d, 0x3c, 0x1e, 0x8a, 0xa7, 0x3a, 0x30,
+  0x24, 0xc3, 0x37, 0x62, 0x73, 0xfd, 0xf7, 0x9b, 0xc5, 0x56, 0x8d, 0x79,
+  0x3a, 0x76, 0xf9, 0xd6, 0xf4, 0xf1, 0xea, 0x11, 0x6f, 0x6a, 0x90, 0x3c,
+  0xb1, 0xd8, 0x1d, 0x0f, 0xcb, 0x05, 0xc4, 0x8a, 0xf7, 0xc4, 0x41, 0x55,
+  0x59, 0x7a, 0xda, 0x53, 0x95, 0x39, 0xf5, 0x52, 0x6b, 0xa4, 0x8d, 0x95,
+  0xb0, 0xb9, 0xb2, 0x45, 0x3c, 0x68, 0xb3, 0xb1, 0xa9, 0x18, 0x96, 0xa3,
+  0x95, 0x42, 0x85, 0x9a, 0xa6, 0x74, 0xa1, 0xbe, 0xfc, 0xa8, 0x7b, 0x48,
+  0x22, 0xed, 0xfb, 0xc3, 0x83, 0xf7, 0x5f, 0xbe, 0x7b, 0x7b, 0x74, 0x7a,
+  0xdc, 0xad, 0x53, 0xe4, 0x95, 0x70, 0x7d, 0xe4, 0xf8, 0x26, 0x65, 0xcf,
+  0x65, 0xc7, 0x87, 0x51, 0x96, 0xb8, 0xdd, 0x91, 0xfc, 0x8a, 0xdf, 0x10,
+  0x8e, 0xad, 0x0b, 0x5e, 0x57, 0x7f, 0x96, 0xf3, 0x09, 0x12, 0x10, 0x83,
+  0xc9, 0x5b, 0xce, 0x89, 0xba, 0xd9, 0x6c, 0x80, 0x2d, 0xea, 0x2e, 0xd3,
+  0x1f, 0xdd, 0xcf, 0x24, 0x62, 0x07, 0x48, 0x20, 0x01, 0x04, 0x56, 0x45,
+  0x74, 0x47, 0xe4, 0x88, 0x61, 0x16, 0x46, 0x34, 0x9e, 0x96, 0xed, 0x2e,
+  0x2a, 0x61, 0x0d, 0xdc, 0x12, 0x51, 0x72, 0x5f, 0x07, 0x39, 0xce, 0xcb,
+  0x6e, 0x2f, 0x4a, 0x52, 0xb8, 0xec, 0xc2, 0x10, 0xae, 0x49, 0x6b, 0x1a,
+  0x0e, 0x87, 0x55, 0xc6, 0x42, 0xd7, 0x83, 0xe4, 0x21, 0x41, 0x14, 0x88,
+  0xbe, 0x75, 0x08, 0x23, 0x70, 0x19, 0x7d, 0x97, 0xe5, 0x48, 0xef, 0x3f,
+  0xb2, 0x38, 0x4c, 0x7b, 0x28, 0x9e, 0xaf, 0x9a, 0x1e, 0x5e, 0xd6, 0x88,
+  0x58, 0x2b, 0xb8, 0x16, 0xbc, 0xc6, 0xf3, 0x83, 0xcb, 0xaf, 0x5b, 0x83,
+  0x15, 0x3c, 0x6a, 0xe3, 0x87, 0x6f, 0x1b, 0xb0, 0xd1, 0x72, 0x6d, 0x9c,
+  0xe7, 0x07, 0xae, 0x9a, 0xea, 0x21, 0xaa, 0xdd, 0x36, 0x2d, 0x52, 0x2a,
+  0xf7, 0xbe, 0xf6, 0xbe, 0x69, 0x25, 0x4a, 0xbb, 0x6c, 0xf8, 0xae, 0x59,
+  0x7b, 0xd5, 0xb4, 0xde, 0x34, 0x36, 0x5b, 0x3e, 0xab, 0xee, 0xa2, 0xb1,
+  0x9b, 0xe6, 0xff, 0x8c, 0xab, 0x26, 0xc6, 0xe9, 0xa9, 0xf1, 0x50, 0x1f,
+  0xb4, 0xdb, 0xce, 0x4d, 0x95, 0x9d, 0x7e, 0x24, 0x3f, 0xf5, 0x11, 0xc0,
+  0x0d, 0x06, 0x23, 0x2c, 0x56, 0xae, 0xaa, 0xc4, 0x54, 0xd6, 0x4a, 0xa0,
+  0x67, 0x2b, 0x47, 0xec, 0x99, 0xfc, 0x55, 0xdf, 0x2c, 0xd7, 0x93, 0xbc,
+  0xc7, 0xda, 0x04, 0x42, 0xd6, 0x99, 0x5f, 0xe4, 0xd9, 0x58, 0x92, 0xb5,
+  0x82, 0xc8, 0xc2, 0xf7, 0x79, 0x72, 0x13, 0x17, 0x37, 0xd1, 0xb2, 0x4c,
+  0xd9, 0x62, 0x5e, 0xd7, 0x01, 0x96, 0x1c, 0x5e, 0x68, 0xaa, 0xbf, 0xa5,
+  0x04, 0x6a, 0x6a, 0xbb, 0x5b, 0x3b, 0x20, 0x33, 0x8a, 0xea, 0x13, 0xc4,
+  0x5c, 0xb1, 0x72, 0x5f, 0x57, 0x5b, 0x87, 0xa7, 0xfd, 0x10, 0x12, 0x6e,
+  0xc6, 0xb9, 0x9c, 0x30, 0xdb, 0x27, 0x57, 0x34, 0xdd, 0x34, 0x48, 0x13,
+  0x5c, 0xba, 0x2e, 0x70, 0xc5, 0xa5, 0x57, 0x6d, 0xc6, 0x29, 0xfb, 0x16,
+  0xec, 0x44, 0x2f, 0x9f, 0x42, 0x40, 0xe3, 0xea, 0x37, 0xcf, 0x6f, 0x47,
+  0x41, 0x57, 0x6c, 0x8c, 0x24, 0x2a, 0x6e, 0xb7, 0xe7, 0xbc, 0xe6, 0x2c,
+  0x93, 0x82, 0xbd, 0xbc, 0x3c, 0xb5, 0x4d, 0x46, 0x49, 0x12, 0x0c, 0x2e,
+  0xb6, 0xfa, 0x4d, 0xa7, 0x5b, 0x2c, 0xb3, 0x5b, 0x0e, 0x1c, 0x52, 0x4f,
+  0x0a, 0xcd, 0x17, 0x6b, 0xca, 0x28, 0x86, 0xdb, 0x84, 0x88, 0x2f, 0x38,
+  0x31, 0xe1, 0xd7, 0x50, 0xfb, 0x2e, 0x10, 0x59, 0x89, 0xb5, 0xd2, 0x29,
+  0x0d, 0xbe, 0x9c, 0x24, 0x8a, 0xdf, 0x57, 0x67, 0x74, 0x82, 0xe4, 0xaa,
+  0x26, 0x6c, 0xea, 0xf3, 0x64, 0x6e, 0x0e, 0x41, 0x09, 0x93, 0x80, 0x3a,
+  0x14, 0x47, 0x15, 0x1b, 0x93, 0xbc, 0x56, 0xb4, 0xdc, 0xba, 0x93, 0x64,
+  0x9a, 0xe2, 0x01, 0x86, 0x89, 0xd5, 0x4c, 0x40, 0x55, 0x5c, 0x24, 0x61,
+  0x50, 0x9d, 0xc0, 0x88, 0x9e, 0xb5, 0x07, 0x38, 0xd4, 0x0b, 0xda, 0x55,
+  0x51, 0x6f, 0x6e, 0x53, 0x12, 0xc0, 0x80, 0xdf, 0x28, 0x7a, 0xa2, 0x45,
+  0x2b, 0xf1, 0xc0, 0x56, 0x0e, 0x92, 0x77, 0x4b, 0xaf, 0x34, 0x58, 0xb0,
+  0x54, 0x45, 0x5a, 0xe4, 0x0d, 0x3d, 0x9b, 0x5d, 0xab, 0x42, 0x98, 0x02,
+  0xaa, 0x8c, 0x0d, 0x28, 0xe5, 0x08, 0xc4, 0x65, 0x98, 0xd6, 0x28, 0xc9,
+  0x3f, 0x7b, 0x7b, 0x6b, 0x8c, 0xbe, 0x9a, 0x83, 0xac, 0x41, 0x1a, 0xbc,
+  0x18, 0xfd, 0x22, 0xbe, 0x4a, 0xec, 0x2c, 0x12, 0x1d, 0xb3, 0xc8, 0x98,
+  0x8d, 0x69, 0x09, 0x25, 0xc2, 0x09, 0x9f, 0xcd, 0xb3, 0xa6, 0x4b, 0x6c,
+  0x39, 0xe6, 0xa3, 0xc8, 0x06, 0x00, 0x67, 0xc6, 0x64, 0x57, 0xb4, 0x79,
+  0xfb, 0x8b, 0x69, 0xba, 0x60, 0xd6, 0x9e, 0x67, 0xcb, 0xeb, 0x1b, 0x0e,
+  0x3c, 0x03, 0x5f, 0x91, 0x0b, 0xb6, 0xc5, 0xb1, 0x51, 0x4b, 0x95, 0x86,
+  0x3c, 0x7b, 0x97, 0x4d, 0xd9, 0xac, 0xb9, 0x59, 0x6b, 0xff, 0xe9, 0xce,
+  0x2e, 0x86, 0xfb, 0x74, 0xe7, 0xd3, 0x4a, 0xb4, 0x3b, 0x9b, 0xd3, 0xe3,
+  0x31, 0x72, 0x61, 0xa2, 0x1f, 0xf9, 0xf2, 0xf8, 0xa9, 0xd5, 0x17, 0x03,
+  0xbb, 0x6c, 0x3c, 0x0f, 0xed, 0xb0, 0x71, 0x71, 0x2b, 0xae, 0x82, 0x8e,
+  0xbd, 0xcf, 0xaf, 0x77, 0xd4, 0x9a, 0xe1, 0xfc, 0xc6, 0x2d, 0x68, 0x3f,
+  0x4e, 0xe5, 0xe5, 0xdc, 0x46, 0x63, 0x51, 0x90, 0xd6, 0x7b, 0x01, 0x36,
+  0x20, 0xc0, 0x07, 0x80, 0x51, 0x78, 0xb5, 0xde, 0x32, 0x73, 0x70, 0x78,
+  0xe8, 0xbd, 0x76, 0xd5, 0xb8, 0xb0, 0x27, 0x1c, 0x17, 0xb6, 0x2e, 0x59,
+  0xaa, 0x76, 0xfc, 0x01, 0x2e, 0xd3, 0xd3, 0x20, 0x6c, 0x18, 0xcc, 0x2b,
+  0xf9, 0xb9, 0x66, 0x94, 0x6c, 0x10, 0x18, 0x8c, 0x94, 0xcb, 0x22, 0xa9,
+  0xaf, 0xe8, 0xfa, 0xcc, 0x93, 0x3a, 0xf0, 0x98, 0xae, 0xa9, 0xa6, 0x3e,
+  0xb0, 0xc1, 0x73, 0xdb, 0x27, 0xac, 0x41, 0xf0, 0x43, 0xa4, 0x6e, 0x2c,
+  0xee, 0xfb, 0x46, 0x64, 0x91, 0x43, 0x0a, 0x13, 0xcf, 0x37, 0xfc, 0x3e,
+  0x0f, 0x48, 0x9d, 0x9e, 0x07, 0x21, 0xe5, 0x3a, 0xb3, 0x92, 0x16, 0x29,
+  0xce, 0x27, 0xce, 0x29, 0xd3, 0x84, 0xeb, 0x30, 0x29, 0x9b, 0xf3, 0x74,
+  0x18, 0xd2, 0x26, 0x04, 0x33, 0x31, 0x3f, 0x96, 0x97, 0x00, 0x2d, 0xb0,
+  0xbb, 0x89, 0xf7, 0x5a, 0xc9, 0xd6, 0x88, 0x66, 0xa9, 0x84, 0x81, 0x06,
+  0xa9, 0x1f, 0xf5, 0x05, 0xd3, 0x13, 0xf6, 0xa3, 0xfc, 0x6c, 0xa7, 0x41,
+  0x24, 0x96, 0xe5, 0x19, 0xa7, 0xe2, 0x20, 0x4d, 0x42, 0x5e, 0x91, 0x5c,
+  0x65, 0x89, 0xe5, 0xf3, 0x80, 0x2f, 0x8c, 0x15, 0x20, 0xd7, 0x03, 0x5b,
+  0x3d, 0x9a, 0x49, 0x56, 0x9b, 0xc3, 0x2d, 0x33, 0xa0, 0xe3, 0xe6, 0xd5,
+  0xc6, 0xe2, 0xfc, 0x5a, 0x59, 0x94, 0x8b, 0x30, 0x0d, 0xc2, 0xc9, 0x34,
+  0xd6, 0xa0, 0xdf, 0x30, 0x4f, 0x5c, 0x8b, 0xbe, 0xc0, 0xb1, 0x16, 0x77,
+  0x2d, 0x11, 0x7a, 0x50, 0x8b, 0xc6, 0xf7, 0x93, 0xf6, 0x80, 0x15, 0xb9,
+  0x39, 0x25, 0x29, 0x21, 0x76, 0x58, 0x62, 0x87, 0xdf, 0x1d, 0x05, 0x99,
+  0x8b, 0x7c, 0xcc, 0x30, 0x29, 0x10, 0x82, 0x44, 0x5c, 0xcd, 0xd7, 0xc5,
+  0xbf, 0x98, 0x9e, 0x00, 0xec, 0xd8, 0xd7, 0x80, 0x02, 0x4f, 0x16, 0x2e,
+  0x07, 0x09, 0x10, 0x31, 0x02, 0x4e, 0xc3, 0x38, 0xb0, 0x00, 0x7c, 0xc5,
+  0xd5, 0xb9, 0x66, 0x74, 0x1a, 0xc8, 0x30, 0x08, 0xb1, 0xab, 0x90, 0x2b,
+  0x76, 0xf1, 0xfa, 0x70, 0xf7, 0xd3, 0x27, 0x9f, 0x91, 0x90, 0xbe, 0x42,
+  0xda, 0x90, 0x5f, 0x32, 0x09, 0x70, 0x5d, 0x1f, 0xd9, 0xa4, 0x56, 0x25,
+  0x13, 0x30, 0xd5, 0x9f, 0x4f, 0xcc, 0x2f, 0xbb, 0x4f, 0x20, 0xf3, 0xa8,
+  0xcf, 0xb0, 0x11, 0x39, 0x95, 0xd1, 0x22, 0x1a, 0x98, 0xa8, 0xe0, 0x48,
+  0x62, 0x9d, 0xe4, 0x4a, 0x1d, 0x04, 0x94, 0xc9, 0x18, 0xbb, 0x9c, 0x37,
+  0x47, 0x2c, 0xf4, 0xe2, 0xf8, 0xf2, 0x82, 0x51, 0xef, 0x2f, 0xcf, 0x2e,
+  0xd6, 0x84, 0xa3, 0xd1, 0xc5, 0xc9, 0x5c, 0x89, 0x17, 0x8d, 0x89, 0x86,
+  0xe1, 0x07, 0x4c, 0xb1, 0x0a, 0xb2, 0x32, 0x78, 0x0b, 0x62, 0x81, 0x27,
+  0x2e, 0x5a, 0xb3, 0x01, 0x82, 0xa4, 0x80, 0xa2, 0x82, 0xbe, 0x41, 0x47,
+  0x89, 0xce, 0xc9, 0x63, 0x13, 0x93, 0x3d, 0x7f, 0x9c, 0x42, 0x30, 0x61,
+  0x26, 0x46, 0x9e, 0xb1, 0xf3, 0xe7, 0x60, 0xb4, 0x0a, 0x3b, 0xe8, 0x65,
+  0x40, 0xbd, 0x97, 0xd6, 0x50, 0x88, 0x90, 0x55, 0x52, 0x04, 0x76, 0x43,
+  0x51, 0xe5, 0x3b, 0xe6, 0xfd, 0xee, 0xb0, 0x04, 0x7f, 0xeb, 0xe0, 0x2d,
+  0x3e, 0x40, 0xbf, 0x24, 0x37, 0x6c, 0xf9, 0x09, 0x33, 0xc2, 0x20, 0xce,
+  0xa7, 0x08, 0x78, 0x8e, 0xeb, 0x14, 0x9a, 0x9a, 0x9d, 0x4a, 0x00, 0x42,
+  0x33, 0x20, 0xc3, 0xe5, 0x19, 0xf0, 0x2e, 0x77, 0x9d, 0x13, 0x3d, 0x53,
+  0xea, 0x90, 0x7d, 0x21, 0xa1, 0x67, 0x5a, 0x22, 0x81, 0xa3, 0x6b, 0xa3,
+  0xea, 0x3a, 0x52, 0xab, 0xb0, 0xff, 0x67, 0x83, 0xdd, 0xad, 0x1a, 0x93,
+  0xe1, 0x08, 0x84, 0x76, 0xce, 0xc2, 0x8e, 0x90, 0x5a, 0xdc, 0x83, 0x58,
+  0x0f, 0x34, 0x18, 0x9d, 0xae, 0x04, 0xc3, 0xf7, 0x38, 0xd7, 0xa7, 0x5a,
+  0x91, 0x55, 0x50, 0xf1, 0x80, 0xad, 0xba, 0x8e, 0xb6, 0x75, 0xcb, 0x25,
+  0x28, 0x60, 0x59, 0xe7, 0xa6, 0x15, 0xf7, 0x7d, 0x93, 0x7f, 0xba, 0xfb,
+  0x27, 0x48, 0xa1, 0x65, 0x27, 0xb8, 0x0f, 0xbc, 0xd0, 0xe4, 0x99, 0xca,
+  0xcc, 0x77, 0x7f, 0xc1, 0xc5, 0xf7, 0x68, 0x40, 0xd5, 0x2f, 0x8a, 0xa7,
+  0x8a, 0xde, 0xcd, 0x35, 0xb0, 0x89, 0x83, 0xfe, 0x0c, 0x6c, 0xc7, 0x2f,
+  0x2a, 0x31, 0x65, 0x88, 0x31, 0x30, 0x73, 0x37, 0x6e, 0x31, 0x31, 0x7e,
+  0xf2, 0x1a, 0x49, 0x46, 0xcf, 0xb2, 0xd0, 0x0c, 0x53, 0xbb, 0x63, 0xb4,
+  0x45, 0x8d, 0x5d, 0x15, 0x54, 0x6b, 0x17, 0x0f, 0xd0, 0x80, 0x42, 0xcb,
+  0x55, 0x2f, 0x6f, 0x9c, 0x34, 0xdb, 0x3d, 0x6c, 0xb1, 0x70, 0x40, 0xc8,
+  0x82, 0x9e, 0x75, 0x94, 0xa2, 0xb7, 0x4b, 0x5c, 0x83, 0x45, 0x95, 0x48,
+  0x38, 0x7d, 0x13, 0x30, 0x4f, 0x94, 0x57, 0x04, 0x7d, 0x28, 0x4c, 0x4e,
+  0x35, 0x6e, 0xc2, 0xd6, 0xb9, 0x21, 0x71, 0xf9, 0xeb, 0xa2, 0x5f, 0x66,
+  0x88, 0xc2, 0x8b, 0x5e, 0x6a, 0x67, 0x9f, 0xb7, 0x93, 0x28, 0x72, 0x97,
+  0x02, 0x79, 0xcf, 0xa0, 0xc9, 0x81, 0xb3, 0x39, 0x54, 0xeb, 0x25, 0x0d,
+  0x65, 0xe8, 0x58, 0xb6, 0x48, 0xed, 0xbd, 0x46, 0x18, 0x95, 0xa1, 0xfe,
+  0x78, 0xb9, 0xc9, 0xfc, 0xee, 0xa6, 0xa3, 0x41, 0xd6, 0x22, 0x16, 0x7a,
+  0xb9, 0x9c, 0xd1, 0x4c, 0xee, 0x93, 0x64, 0xd2, 0x2d, 0xd8, 0x78, 0xcf,
+  0xb8, 0x8c, 0x75, 0x01, 0x99, 0xc3, 0x68, 0xb0, 0xe0, 0x4e, 0x59, 0x40,
+  0xb8, 0x22, 0x7c, 0x24, 0x16, 0x60, 0x10, 0x1b, 0x36, 0x5f, 0xa0, 0x9a,
+  0xa9, 0xbb, 0xad, 0xee, 0x88, 0x18, 0x9e, 0x5c, 0x1e, 0x47, 0x07, 0xef,
+  0x2e, 0xbf, 0xee, 0x04, 0xd8, 0xab, 0x01, 0x1b, 0xc6, 0xf5, 0x5e, 0x92,
+  0x08, 0x71, 0x27, 0xb4, 0x00, 0x41, 0x53, 0x5c, 0x5d, 0x2d, 0x70, 0x0b,
+  0x35, 0x8b, 0xfd, 0xa0, 0xce, 0x22, 0x9e, 0xd5, 0x59, 0x04, 0x67, 0x87,
+  0x83, 0x4f, 0xf4, 0xd3, 0xc5, 0x87, 0x83, 0x92, 0x2c, 0x1a, 0x8a, 0xbb,
+  0x39, 0x39, 0x67, 0xd0, 0x5b, 0xa0, 0x10, 0x07, 0xc3, 0x2d, 0x96, 0xd7,
+  0x1c, 0x26, 0xda, 0x02, 0xb4, 0xc6, 0x70, 0x20, 0x4e, 0x46, 0xd7, 0xf8,
+  0x7f, 0x5a, 0x65, 0x26, 0x26, 0x47, 0x76, 0x50, 0xc6, 0xd0, 0x99, 0xee,
+  0x4c, 0xe1, 0xd3, 0x97, 0xd6, 0xba, 0xd9, 0xd8, 0x40, 0x63, 0xa8, 0x92,
+  0x61, 0xe6, 0xb2, 0x42, 0xb3, 0x7b, 0xc3, 0x5a, 0x30, 0xe2, 0x06, 0xa6,
+  0x93, 0xe5, 0x3b, 0x41, 0x02, 0x35, 0x56, 0x38, 0x56, 0xf9, 0x2b, 0xec,
+  0xab, 0xb2, 0xa0, 0x4f, 0x07, 0x7b, 0x5b, 0xad, 0x1a, 0x94, 0x72, 0x1d,
+  0x96, 0xf7, 0x89, 0x6b, 0x90, 0xd2, 0xcf, 0xc7, 0x97, 0x74, 0x7b, 0x89,
+  0x49, 0x94, 0x08, 0xb6, 0x5c, 0x8e, 0x9c, 0x71, 0x26, 0x3b, 0xf9, 0x4d,
+  0x1c, 0x25, 0x5e, 0xa2, 0xfa, 0x81, 0x22, 0xf6, 0xd8, 0x1e, 0xba, 0x29,
+  0x1b, 0xe6, 0x76, 0x0c, 0xd4, 0x1f, 0x47, 0xe7, 0x24, 0x15, 0xb8, 0x55,
+  0x0e, 0x62, 0xb7, 0xa2, 0x4d, 0xf8, 0x00, 0x68, 0x1c, 0x5b, 0x75, 0x01,
+  0x86, 0x93, 0x78, 0xe3, 0x34, 0xd4, 0x80, 0x88, 0x5f, 0xce, 0xe8, 0x13,
+  0xd6, 0xcc, 0x73, 0x1a, 0x03, 0x7b, 0xec, 0x0c, 0xbc, 0x52, 0x0f, 0x18,
+  0x6b, 0x80, 0x76, 0xff, 0x6d, 0xb4, 0xca, 0x55, 0x6a, 0x31, 0x0d, 0xcc,
+  0x37, 0xec, 0x72, 0xa7, 0x73, 0x81, 0x2a, 0x27, 0x80, 0x18, 0x89, 0x19,
+  0x6c, 0x1c, 0xa7, 0x7b, 0x92, 0xdd, 0xcf, 0x81, 0x1c, 0xd0, 0xa4, 0x26,
+  0x0c, 0x9e, 0x99, 0xda, 0xa0, 0x7a, 0x0d, 0xee, 0xed, 0x0c, 0x1e, 0x42,
+  0x1a, 0x2f, 0x8a, 0xa9, 0xac, 0x4c, 0x8f, 0xd6, 0xfe, 0xfc, 0x49, 0x2f,
+  0x3a, 0x79, 0x73, 0x40, 0xbf, 0x0f, 0xdf, 0x80, 0xb6, 0x73, 0x17, 0xce,
+  0x34, 0x1c, 0x9e, 0x6e, 0x5f, 0x9e, 0x0e, 0x83, 0xea, 0x15, 0xc1, 0xa6,
+  0x37, 0x93, 0x98, 0x61, 0xdc, 0x85, 0x21, 0x1a, 0x53, 0x16, 0x00, 0xd7,
+  0x00, 0xe6, 0x26, 0xbd, 0x0a, 0x0f, 0x85, 0x29, 0x2d, 0xea, 0x42, 0x6f,
+  0x1a, 0x8b, 0xb6, 0x05, 0x1b, 0x2a, 0x88, 0x31, 0xc6, 0xd9, 0x2c, 0xa6,
+  0x7d, 0x23, 0x41, 0x09, 0x5e, 0xe3, 0x4f, 0x68, 0xc9, 0x27, 0xb6, 0x88,
+  0x7c, 0x19, 0x35, 0x33, 0x48, 0xcb, 0x68, 0x4a, 0x23, 0x9c, 0x16, 0xe2,
+  0xf9, 0x47, 0xb4, 0x04, 0x8f, 0x49, 0xf7, 0xaa, 0xa6, 0x36, 0xd2, 0x82,
+  0xed, 0x6c, 0x3d, 0x1e, 0xfa, 0x75, 0x1f, 0x17, 0xe2, 0xcf, 0x4d, 0x72,
+  0xda, 0x7b, 0xa0, 0xb5, 0x08, 0x30, 0x99, 0x0e, 0xb2, 0xe5, 0x36, 0x6e,
+  0xea, 0xc0, 0x72, 0xeb, 0xd0, 0x5d, 0x49, 0xbb, 0xed, 0xcd, 0x4b, 0x2a,
+  0xf5, 0xc8, 0x07, 0x9c, 0x30, 0x7f, 0x67, 0x99, 0x6b, 0x57, 0x4b, 0xae,
+  0xf8, 0x03, 0xbb, 0x61, 0x5b, 0x9c, 0x6d, 0xfd, 0x3c, 0x04, 0x6b, 0xd5,
+  0x7e, 0x2c, 0x2e, 0x8c, 0x52, 0x6d, 0xa7, 0xfd, 0x56, 0x33, 0x85, 0x4f,
+  0xb3, 0x6b, 0x46, 0x3c, 0x95, 0xd0, 0x72, 0x9c, 0x7f, 0xc3, 0x7e, 0xa8,
+  0x2b, 0xe0, 0x53, 0x04, 0xe1, 0xe8, 0x96, 0x57, 0x0d, 0x12, 0x22, 0xf4,
+  0x30, 0x45, 0xe8, 0xb2, 0x27, 0x2e, 0x7d, 0xc1, 0x45, 0x5f, 0x36, 0xdd,
+  0xe4, 0x91, 0x33, 0x0a, 0x8e, 0x57, 0x7c, 0x35, 0xbd, 0x86, 0xed, 0x49,
+  0xc3, 0x75, 0x05, 0x38, 0x64, 0x2d, 0x39, 0xb5, 0x4a, 0x02, 0x9e, 0xa0,
+  0x2a, 0x1b, 0xf3, 0x3c, 0xdc, 0x68, 0x4f, 0x4b, 0x2d, 0xcb, 0xd5, 0x76,
+  0x56, 0x1e, 0x5b, 0xc0, 0x47, 0xce, 0xca, 0xa5, 0x38, 0xe8, 0x0d, 0xdd,
+  0xe1, 0x63, 0x8f, 0x88, 0x9b, 0xc3, 0x23, 0xa9, 0xf7, 0xeb, 0x29, 0x57,
+  0x09, 0xb7, 0x4a, 0xb7, 0x4a, 0xb8, 0x9a, 0x01, 0x69, 0x34, 0x83, 0xd3,
+  0x44, 0x5c, 0x10, 0xcd, 0x36, 0xd9, 0x8c, 0x5e, 0x9a, 0x91, 0xe1, 0xf0,
+  0xb2, 0x98, 0x2f, 0xf5, 0x79, 0x4a, 0xcb, 0x72, 0x7e, 0x94, 0x8c, 0x1b,
+  0x81, 0x30, 0x20, 0x6a, 0x75, 0x2f, 0xb5, 0xd2, 0xf0, 0x78, 0xdc, 0x4a,
+  0xbf, 0x2c, 0xb0, 0x1f, 0x1e, 0x1e, 0x46, 0x9b, 0x87, 0xa0, 0xd0, 0x43,
+  0xe5, 0xa6, 0x87, 0x37, 0x9c, 0xd7, 0x39, 0x65, 0x4c, 0x81, 0x9b, 0x25,
+  0x67, 0xa0, 0x4c, 0x30, 0x47, 0x6c, 0x8a, 0x2e, 0x61, 0x3d, 0x84, 0x2c,
+  0x5e, 0xb1, 0x2d, 0x4b, 0xa0, 0xa4, 0x2a, 0xe2, 0x95, 0x18, 0x06, 0x90,
+  0x6f, 0x6a, 0xbe, 0x7f, 0xbb, 0xff, 0xa4, 0x97, 0xd6, 0x94, 0xf0, 0xe5,
+  0xdc, 0xac, 0x71, 0xce, 0x6c, 0x3c, 0x77, 0xd4, 0xaf, 0x5a, 0x52, 0x2c,
+  0x67, 0xe6, 0xed, 0xc1, 0x25, 0x23, 0x45, 0x97, 0x1a, 0x82, 0xba, 0x26,
+  0xc0, 0xcd, 0x1d, 0x49, 0x50, 0x7f, 0x1c, 0xa0, 0x0c, 0x9a, 0x8e, 0x01,
+  0x59, 0x96, 0x93, 0x25, 0x45, 0xb6, 0x95, 0x28, 0x9b, 0x56, 0xc1, 0x58,
+  0x57, 0xb4, 0xef, 0x14, 0x1c, 0x49, 0x90, 0xe3, 0x3f, 0x8b, 0xe6, 0xf1,
+  0x68, 0xe8, 0x4f, 0x95, 0xd7, 0x7f, 0x94, 0x48, 0xdd, 0x6d, 0xed, 0xf5,
+  0xa7, 0x7f, 0x6a, 0x9b, 0x10, 0x98, 0x25, 0xdb, 0xc3, 0x8f, 0xd9, 0x0d,
+  0xd6, 0xf4, 0x16, 0xd7, 0x62, 0xd2, 0x45, 0xa2, 0x91, 0x8c, 0xb9, 0x14,
+  0x78, 0xd5, 0x72, 0x78, 0x68, 0xd3, 0x27, 0x00, 0xcf, 0x62, 0x02, 0x34,
+  0xd5, 0xe1, 0x3e, 0x6e, 0x88, 0x37, 0x26, 0xd1, 0x78, 0xa1, 0x72, 0xc2,
+  0x35, 0x77, 0xc4, 0xbb, 0xe2, 0xb0, 0x76, 0xf2, 0x64, 0x31, 0x5d, 0x39,
+  0x33, 0x80, 0xb6, 0xbd, 0x4e, 0xcc, 0x0c, 0xad, 0x49, 0x61, 0x10, 0xb3,
+  0x0d, 0xb0, 0xa8, 0xb6, 0x82, 0x8e, 0x62, 0x16, 0x02, 0xaf, 0x1a, 0xd1,
+  0xf3, 0xb1, 0xf6, 0x5c, 0x03, 0x6b, 0x6e, 0xee, 0x50, 0x20, 0x6d, 0x39,
+  0x80, 0x07, 0x45, 0x9c, 0xd6, 0x4c, 0xa9, 0xc7, 0xf2, 0x76, 0xa7, 0xbc,
+  0xf8, 0x10, 0x8c, 0x12, 0xd2, 0xa5, 0x91, 0xa7, 0xa3, 0xa0, 0x17, 0xfd,
+  0x74, 0x2e, 0x18, 0x0b, 0xf4, 0x53, 0x4c, 0xf2, 0x06, 0x94, 0x51, 0xc7,
+  0x8d, 0x64, 0xee, 0x61, 0x50, 0x80, 0x9a, 0xa0, 0x29, 0x70, 0x18, 0x55,
+  0x3c, 0x0c, 0xc5, 0x4b, 0x35, 0x29, 0x0c, 0x80, 0x1e, 0x2d, 0x42, 0xac,
+  0xf7, 0x4f, 0x1d, 0x2a, 0xf2, 0xc5, 0x25, 0xc7, 0x73, 0x48, 0x58, 0x41,
+  0x9c, 0x97, 0xdb, 0xc0, 0xb8, 0x90, 0x14, 0xb5, 0x31, 0x63, 0x21, 0x6b,
+  0x49, 0x81, 0x8b, 0xd7, 0x87, 0x7b, 0x4f, 0x3e, 0xfb, 0xac, 0x3d, 0x16,
+  0x36, 0xd1, 0xac, 0xad, 0x00, 0xd4, 0x9b, 0x71, 0xa2, 0x24, 0x0b, 0x5e,
+  0x9c, 0x8e, 0x5c, 0xbc, 0x86, 0x93, 0x86, 0xbd, 0x8a, 0xd9, 0x1d, 0x37,
+  0x8d, 0xf7, 0x3c, 0xa0, 0xae, 0x18, 0xdf, 0x24, 0x95, 0xcc, 0x6a, 0xa9,
+  0x68, 0x19, 0x0e, 0x87, 0x18, 0xa0, 0x18, 0x5a, 0xec, 0xa5, 0x9f, 0x73,
+  0x6a, 0x6b, 0x7a, 0x0d, 0x7c, 0x8b, 0x5a, 0x73, 0x7f, 0x65, 0x1d, 0xf7,
+  0x3a, 0x29, 0x9b, 0xe9, 0x98, 0x8a, 0x39, 0xf7, 0x81, 0xc6, 0xdb, 0x68,
+  0x50, 0x92, 0x49, 0x5f, 0x2a, 0x7f, 0x70, 0xca, 0xb9, 0x95, 0x1f, 0xa2,
+  0xc1, 0x80, 0x71, 0xbf, 0x74, 0x58, 0x1f, 0x0e, 0x94, 0xf5, 0x8b, 0x16,
+  0x0d, 0xbf, 0xf0, 0xf1, 0x6f, 0x82, 0x4f, 0x56, 0x96, 0xb1, 0x15, 0x50,
+  0x83, 0x45, 0x9c, 0xf1, 0x23, 0x1c, 0x0a, 0xb7, 0x2b, 0x9c, 0x41, 0x14,
+  0x33, 0x6d, 0x43, 0x48, 0x7a, 0xa9, 0x8d, 0xc6, 0x02, 0x8d, 0x2b, 0xf8,
+  0x1d, 0x3c, 0x9e, 0xb6, 0x95, 0x30, 0xad, 0x83, 0x03, 0xd8, 0x92, 0x87,
+  0xc6, 0xf9, 0xc5, 0xbb, 0xc1, 0x3a, 0x35, 0x14, 0xfd, 0xe3, 0x87, 0x78,
+  0x86, 0xba, 0x5e, 0x4e, 0xea, 0x87, 0x5b, 0xdf, 0xe7, 0xd8, 0x69, 0xa8,
+  0x4b, 0x68, 0x24, 0x17, 0xb7, 0x4d, 0x97, 0x9f, 0xa9, 0xef, 0x3d, 0xbf,
+  0xd3, 0x35, 0x7b, 0x5e, 0xe8, 0xa4, 0x07, 0x45, 0xca, 0x70, 0x1c, 0x80,
+  0xa1, 0x78, 0xcc, 0xb9, 0xa7, 0xc9, 0x1a, 0x10, 0x32, 0x7e, 0x13, 0x28,
+  0x59, 0xfb, 0xad, 0x01, 0x25, 0xfd, 0xd7, 0x6e, 0xa0, 0xaf, 0xbe, 0xa8,
+  0xb4, 0x76, 0x7f, 0x3f, 0x98, 0xad, 0xec, 0xbb, 0xa2, 0x52, 0xdd, 0xd0,
+  0xe7, 0xbe, 0x6b, 0x06, 0x80, 0x91, 0x4c, 0xb7, 0x70, 0xe4, 0xe5, 0x11,
+  0x2f, 0xc2, 0x22, 0x39, 0xbe, 0x26, 0x10, 0xdd, 0x1b, 0xcd, 0x8c, 0x35,
+  0x4d, 0x63, 0xf0, 0xd4, 0x27, 0x96, 0xde, 0x2e, 0xd2, 0x3b, 0x12, 0x3b,
+  0xe2, 0xd7, 0x99, 0x6a, 0x8a, 0x23, 0xba, 0x54, 0x88, 0xd0, 0x94, 0xd2,
+  0x9a, 0x6a, 0x6a, 0x51, 0xe6, 0xcb, 0x71, 0xd9, 0xf4, 0xcc, 0xfa, 0x62,
+  0x7f, 0x82, 0xd9, 0x5c, 0x7a, 0xc5, 0x4d, 0x0c, 0xfe, 0x55, 0xa6, 0x80,
+  0x2b, 0x93, 0x47, 0x6c, 0x78, 0xce, 0x75, 0xbc, 0x12, 0xc0, 0x38, 0x77,
+  0x7b, 0x22, 0x3e, 0x2b, 0xde, 0x83, 0x87, 0x27, 0x58, 0xbb, 0xf0, 0x9d,
+  0xfb, 0x64, 0xf4, 0xea, 0x0b, 0x0e, 0x39, 0x7c, 0x00, 0x0c, 0xac, 0xc0,
+  0x41, 0x33, 0x0d, 0x6e, 0xf3, 0x9f, 0x9d, 0x88, 0x23, 0x4e, 0x5a, 0xd6,
+  0x9d, 0xb8, 0xf8, 0xba, 0x16, 0x03, 0xe4, 0x94, 0xa0, 0xb5, 0xab, 0x2c,
+  0x5b, 0xdb, 0xd8, 0x0f, 0x61, 0x61, 0xc1, 0x20, 0xa7, 0x47, 0x52, 0x6c,
+  0x3c, 0x11, 0x0a, 0xe1, 0xf1, 0x16, 0xce, 0xf5, 0x9c, 0xca, 0x21, 0x6c,
+  0x43, 0x1c, 0x18, 0xad, 0x5c, 0x81, 0x09, 0xcb, 0x3e, 0x7e, 0xd5, 0x93,
+  0x3a, 0xab, 0xac, 0xad, 0xae, 0x5f, 0x10, 0x7e, 0xfa, 0xd5, 0x17, 0xc0,
+  0x34, 0xe3, 0x5f, 0xff, 0xec, 0xde, 0xe6, 0x7f, 0x88, 0x8a, 0x89, 0x0b,
+  0xac, 0x9d, 0x08, 0x8b, 0x22, 0x57, 0xcb, 0x1c, 0x62, 0x46, 0x22, 0x47,
+  0xb2, 0x10, 0x5d, 0x56, 0x11, 0x8b, 0x95, 0x95, 0xbc, 0x39, 0x78, 0xfb,
+  0xee, 0xe0, 0x74, 0xf0, 0x98, 0xf8, 0x1a, 0x9a, 0x4a, 0x5d, 0xa0, 0x19,
+  0xec, 0x96, 0x15, 0xc1, 0x91, 0xcf, 0xa3, 0x86, 0xfc, 0xcb, 0x4d, 0xf8,
+  0x68, 0xb5, 0x9a, 0x68, 0x68, 0x88, 0x20, 0x4c, 0x4e, 0x7a, 0x83, 0x2a,
+  0xdc, 0x87, 0xcb, 0x24, 0x16, 0xe4, 0x21, 0x6d, 0x54, 0x45, 0x87, 0x96,
+  0x08, 0x71, 0x76, 0x6c, 0xe6, 0xb1, 0xd4, 0xee, 0x32, 0x2b, 0xc6, 0x34,
+  0xe5, 0x12, 0xb8, 0x53, 0x46, 0x94, 0x3c, 0xd5, 0x62, 0x9e, 0xdd, 0x2f,
+  0xba, 0x72, 0x36, 0xba, 0x2f, 0xbb, 0x8c, 0xbe, 0x43, 0xef, 0x8c, 0x5b,
+  0xf2, 0x65, 0x0a, 0x17, 0xea, 0x11, 0x75, 0x85, 0x6a, 0xba, 0x36, 0x04,
+  0x5d, 0x33, 0x19, 0x16, 0x02, 0x3d, 0xe6, 0x1a, 0x3f, 0xcb, 0xc5, 0x2c,
+  0x93, 0x78, 0xde, 0xe2, 0xa1, 0xaa, 0xa6, 0x06, 0x4b, 0xe5, 0x2c, 0x5c,
+  0x0d, 0x65, 0x66, 0xd3, 0x16, 0x0d, 0x24, 0x67, 0x7e, 0xc1, 0x91, 0x14,
+  0x02, 0x41, 0xd9, 0x16, 0x1d, 0x22, 0x37, 0x46, 0x50, 0x2c, 0x27, 0xd2,
+  0xb1, 0x70, 0xf0, 0x0e, 0x5d, 0xcc, 0x29, 0x47, 0xea, 0xc2, 0xda, 0x4b,
+  0xdf, 0x5e, 0x5f, 0x6b, 0xf2, 0x32, 0xcf, 0x9b, 0xd6, 0x8e, 0x66, 0xdd,
+  0xc0, 0xc1, 0xd4, 0xca, 0xb9, 0x44, 0xc7, 0x75, 0x90, 0xaa, 0xfe, 0x35,
+  0x89, 0x35, 0xd7, 0xd3, 0x6c, 0x94, 0x5d, 0x5d, 0x3d, 0x42, 0x1b, 0x92,
+  0x3f, 0x86, 0x26, 0x84, 0x2d, 0x77, 0x38, 0x73, 0x84, 0xdf, 0x1b, 0x69,
+  0x3d, 0x59, 0xae, 0xab, 0x30, 0x10, 0x33, 0x27, 0xa0, 0xa9, 0x1a, 0xe6,
+  0xa2, 0x30, 0x24, 0xb8, 0xe7, 0xf2, 0x5b, 0x2c, 0x2a, 0x19, 0x85, 0x46,
+  0x45, 0x67, 0xd7, 0x58, 0x47, 0x0f, 0x4d, 0x53, 0x44, 0x7f, 0xff, 0xc7,
+  0x8f, 0x3f, 0xb5, 0x80, 0x39, 0xb1, 0xeb, 0x42, 0xa3, 0xfa, 0x39, 0xaa,
+  0x59, 0xb3, 0x91, 0xe0, 0x23, 0x60, 0x7b, 0x95, 0x47, 0x71, 0xd4, 0xca,
+  0x38, 0x83, 0x20, 0x6f, 0xa2, 0x79, 0x61, 0xb0, 0xed, 0xce, 0x3a, 0x8c,
+  0x11, 0x5e, 0x50, 0x5a, 0xe8, 0xc6, 0x34, 0xb9, 0x8e, 0x81, 0xf0, 0xe0,
+  0x6f, 0x4f, 0x97, 0x24, 0x2b, 0xcc, 0xba, 0x09, 0x14, 0xe7, 0x72, 0xe0,
+  0x43, 0x41, 0x0a, 0xc6, 0xe4, 0x8b, 0x13, 0xe7, 0xb4, 0x09, 0x36, 0xe2,
+  0x2b, 0xde, 0x88, 0xc6, 0xaa, 0x39, 0x20, 0xc5, 0x5e, 0x1d, 0x85, 0x34,
+  0x84, 0x2f, 0x40, 0xf6, 0x87, 0x28, 0xfe, 0x15, 0x60, 0xac, 0x86, 0x10,
+  0x13, 0x80, 0x91, 0x09, 0xa6, 0x7b, 0x88, 0x58, 0x84, 0x23, 0xea, 0x52,
+  0x78, 0xc0, 0xd6, 0x11, 0xa5, 0xf2, 0xd5, 0xb1, 0x43, 0x87, 0x6b, 0xd0,
+  0x7d, 0xa5, 0x10, 0x5c, 0x15, 0x47, 0x0e, 0x00, 0x94, 0xae, 0xba, 0xdf,
+  0xbd, 0xab, 0xf1, 0x21, 0x06, 0xfb, 0x36, 0x25, 0x44, 0x71, 0x89, 0x44,
+  0xad, 0x33, 0xd8, 0x02, 0xbf, 0x6c, 0xa7, 0x86, 0xf7, 0xd7, 0xfd, 0x8f,
+  0xae, 0x07, 0x89, 0x69, 0x0d, 0x22, 0x74, 0x09, 0x6e, 0xcd, 0x24, 0xfd,
+  0xfe, 0x49, 0xcf, 0x0f, 0xd6, 0xf7, 0x68, 0x53, 0x19, 0xb5, 0x00, 0xc1,
+  0xad, 0x1b, 0xc7, 0xd7, 0xc7, 0x07, 0x47, 0x36, 0xdf, 0x7f, 0x4b, 0x86,
+  0x3d, 0xe0, 0xa0, 0x42, 0x9f, 0x90, 0x39, 0x05, 0x47, 0x89, 0xc0, 0xdf,
+  0x2d, 0xcd, 0x47, 0x84, 0x4d, 0x33, 0x23, 0x47, 0x4b, 0xc4, 0x18, 0x49,
+  0x6c, 0x0c, 0x8b, 0x6d, 0x55, 0x88, 0x5d, 0x0d, 0x16, 0x11, 0x59, 0x5d,
+  0xd5, 0x24, 0xf3, 0x0a, 0x09, 0x33, 0x0a, 0xbc, 0x2a, 0xad, 0x75, 0x92,
+  0x82, 0xa2, 0x81, 0x01, 0x61, 0xdf, 0x20, 0x23, 0x6e, 0xba, 0x68, 0xe4,
+  0x46, 0xc5, 0xd7, 0x9c, 0xbb, 0x39, 0x5d, 0x04, 0xcf, 0x06, 0xd9, 0x73,
+  0x2f, 0xe5, 0xe7, 0xba, 0x7b, 0xe5, 0x58, 0x40, 0xb1, 0xf4, 0x61, 0x27,
+  0xac, 0xb8, 0x74, 0x93, 0x52, 0x96, 0x81, 0x84, 0x0d, 0xe2, 0x4e, 0xd7,
+  0x09, 0x8a, 0x6e, 0x33, 0xff, 0xac, 0xaf, 0x83, 0x15, 0x15, 0x26, 0x86,
+  0xec, 0x41, 0x6e, 0x05, 0x71, 0x4b, 0xb3, 0x1a, 0xc3, 0x5c, 0x0f, 0x4d,
+  0x5e, 0xb3, 0xf2, 0x46, 0x93, 0x46, 0xed, 0x19, 0xbe, 0xd6, 0x8b, 0x92,
+  0x53, 0x4a, 0xdd, 0xc8, 0xf8, 0xbd, 0x9b, 0xb8, 0xf0, 0x7e, 0x01, 0x41,
+  0x7b, 0x28, 0xc2, 0xc8, 0x07, 0xf3, 0x6b, 0x36, 0x2b, 0x7c, 0x58, 0x20,
+  0xbe, 0xc5, 0x5f, 0xf4, 0x44, 0xce, 0x66, 0x40, 0x00, 0x7e, 0x41, 0x93,
+  0xfa, 0x5c, 0x6f, 0x1e, 0x0c, 0x6f, 0xd9, 0x04, 0xb2, 0xaf, 0x1d, 0x57,
+  0xe7, 0x4c, 0xcd, 0xe6, 0x49, 0xd5, 0x72, 0xc2, 0x73, 0xb4, 0x34, 0x42,
+  0x24, 0xed, 0xa1, 0x68, 0x7c, 0xe3, 0xd6, 0x63, 0x81, 0xaf, 0x5c, 0xe2,
+  0x46, 0x88, 0xe7, 0xe1, 0x38, 0x5d, 0x96, 0xf7, 0x24, 0x93, 0x85, 0x77,
+  0xf4, 0x85, 0x64, 0x35, 0xd6, 0xbe, 0xe3, 0xf1, 0x3a, 0xdf, 0xae, 0xab,
+  0x6a, 0xe1, 0xf2, 0x71, 0x8d, 0xd7, 0xc3, 0xa4, 0x26, 0xa9, 0xe6, 0x49,
+  0xce, 0x2e, 0x0e, 0x84, 0x6d, 0xb1, 0x18, 0x7b, 0xdf, 0xe4, 0xe8, 0x5a,
+  0x8b, 0x07, 0xe7, 0x81, 0xeb, 0x3e, 0xb0, 0x91, 0x4c, 0x72, 0x0d, 0x75,
+  0xd6, 0xba, 0x64, 0x74, 0x45, 0x5c, 0xa7, 0x77, 0x42, 0x2d, 0x36, 0xb2,
+  0x96, 0x8c, 0x37, 0x37, 0x06, 0x13, 0xf5, 0xbd, 0x73, 0x5f, 0xd0, 0x1b,
+  0xa2, 0x02, 0xe5, 0x39, 0x2c, 0x6d, 0x7e, 0x9c, 0x4d, 0xf9, 0x9e, 0x93,
+  0xb2, 0xe6, 0x44, 0xd8, 0x75, 0x3f, 0xdc, 0xd7, 0x24, 0xd5, 0xed, 0x77,
+  0xda, 0xe3, 0xdd, 0x3d, 0xb2, 0x50, 0xe1, 0xa0, 0x7c, 0x11, 0x9d, 0x62,
+  0xbb, 0x8c, 0x23, 0x4b, 0xd4, 0xb7, 0xad, 0xe3, 0xb5, 0x80, 0xf6, 0xd6,
+  0x51, 0x5b, 0xba, 0xc6, 0x02, 0x31, 0x8d, 0x93, 0x7e, 0x76, 0xd5, 0x47,
+  0x35, 0x47, 0x2e, 0xa3, 0xc7, 0x5a, 0x59, 0x40, 0xd0, 0x48, 0xdd, 0xe5,
+  0x2d, 0xa2, 0xb6, 0xdb, 0x6e, 0x49, 0x0d, 0x8a, 0xcf, 0x9d, 0xc5, 0x4e,
+  0x07, 0xa4, 0x6b, 0xb2, 0xcf, 0x56, 0x1e, 0x7b, 0xdd, 0xa1, 0xb8, 0x71,
+  0xa2, 0x64, 0x9c, 0xe7, 0x29, 0x9d, 0xc2, 0x06, 0xf8, 0x31, 0x42, 0x18,
+  0x7b, 0x72, 0x91, 0x4a, 0x44, 0x18, 0xbb, 0x7b, 0x66, 0xe2, 0xe4, 0x83,
+  0x97, 0x66, 0xb9, 0x80, 0x44, 0xc8, 0x39, 0xdb, 0x6d, 0xb2, 0xaf, 0x4f,
+  0x76, 0xab, 0x95, 0x52, 0x84, 0x03, 0x23, 0xcc, 0x0d, 0x5e, 0x87, 0x84,
+  0x52, 0xf5, 0x3d, 0x40, 0x3f, 0x72, 0x77, 0x60, 0x55, 0x0c, 0x86, 0x03,
+  0xc6, 0x2f, 0xfa, 0xb6, 0x18, 0x5e, 0xdb, 0x62, 0x91, 0xf8, 0x15, 0xe3,
+  0x1e, 0x81, 0xec, 0xcc, 0xe5, 0xaf, 0x17, 0xcb, 0xd1, 0x6c, 0xf2, 0x2c,
+  0x7a, 0x49, 0xff, 0x7c, 0xde, 0xe2, 0x3b, 0x47, 0x75, 0x73, 0x11, 0xf9,
+  0x54, 0x10, 0xc2, 0xef, 0x4f, 0xf6, 0xf8, 0x38, 0x3c, 0x50, 0x8b, 0xe3,
+  0x14, 0xe0, 0x32, 0x93, 0xf4, 0x3a, 0x2d, 0x0b, 0x97, 0x44, 0x88, 0x57,
+  0xd6, 0x97, 0xd5, 0xc2, 0x0a, 0xed, 0xee, 0x7d, 0x16, 0x8d, 0xd2, 0x32,
+  0x7a, 0x73, 0xf4, 0x4c, 0x4a, 0xf3, 0x15, 0xcb, 0x99, 0x2f, 0xe1, 0x0a,
+  0xec, 0x60, 0x1e, 0x20, 0x49, 0xa7, 0x34, 0xc6, 0x69, 0xa3, 0x46, 0xce,
+  0x6d, 0xb2, 0xea, 0x55, 0xaa, 0x43, 0x5c, 0x99, 0x67, 0x36, 0x30, 0xb2,
+  0x3b, 0x7a, 0x93, 0x52, 0xdf, 0xe6, 0xb4, 0x6f, 0x11, 0xe8, 0x69, 0xfe,
+  0xd4, 0x7f, 0x11, 0x59, 0x55, 0xaf, 0x8a, 0xb8, 0x69, 0x55, 0x1d, 0x90,
+  0xf1, 0x78, 0x78, 0x8e, 0xcd, 0x1c, 0x56, 0x91, 0x5c, 0x1e, 0xc3, 0xc8,
+  0xfd, 0xb4, 0x6a, 0x5a, 0x95, 0xf2, 0x9c, 0x86, 0x6d, 0xd4, 0x27, 0xe5,
+  0xea, 0x7a, 0x5d, 0xcd, 0xc5, 0x13, 0x3c, 0x5a, 0xb1, 0x90, 0x9d, 0xe2,
+  0x71, 0x97, 0xf9, 0x1c, 0x44, 0x69, 0xf1, 0x41, 0x48, 0xc7, 0x5c, 0xfa,
+  0xb6, 0x81, 0xd2, 0xba, 0x14, 0x18, 0x64, 0x4c, 0xc0, 0x2a, 0x81, 0xe6,
+  0x4b, 0xc1, 0x3e, 0x3f, 0x58, 0xb0, 0x91, 0x27, 0xda, 0x1d, 0x3c, 0xf4,
+  0xc2, 0x42, 0x64, 0x8a, 0x94, 0xcf, 0xe5, 0xc6, 0x1a, 0x1e, 0x28, 0x44,
+  0x63, 0xd4, 0x06, 0xc4, 0x4d, 0x8b, 0x75, 0x6d, 0xca, 0xe1, 0x49, 0xb9,
+  0x30, 0xe1, 0x3d, 0x62, 0x66, 0xd7, 0x31, 0x40, 0xda, 0x03, 0xca, 0x4b,
+  0xe9, 0x1c, 0x28, 0xf4, 0xd9, 0x9a, 0x79, 0xcb, 0x97, 0x2e, 0xfb, 0xdd,
+  0x2e, 0x61, 0x95, 0xc3, 0x35, 0xb4, 0xd7, 0xc8, 0x2d, 0x78, 0xa2, 0x59,
+  0x2c, 0x8d, 0xdb, 0xc1, 0x8e, 0xe3, 0xf8, 0x8a, 0xfe, 0xab, 0x6b, 0xd0,
+  0xe7, 0x9b, 0xaf, 0x17, 0xa1, 0x9e, 0xba, 0x12, 0x9e, 0x0f, 0x6a, 0x46,
+  0xa3, 0xcd, 0x20, 0xfe, 0xc2, 0xea, 0xfd, 0x72, 0xb4, 0xd3, 0x60, 0x10,
+  0x1e, 0x27, 0x70, 0xf2, 0x2b, 0x66, 0x7f, 0xad, 0xb9, 0xdc, 0xe7, 0x82,
+  0x6d, 0x58, 0xad, 0x63, 0x6d, 0xf1, 0x12, 0x5e, 0x4c, 0x76, 0xad, 0x0c,
+  0x9c, 0x55, 0x80, 0x7d, 0x9a, 0x2d, 0x53, 0xb3, 0xde, 0x22, 0x99, 0x46,
+  0xe8, 0xdf, 0x0f, 0x6b, 0xdb, 0x0f, 0xa2, 0x83, 0xb9, 0xe9, 0xe2, 0x5a,
+  0x54, 0x8c, 0x73, 0x77, 0x1a, 0x55, 0x60, 0x6e, 0x93, 0x86, 0x49, 0x40,
+  0x6d, 0x02, 0xc1, 0xcc, 0x48, 0xae, 0xda, 0xd9, 0xdf, 0x0d, 0xeb, 0x07,
+  0xcd, 0xb5, 0xd0, 0x04, 0x8a, 0xea, 0xfc, 0x76, 0xd1, 0xf7, 0x27, 0x2a,
+  0x89, 0xb5, 0xd1, 0x0b, 0xc3, 0x73, 0x6f, 0xbf, 0x3e, 0x39, 0x3d, 0xde,
+  0x8a, 0x5e, 0x27, 0xc0, 0x15, 0xa9, 0x91, 0x0d, 0x1f, 0xde, 0xdf, 0xc9,
+  0x27, 0x46, 0xfd, 0xaa, 0x84, 0xb6, 0xe5, 0xbc, 0x39, 0x57, 0x3d, 0xe4,
+  0x69, 0x39, 0x12, 0x98, 0x85, 0xe4, 0x65, 0x65, 0x30, 0x5d, 0x1a, 0x08,
+  0xbb, 0x05, 0x33, 0xb6, 0x92, 0x1f, 0x6c, 0x6d, 0xbe, 0x62, 0x8e, 0x47,
+  0xa1, 0x47, 0x39, 0x79, 0x8d, 0x03, 0xe6, 0x81, 0x47, 0x6a, 0x91, 0xb3,
+  0xe0, 0x50, 0xad, 0x9c, 0xde, 0x32, 0x3a, 0xa9, 0x65, 0x97, 0xfe, 0x2c,
+  0xc1, 0xe8, 0x58, 0xb5, 0x59, 0x36, 0x71, 0x30, 0x94, 0x52, 0xd9, 0x86,
+  0xe7, 0x1b, 0xac, 0xdd, 0x5f, 0x69, 0xed, 0xfe, 0xba, 0x9c, 0xdf, 0xf6,
+  0xb5, 0x82, 0xa1, 0x02, 0x7a, 0x14, 0xed, 0x67, 0xef, 0x3b, 0x17, 0x84,
+  0x82, 0xc0, 0x60, 0x31, 0x74, 0x36, 0x0b, 0xf9, 0xc5, 0x1a, 0x75, 0x2a,
+  0x03, 0x5f, 0x5f, 0x08, 0xc8, 0x0b, 0x0f, 0x52, 0x7c, 0x7d, 0xcc, 0x11,
+  0xc9, 0x50, 0x10, 0x3b, 0x56, 0x50, 0xd1, 0x1a, 0xee, 0x0c, 0x42, 0x08,
+  0xc6, 0x06, 0xb4, 0x6d, 0x61, 0xa9, 0x67, 0x37, 0xae, 0x1c, 0x1e, 0xe4,
+  0x57, 0x0d, 0x2f, 0x61, 0xd1, 0x86, 0xd7, 0x9b, 0x2e, 0x7a, 0x5f, 0xaa,
+  0xb1, 0x10, 0x9c, 0x59, 0x26, 0xa5, 0xda, 0x35, 0x2b, 0x09, 0x81, 0x86,
+  0x12, 0x5e, 0x18, 0x00, 0x90, 0x8d, 0x30, 0xaa, 0x0f, 0xce, 0x10, 0xc4,
+  0x59, 0x36, 0xe8, 0x36, 0x08, 0x67, 0x3c, 0xcd, 0xa4, 0x3a, 0xd2, 0x7d,
+  0xe8, 0xd6, 0xfc, 0x4f, 0xdc, 0xf7, 0x7c, 0x95, 0x29, 0x25, 0xf6, 0x5b,
+  0x22, 0xe4, 0x5d, 0xb1, 0xb7, 0xe0, 0xa0, 0x48, 0xa6, 0x18, 0xe4, 0x88,
+  0x33, 0xdf, 0xc6, 0x3c, 0x28, 0x0d, 0xee, 0x73, 0x91, 0x5a, 0x61, 0xb3,
+  0xfa, 0x81, 0xde, 0xed, 0x38, 0xf5, 0x11, 0x91, 0x55, 0x56, 0xa4, 0x22,
+  0x59, 0x38, 0xa3, 0x60, 0x20, 0x88, 0xb7, 0x14, 0x74, 0x34, 0x70, 0x03,
+  0x70, 0x29, 0xf7, 0x8a, 0xf3, 0x54, 0x71, 0xcc, 0xb1, 0x9f, 0xef, 0x2d,
+  0xf8, 0x7a, 0xd1, 0x16, 0x37, 0x66, 0xe9, 0x54, 0xa1, 0x74, 0x13, 0x18,
+  0x3a, 0x55, 0xd0, 0x77, 0x70, 0xe9, 0xca, 0x2b, 0x3b, 0xd6, 0x5a, 0xa7,
+  0x19, 0x34, 0x12, 0x22, 0x0d, 0x88, 0xe9, 0xcc, 0x23, 0x3c, 0x1d, 0x10,
+  0x7d, 0x35, 0x1e, 0xe1, 0x78, 0x05, 0x89, 0x5c, 0x4f, 0x5a, 0xea, 0x79,
+  0x0b, 0x62, 0x37, 0x6d, 0x92, 0xc5, 0x36, 0xb8, 0xba, 0x81, 0x2d, 0xb9,
+  0x79, 0x92, 0xc3, 0x88, 0x75, 0x8b, 0xd9, 0x81, 0x56, 0xa7, 0xd5, 0x95,
+  0x39, 0x6b, 0x55, 0x8f, 0x31, 0xef, 0x8a, 0x14, 0x0e, 0xf2, 0x63, 0x0a,
+  0xe1, 0xfb, 0xd7, 0x4f, 0x16, 0x15, 0x6c, 0x2c, 0xde, 0x30, 0x5c, 0xe3,
+  0x66, 0xb8, 0x61, 0x20, 0x8a, 0x7a, 0x23, 0x17, 0xca, 0xd2, 0xb0, 0x88,
+  0x8d, 0xab, 0xdb, 0x8a, 0x9c, 0x68, 0x00, 0x43, 0xe4, 0xec, 0xb5, 0x91,
+  0xab, 0x2b, 0xb7, 0xa6, 0x5c, 0x1c, 0x92, 0x2f, 0x6f, 0xe2, 0x87, 0x87,
+  0x41, 0x91, 0x48, 0xfd, 0xb4, 0xa2, 0x98, 0x22, 0xd1, 0xb3, 0x5a, 0x27,
+  0x8e, 0x73, 0xfc, 0x93, 0x45, 0x3c, 0x45, 0xb4, 0x23, 0xf3, 0xa3, 0x75,
+  0xf5, 0xb8, 0x2a, 0x26, 0xbd, 0x44, 0xa3, 0xdd, 0xf0, 0x46, 0x5c, 0xad,
+  0x9a, 0xc5, 0xa8, 0x50, 0x85, 0x41, 0x7c, 0x73, 0x10, 0x16, 0xd1, 0xec,
+  0xa4, 0xe1, 0x74, 0xd2, 0xc0, 0x2e, 0xb8, 0x7f, 0x78, 0xe3, 0xdc, 0x28,
+  0x58, 0xdd, 0x18, 0xa9, 0x21, 0xda, 0x75, 0x61, 0x3e, 0xb2, 0x94, 0x1e,
+  0xbe, 0x4b, 0x27, 0xcb, 0x86, 0xb6, 0x5b, 0x7f, 0xdd, 0xaa, 0xf1, 0x06,
+  0xa9, 0x17, 0xe0, 0x3c, 0xfc, 0x44, 0xe6, 0x2e, 0x75, 0x40, 0xf7, 0xa2,
+  0xca, 0x63, 0xe3, 0x32, 0xb8, 0x52, 0x18, 0x0e, 0xdc, 0x32, 0x97, 0x87,
+  0xe7, 0xef, 0xbf, 0x39, 0x3e, 0x3e, 0x3f, 0x39, 0x62, 0xf6, 0x8f, 0xfb,
+  0xc6, 0x7d, 0xf4, 0xf6, 0xf2, 0xdb, 0x53, 0x0f, 0xc5, 0xa1, 0x9a, 0x42,
+  0xfd, 0x40, 0xb1, 0xe1, 0x97, 0x9b, 0x3b, 0x4d, 0xe7, 0xcb, 0x87, 0x1e,
+  0xca, 0x50, 0x91, 0x9e, 0x71, 0x70, 0xf2, 0x3d, 0xc9, 0x2e, 0xe7, 0xfd,
+  0x77, 0xdf, 0x37, 0xb2, 0xa7, 0x82, 0xa0, 0x3c, 0xba, 0xbe, 0xea, 0xe7,
+  0xdc, 0xc5, 0xe8, 0x01, 0x23, 0xcc, 0xcf, 0xdd, 0x48, 0xac, 0x05, 0x84,
+  0xf9, 0x23, 0x63, 0x8e, 0xab, 0x5a, 0x4b, 0x78, 0xdd, 0x3b, 0xeb, 0x12,
+  0x76, 0xbf, 0xe5, 0xb6, 0x8b, 0x67, 0x9c, 0x68, 0x34, 0x08, 0x09, 0x6b,
+  0x15, 0xbd, 0xa4, 0x7f, 0xda, 0xb2, 0x35, 0xb7, 0xb9, 0x98, 0x7d, 0x74,
+  0x1e, 0x60, 0x57, 0x38, 0x17, 0xd6, 0xc0, 0xe2, 0x96, 0xd4, 0x92, 0xa0,
+  0xf9, 0x47, 0xea, 0x23, 0xcc, 0x1b, 0x20, 0x96, 0xae, 0x05, 0x5f, 0xfb,
+  0x17, 0xe6, 0xbd, 0xa4, 0xdd, 0xf9, 0xf8, 0x2b, 0xa6, 0xa9, 0x52, 0xa7,
+  0x1f, 0x04, 0x44, 0x68, 0xce, 0x91, 0x9f, 0x1d, 0x38, 0x48, 0x18, 0x15,
+  0x59, 0xb8, 0x15, 0x4c, 0x50, 0x96, 0xad, 0x05, 0xaf, 0x5d, 0x10, 0x13,
+  0x42, 0xb4, 0x8f, 0x94, 0xa8, 0xfc, 0xe8, 0xf8, 0xa2, 0x27, 0x20, 0x09,
+  0x21, 0x40, 0x82, 0x47, 0x01, 0x1a, 0x58, 0x01, 0xe7, 0xb2, 0xd5, 0x78,
+  0x05, 0x2c, 0x93, 0x7f, 0x1f, 0x36, 0xc2, 0x6d, 0x3e, 0x8a, 0x5e, 0x22,
+  0xe0, 0x6f, 0x4d, 0x20, 0xb5, 0x16, 0x98, 0xfd, 0x26, 0xc9, 0x47, 0x49,
+  0x9e, 0x15, 0xf5, 0x24, 0x3a, 0x4d, 0xb8, 0xd7, 0x42, 0x9e, 0xdc, 0x8e,
+  0x65, 0xe2, 0x36, 0x03, 0x0b, 0xc1, 0xa7, 0xf9, 0x85, 0x46, 0xba, 0x50,
+  0x17, 0x91, 0x73, 0xdd, 0x5e, 0xd4, 0xe5, 0x44, 0x41, 0xfe, 0x49, 0xec,
+  0xeb, 0x0a, 0x8e, 0x91, 0x34, 0x9e, 0x76, 0x7b, 0x4d, 0xc8, 0xc4, 0xae,
+  0x2e, 0x7b, 0x97, 0x03, 0x1f, 0x55, 0x35, 0x86, 0x1d, 0x05, 0x66, 0x43,
+  0xc6, 0x62, 0xc2, 0x58, 0x0c, 0x96, 0x85, 0xcd, 0x18, 0xde, 0x40, 0x57,
+  0x34, 0xb0, 0xac, 0x5c, 0x73, 0x75, 0xf3, 0x71, 0xfb, 0x05, 0x11, 0x32,
+  0x04, 0x0d, 0x8c, 0x64, 0x5d, 0xdf, 0x12, 0xd9, 0x25, 0xd5, 0x5d, 0x40,
+  0x64, 0x6f, 0x75, 0xe1, 0x9e, 0x8a, 0x8d, 0xfe, 0xab, 0xe1, 0xf0, 0xe0,
+  0xfc, 0xa4, 0xbe, 0xd4, 0xf4, 0x69, 0xff, 0xad, 0xd5, 0x92, 0xdf, 0x72,
+  0xc4, 0xe2, 0x2d, 0xc2, 0x3c, 0x7e, 0xe4, 0x1e, 0xb1, 0x74, 0xcd, 0x71,
+  0x22, 0xc0, 0xa2, 0xfa, 0x96, 0x2e, 0xb3, 0x35, 0x11, 0x8e, 0x0a, 0x3c,
+  0xa4, 0x26, 0xce, 0x3c, 0xaa, 0xd4, 0xa8, 0x24, 0x59, 0xf2, 0x37, 0xa4,
+  0xa9, 0x6f, 0xa4, 0xee, 0xd9, 0x55, 0x7a, 0xcd, 0x41, 0xfa, 0xf8, 0xd9,
+  0x86, 0xc3, 0x54, 0x3d, 0x6e, 0xc1, 0x83, 0x5e, 0x60, 0x06, 0xe4, 0x99,
+  0xe6, 0x98, 0x89, 0xdc, 0xac, 0xd8, 0xc9, 0x2d, 0xe1, 0x26, 0xfc, 0xb6,
+  0x3a, 0x75, 0xd3, 0x20, 0x68, 0x02, 0x62, 0x86, 0xeb, 0x63, 0xe6, 0x6a,
+  0x90, 0x04, 0xed, 0x8a, 0xa7, 0xb4, 0x6e, 0x6a, 0xd3, 0x7a, 0x79, 0xa6,
+  0xbf, 0x24, 0xf3, 0xca, 0x74, 0x55, 0x5c, 0x16, 0x4b, 0x17, 0xbb, 0xfc,
+  0xed, 0x79, 0xb3, 0x23, 0xd6, 0x4d, 0x6d, 0xe3, 0x92, 0x71, 0x9d, 0xc3,
+  0x11, 0x0c, 0xa2, 0xb3, 0x45, 0x20, 0x7d, 0xdd, 0x24, 0x69, 0xee, 0x3d,
+  0xa2, 0x3e, 0x9f, 0x1d, 0x5c, 0xa1, 0x39, 0x59, 0xd1, 0x82, 0x82, 0x72,
+  0x2b, 0xf3, 0x60, 0x01, 0xa4, 0xc8, 0x8a, 0xe3, 0xba, 0x82, 0xc4, 0xcf,
+  0x53, 0x29, 0x93, 0x62, 0x41, 0x7a, 0x68, 0xa3, 0x4a, 0xa8, 0x58, 0x37,
+  0x05, 0xf9, 0x80, 0x01, 0xa8, 0x0b, 0x44, 0xe1, 0x44, 0xc0, 0xec, 0x5f,
+  0x55, 0x9c, 0x2e, 0x70, 0x79, 0xd2, 0x29, 0xda, 0x54, 0x00, 0xc3, 0xb6,
+  0xaa, 0x6c, 0xe2, 0x33, 0xc8, 0x41, 0x3d, 0x86, 0xfd, 0xaf, 0xb1, 0x20,
+  0x41, 0xeb, 0x52, 0xcc, 0x51, 0xf0, 0xb7, 0x02, 0x3f, 0x70, 0x4b, 0x5a,
+  0xa4, 0xba, 0x10, 0xc3, 0x09, 0x18, 0xbe, 0x8a, 0x7b, 0x53, 0xf3, 0xf8,
+  0x47, 0x80, 0x0a, 0x52, 0x75, 0x42, 0xc1, 0x1f, 0x1a, 0x58, 0x50, 0x19,
+  0x30, 0x56, 0xbe, 0x13, 0x64, 0x88, 0x49, 0xb6, 0x64, 0xfe, 0x26, 0x9f,
+  0xd6, 0x3d, 0x38, 0x89, 0x14, 0x81, 0x2c, 0xd8, 0x29, 0xc4, 0x5e, 0x9c,
+  0x96, 0x22, 0x15, 0x0e, 0x9a, 0x61, 0x3f, 0x8a, 0xfe, 0xf2, 0x97, 0x5e,
+  0xf4, 0x97, 0x0e, 0xfd, 0x57, 0xd2, 0x7f, 0xb4, 0xa0, 0x7f, 0x91, 0x9a,
+  0x07, 0x7f, 0xb9, 0xa3, 0x0b, 0x34, 0xe2, 0xda, 0x85, 0xc5, 0x94, 0x41,
+  0x04, 0x3c, 0xa0, 0x7d, 0x33, 0x8f, 0x50, 0x42, 0x0c, 0xb5, 0x88, 0x07,
+  0x9f, 0x7d, 0x98, 0xb0, 0x26, 0x6e, 0xad, 0x24, 0xb5, 0x86, 0x36, 0x6c,
+  0x39, 0x9b, 0x8b, 0x82, 0xac, 0x5b, 0x0f, 0xa2, 0x6e, 0x68, 0x91, 0xc4,
+  0x08, 0xbb, 0x9f, 0x74, 0xd5, 0x6d, 0x5e, 0x5a, 0x6a, 0x6b, 0x18, 0xa5,
+  0x89, 0xf7, 0x5c, 0x55, 0x72, 0x2d, 0x18, 0x09, 0xcb, 0x70, 0x5b, 0xbc,
+  0x26, 0x14, 0xf1, 0x33, 0x36, 0xe6, 0x49, 0x81, 0x51, 0xf0, 0x54, 0xe1,
+  0x18, 0x6c, 0x90, 0x8e, 0x16, 0x37, 0x2b, 0xe8, 0x99, 0x42, 0x83, 0xe2,
+  0xb3, 0xb3, 0x18, 0x5f, 0x1a, 0x65, 0x4b, 0xf9, 0x91, 0xa6, 0xf0, 0x1d,
+  0x20, 0xb3, 0x39, 0x8d, 0x89, 0xdd, 0xee, 0x01, 0x5f, 0xa1, 0xf1, 0x75,
+  0xfb, 0xdd, 0x2a, 0x36, 0xa2, 0xd5, 0xba, 0x69, 0xab, 0x87, 0x13, 0x94,
+  0xae, 0x69, 0xd4, 0xd0, 0xf4, 0xc8, 0x5f, 0x12, 0xa5, 0x36, 0x12, 0x0e,
+  0xe4, 0x5c, 0x49, 0x70, 0x11, 0x9a, 0xe5, 0x2c, 0x3c, 0x67, 0x3d, 0xdc,
+  0x38, 0x8d, 0x9a, 0x25, 0x92, 0x9a, 0xe6, 0x7d, 0x51, 0x48, 0xef, 0xf7,
+  0xaa, 0x50, 0xbf, 0x2f, 0x55, 0x36, 0xc5, 0x71, 0xce, 0xe4, 0x81, 0x3a,
+  0x85, 0x2b, 0x0e, 0xb6, 0x59, 0x34, 0x2c, 0x8f, 0xbc, 0xca, 0xf6, 0x26,
+  0x8f, 0x83, 0x39, 0x33, 0x17, 0xdc, 0xb9, 0x9f, 0x2b, 0x0f, 0x19, 0x66,
+  0x00, 0xa0, 0x16, 0xc3, 0x94, 0xa2, 0xca, 0x14, 0x3e, 0x48, 0xa3, 0xc5,
+  0x6b, 0xdf, 0x30, 0x53, 0xf1, 0x78, 0x5e, 0x45, 0x9d, 0xb5, 0x5a, 0x4a,
+  0xa7, 0xfe, 0xc2, 0x69, 0x06, 0xe7, 0xa6, 0xda, 0xd8, 0x05, 0xed, 0x4f,
+  0x2c, 0x6d, 0x06, 0xd3, 0x36, 0x05, 0x2a, 0x89, 0x58, 0x38, 0x7c, 0xd1,
+  0x6f, 0x63, 0xf0, 0x6b, 0x7c, 0x31, 0xe2, 0xc4, 0x12, 0xe8, 0x48, 0x3d,
+  0x95, 0x5c, 0x2f, 0x75, 0x1d, 0xec, 0xa9, 0xd9, 0x58, 0x38, 0x87, 0xff,
+  0x96, 0x85, 0xa6, 0xb4, 0x34, 0x2b, 0xc4, 0xa6, 0x69, 0x7b, 0x7f, 0xb3,
+  0x7b, 0x6c, 0x4b, 0x6d, 0xe4, 0x92, 0x97, 0xba, 0x0e, 0x25, 0xac, 0xca,
+  0x45, 0xa1, 0x54, 0xc0, 0x68, 0x95, 0x42, 0xb2, 0xbf, 0x22, 0x61, 0x7a,
+  0x52, 0x8d, 0x25, 0x5e, 0x4b, 0xd5, 0x50, 0x74, 0xb8, 0xc7, 0x44, 0xb2,
+  0x2d, 0x74, 0x11, 0x3c, 0x67, 0x81, 0xcf, 0xa1, 0x70, 0x02, 0x72, 0x96,
+  0x93, 0x16, 0xdb, 0xd8, 0x99, 0xdd, 0x2d, 0x55, 0xe9, 0x51, 0xfe, 0x0f,
+  0xd5, 0x20, 0x55, 0x05, 0xeb, 0xdc, 0x64, 0x82, 0xf5, 0xd3, 0xd9, 0x67,
+  0xb5, 0x4a, 0xb8, 0x82, 0xcd, 0xd1, 0x85, 0xd6, 0xd7, 0x73, 0x72, 0x18,
+  0x4c, 0xe9, 0xeb, 0xb3, 0x37, 0xc7, 0x2e, 0xe3, 0x55, 0x4c, 0x7d, 0xfc,
+  0x49, 0x2b, 0xc6, 0xe3, 0x00, 0xd9, 0x04, 0x86, 0x00, 0xd1, 0x6b, 0xd6,
+  0xf2, 0xc4, 0xea, 0x5c, 0x27, 0xe5, 0xe2, 0x7e, 0x99, 0x4e, 0x36, 0x81,
+  0xd2, 0xf1, 0xee, 0xed, 0xc9, 0xf7, 0x7d, 0x98, 0x89, 0x55, 0x8f, 0x33,
+  0x98, 0x0a, 0x43, 0xb8, 0x50, 0x7f, 0xc2, 0xac, 0x05, 0x93, 0xc5, 0x8a,
+  0x33, 0x80, 0x5e, 0x14, 0x96, 0x08, 0xc9, 0x7e, 0xe9, 0x5c, 0xa4, 0x18,
+  0x69, 0x72, 0x8b, 0x59, 0x10, 0xf1, 0x6f, 0xa0, 0x2d, 0x61, 0xdf, 0x5b,
+  0xb2, 0x77, 0x83, 0xfd, 0xe6, 0xe6, 0x0e, 0xce, 0xcf, 0x8f, 0x0e, 0x2e,
+  0x0f, 0xdc, 0xdc, 0x00, 0x6e, 0x04, 0x36, 0x07, 0x71, 0x86, 0xf5, 0xfa,
+  0x5c, 0x48, 0xb0, 0xfb, 0x7b, 0xce, 0x0f, 0xac, 0x73, 0xbe, 0xf3, 0x8b,
+  0x33, 0xb6, 0x34, 0xfe, 0xfe, 0x2f, 0x07, 0xbe, 0x92, 0x1c, 0x6a, 0x26,
+  0x35, 0x0b, 0x7a, 0xed, 0x91, 0x00, 0x77, 0x86, 0x90, 0x0e, 0x1b, 0xa0,
+  0x46, 0x0a, 0x89, 0x20, 0x17, 0xbd, 0xe7, 0x3d, 0xcd, 0xc7, 0x4e, 0x38,
+  0x81, 0xfd, 0x53, 0xb7, 0xb3, 0xd7, 0xcc, 0x2d, 0x0b, 0x26, 0xc2, 0xdc,
+  0xb6, 0x86, 0xf5, 0x64, 0x6b, 0x35, 0x8d, 0x92, 0x87, 0x64, 0xbc, 0x2c,
+  0xc1, 0xbe, 0x38, 0xba, 0x9d, 0xe9, 0x6b, 0xc2, 0x0b, 0x55, 0x77, 0xd4,
+  0xbb, 0xfd, 0xb1, 0x0d, 0x12, 0x04, 0x12, 0x5c, 0x01, 0xc2, 0x83, 0x24,
+  0xa9, 0x33, 0x93, 0x02, 0x1a, 0x03, 0x1b, 0xad, 0xda, 0xac, 0x1a, 0x67,
+  0x47, 0x40, 0x14, 0x89, 0xce, 0x6d, 0x0e, 0x8d, 0x05, 0xf9, 0x84, 0x98,
+  0x5e, 0xdf, 0x42, 0x4c, 0x65, 0xda, 0xf4, 0x41, 0xe3, 0xa1, 0xd2, 0xd5,
+  0x82, 0x60, 0x31, 0xa9, 0xe9, 0xfd, 0x54, 0x3e, 0x15, 0x32, 0xa8, 0xba,
+  0xa9, 0x47, 0x41, 0x63, 0xf4, 0x29, 0x40, 0x15, 0x23, 0x0a, 0xb1, 0xe9,
+  0xcf, 0x31, 0xc7, 0x22, 0x3d, 0x4a, 0x52, 0x31, 0x89, 0xb8, 0xfc, 0xd7,
+  0xf6, 0xee, 0x60, 0xa7, 0xd3, 0x1c, 0x3d, 0x52, 0x5a, 0x61, 0x19, 0x8f,
+  0xe7, 0x72, 0x3f, 0x0b, 0x30, 0x6f, 0xf6, 0xe1, 0x01, 0x0a, 0x07, 0x25,
+  0x99, 0x0f, 0x51, 0x0b, 0x6d, 0x63, 0xe9, 0x9f, 0x35, 0xbc, 0x43, 0xe2,
+  0xe1, 0xf4, 0x2c, 0x79, 0x9e, 0x21, 0xac, 0x34, 0x66, 0x63, 0x19, 0xfc,
+  0x04, 0x9d, 0xf6, 0x05, 0x9e, 0x4f, 0x24, 0xda, 0xa1, 0xb6, 0xce, 0xff,
+  0x54, 0x90, 0xa0, 0xdb, 0x7f, 0xff, 0xf9, 0x7a, 0x6e, 0x57, 0x71, 0x8b,
+  0x92, 0x12, 0x04, 0x7a, 0x6c, 0x05, 0x5f, 0x3d, 0x10, 0x00, 0xe4, 0x5a,
+  0xf0, 0x13, 0x7b, 0x62, 0xb9, 0xce, 0x20, 0x07, 0x56, 0xb1, 0xfe, 0xa4,
+  0x39, 0x9c, 0xb3, 0xa0, 0x62, 0x60, 0x2c, 0x21, 0xc9, 0x8d, 0xab, 0xc3,
+  0xd5, 0x97, 0xd6, 0x6e, 0xfb, 0x72, 0xd3, 0xaa, 0x95, 0x0e, 0x85, 0x5a,
+  0x82, 0x3a, 0xda, 0x61, 0xfa, 0xfe, 0x1a, 0x78, 0x10, 0x13, 0x53, 0x49,
+  0x1d, 0x9c, 0x0a, 0x9e, 0x8a, 0x84, 0xd3, 0x8a, 0x16, 0x25, 0x63, 0x12,
+  0x8f, 0xbb, 0x77, 0x43, 0xf1, 0x7b, 0xbf, 0x6b, 0x2b, 0xce, 0xbd, 0xaf,
+  0x33, 0x55, 0xf8, 0x85, 0x52, 0x1d, 0xf7, 0x1c, 0xe6, 0xa1, 0x99, 0x4a,
+  0xfd, 0xd7, 0xce, 0xac, 0x66, 0x76, 0x37, 0xea, 0x91, 0xd6, 0xbc, 0x09,
+  0x12, 0x2a, 0xc1, 0xee, 0x59, 0x3e, 0x43, 0x05, 0x31, 0xc0, 0xf4, 0x81,
+  0x19, 0x64, 0x0c, 0xb0, 0x10, 0x1b, 0xe8, 0x9d, 0x1e, 0x01, 0xea, 0xe8,
+  0x9a, 0x64, 0xe3, 0xb5, 0x88, 0xa8, 0x06, 0x32, 0xe2, 0xcb, 0xf0, 0xb2,
+  0x77, 0xa0, 0xb0, 0xd4, 0xda, 0xf7, 0xc0, 0xcf, 0x9a, 0x4c, 0x36, 0x9f,
+  0x6c, 0xc9, 0xda, 0xbb, 0x0a, 0xdb, 0x70, 0xdc, 0x7d, 0xb0, 0xaa, 0xf6,
+  0x87, 0xd4, 0x47, 0xef, 0xfc, 0x68, 0x43, 0xbd, 0xa9, 0x28, 0x96, 0x8f,
+  0xe6, 0xd9, 0x4c, 0x49, 0xd4, 0x29, 0xfb, 0x30, 0x2d, 0xbd, 0x24, 0x81,
+  0x2b, 0x99, 0x7c, 0xfe, 0x88, 0x34, 0x39, 0x8b, 0x1f, 0xd2, 0xd9, 0x72,
+  0xe6, 0x13, 0xe3, 0xf0, 0x9e, 0x2f, 0xf3, 0xe0, 0x41, 0xb9, 0x60, 0xd1,
+  0x68, 0xc3, 0x97, 0x52, 0xbf, 0x97, 0xce, 0x0f, 0xc8, 0xc4, 0x12, 0x43,
+  0x04, 0xa7, 0x0a, 0x53, 0x21, 0x8d, 0x87, 0x8d, 0x42, 0xe9, 0x22, 0x31,
+  0x9a, 0xed, 0x4e, 0xc4, 0x6d, 0xca, 0x14, 0x54, 0xdf, 0x54, 0x1b, 0x09,
+  0xaa, 0x1a, 0x88, 0x4f, 0x42, 0x02, 0x82, 0xe6, 0x25, 0x67, 0xcb, 0x8d,
+  0xa8, 0x89, 0xfb, 0x74, 0x52, 0xde, 0xb4, 0xe2, 0x0d, 0xca, 0x22, 0x62,
+  0xda, 0x91, 0x20, 0x94, 0x70, 0x80, 0x09, 0x56, 0x0a, 0x2e, 0xe3, 0x6d,
+  0xb1, 0x1b, 0xbb, 0x64, 0xfb, 0x98, 0xa8, 0xee, 0x8a, 0xb3, 0x23, 0x5a,
+  0xf4, 0x04, 0x0d, 0x8b, 0x1b, 0xb8, 0x33, 0x2a, 0x55, 0x33, 0x6f, 0x25,
+  0x08, 0xf5, 0x1b, 0xb5, 0x8b, 0x08, 0x70, 0x11, 0xe2, 0xa9, 0x25, 0xba,
+  0x8a, 0x6e, 0xd0, 0xdb, 0x74, 0xda, 0x2c, 0xa4, 0xb8, 0x82, 0x32, 0xd5,
+  0x9d, 0xe1, 0xf5, 0x37, 0x5d, 0xb5, 0xe0, 0xa3, 0x5a, 0xb2, 0xfa, 0xb3,
+  0x35, 0xf1, 0x21, 0xea, 0x5e, 0x4b, 0x17, 0x5f, 0x75, 0x5d, 0x16, 0x45,
+  0xe3, 0x0a, 0xf4, 0x4e, 0x70, 0xbb, 0x45, 0x8a, 0xfd, 0x68, 0x6f, 0x67,
+  0xe7, 0x9b, 0x5e, 0xf4, 0x44, 0x2a, 0xcc, 0xee, 0x7e, 0xd5, 0xba, 0x42,
+  0x56, 0xec, 0x49, 0x6a, 0x78, 0xaa, 0x0e, 0x1a, 0xdf, 0x81, 0xdd, 0xeb,
+  0xc2, 0x61, 0x4a, 0xec, 0x7b, 0x5a, 0xe6, 0x26, 0x68, 0xcb, 0xe2, 0xaf,
+  0xd9, 0x2a, 0x98, 0xb1, 0xeb, 0x50, 0x08, 0x33, 0xc4, 0x0c, 0xf1, 0xee,
+  0xdd, 0xd0, 0x6f, 0x89, 0xcf, 0xff, 0x94, 0x4e, 0x5a, 0x32, 0x90, 0x8b,
+  0x1b, 0x3e, 0xfd, 0xa3, 0x65, 0x8e, 0xa3, 0xcc, 0x6e, 0x50, 0x29, 0x5b,
+  0xc4, 0xa6, 0x75, 0x13, 0xac, 0x48, 0x56, 0xf0, 0x15, 0x56, 0x3d, 0x50,
+  0x0d, 0x4f, 0x66, 0xb0, 0xae, 0x2e, 0xa4, 0x24, 0x03, 0xb8, 0xda, 0xb1,
+  0x3f, 0x90, 0xce, 0x84, 0x21, 0xc8, 0x49, 0x71, 0x7a, 0x87, 0x84, 0x73,
+  0x7a, 0x17, 0x63, 0x7d, 0xb2, 0xac, 0x55, 0x89, 0x9a, 0x0a, 0xfb, 0x32,
+  0x6c, 0xe1, 0x98, 0x23, 0xc3, 0xa7, 0x2d, 0xb4, 0xb0, 0x08, 0x0f, 0x44,
+  0xda, 0x05, 0xcb, 0x9d, 0xf2, 0x03, 0xd3, 0x55, 0xaf, 0xa9, 0x76, 0x70,
+  0x58, 0x20, 0xfc, 0x01, 0xb6, 0xc2, 0xe1, 0x90, 0x38, 0x77, 0x76, 0x8c,
+  0x42, 0x36, 0x1c, 0xda, 0xf5, 0xdb, 0x99, 0xa5, 0xa6, 0x0c, 0xc8, 0x9f,
+  0x16, 0x65, 0x9f, 0xdd, 0xbb, 0xed, 0xb6, 0x4e, 0xe8, 0x15, 0x9a, 0x51,
+  0x6e, 0x50, 0x53, 0x13, 0x0f, 0x87, 0x29, 0xa6, 0x6c, 0xa9, 0xbd, 0x81,
+  0x40, 0x4a, 0x3e, 0x52, 0xcc, 0xbe, 0xfa, 0x8d, 0x40, 0x3f, 0x62, 0x94,
+  0x77, 0x69, 0x72, 0x4f, 0xc7, 0xe9, 0xd8, 0x63, 0x92, 0x55, 0x39, 0x86,
+  0x55, 0xbe, 0x20, 0xaa, 0x1f, 0xdf, 0xd0, 0x7d, 0xd2, 0x47, 0xd8, 0x75,
+  0x9b, 0xdc, 0xee, 0xa2, 0x94, 0x11, 0x8e, 0xc6, 0x7a, 0x16, 0x4a, 0xb2,
+  0xf8, 0x2c, 0xf8, 0x02, 0x05, 0x4f, 0x70, 0x2c, 0x25, 0xc2, 0xd9, 0x7f,
+  0xc5, 0xa3, 0x58, 0x03, 0x82, 0x25, 0x18, 0xb0, 0x0e, 0xe6, 0x0a, 0xba,
+  0x63, 0x96, 0x1b, 0x96, 0xec, 0xe3, 0x62, 0x03, 0xe8, 0x53, 0x57, 0xe8,
+  0xed, 0xe9, 0xd0, 0xa3, 0x03, 0x98, 0x2b, 0xb0, 0x80, 0xa5, 0x80, 0xf8,
+  0x2f, 0x0b, 0x85, 0xfc, 0x58, 0x7b, 0x79, 0x22, 0x87, 0x99, 0x8f, 0xf8,
+  0x20, 0xc4, 0xbf, 0x88, 0x80, 0x9b, 0xe6, 0x15, 0xb8, 0x07, 0xee, 0xe3,
+  0xcf, 0x62, 0x6e, 0x93, 0xa0, 0xb4, 0xf6, 0x48, 0x15, 0x4e, 0xa7, 0x0b,
+  0x2b, 0xa6, 0xc3, 0xd8, 0x8c, 0x2c, 0x2f, 0x22, 0x31, 0xba, 0xb4, 0x6f,
+  0xab, 0x92, 0x0a, 0xe7, 0x68, 0x08, 0x32, 0xcc, 0x4b, 0xe2, 0x67, 0x9f,
+  0xff, 0xd8, 0xa7, 0x7f, 0x7f, 0x6a, 0xf8, 0x02, 0x4b, 0xc1, 0x93, 0x51,
+  0x93, 0x96, 0x85, 0x95, 0xe6, 0x1e, 0x1f, 0x5f, 0xea, 0xd7, 0xa3, 0x1d,
+  0xf9, 0xb6, 0x08, 0xca, 0x0a, 0xb4, 0x87, 0x48, 0x98, 0x6f, 0x6e, 0xb3,
+  0x60, 0x84, 0xd0, 0x4a, 0x01, 0x00, 0x41, 0x07, 0xb1, 0x86, 0xd8, 0x32,
+  0x30, 0x97, 0x3b, 0x07, 0x1e, 0xd8, 0xfa, 0x32, 0x8e, 0x63, 0x96, 0x73,
+  0x9c, 0x5b, 0xd2, 0xd7, 0x82, 0x1c, 0xb1, 0x9b, 0xb5, 0x58, 0x31, 0xda,
+  0x93, 0x08, 0x74, 0x45, 0xe6, 0x12, 0x5a, 0x40, 0xc8, 0x18, 0x7e, 0xd3,
+  0x91, 0xcb, 0x80, 0x44, 0x12, 0x9b, 0x41, 0x02, 0x2e, 0x75, 0x9d, 0xe7,
+  0xd9, 0xbd, 0x9d, 0x7d, 0x0d, 0x4a, 0x0e, 0x64, 0x06, 0xef, 0x64, 0xa4,
+  0xb6, 0x97, 0x8b, 0x16, 0xcf, 0x2b, 0xa7, 0x2a, 0x34, 0x80, 0x44, 0xc2,
+  0x4c, 0xcc, 0xb0, 0x50, 0x46, 0x6b, 0x78, 0x0a, 0x70, 0xe4, 0xb7, 0xcc,
+  0x00, 0xe6, 0xca, 0x9a, 0x88, 0x25, 0xdb, 0x65, 0x9d, 0x68, 0xe0, 0xb6,
+  0x80, 0xe8, 0x5c, 0x27, 0x6d, 0x25, 0xca, 0x25, 0xb1, 0x1a, 0xb8, 0x0b,
+  0x16, 0x75, 0x5d, 0x46, 0xae, 0x46, 0xc7, 0x26, 0x7b, 0x32, 0xc7, 0x30,
+  0x7f, 0x69, 0x40, 0x78, 0xbd, 0x50, 0x46, 0x0b, 0x2e, 0x41, 0x1c, 0x3d,
+  0xf9, 0xfe, 0xfb, 0x2a, 0x38, 0xe1, 0x56, 0xaf, 0xc2, 0xb1, 0x7c, 0x00,
+  0x87, 0xca, 0x17, 0x44, 0x44, 0x59, 0xdb, 0x29, 0xb7, 0x48, 0x7b, 0xb3,
+  0xeb, 0x72, 0x20, 0x06, 0xb4, 0x38, 0xd8, 0xfe, 0x14, 0x77, 0x59, 0x2a,
+  0x61, 0x6b, 0xe8, 0x7b, 0x10, 0x07, 0xd6, 0x74, 0x90, 0xb8, 0x90, 0x9f,
+  0x9e, 0x8b, 0xbc, 0x95, 0xc0, 0x13, 0x04, 0xa7, 0xd9, 0x5a, 0xf1, 0x52,
+  0x15, 0x8e, 0x60, 0xe8, 0x52, 0xba, 0x9f, 0xb7, 0x57, 0x36, 0xa9, 0xb9,
+  0x7d, 0x5c, 0x81, 0x03, 0x0d, 0x22, 0xc4, 0xf9, 0x95, 0x92, 0x3c, 0x6c,
+  0x9f, 0x1a, 0xe7, 0x89, 0xfa, 0x6e, 0xac, 0x5c, 0x50, 0xe3, 0xbc, 0x8a,
+  0x9d, 0x87, 0xc3, 0xac, 0x30, 0x3f, 0x4e, 0xe2, 0x95, 0x93, 0x8b, 0xcb,
+  0xc7, 0xc7, 0x32, 0x84, 0x7b, 0x85, 0xc7, 0x7b, 0x2d, 0x02, 0xc2, 0x3d,
+  0xca, 0x8f, 0x80, 0xf1, 0x98, 0xfd, 0x0e, 0x41, 0x57, 0x9a, 0x98, 0x84,
+  0xbb, 0x20, 0xff, 0x53, 0x6b, 0x39, 0x3e, 0xde, 0xff, 0xb6, 0x8a, 0x83,
+  0xfd, 0x32, 0x5f, 0x62, 0x89, 0xd8, 0xe7, 0xcb, 0x79, 0xe5, 0x99, 0x4f,
+  0x27, 0x63, 0x37, 0x9f, 0x45, 0x97, 0xc9, 0x25, 0xe6, 0xbd, 0xad, 0x2d,
+  0x41, 0x20, 0x36, 0x33, 0x31, 0xe1, 0xc0, 0x04, 0x54, 0x0d, 0x8f, 0xe8,
+  0xf7, 0x49, 0x34, 0xed, 0xe3, 0xb1, 0xa2, 0x51, 0xd9, 0x21, 0xb4, 0x79,
+  0x29, 0x3c, 0x67, 0x36, 0xd5, 0x52, 0x2e, 0x6e, 0xcd, 0x4c, 0x87, 0x30,
+  0x22, 0x52, 0x97, 0x51, 0xcc, 0x14, 0x44, 0x87, 0xee, 0xab, 0xe3, 0x7a,
+  0x51, 0xab, 0x4d, 0x60, 0xe4, 0xa9, 0xaa, 0x88, 0xe4, 0x09, 0xfa, 0xfb,
+  0xfc, 0xdd, 0xe5, 0x96, 0xaf, 0x67, 0x37, 0xc9, 0x6a, 0x36, 0x2b, 0x6b,
+  0xbc, 0x25, 0x13, 0x45, 0x32, 0x14, 0x14, 0x94, 0x01, 0x69, 0x26, 0xee,
+  0x4c, 0x30, 0x8e, 0xc2, 0x93, 0x9d, 0x5d, 0x12, 0xd5, 0x76, 0xf6, 0x60,
+  0x75, 0x79, 0xb2, 0xf3, 0xc4, 0x99, 0xb3, 0xed, 0xa9, 0xc6, 0x8d, 0x37,
+  0x91, 0x17, 0xa1, 0x16, 0x82, 0xe4, 0x9f, 0x3c, 0x3c, 0xe0, 0xe3, 0x5e,
+  0x1d, 0xa5, 0xa7, 0x50, 0x85, 0x32, 0x09, 0x6a, 0x3c, 0xaf, 0x39, 0x5a,
+  0x7e, 0xc5, 0x61, 0x3e, 0x59, 0xce, 0x25, 0xf6, 0x8b, 0x95, 0x5f, 0x64,
+  0x3c, 0xd4, 0x2f, 0x87, 0x90, 0x0e, 0x1e, 0x63, 0x4d, 0xa7, 0x2c, 0xde,
+  0x57, 0x18, 0x59, 0xcf, 0x63, 0x3a, 0x08, 0xe2, 0xaf, 0x29, 0x77, 0x96,
+  0x8b, 0x58, 0x6b, 0xee, 0x4f, 0x3e, 0xd5, 0x56, 0xea, 0xa3, 0x80, 0xd4,
+  0x03, 0xf6, 0x86, 0x9a, 0x57, 0x9c, 0x30, 0xe6, 0x8f, 0x49, 0x36, 0x30,
+  0xbc, 0xd5, 0x46, 0x1e, 0x04, 0xad, 0xb2, 0x55, 0x08, 0x4c, 0x19, 0x84,
+  0x61, 0xb2, 0x1c, 0xe3, 0xae, 0xe7, 0xb0, 0x17, 0x2e, 0xf8, 0x37, 0x12,
+  0xcc, 0x47, 0x03, 0xd1, 0xe0, 0xb6, 0x3d, 0x91, 0x36, 0xd5, 0x6c, 0x1c,
+  0x43, 0x3c, 0xe5, 0x92, 0x76, 0x59, 0xaf, 0x61, 0x83, 0x91, 0x4b, 0x15,
+  0x6e, 0x30, 0x88, 0xf9, 0x55, 0x66, 0x10, 0xb5, 0x4d, 0x90, 0x5e, 0x90,
+  0x25, 0x5c, 0x74, 0x66, 0x1e, 0x8e, 0xa5, 0x36, 0x24, 0x68, 0xe7, 0x4b,
+  0x0e, 0x56, 0xab, 0xb5, 0x58, 0x81, 0x61, 0x9d, 0x31, 0xa6, 0x6c, 0x3e,
+  0xa6, 0xc3, 0xfd, 0x52, 0x63, 0x36, 0x9b, 0xae, 0x7e, 0xc1, 0x1d, 0x31,
+  0xfd, 0x0f, 0x13, 0x00, 0x54, 0xa4, 0x87, 0x9d, 0xd2, 0xa5, 0x15, 0xa9,
+  0x7a, 0x06, 0x04, 0x62, 0xf1, 0x24, 0x37, 0x13, 0xb7, 0x00, 0xad, 0xea,
+  0x56, 0xfc, 0xa3, 0xac, 0x27, 0xce, 0xfe, 0xdf, 0x82, 0x16, 0x49, 0x0b,
+  0x9d, 0x2e, 0x18, 0xe2, 0xab, 0x69, 0xdb, 0x5e, 0x8f, 0x51, 0xa2, 0xd3,
+  0x06, 0x17, 0xff, 0x77, 0x4e, 0x1b, 0x7e, 0xd7, 0x5f, 0x36, 0xcc, 0x07,
+  0x14, 0xa9, 0x41, 0x9c, 0xe5, 0x4b, 0x28, 0x6e, 0x1f, 0xa3, 0x96, 0xe3,
+  0xf1, 0x4d, 0x53, 0x5e, 0xb7, 0x7c, 0xaa, 0xb5, 0xe8, 0xe4, 0x06, 0xe7,
+  0x84, 0xf8, 0x89, 0x36, 0xa9, 0x0a, 0x8f, 0xfa, 0xab, 0x2d, 0xad, 0x86,
+  0x52, 0xe3, 0x4e, 0x46, 0xde, 0x65, 0xaf, 0x8a, 0x8e, 0xb3, 0xa6, 0xc6,
+  0x20, 0x02, 0x1f, 0xa5, 0x48, 0x7d, 0x10, 0x25, 0x0f, 0xf8, 0x63, 0xdc,
+  0xbe, 0xc9, 0x03, 0xdc, 0x2e, 0xc4, 0xa7, 0x9e, 0x3f, 0x19, 0xb4, 0xdb,
+  0x7e, 0x2e, 0x2b, 0x01, 0xa7, 0xc6, 0x92, 0xc5, 0x45, 0x21, 0x70, 0x32,
+  0x8b, 0x9c, 0x71, 0x65, 0xc3, 0xd9, 0x49, 0x0d, 0x83, 0x16, 0xfc, 0x8d,
+  0x82, 0x41, 0xc0, 0x45, 0x42, 0x2e, 0xd7, 0x62, 0x84, 0x59, 0x49, 0x2e,
+  0x17, 0xea, 0x8a, 0x59, 0x36, 0xbc, 0xc7, 0x92, 0x3a, 0x82, 0x6c, 0x0c,
+  0x49, 0xb2, 0x6c, 0x2c, 0x94, 0xea, 0xcd, 0xb8, 0xdc, 0x5c, 0x58, 0x29,
+  0x57, 0xa7, 0x49, 0xf2, 0x46, 0x28, 0x15, 0x32, 0xd8, 0x59, 0x11, 0xe0,
+  0xc5, 0xc2, 0xf9, 0x0d, 0xe2, 0xfa, 0x1d, 0x55, 0xcc, 0xb6, 0x85, 0x30,
+  0x1e, 0x8d, 0x68, 0x7b, 0xa3, 0xa4, 0x20, 0x7a, 0x30, 0xbc, 0x87, 0xfa,
+  0xa4, 0xd0, 0x2d, 0xeb, 0x4d, 0xc2, 0x4f, 0x51, 0xdf, 0xf7, 0x26, 0x9b,
+  0x86, 0x66, 0xb8, 0xa6, 0xbb, 0x8b, 0x24, 0x89, 0x81, 0x47, 0x51, 0x55,
+  0xfd, 0x8b, 0x57, 0x53, 0x2b, 0x09, 0xa7, 0x56, 0xbf, 0x60, 0x84, 0x5a,
+  0xe8, 0x7f, 0xcd, 0x46, 0x56, 0x42, 0x90, 0xaf, 0xfa, 0x36, 0xe4, 0x5a,
+  0xf1, 0xad, 0xdc, 0x70, 0x0d, 0x38, 0xda, 0xb4, 0xa5, 0xd0, 0x26, 0x43,
+  0xb1, 0x92, 0xbc, 0x56, 0xb2, 0x12, 0x8b, 0xe8, 0x71, 0xa8, 0x1a, 0xd1,
+  0x35, 0x92, 0xf7, 0x26, 0x22, 0x53, 0x91, 0xc8, 0xd1, 0x00, 0x8d, 0x73,
+  0x95, 0x9d, 0x54, 0x8e, 0xc6, 0xe2, 0xb0, 0x2b, 0x6c, 0x8d, 0x0c, 0xf0,
+  0xeb, 0x29, 0xc3, 0x6f, 0xb0, 0x1b, 0xf3, 0x66, 0xd4, 0xde, 0x1b, 0x7c,
+  0x38, 0xe0, 0x8a, 0x95, 0x1c, 0x43, 0x2d, 0xce, 0x89, 0xa5, 0xa6, 0xf6,
+  0x49, 0xd5, 0x64, 0xdf, 0xca, 0x7c, 0x9b, 0xcb, 0x18, 0x97, 0xf9, 0xb8,
+  0xd1, 0x88, 0x93, 0xe0, 0x8a, 0xb1, 0xda, 0x2e, 0x06, 0x78, 0x90, 0x18,
+  0xc7, 0x7b, 0xfd, 0x85, 0x2f, 0x09, 0xf5, 0xe1, 0x6c, 0xb9, 0xc8, 0x8d,
+  0xd6, 0xe0, 0x09, 0x16, 0xde, 0xba, 0x85, 0xf3, 0x2f, 0xa8, 0x66, 0xcb,
+  0x1b, 0x01, 0xdc, 0xad, 0xb6, 0x7a, 0xcb, 0x0e, 0x4f, 0x76, 0xb5, 0x68,
+  0x04, 0x4f, 0x04, 0x85, 0x4c, 0xae, 0xa4, 0x3a, 0x95, 0xf9, 0xad, 0xbc,
+  0xa4, 0xed, 0x0a, 0x58, 0x85, 0x49, 0x32, 0x8a, 0x8d, 0xd2, 0x32, 0xba,
+  0xa8, 0x51, 0xd8, 0x1a, 0x22, 0x26, 0x66, 0xba, 0xf9, 0x74, 0x0b, 0x6a,
+  0x75, 0xb9, 0xd8, 0xdc, 0xdd, 0x42, 0x8f, 0x96, 0xcc, 0x2f, 0x82, 0x7e,
+  0xab, 0xbf, 0x5a, 0xeb, 0xb9, 0x84, 0x95, 0x56, 0x4b, 0x01, 0x84, 0x65,
+  0x71, 0x0e, 0x27, 0x9c, 0x75, 0x45, 0x59, 0x35, 0x87, 0x6a, 0xcd, 0x46,
+  0xc8, 0x36, 0xce, 0x28, 0x29, 0x6d, 0x0b, 0x76, 0xd4, 0x14, 0x02, 0xb9,
+  0xbe, 0xe9, 0x11, 0x88, 0xe1, 0x7e, 0x4e, 0xac, 0x94, 0x08, 0x2d, 0xdf,
+  0x74, 0xd2, 0xe7, 0x01, 0x5f, 0xe7, 0x59, 0x13, 0x21, 0x8c, 0x9d, 0xec,
+  0xbc, 0x06, 0x5b, 0xe2, 0x07, 0x6d, 0x2d, 0x93, 0xd1, 0x61, 0x87, 0x62,
+  0xc7, 0x83, 0x85, 0x33, 0x56, 0x53, 0xaa, 0x32, 0x5a, 0xdd, 0x30, 0x54,
+  0xd9, 0xd2, 0x06, 0xbd, 0x1f, 0x70, 0xb4, 0x46, 0x3a, 0xbe, 0x55, 0x5f,
+  0xac, 0x80, 0x2f, 0xc3, 0x47, 0x85, 0x22, 0xca, 0x22, 0xbc, 0xd2, 0x35,
+  0xa1, 0xf2, 0x39, 0x54, 0x50, 0xba, 0x33, 0x94, 0xd4, 0x5a, 0xaa, 0xd4,
+  0xf0, 0x39, 0x35, 0xc5, 0x02, 0x09, 0x48, 0x99, 0xde, 0x40, 0xb0, 0xc0,
+  0x88, 0x36, 0x32, 0xc9, 0x38, 0x42, 0x96, 0xfd, 0x2c, 0x42, 0x05, 0xb2,
+  0xbf, 0x2d, 0x32, 0x5b, 0x77, 0xb6, 0xe2, 0x34, 0xf4, 0x6e, 0x15, 0xa4,
+  0xbd, 0x4b, 0x0c, 0x8b, 0xee, 0x89, 0xae, 0x2d, 0x2f, 0xcc, 0x2a, 0x8f,
+  0x00, 0x69, 0xac, 0xeb, 0x5b, 0x48, 0x5b, 0xba, 0xf0, 0xad, 0x4b, 0xe3,
+  0xc1, 0x5d, 0x8b, 0xa9, 0xf6, 0xcd, 0xef, 0x5e, 0x6b, 0xfb, 0x5b, 0x5b,
+  0x30, 0xed, 0xdc, 0x9e, 0xb7, 0xa2, 0xd0, 0x9e, 0x95, 0x88, 0xe5, 0x35,
+  0x38, 0xa7, 0xcb, 0xa2, 0x99, 0xe0, 0xe7, 0x8a, 0xb0, 0x59, 0xd4, 0x02,
+  0x5b, 0x7c, 0x62, 0xab, 0x2d, 0x23, 0x9c, 0x4c, 0xde, 0xd6, 0x56, 0x99,
+  0x30, 0x07, 0x95, 0xc1, 0x6a, 0x88, 0xdb, 0xe3, 0x05, 0xe3, 0x2b, 0xd1,
+  0x70, 0xcd, 0x93, 0x05, 0xc3, 0x6e, 0xe5, 0x99, 0xf6, 0xf4, 0x65, 0xd6,
+  0x1f, 0x26, 0x09, 0x87, 0x1a, 0x09, 0x74, 0xc0, 0x9b, 0x74, 0x9c, 0x67,
+  0x45, 0x76, 0x25, 0xb7, 0xba, 0x91, 0xa7, 0x33, 0x37, 0x71, 0x6e, 0x71,
+  0xcc, 0xce, 0xdd, 0x26, 0xbf, 0xd0, 0x72, 0x7c, 0x12, 0xbf, 0xcc, 0x97,
+  0xf6, 0x8c, 0x68, 0x9d, 0x53, 0x29, 0xd8, 0x0e, 0x5c, 0x0a, 0x28, 0x5c,
+  0xec, 0xa2, 0xf6, 0xf4, 0x8e, 0xb0, 0x88, 0xc9, 0x67, 0x8f, 0x6b, 0xd2,
+  0xbc, 0x13, 0x5a, 0xc5, 0x05, 0x17, 0x82, 0x44, 0x97, 0xa1, 0xb2, 0x8e,
+  0x62, 0x22, 0x89, 0xfe, 0x63, 0xaf, 0xb5, 0x8f, 0xce, 0x14, 0x18, 0x00,
+  0x98, 0xc3, 0x68, 0x1c, 0x56, 0x4c, 0xe4, 0x40, 0xc0, 0x93, 0xe3, 0xcb,
+  0xd7, 0xd1, 0x24, 0x8f, 0x69, 0xfa, 0xf8, 0xb7, 0x4f, 0x3a, 0xc0, 0xcf,
+  0x71, 0x23, 0x0b, 0xb8, 0x58, 0xf0, 0x26, 0xf5, 0xd9, 0xf3, 0xd8, 0xdf,
+  0x79, 0x3a, 0x28, 0x1f, 0x5a, 0x23, 0x05, 0xc5, 0xd6, 0x6c, 0x16, 0x4c,
+  0x2d, 0xad, 0xe1, 0xb7, 0x4c, 0x53, 0x3c, 0xf9, 0x9a, 0xcd, 0x1e, 0x56,
+  0x75, 0x98, 0xc3, 0x36, 0x50, 0x60, 0x60, 0xe9, 0xf4, 0xf1, 0xb8, 0xa7,
+  0x92, 0x7f, 0x21, 0xec, 0x52, 0xc2, 0x2c, 0x83, 0x40, 0xca, 0x35, 0xc5,
+  0x42, 0x1e, 0x8d, 0xab, 0x6c, 0x8b, 0xa3, 0xb4, 0x8f, 0xd7, 0xa0, 0x27,
+  0xd6, 0x88, 0xb7, 0x5d, 0x8b, 0x5f, 0x36, 0xab, 0x04, 0x38, 0x14, 0x67,
+  0xd0, 0x80, 0xc5, 0x57, 0x33, 0x9c, 0x14, 0x2c, 0x47, 0xfd, 0xa5, 0xa6,
+  0xc3, 0xb6, 0x27, 0x09, 0x81, 0xc7, 0x02, 0x45, 0xcd, 0xa0, 0xdd, 0x6a,
+  0x44, 0x06, 0x39, 0xd5, 0x7c, 0x8f, 0x03, 0x54, 0xcf, 0x85, 0x89, 0xbb,
+  0xce, 0xd1, 0xfa, 0xcb, 0x68, 0x1f, 0xb8, 0x4d, 0xc9, 0x9c, 0x4b, 0x6a,
+  0xd8, 0xb1, 0xf6, 0x2c, 0x50, 0x39, 0xb1, 0xe3, 0x47, 0x61, 0xc1, 0xe5,
+  0xfe, 0xb2, 0x7d, 0x74, 0x71, 0x9e, 0xf0, 0xed, 0x24, 0x21, 0x90, 0x7a,
+  0xf3, 0x0e, 0xfe, 0xfd, 0x88, 0xdb, 0x9e, 0x0f, 0xbd, 0xdd, 0x46, 0x90,
+  0xfe, 0x68, 0xc9, 0xdf, 0xb5, 0x56, 0xea, 0x56, 0x5e, 0x28, 0x4f, 0xa8,
+  0x4f, 0x36, 0x70, 0xae, 0x16, 0x1c, 0x27, 0x37, 0x0b, 0xab, 0xc1, 0xb0,
+  0xe4, 0xc7, 0x1a, 0x72, 0x9d, 0x26, 0x96, 0xc2, 0x3b, 0x7a, 0x55, 0x6c,
+  0xe1, 0x9a, 0xe5, 0x5d, 0xba, 0x61, 0x53, 0x53, 0xd8, 0x7c, 0x9b, 0x83,
+  0x1a, 0xaf, 0xc3, 0xd5, 0x08, 0x3f, 0x95, 0x08, 0xfd, 0x12, 0xe3, 0xac,
+  0xd6, 0x06, 0x6d, 0xc2, 0x41, 0xb1, 0x13, 0x7b, 0x1b, 0xdf, 0x2c, 0x49,
+  0x1a, 0xed, 0xb5, 0x58, 0xcd, 0xcd, 0x90, 0x0b, 0x5e, 0x46, 0xf7, 0xa9,
+  0xa6, 0xe0, 0x5b, 0xa2, 0x96, 0xb4, 0xc0, 0xc9, 0xde, 0x77, 0x00, 0x3c,
+  0x6c, 0x54, 0xb7, 0x68, 0x1b, 0x9d, 0xaf, 0x3c, 0x1f, 0x97, 0x7e, 0x01,
+  0x1f, 0x0b, 0xbb, 0x0b, 0xa0, 0xff, 0xe9, 0xe8, 0xc3, 0x00, 0xab, 0x44,
+  0x20, 0x14, 0x67, 0x19, 0x80, 0xf0, 0x4e, 0x1a, 0xec, 0x55, 0x83, 0x89,
+  0x48, 0x65, 0x11, 0x62, 0x22, 0xd2, 0xa7, 0xf0, 0x25, 0x8f, 0x50, 0xd7,
+  0x32, 0x92, 0x6a, 0xa6, 0xc6, 0x63, 0x74, 0xb0, 0x14, 0xdb, 0x84, 0xcf,
+  0xea, 0xe0, 0x94, 0x76, 0x58, 0x4e, 0xd5, 0x56, 0x7b, 0x79, 0x78, 0x1e,
+  0xd8, 0xc2, 0x19, 0x27, 0x60, 0x6d, 0x4a, 0x93, 0x06, 0xeb, 0xcc, 0x5d,
+  0xeb, 0xb3, 0x7f, 0xe3, 0xda, 0xf8, 0x19, 0x04, 0xcb, 0xe3, 0x3e, 0xac,
+  0x2d, 0x8d, 0xa6, 0xf0, 0xa5, 0x93, 0xf6, 0x2c, 0x0a, 0x5d, 0x21, 0x43,
+  0xe2, 0xd6, 0x35, 0xe2, 0xb4, 0x31, 0xcb, 0x93, 0x3c, 0x39, 0xa2, 0xd1,
+  0xb0, 0x74, 0x73, 0x4d, 0x83, 0xfb, 0xd2, 0xad, 0x40, 0x53, 0x2a, 0xf3,
+  0x0a, 0x23, 0x9c, 0x1c, 0xa8, 0xdc, 0x14, 0x14, 0xdf, 0xe2, 0x04, 0xeb,
+  0x10, 0xb6, 0x43, 0x1c, 0xc7, 0x96, 0x43, 0xba, 0x26, 0x4f, 0x1e, 0xd5,
+  0xd5, 0x11, 0x1b, 0x42, 0xfa, 0x0b, 0x5f, 0xca, 0xa3, 0x95, 0xe5, 0xaf,
+  0x29, 0x7a, 0x4f, 0x9e, 0x28, 0x74, 0x73, 0x30, 0xe0, 0xa2, 0xe5, 0x76,
+  0xe2, 0xda, 0xe7, 0x49, 0x32, 0xd3, 0xf8, 0xd0, 0x51, 0x9e, 0xdd, 0xd2,
+  0xf9, 0xe0, 0xd7, 0x20, 0x88, 0xf2, 0xea, 0xcb, 0x21, 0x37, 0x53, 0x16,
+  0x1d, 0x03, 0x05, 0x2c, 0x6e, 0x1a, 0xe6, 0x1c, 0xe2, 0xb5, 0x66, 0xd2,
+  0xf8, 0xd3, 0x22, 0x48, 0x53, 0x88, 0x03, 0xb4, 0xfb, 0x13, 0x77, 0x0f,
+  0x97, 0x40, 0xf2, 0x51, 0x10, 0x0d, 0x8d, 0xb4, 0x01, 0xcd, 0xfb, 0x9b,
+  0xd3, 0x90, 0x23, 0x8b, 0x90, 0x86, 0x5a, 0xb6, 0xbc, 0x42, 0x4c, 0x22,
+  0x08, 0xbc, 0x24, 0xaa, 0x92, 0x3b, 0x9e, 0xbd, 0x7e, 0x75, 0xe5, 0x1f,
+  0x70, 0xa7, 0xfd, 0x20, 0x68, 0xdd, 0x95, 0xd3, 0x16, 0x5b, 0xa8, 0x18,
+  0x1e, 0x27, 0x1e, 0x47, 0x3e, 0x16, 0xf9, 0x02, 0x01, 0x76, 0x44, 0x32,
+  0xcd, 0xdb, 0xdd, 0x65, 0xd4, 0xa8, 0xd4, 0x08, 0x2f, 0x05, 0x6f, 0x0f,
+  0x72, 0x54, 0x11, 0x6a, 0xa6, 0xd6, 0xb1, 0x3f, 0x86, 0x21, 0xd2, 0x51,
+  0x9b, 0xd1, 0x12, 0xc0, 0x06, 0x49, 0xe1, 0x6d, 0xb3, 0x12, 0x17, 0xe3,
+  0x72, 0xd8, 0x18, 0x1e, 0x25, 0xe4, 0x19, 0x18, 0xda, 0x20, 0x3a, 0x66,
+  0x3b, 0x6b, 0x8b, 0xf2, 0x60, 0x81, 0x9f, 0x98, 0x23, 0x52, 0x1c, 0x4b,
+  0x60, 0x45, 0xd2, 0x8d, 0xab, 0x9a, 0x18, 0xa7, 0x3e, 0xcf, 0x2c, 0xee,
+  0x9d, 0x31, 0x45, 0x5d, 0xe5, 0xb6, 0x56, 0x45, 0xaa, 0x28, 0x35, 0x8f,
+  0xdd, 0x60, 0x95, 0xed, 0x23, 0x87, 0x96, 0xf5, 0xda, 0x5b, 0xfc, 0x7b,
+  0xe2, 0xb3, 0x14, 0x25, 0xa7, 0x05, 0xf0, 0x0a, 0xa3, 0x89, 0xfc, 0x43,
+  0xbd, 0xe0, 0xf7, 0xfd, 0xcf, 0x76, 0xb4, 0xd0, 0x26, 0xf0, 0x15, 0xc3,
+  0x67, 0x50, 0x90, 0xa2, 0xe5, 0x9e, 0x41, 0xa2, 0x7b, 0x56, 0xba, 0x47,
+  0xeb, 0xd0, 0xac, 0x2f, 0x06, 0x4f, 0x2b, 0xe6, 0xdd, 0x79, 0x39, 0x9d,
+  0x79, 0x68, 0x20, 0x03, 0x24, 0x7d, 0x7b, 0x79, 0xfa, 0x26, 0x5a, 0xa3,
+  0x0e, 0xe0, 0xbb, 0xea, 0x57, 0xff, 0x8a, 0x52, 0x40, 0x5f, 0x9c, 0x9c,
+  0x0c, 0xa1, 0x12, 0xa8, 0xa3, 0xba, 0x11, 0x70, 0x51, 0x6a, 0x9e, 0x09,
+  0x4b, 0x55, 0x79, 0x4a, 0x1a, 0x7d, 0x8e, 0x1c, 0xb1, 0x32, 0x1b, 0x67,
+  0x53, 0x4e, 0x27, 0xe4, 0x97, 0x12, 0x2d, 0x16, 0x8f, 0xcb, 0x9d, 0xc1,
+  0xcb, 0xa6, 0xe0, 0x4a, 0x8b, 0xa4, 0x11, 0x30, 0xc3, 0x8a, 0x2c, 0x06,
+  0x60, 0x2c, 0x45, 0xd6, 0x06, 0x77, 0x05, 0xd7, 0xa7, 0xb4, 0x6c, 0x0f,
+  0xd2, 0x53, 0x88, 0xe2, 0x58, 0xd0, 0x54, 0x1b, 0xc7, 0x6d, 0x8a, 0xa8,
+  0xbf, 0x46, 0x2a, 0xa7, 0x96, 0xac, 0xaa, 0x20, 0xf5, 0x00, 0xc6, 0x6c,
+  0x92, 0xe5, 0x70, 0xdb, 0x05, 0x38, 0x31, 0x8c, 0x6d, 0xb6, 0x44, 0x48,
+  0x0c, 0x0f, 0x6f, 0xd5, 0x3c, 0x4a, 0xf7, 0x37, 0x99, 0x44, 0xa4, 0x60,
+  0x99, 0x99, 0x2b, 0x49, 0x10, 0x04, 0xfc, 0x02, 0x02, 0x2f, 0x22, 0x04,
+  0xe1, 0x59, 0x49, 0xb8, 0x51, 0x6d, 0xee, 0x35, 0x57, 0x24, 0x4e, 0x32,
+  0xad, 0x7a, 0x62, 0xdf, 0xa4, 0xcd, 0x39, 0x4a, 0xaf, 0xd7, 0xe0, 0x6f,
+  0xb5, 0x2b, 0x1d, 0x3c, 0xa2, 0xc7, 0xf5, 0x8d, 0xb6, 0xe8, 0xe0, 0x8a,
+  0xbe, 0x41, 0xd4, 0xf6, 0xb1, 0xaa, 0x86, 0xaf, 0x8c, 0xad, 0x95, 0x75,
+  0x25, 0xc9, 0x8b, 0x6f, 0x83, 0x40, 0xd7, 0x78, 0xd7, 0x70, 0x68, 0x3d,
+  0xa6, 0x52, 0x54, 0x53, 0xb3, 0x78, 0x42, 0xff, 0x5b, 0xa5, 0xe3, 0x8c,
+  0x46, 0xaa, 0x52, 0x64, 0x6b, 0x08, 0xe7, 0x77, 0x92, 0xf8, 0xa1, 0x72,
+  0x66, 0xa6, 0x0f, 0x85, 0x68, 0x54, 0x45, 0x39, 0xc9, 0x96, 0xe2, 0xd6,
+  0x85, 0xc1, 0x36, 0xb7, 0xdb, 0xfc, 0xef, 0xff, 0x68, 0xfa, 0xa9, 0x7f,
+  0xfc, 0x49, 0xd4, 0x17, 0x09, 0xb0, 0xf5, 0x7e, 0x14, 0x23, 0xa5, 0xc2,
+  0xa3, 0x0b, 0xf2, 0xa6, 0x71, 0x36, 0x8b, 0x4c, 0x51, 0x8e, 0x54, 0x5d,
+  0x85, 0xd1, 0xf0, 0x0c, 0xbd, 0x8a, 0x75, 0x6c, 0x76, 0x0f, 0x00, 0x6f,
+  0x3a, 0xa8, 0xe2, 0x1b, 0xe0, 0x6b, 0x29, 0x0a, 0xd0, 0x64, 0x1d, 0xe2,
+  0x92, 0x85, 0xa3, 0x57, 0x61, 0x2d, 0x11, 0x08, 0x2c, 0x26, 0x74, 0x8c,
+  0x9f, 0x6f, 0x9a, 0x53, 0x29, 0x05, 0xd5, 0x44, 0x03, 0x91, 0x8d, 0xd6,
+  0x98, 0xde, 0xbf, 0xd3, 0x29, 0xeb, 0x95, 0xf7, 0xd9, 0x3f, 0x06, 0xec,
+  0x57, 0x03, 0x23, 0xee, 0x67, 0x02, 0x1e, 0xfa, 0xfe, 0x93, 0x5d, 0xd6,
+  0xbb, 0x3b, 0x4d, 0xc8, 0x54, 0xac, 0x80, 0xed, 0xb9, 0x8b, 0xd2, 0x5f,
+  0x03, 0x3e, 0x52, 0xed, 0x8e, 0x7b, 0xe9, 0xf1, 0x95, 0xf0, 0x8f, 0x01,
+  0xff, 0xfb, 0xe3, 0x6e, 0xff, 0xd9, 0x4f, 0xae, 0xd7, 0x4f, 0x76, 0xdf,
+  0x7f, 0xb2, 0xd7, 0x69, 0x45, 0x98, 0x65, 0xd3, 0xc4, 0xd2, 0xa0, 0x30,
+  0x4d, 0xa1, 0xd3, 0xe2, 0xa1, 0xe2, 0xea, 0x52, 0x1d, 0xd1, 0xc3, 0xad,
+  0x01, 0xfc, 0xb1, 0xe9, 0x44, 0x64, 0xb5, 0xe5, 0x03, 0xa0, 0x4f, 0x61,
+  0x21, 0xc0, 0x00, 0xa9, 0x41, 0xeb, 0xe2, 0x41, 0xc9, 0x94, 0x58, 0x1b,
+  0xb3, 0x19, 0x36, 0xcc, 0x93, 0x40, 0x9a, 0x98, 0xac, 0xe8, 0xde, 0x13,
+  0xb4, 0x8b, 0x81, 0x73, 0x35, 0x99, 0x34, 0x69, 0x75, 0x45, 0x25, 0x83,
+  0x68, 0xd3, 0x49, 0x00, 0x9c, 0x6a, 0xb2, 0xd5, 0xa6, 0xd0, 0x78, 0x1d,
+  0xc2, 0xd3, 0xbc, 0x56, 0x6d, 0xc3, 0x49, 0x16, 0x62, 0xf7, 0xe7, 0xa7,
+  0x86, 0x38, 0xf1, 0x81, 0xd3, 0x13, 0xeb, 0x8c, 0x82, 0x52, 0xcf, 0x8a,
+  0x31, 0xeb, 0x60, 0x9c, 0xf0, 0xd5, 0xbd, 0x80, 0x4a, 0x37, 0x80, 0x92,
+  0x90, 0x8b, 0xe5, 0xfd, 0x3d, 0x21, 0x9a, 0x57, 0xf8, 0xba, 0x32, 0x8c,
+  0x9e, 0xe6, 0xdb, 0x11, 0x51, 0x23, 0x13, 0xbf, 0x6c, 0x26, 0xd9, 0x0f,
+  0xb6, 0xda, 0x02, 0x29, 0xc3, 0xb6, 0x2c, 0x21, 0x4b, 0x03, 0x9c, 0xa2,
+  0x42, 0x30, 0x3b, 0x61, 0x1b, 0x53, 0xbc, 0x8b, 0x24, 0xb4, 0x0c, 0x34,
+  0x82, 0x39, 0xb5, 0xda, 0x5e, 0xcf, 0xa1, 0xc0, 0x24, 0xd3, 0x22, 0x19,
+  0xfc, 0x5b, 0xc9, 0xaf, 0xb2, 0x45, 0xfd, 0xb8, 0xe1, 0x01, 0xac, 0xb8,
+  0x79, 0x11, 0xf6, 0x51, 0x2d, 0xc2, 0x27, 0x85, 0x05, 0x5c, 0x95, 0x3b,
+  0x37, 0xa7, 0x42, 0x03, 0xe0, 0x1a, 0x59, 0x12, 0xb1, 0xbb, 0x2c, 0x24,
+  0x73, 0xb4, 0x01, 0x4c, 0x82, 0x2c, 0x52, 0xe7, 0x94, 0x80, 0x7b, 0x3e,
+  0x93, 0x04, 0x2f, 0x7a, 0xbc, 0x09, 0x86, 0xe7, 0xee, 0xc1, 0x8a, 0xbe,
+  0x8d, 0xf1, 0x18, 0xbb, 0x1b, 0x83, 0x3b, 0x49, 0xad, 0x86, 0xea, 0x7c,
+  0x5b, 0x34, 0x30, 0xc1, 0x35, 0x40, 0x75, 0x51, 0x03, 0x28, 0xc5, 0x75,
+  0x0b, 0xa3, 0x14, 0xef, 0x40, 0x87, 0x18, 0x45, 0xbf, 0xc3, 0x4c, 0x08,
+  0xca, 0x61, 0xd0, 0xdc, 0xa3, 0xe0, 0x5d, 0x2f, 0xaa, 0xae, 0x61, 0x36,
+  0x1c, 0x45, 0x2f, 0x17, 0x37, 0x39, 0xc9, 0x34, 0x8f, 0x80, 0x10, 0xd0,
+  0x53, 0xf2, 0x8c, 0x63, 0xb4, 0x41, 0x96, 0xfd, 0x6f, 0x98, 0x0d, 0xcf,
+  0x91, 0xf5, 0x4f, 0x76, 0x76, 0x1b, 0x55, 0x48, 0x7c, 0xe1, 0xf1, 0x0c,
+  0x21, 0x2b, 0x6c, 0x76, 0x61, 0x18, 0xfd, 0x28, 0xda, 0x7b, 0xbe, 0xfb,
+  0x7c, 0x7b, 0x77, 0x67, 0xf0, 0x64, 0xb0, 0xa7, 0x42, 0x31, 0x30, 0x11,
+  0x49, 0x56, 0xe7, 0x2a, 0x3f, 0x11, 0x42, 0x6b, 0xda, 0xa3, 0x51, 0x58,
+  0xdf, 0xa3, 0xe6, 0x02, 0x38, 0x56, 0x2d, 0x27, 0xec, 0x6f, 0xf0, 0x98,
+  0x03, 0x67, 0x5c, 0x64, 0x86, 0x55, 0xb2, 0x68, 0x38, 0xab, 0xe7, 0x7d,
+  0x1e, 0x8a, 0xca, 0x7c, 0x4b, 0x41, 0x53, 0x1e, 0xa5, 0x24, 0xb3, 0x94,
+  0x5c, 0x01, 0x8f, 0xd3, 0x9f, 0x49, 0x8e, 0x35, 0xa4, 0x1e, 0xce, 0x0b,
+  0xce, 0xc2, 0x32, 0x9a, 0x6b, 0x02, 0x14, 0x4d, 0x58, 0x41, 0xea, 0xb0,
+  0x91, 0x3d, 0x12, 0x2e, 0x53, 0x49, 0xc7, 0x05, 0xf6, 0x0a, 0xdd, 0xf9,
+  0xa8, 0x3b, 0xf3, 0xb5, 0x65, 0x03, 0xc7, 0xad, 0x71, 0x9e, 0x1a, 0xb9,
+  0x22, 0xba, 0x6f, 0x2c, 0xf1, 0x46, 0x58, 0x4a, 0x28, 0x38, 0xfa, 0x81,
+  0x50, 0xaa, 0x08, 0x82, 0x82, 0xde, 0x38, 0x49, 0xdb, 0xa0, 0xd3, 0x52,
+  0x57, 0x27, 0xc1, 0xef, 0xb8, 0xa2, 0x79, 0xb0, 0x7b, 0x57, 0x94, 0x3c,
+  0x6f, 0x67, 0x7d, 0x34, 0xc0, 0xf0, 0x11, 0x9c, 0x39, 0xa1, 0x85, 0xbd,
+  0xff, 0x3f, 0xd1, 0xc2, 0xde, 0xff, 0xa3, 0x85, 0x7f, 0x13, 0x2d, 0xbc,
+  0xa8, 0xd1, 0x02, 0x14, 0x05, 0xba, 0x74, 0x58, 0xb5, 0x78, 0x94, 0x22,
+  0x16, 0xec, 0xae, 0xe4, 0x44, 0x8b, 0x54, 0x52, 0xf1, 0x6a, 0x86, 0x78,
+  0xd3, 0x42, 0xb5, 0x7e, 0xe0, 0x6c, 0xb6, 0xac, 0xcf, 0x6a, 0x6e, 0xe5,
+  0x0a, 0x55, 0xb5, 0x28, 0x83, 0x34, 0x06, 0xb5, 0x29, 0x58, 0xd8, 0x97,
+  0x00, 0x95, 0x4a, 0x54, 0x2e, 0x07, 0x63, 0xe3, 0xf2, 0x6d, 0x27, 0xb0,
+  0x6d, 0x17, 0x8e, 0x97, 0x73, 0x16, 0x6b, 0x9f, 0xa4, 0xd8, 0x45, 0xa3,
+  0x00, 0xf4, 0x5e, 0x73, 0xca, 0x80, 0x0d, 0x7b, 0x74, 0xc2, 0xdc, 0xf9,
+  0xda, 0xa0, 0xad, 0x28, 0x9c, 0xa9, 0xcd, 0x6c, 0x9d, 0x88, 0x2d, 0x93,
+  0xd4, 0x39, 0xbe, 0x13, 0x5b, 0x2e, 0xda, 0xc4, 0x85, 0xc8, 0xea, 0x1e,
+  0x2f, 0x4b, 0xd0, 0x97, 0x5c, 0xa7, 0x8d, 0x09, 0x3b, 0xec, 0xcb, 0x81,
+  0x3e, 0x97, 0x5a, 0x1d, 0x40, 0xcb, 0xf3, 0xad, 0x0f, 0x52, 0x77, 0x05,
+  0x73, 0x6a, 0x2a, 0x8a, 0x85, 0x74, 0xc4, 0x03, 0xab, 0x95, 0x62, 0x96,
+  0x35, 0x9a, 0x40, 0x63, 0x6d, 0x5d, 0xa4, 0xe6, 0x2a, 0x89, 0x7a, 0x5b,
+  0x1f, 0x81, 0x54, 0x2e, 0xfc, 0x27, 0x17, 0x49, 0xfa, 0x6f, 0x59, 0x25,
+  0xed, 0xab, 0x35, 0x5c, 0x33, 0x5c, 0xa6, 0xc6, 0x8c, 0xd6, 0xf9, 0x69,
+  0xd7, 0xec, 0xfc, 0x3a, 0x5f, 0x6d, 0x7d, 0x5a, 0x6d, 0xf1, 0x34, 0xed,
+  0x13, 0x93, 0x0a, 0xb3, 0x81, 0xc3, 0xd8, 0x4a, 0x9d, 0xd9, 0xfc, 0xd0,
+  0x71, 0xdd, 0xe4, 0xe9, 0x1e, 0xd6, 0xf8, 0xed, 0x0a, 0x29, 0x3c, 0xca,
+  0xea, 0x9d, 0x1d, 0xe0, 0x91, 0x5d, 0x74, 0xa0, 0xd4, 0x32, 0xe7, 0xa6,
+  0xc1, 0xe9, 0x5f, 0xdb, 0x45, 0xd8, 0xbc, 0x2a, 0x7b, 0x88, 0x2e, 0x2a,
+  0x53, 0x69, 0x31, 0xfa, 0x35, 0x36, 0x6f, 0x77, 0xb0, 0x43, 0x02, 0x16,
+  0xff, 0x06, 0x3d, 0x6f, 0x9f, 0xad, 0x0a, 0x3f, 0x7d, 0xde, 0x40, 0xeb,
+  0x36, 0x10, 0xf0, 0x00, 0xe8, 0x0e, 0xf3, 0x8a, 0xf8, 0x7d, 0x1b, 0x99,
+  0xe1, 0x73, 0xf8, 0xcc, 0x06, 0xf5, 0x99, 0xae, 0x47, 0x2e, 0x4a, 0xcb,
+  0x00, 0xb8, 0x88, 0x93, 0x0f, 0xf0, 0xf2, 0xee, 0xce, 0x67, 0x3b, 0xad,
+  0x09, 0x5a, 0x60, 0xd0, 0x2d, 0x95, 0x77, 0x34, 0x9b, 0x30, 0x76, 0xa1,
+  0xbd, 0x32, 0x38, 0xb1, 0xef, 0xb4, 0x7b, 0x9f, 0x36, 0xfb, 0x0f, 0xdb,
+  0xba, 0x06, 0x5b, 0x3d, 0x4d, 0xf6, 0x8a, 0x4b, 0xb3, 0xf9, 0xbb, 0x94,
+  0x8c, 0xc3, 0xb3, 0xb7, 0x6f, 0x8f, 0x0f, 0xe9, 0xca, 0xb9, 0xc9, 0xe1,
+  0xe2, 0x74, 0xb6, 0xda, 0x36, 0xdd, 0xcf, 0xe3, 0x89, 0xcb, 0x00, 0x78,
+  0x71, 0xcc, 0xc8, 0x17, 0x5a, 0x3c, 0x6a, 0xfc, 0xa5, 0x85, 0x38, 0x77,
+  0x07, 0xbb, 0xc1, 0x56, 0x2d, 0x6c, 0xa4, 0x25, 0x67, 0x53, 0x4c, 0x5b,
+  0x43, 0xbd, 0xad, 0x4f, 0x99, 0xb3, 0x49, 0xb5, 0xd5, 0x59, 0x36, 0x12,
+  0x0d, 0x70, 0x19, 0xb4, 0x08, 0x05, 0xd6, 0x12, 0x46, 0xae, 0x50, 0x70,
+  0x56, 0x87, 0x5e, 0x12, 0x63, 0x31, 0x90, 0xc8, 0x2d, 0x8b, 0xe2, 0xab,
+  0xb4, 0x2c, 0x8c, 0x43, 0x3b, 0xe4, 0x3c, 0x55, 0xda, 0xb6, 0xa9, 0x45,
+  0xb2, 0xa7, 0xa5, 0x56, 0x06, 0x03, 0x52, 0x28, 0xb4, 0x58, 0x17, 0x9b,
+  0x57, 0x48, 0xbc, 0x10, 0xf5, 0xd2, 0xb8, 0xef, 0xa8, 0xd7, 0x78, 0x41,
+  0x1d, 0x21, 0x20, 0xb9, 0x10, 0x0c, 0x41, 0x77, 0x50, 0x2a, 0xdb, 0x6e,
+  0x5b, 0xe7, 0x53, 0x25, 0x9a, 0xa1, 0x92, 0xce, 0x56, 0xe7, 0xe2, 0x5c,
+  0xd5, 0x26, 0x28, 0x21, 0xf3, 0x1a, 0x3b, 0xad, 0xbe, 0x3a, 0x8b, 0xff,
+  0x51, 0x46, 0xd1, 0x52, 0x5d, 0x53, 0xa9, 0x5e, 0x62, 0xc0, 0xe2, 0xb9,
+  0x90, 0x91, 0xae, 0x95, 0xa3, 0xa0, 0xac, 0x72, 0x08, 0x97, 0xa3, 0x47,
+  0x50, 0xd6, 0x58, 0xb9, 0x11, 0x7b, 0xe9, 0xa3, 0x00, 0x6b, 0x2e, 0x02,
+  0x40, 0x2c, 0x84, 0x6b, 0x21, 0x9c, 0xff, 0xed, 0x00, 0x6b, 0x56, 0x42,
+  0x5a, 0x92, 0xa6, 0xd6, 0x05, 0x21, 0x5b, 0xcd, 0x4c, 0xd8, 0xc0, 0x8b,
+  0xda, 0xe9, 0xd0, 0x0a, 0x6f, 0x59, 0xbe, 0x3d, 0x85, 0xc8, 0xc8, 0xc9,
+  0x3c, 0x19, 0x9b, 0xb1, 0x94, 0x7d, 0xb6, 0x50, 0xc8, 0xd8, 0xd7, 0x6f,
+  0xa6, 0xa6, 0x55, 0xe0, 0x53, 0x1b, 0xf4, 0xcc, 0xc7, 0x1a, 0x2a, 0xf6,
+  0x97, 0x40, 0x0a, 0x5a, 0x71, 0xbc, 0x93, 0x79, 0x03, 0x9d, 0x88, 0x9f,
+  0x18, 0x7b, 0xb8, 0x58, 0xad, 0xeb, 0x25, 0xac, 0x5e, 0x98, 0xa2, 0xab,
+  0x73, 0x67, 0x84, 0xc2, 0xe0, 0x3d, 0xed, 0x99, 0x2c, 0x52, 0xaa, 0xb9,
+  0x1b, 0x38, 0x9b, 0x5c, 0xa8, 0xb5, 0xe4, 0x4d, 0xe7, 0xa5, 0xa5, 0xba,
+  0x2e, 0xc2, 0x6a, 0xda, 0x71, 0x71, 0x5b, 0xac, 0xc5, 0x1f, 0x55, 0x04,
+  0x19, 0xc4, 0xb3, 0x21, 0xe1, 0x2f, 0x00, 0x27, 0xb6, 0x56, 0x05, 0x57,
+  0xa4, 0x0c, 0x47, 0xc9, 0x94, 0x58, 0x6d, 0xce, 0x6d, 0x51, 0x03, 0x73,
+  0xad, 0x61, 0x30, 0x74, 0x28, 0xc5, 0xed, 0x85, 0xe6, 0xd3, 0x41, 0x12,
+  0x75, 0x18, 0xbf, 0xb8, 0x13, 0x06, 0xb7, 0x8b, 0x6b, 0xca, 0xbd, 0xca,
+  0x75, 0xaf, 0x69, 0xa8, 0x6e, 0xac, 0x2d, 0x76, 0x18, 0x63, 0xaf, 0x6a,
+  0xbe, 0xe0, 0x2d, 0xdb, 0x7c, 0x37, 0x4f, 0x1f, 0x70, 0x15, 0x34, 0x41,
+  0x11, 0xdd, 0xbc, 0x1f, 0x19, 0xd5, 0xee, 0x8b, 0xbd, 0xc1, 0xee, 0xf3,
+  0xcf, 0x06, 0xa4, 0x7a, 0xed, 0x56, 0x46, 0x87, 0x20, 0x09, 0x0e, 0x6b,
+  0x08, 0xdb, 0x69, 0xb9, 0x44, 0xdb, 0x1c, 0x74, 0x61, 0x07, 0xb3, 0xd5,
+  0x20, 0x08, 0xcf, 0x6b, 0x74, 0xa1, 0x21, 0x7c, 0xf5, 0x96, 0xfb, 0x81,
+  0xb1, 0x5d, 0x49, 0x0d, 0xda, 0x41, 0x5b, 0x45, 0x69, 0xc3, 0xa9, 0x0b,
+  0x0a, 0x49, 0x4f, 0xda, 0x07, 0xb4, 0xbe, 0xba, 0xb4, 0xeb, 0xff, 0x5f,
+  0x38, 0xee, 0x56, 0xcd, 0xe5, 0x28, 0xf5, 0x51, 0xe3, 0x52, 0x6c, 0xde,
+  0xaa, 0x87, 0x4b, 0x4d, 0xe9, 0xb3, 0x8b, 0x4b, 0x4d, 0x42, 0x13, 0x76,
+  0x10, 0x17, 0x77, 0x03, 0x17, 0x11, 0x80, 0x00, 0x24, 0xbd, 0x5c, 0x9a,
+  0x40, 0xbb, 0x28, 0x5f, 0x6d, 0xe9, 0xa2, 0xc1, 0x1d, 0x8a, 0x36, 0x5d,
+  0x5a, 0x54, 0x58, 0x18, 0x1e, 0x3e, 0x15, 0xbc, 0x06, 0x1b, 0x23, 0xad,
+  0xd0, 0xd4, 0x67, 0xf0, 0xf2, 0x6b, 0x7f, 0xfa, 0x93, 0x67, 0x51, 0x43,
+  0x8e, 0xdb, 0xd7, 0xb2, 0x4f, 0x50, 0xe4, 0x9e, 0x79, 0x07, 0x82, 0x64,
+  0xb9, 0x47, 0x9d, 0xfd, 0x1f, 0x11, 0xdd, 0xff, 0x53, 0xff, 0x47, 0xfa,
+  0xf3, 0xa7, 0x8e, 0xbb, 0x06, 0xa0, 0x50, 0x89, 0xf5, 0xd4, 0x4d, 0x5e,
+  0x36, 0xa8, 0x87, 0x67, 0x5c, 0x31, 0x73, 0x20, 0x42, 0x70, 0xd0, 0x07,
+  0x0e, 0xa2, 0x24, 0x82, 0xca, 0x4c, 0xd5, 0xc3, 0x20, 0x09, 0xe2, 0x52,
+  0x8b, 0x85, 0x28, 0xc5, 0xad, 0xa5, 0xe6, 0x64, 0x68, 0x92, 0x27, 0x5e,
+  0xec, 0x99, 0xa9, 0x94, 0x4d, 0xc1, 0xf7, 0xc2, 0x76, 0x62, 0xcb, 0x23,
+  0x97, 0xfb, 0x87, 0xe1, 0xc3, 0xd4, 0x4c, 0x2d, 0x1f, 0x6c, 0xb8, 0xbc,
+  0x37, 0x0e, 0x38, 0xd7, 0xd2, 0xd7, 0x12, 0xd5, 0x29, 0xfe, 0xf1, 0xc4,
+  0x45, 0x05, 0xa5, 0x73, 0x36, 0x9f, 0x1b, 0x3a, 0x44, 0x9e, 0x16, 0xb7,
+  0x3c, 0x43, 0xcd, 0xcc, 0x8c, 0x24, 0x75, 0x78, 0x23, 0xd0, 0xf7, 0x31,
+  0x32, 0x4b, 0x1e, 0xe2, 0xa0, 0x44, 0xc3, 0x37, 0x0b, 0x6e, 0x81, 0xbf,
+  0x39, 0xa7, 0x94, 0x54, 0xe6, 0x51, 0x1b, 0xac, 0xa0, 0x10, 0x79, 0x4c,
+  0xb6, 0xcc, 0x90, 0x9f, 0x42, 0x20, 0x0f, 0xc3, 0xab, 0x69, 0x04, 0x8d,
+  0x87, 0x08, 0x80, 0x2e, 0xe4, 0x19, 0x05, 0x71, 0xe3, 0x89, 0xc1, 0x4c,
+  0x6a, 0xea, 0x9e, 0x84, 0x9b, 0x05, 0x78, 0x60, 0x2d, 0x89, 0xb6, 0xd5,
+  0x20, 0xeb, 0x1a, 0x62, 0x93, 0xa6, 0x65, 0x24, 0x71, 0x4e, 0xdc, 0x8b,
+  0xcd, 0xe1, 0xc1, 0xe4, 0xfe, 0x07, 0x35, 0x0b, 0x34, 0x38, 0x46, 0x2f,
+  0xc4, 0xc8, 0xdb, 0xee, 0xb7, 0xed, 0xa1, 0x5c, 0x72, 0x43, 0x64, 0x9f,
+  0x31, 0x6d, 0xe5, 0xa3, 0xb4, 0xcc, 0x63, 0x0d, 0x25, 0xd4, 0x54, 0xe8,
+  0x40, 0xb8, 0x50, 0xb8, 0xf2, 0xe1, 0xba, 0x54, 0xe8, 0x41, 0xf4, 0x3f,
+  0xd0, 0xa9, 0xbe, 0x2d, 0x91, 0x30, 0xc8, 0xbf, 0xf9, 0xf2, 0xf8, 0xf5,
+  0xd9, 0xc5, 0x71, 0x35, 0x69, 0x45, 0x72, 0x24, 0xa3, 0xb6, 0xc2, 0x2b,
+  0x9b, 0xa8, 0x0f, 0x69, 0x16, 0x14, 0x2c, 0x95, 0x65, 0x5b, 0x9e, 0x7f,
+  0x77, 0x14, 0x9c, 0x3c, 0xcb, 0xdf, 0xb6, 0x46, 0x7b, 0xe2, 0xd9, 0x68,
+  0x20, 0x58, 0x13, 0xff, 0xdc, 0x42, 0xbd, 0x4f, 0xc1, 0x5a, 0xb3, 0xf1,
+  0x09, 0x46, 0x00, 0xea, 0x95, 0x68, 0x3d, 0x60, 0x09, 0x56, 0x29, 0x0a,
+  0xb6, 0xbc, 0xb8, 0x46, 0x5b, 0xb0, 0x01, 0x19, 0x81, 0x02, 0x15, 0xbe,
+  0xd4, 0xc4, 0x11, 0x47, 0xf0, 0xbe, 0xb0, 0x43, 0x66, 0x10, 0x35, 0x3b,
+  0x1a, 0xe9, 0x3a, 0xa0, 0x97, 0x06, 0xee, 0xbe, 0x80, 0xcd, 0xb0, 0xf5,
+  0x5a, 0xec, 0xf4, 0xa6, 0x30, 0x28, 0xa0, 0x40, 0x14, 0x26, 0xf0, 0x4b,
+  0xe9, 0x4c, 0x07, 0x74, 0xdc, 0xbc, 0x7d, 0xdd, 0xfa, 0x6a, 0xe7, 0x9b,
+  0xc5, 0x56, 0xa5, 0xa4, 0xa8, 0x2d, 0x9e, 0x55, 0xae, 0xfa, 0x53, 0x37,
+  0xda, 0xb4, 0xf8, 0x9a, 0x16, 0x58, 0x01, 0x87, 0xf9, 0x6a, 0x89, 0x06,
+  0x5b, 0xae, 0x70, 0xd1, 0x9a, 0x52, 0x45, 0x6e, 0xd6, 0x6b, 0xb3, 0x9c,
+  0x4c, 0x40, 0x30, 0x38, 0x2d, 0x3b, 0xc9, 0x86, 0x0f, 0xe5, 0x8a, 0x2f,
+  0x4b, 0x3b, 0xbd, 0xf5, 0x88, 0x16, 0x3e, 0x71, 0xc6, 0x15, 0xe9, 0x1a,
+  0x29, 0x42, 0xed, 0x0f, 0x16, 0x8e, 0x2a, 0xc9, 0x95, 0xc5, 0x6a, 0x5e,
+  0x42, 0x68, 0x12, 0x00, 0xf9, 0x71, 0x96, 0xf3, 0x92, 0xd6, 0x9a, 0x03,
+  0x26, 0x81, 0xdb, 0x34, 0xc4, 0x44, 0x5f, 0xbc, 0x3e, 0x7c, 0xf1, 0xec,
+  0x05, 0x44, 0x3f, 0xd4, 0x8e, 0xd1, 0xa8, 0x7b, 0x0d, 0xa9, 0x40, 0x32,
+  0xa8, 0x1f, 0x72, 0x83, 0x1d, 0x68, 0x4b, 0x90, 0x12, 0x59, 0x70, 0x99,
+  0x4a, 0x94, 0xff, 0x30, 0x68, 0x62, 0xd0, 0x0a, 0x67, 0xd4, 0x76, 0x7b,
+  0xae, 0x2b, 0x81, 0x68, 0xb7, 0x06, 0x46, 0x9f, 0x4a, 0x1c, 0xb7, 0x16,
+  0x50, 0x33, 0x75, 0x89, 0x34, 0xf4, 0x39, 0xb4, 0x19, 0xdd, 0xc4, 0x9e,
+  0xa3, 0x3a, 0x57, 0x9b, 0xae, 0x68, 0x6b, 0xee, 0x6f, 0xd5, 0xf3, 0xac,
+  0x54, 0x17, 0x24, 0x82, 0xce, 0xaa, 0x15, 0x55, 0x51, 0xbd, 0x1d, 0xf6,
+  0xde, 0x36, 0x43, 0x89, 0x1a, 0xb1, 0x10, 0x2f, 0xc4, 0x99, 0x71, 0xd3,
+  0x69, 0x40, 0x5e, 0x2d, 0xfd, 0x35, 0x0b, 0x54, 0xde, 0x5c, 0xe7, 0x0b,
+  0xc9, 0xea, 0x68, 0x43, 0xe1, 0x0b, 0x51, 0x53, 0xe4, 0x51, 0x23, 0x76,
+  0x07, 0x2d, 0x2e, 0xef, 0x9e, 0x1c, 0xb9, 0x62, 0xae, 0xde, 0x67, 0x39,
+  0x5a, 0xb5, 0x37, 0xe7, 0x1e, 0x03, 0xb1, 0x79, 0xa6, 0xe8, 0x9a, 0xf2,
+  0x52, 0xf3, 0x68, 0x65, 0xc6, 0x4e, 0xfe, 0xae, 0xbd, 0x39, 0x6d, 0x45,
+  0x94, 0x49, 0x69, 0xc3, 0x1a, 0x46, 0x30, 0x8e, 0x15, 0xd4, 0xe1, 0x8d,
+  0xe1, 0x84, 0x36, 0xeb, 0xa6, 0x59, 0x98, 0xe9, 0x86, 0x84, 0x70, 0x11,
+  0xc4, 0x3f, 0xb8, 0x16, 0x33, 0x98, 0x06, 0xad, 0xaa, 0x85, 0xa6, 0x0c,
+  0x17, 0x61, 0xd2, 0x21, 0xda, 0x19, 0x01, 0x98, 0xb1, 0x8d, 0x94, 0xeb,
+  0x56, 0x12, 0x51, 0xd2, 0xd0, 0x3c, 0xde, 0x0c, 0xa7, 0x30, 0x8f, 0xb2,
+  0x71, 0x19, 0xcc, 0x80, 0x1f, 0x68, 0x6f, 0x4e, 0x45, 0x83, 0xe6, 0xcc,
+  0x38, 0xb1, 0x10, 0x11, 0xdb, 0x8f, 0xcf, 0x4c, 0x1e, 0x6c, 0x6c, 0x32,
+  0x7d, 0x28, 0xac, 0xa8, 0xb1, 0xc3, 0xeb, 0x67, 0xd6, 0xb6, 0xc3, 0x18,
+  0x41, 0x7d, 0x83, 0x4d, 0x88, 0xcc, 0x65, 0x2b, 0xfb, 0xed, 0xcd, 0xb9,
+  0x1d, 0xc6, 0x93, 0x8f, 0x6e, 0xb0, 0xf6, 0xd2, 0x58, 0x85, 0xe9, 0x5c,
+  0x21, 0xc0, 0xde, 0x4b, 0x1a, 0x24, 0xe7, 0x37, 0x96, 0xef, 0x1f, 0x5f,
+  0x90, 0xe9, 0xdc, 0xf0, 0x42, 0x38, 0x7d, 0xcf, 0x1f, 0x5c, 0x0d, 0x3f,
+  0x88, 0xab, 0x48, 0x22, 0x91, 0x98, 0x17, 0xd6, 0x90, 0xbd, 0xef, 0xcf,
+  0x03, 0x4c, 0x2c, 0xb2, 0x74, 0x6e, 0xb1, 0xa7, 0xca, 0xcb, 0x83, 0x21,
+  0x46, 0x6d, 0x40, 0x04, 0x41, 0xc0, 0x54, 0x63, 0x8a, 0xb3, 0x5b, 0x86,
+  0xff, 0x73, 0xb7, 0xdb, 0xfb, 0xf5, 0x3a, 0x0c, 0xe8, 0x58, 0x1e, 0xf7,
+  0x74, 0x2c, 0xb3, 0x72, 0xca, 0xb9, 0x4b, 0xab, 0xfb, 0xf0, 0x6e, 0x57,
+  0xbb, 0x74, 0x67, 0xb2, 0x3e, 0xbe, 0xc5, 0xfd, 0xc4, 0x3a, 0xe7, 0x5f,
+  0xad, 0xe3, 0x10, 0x06, 0x32, 0x1e, 0x15, 0xd9, 0x74, 0x59, 0x4a, 0x44,
+  0x42, 0x58, 0x26, 0x9a, 0xb8, 0xeb, 0x9a, 0xa5, 0x40, 0x10, 0x8e, 0xdd,
+  0xed, 0xeb, 0x33, 0xc7, 0x72, 0x81, 0x8d, 0x35, 0x54, 0x14, 0x6c, 0xc7,
+  0xfa, 0xc5, 0xd1, 0xa7, 0xfd, 0x10, 0x05, 0xd3, 0xd4, 0x33, 0xaf, 0xbc,
+  0x65, 0x81, 0xd6, 0x33, 0x3c, 0xed, 0xb5, 0x76, 0x20, 0x26, 0x09, 0xe3,
+  0x0a, 0x29, 0x29, 0x70, 0x04, 0x86, 0x34, 0x64, 0x7c, 0xef, 0x31, 0x42,
+  0x5a, 0xbb, 0xc6, 0xf9, 0xec, 0x03, 0x87, 0x9c, 0x1e, 0xf0, 0xb3, 0x62,
+  0xfc, 0x93, 0x60, 0x56, 0x8d, 0x93, 0xa9, 0xc7, 0x78, 0xcd, 0xca, 0xaf,
+  0x1b, 0x41, 0x85, 0x0a, 0x1f, 0x1b, 0x09, 0x3f, 0xd8, 0x36, 0x18, 0xbf,
+  0xb4, 0x2c, 0xa7, 0x20, 0x63, 0xcd, 0x46, 0xd6, 0xde, 0x9c, 0x0e, 0xd7,
+  0xbf, 0xa7, 0xcb, 0xd3, 0x33, 0xb3, 0xd9, 0x44, 0xcd, 0xd0, 0xac, 0x81,
+  0x36, 0x69, 0xc3, 0x0e, 0xf8, 0x2f, 0x62, 0x10, 0xac, 0x76, 0x4c, 0xe7,
+  0x95, 0x00, 0x12, 0xea, 0x31, 0x9b, 0x21, 0xd1, 0xbd, 0x3d, 0x50, 0x4e,
+  0xe2, 0xe4, 0xc3, 0x4c, 0x77, 0xb7, 0xed, 0x82, 0xe5, 0x3a, 0x4d, 0xc2,
+  0xaa, 0x70, 0xf7, 0x21, 0x74, 0x4f, 0x8b, 0x19, 0xcc, 0x0a, 0x9d, 0xc4,
+  0x80, 0xee, 0xa1, 0xae, 0x91, 0x9e, 0xa1, 0x78, 0xb4, 0x48, 0xf5, 0x28,
+  0x4c, 0x1f, 0x13, 0xe3, 0x91, 0x13, 0x85, 0xe5, 0xf1, 0x06, 0x1e, 0x3f,
+  0x47, 0xa6, 0x4a, 0x4d, 0xb6, 0x6a, 0xa9, 0x97, 0x41, 0x23, 0x2c, 0x2b,
+  0xb9, 0x9e, 0xf4, 0x95, 0x38, 0xaa, 0xac, 0xa8, 0x9f, 0x6f, 0x63, 0x21,
+  0x48, 0xfd, 0x7d, 0x89, 0x1f, 0x9f, 0xaf, 0x2d, 0x30, 0x35, 0xf4, 0x55,
+  0xa6, 0xa2, 0x8b, 0x84, 0x11, 0x6d, 0x01, 0x98, 0xc7, 0xb9, 0xfe, 0xaa,
+  0x40, 0x6f, 0xb2, 0xad, 0x45, 0x0a, 0x12, 0x0a, 0x04, 0xf0, 0x78, 0xd9,
+  0x86, 0x3f, 0xbd, 0x65, 0x05, 0x94, 0xd0, 0xf4, 0xee, 0x60, 0xb7, 0x67,
+  0xba, 0x95, 0x4a, 0x71, 0x26, 0x21, 0xf3, 0x27, 0xb1, 0x8b, 0x18, 0xe3,
+  0xae, 0xeb, 0xd6, 0xb1, 0x0b, 0x09, 0xec, 0x51, 0xb1, 0x31, 0x2c, 0x22,
+  0xc6, 0xc0, 0x5e, 0x4e, 0x28, 0xe7, 0x84, 0xfd, 0x06, 0x15, 0xed, 0xf4,
+  0x9f, 0xbe, 0x78, 0x51, 0xb9, 0xd7, 0x43, 0x25, 0xf8, 0xd9, 0xce, 0x8e,
+  0xc0, 0x18, 0xd4, 0x5f, 0xa3, 0x2f, 0xfa, 0x2f, 0xf0, 0x62, 0xf5, 0x35,
+  0x49, 0x73, 0x5f, 0xff, 0x5e, 0x9f, 0xbf, 0x69, 0xe9, 0x0e, 0x16, 0x9c,
+  0xb5, 0x6f, 0xbd, 0xe0, 0xee, 0x5a, 0xde, 0xc2, 0xc3, 0xb2, 0x8e, 0xd9,
+  0xd5, 0x15, 0x97, 0xe7, 0xe4, 0x27, 0x05, 0xe8, 0x34, 0xcb, 0xef, 0xe3,
+  0x7c, 0xd2, 0x9c, 0xee, 0x4e, 0xaf, 0xbf, 0xbb, 0x6e, 0xba, 0xae, 0x98,
+  0x16, 0xb6, 0x93, 0x35, 0xa1, 0xcd, 0x3f, 0x6e, 0x6d, 0x7e, 0xbd, 0xd5,
+  0x36, 0xfb, 0x4f, 0x77, 0x76, 0x7a, 0xcf, 0xf9, 0xe7, 0x8b, 0x17, 0xed,
+  0x47, 0xad, 0xd2, 0xc7, 0x13, 0x9b, 0x5a, 0x65, 0xb4, 0xd4, 0x4e, 0x4b,
+  0xeb, 0xbb, 0xd4, 0xea, 0xee, 0x8b, 0x17, 0x3d, 0xee, 0xe5, 0xd9, 0x47,
+  0xb5, 0x5e, 0xde, 0x67, 0xde, 0x74, 0xce, 0xaf, 0x7b, 0x72, 0x2c, 0x6a,
+  0x33, 0xa0, 0x3f, 0xa3, 0xe8, 0x95, 0x40, 0x3b, 0x44, 0x41, 0x66, 0x85,
+  0x77, 0xbb, 0x84, 0xf0, 0x54, 0x08, 0x68, 0x58, 0x20, 0xdb, 0x00, 0x9a,
+  0xa2, 0xa8, 0x1f, 0xb1, 0xf7, 0x2f, 0x98, 0x3f, 0xde, 0xc3, 0x86, 0x9e,
+  0x89, 0x2b, 0xec, 0x9a, 0x61, 0x25, 0x2c, 0x17, 0xa1, 0x88, 0x36, 0x89,
+  0x5c, 0xb6, 0x60, 0x0b, 0xb8, 0x8b, 0xa7, 0xa9, 0xa5, 0xab, 0x46, 0x5d,
+  0x18, 0xb0, 0x24, 0xf5, 0x98, 0x7e, 0xcf, 0x16, 0xdd, 0x48, 0xaa, 0xdb,
+  0x3b, 0x4d, 0xc4, 0xbc, 0x52, 0xf2, 0x64, 0x5f, 0x9e, 0x91, 0x83, 0x06,
+  0x75, 0xee, 0x41, 0x61, 0x97, 0xd8, 0x3b, 0x54, 0xeb, 0x35, 0x72, 0x00,
+  0x10, 0x1e, 0xb6, 0x50, 0xf0, 0xfe, 0x60, 0xae, 0xf2, 0xd3, 0xec, 0x16,
+  0x01, 0xcc, 0x8f, 0x39, 0x0c, 0xe6, 0x81, 0x37, 0x70, 0x92, 0x18, 0x94,
+  0x64, 0xad, 0x2c, 0x82, 0x7b, 0x5f, 0xec, 0x31, 0x4b, 0x51, 0x44, 0xfd,
+  0x21, 0xab, 0x54, 0x99, 0x15, 0x4c, 0x43, 0xd6, 0x4f, 0xef, 0x63, 0x2b,
+  0xa0, 0x8a, 0x08, 0x40, 0xe3, 0x00, 0x0e, 0x4d, 0x4e, 0x93, 0x43, 0x34,
+  0x43, 0xce, 0x27, 0x7c, 0x1a, 0x6c, 0xa7, 0x04, 0x8d, 0x4f, 0x80, 0x9d,
+  0xaa, 0xa9, 0x44, 0x6c, 0xfb, 0x17, 0xe4, 0xc4, 0xd0, 0x1d, 0x86, 0xbc,
+  0xa1, 0xd8, 0x5b, 0xe8, 0x04, 0xee, 0x66, 0xa3, 0xe6, 0x02, 0xe3, 0xa7,
+  0x3c, 0x10, 0x85, 0xab, 0x54, 0xe7, 0x66, 0x01, 0x76, 0xe4, 0xaa, 0x5d,
+  0xca, 0xe2, 0x1b, 0xd0, 0x87, 0xd6, 0xc4, 0xb4, 0x9c, 0x61, 0xc1, 0xe1,
+  0x41, 0x42, 0x7b, 0x65, 0xc7, 0x68, 0xaf, 0x1c, 0x13, 0xa4, 0x4d, 0x8b,
+  0x36, 0x03, 0x88, 0x75, 0xd0, 0x56, 0xa0, 0xf3, 0x1b, 0x66, 0x5c, 0x36,
+  0x63, 0xc0, 0xdb, 0xc9, 0xd6, 0x40, 0x06, 0x00, 0xa3, 0xad, 0xec, 0x04,
+  0x43, 0x08, 0x56, 0xb6, 0x94, 0x0b, 0x0f, 0xa3, 0x1c, 0x36, 0x3f, 0x69,
+  0x97, 0xf3, 0xf0, 0xe4, 0x7f, 0x1e, 0x0f, 0x7e, 0x0d, 0x6b, 0x72, 0x3d,
+  0xbc, 0x2e, 0x8f, 0xef, 0xcd, 0xbb, 0x29, 0x31, 0x86, 0x52, 0xd3, 0x4e,
+  0xa2, 0x98, 0xe3, 0xe9, 0xd4, 0x57, 0xf3, 0x85, 0xdf, 0x8f, 0x84, 0xfd,
+  0xcc, 0x10, 0x71, 0xad, 0x4e, 0x6f, 0xb6, 0x16, 0x42, 0x15, 0x15, 0xda,
+  0x51, 0xa5, 0x32, 0x34, 0x2c, 0xbb, 0xc4, 0xf6, 0x19, 0xdc, 0x2f, 0x7c,
+  0x27, 0x32, 0x29, 0x2e, 0xe7, 0xa8, 0x7e, 0x4d, 0x63, 0xa8, 0xcb, 0x33,
+  0xf1, 0x7d, 0x03, 0x71, 0x36, 0x8c, 0x8b, 0xb9, 0xf0, 0x61, 0x9b, 0x3c,
+  0xf3, 0x56, 0xcf, 0x6d, 0xa5, 0xc0, 0x7b, 0x58, 0xd8, 0xdd, 0xec, 0x06,
+  0x81, 0x71, 0x1c, 0xc4, 0x8f, 0x80, 0xe0, 0x36, 0x73, 0x14, 0xaf, 0x6d,
+  0x19, 0xcf, 0x16, 0x2d, 0x21, 0xbd, 0x92, 0x7e, 0x64, 0x48, 0x10, 0xac,
+  0x1c, 0x99, 0xa1, 0x56, 0x3b, 0x6b, 0x36, 0x17, 0x44, 0x1a, 0x0b, 0xe5,
+  0xd2, 0x8b, 0x70, 0x44, 0xb8, 0x7e, 0xaa, 0x01, 0xb2, 0x2c, 0x8b, 0x01,
+  0x18, 0xb1, 0x25, 0x1b, 0x21, 0xd6, 0x95, 0x4f, 0x81, 0xcb, 0x96, 0xe4,
+  0xb9, 0xd4, 0xf8, 0x10, 0xe9, 0x3e, 0xd1, 0x08, 0xa7, 0x2a, 0x78, 0xbd,
+  0x55, 0xa5, 0x8b, 0xd7, 0xec, 0xa0, 0x47, 0x1e, 0x93, 0xae, 0xb1, 0x7e,
+  0xfe, 0x16, 0x96, 0x70, 0x5f, 0xb3, 0xdd, 0x69, 0x91, 0xe7, 0x68, 0xb9,
+  0x18, 0x34, 0x01, 0x1b, 0x4b, 0x5f, 0x27, 0x4c, 0xdf, 0xa7, 0xee, 0x77,
+  0x42, 0x57, 0x21, 0x18, 0x05, 0xfa, 0xe1, 0xc1, 0x29, 0x42, 0x7d, 0x5a,
+  0xb4, 0x02, 0x9c, 0xc3, 0x70, 0xcc, 0x16, 0x50, 0x37, 0x5f, 0x99, 0xae,
+  0xd8, 0xf8, 0x25, 0x5b, 0x6b, 0x9f, 0x2b, 0xce, 0x08, 0x78, 0x4b, 0x2f,
+  0x80, 0xe8, 0x7c, 0xfa, 0xf0, 0xd0, 0x50, 0x4c, 0x02, 0xa8, 0x40, 0x29,
+  0xb0, 0x22, 0xc4, 0xfe, 0xec, 0xe1, 0xa1, 0xfa, 0xe5, 0x63, 0x08, 0x70,
+  0xd8, 0xef, 0x51, 0x26, 0x21, 0xe4, 0xb2, 0x5a, 0x71, 0xcb, 0x3a, 0xca,
+  0xe5, 0x7c, 0x1f, 0xa7, 0x65, 0x4b, 0x7e, 0x9c, 0x4a, 0x1c, 0xae, 0x14,
+  0x80, 0xc5, 0x32, 0x73, 0x76, 0xd1, 0x0d, 0xb1, 0x02, 0x41, 0x7c, 0x93,
+  0x05, 0xb2, 0x06, 0xad, 0x2e, 0x43, 0xcb, 0x3a, 0x71, 0x2f, 0xb2, 0xec,
+  0x29, 0xa0, 0xd5, 0xca, 0x74, 0xca, 0xaf, 0x01, 0x68, 0x8c, 0x5a, 0xd8,
+  0xa5, 0xe5, 0x4f, 0xe7, 0xcb, 0x32, 0x29, 0xda, 0x4a, 0xea, 0xb4, 0x2d,
+  0xfb, 0x14, 0xa0, 0x08, 0x12, 0x0e, 0x52, 0x2f, 0x5a, 0xa2, 0xe3, 0x92,
+  0xb4, 0x52, 0xf5, 0x18, 0x19, 0xc9, 0xf6, 0xf1, 0x6a, 0x4b, 0xc4, 0x74,
+  0xe4, 0x62, 0xa5, 0xf5, 0x68, 0x26, 0x0f, 0xb4, 0xda, 0x02, 0x53, 0x18,
+  0xc1, 0xc3, 0x4b, 0xd2, 0x05, 0xdf, 0x36, 0xd7, 0x59, 0x4e, 0x9b, 0x3a,
+  0x53, 0x39, 0x18, 0xd7, 0x4f, 0x5d, 0x1a, 0xd3, 0xae, 0x1c, 0xa0, 0x11,
+  0xa3, 0xa5, 0x3b, 0x20, 0xc0, 0x32, 0x2b, 0x95, 0x31, 0x2a, 0xe6, 0x08,
+  0xc2, 0xe1, 0x33, 0x31, 0xda, 0x62, 0xdc, 0x8f, 0x85, 0x1e, 0xee, 0x0d,
+  0x9e, 0x6c, 0x7d, 0x10, 0x5f, 0x3b, 0x10, 0xf6, 0x3d, 0x3e, 0xfb, 0xfa,
+  0x02, 0x71, 0x8d, 0xc5, 0x1d, 0xa7, 0x5a, 0x1e, 0xd8, 0x4a, 0xc4, 0xd5,
+  0xce, 0xbd, 0x2c, 0xe2, 0x23, 0x38, 0x4d, 0x56, 0x75, 0xa5, 0x98, 0x26,
+  0xc9, 0x42, 0xc6, 0xa6, 0xf8, 0x87, 0x7a, 0x54, 0xdd, 0x49, 0x45, 0x28,
+  0xbb, 0x12, 0xa9, 0xde, 0xb7, 0xeb, 0x38, 0x80, 0x46, 0xa1, 0xb3, 0x49,
+  0xdb, 0xca, 0xf7, 0xb4, 0x73, 0x9a, 0x4d, 0x11, 0x57, 0x2c, 0x2c, 0x7f,
+  0x4d, 0x3d, 0x0f, 0xdb, 0x52, 0x29, 0x89, 0x68, 0xdb, 0xea, 0x88, 0x4a,
+  0x37, 0xa3, 0x56, 0xdf, 0xaf, 0x89, 0x8d, 0x8d, 0x7b, 0x5a, 0xae, 0xa6,
+  0x44, 0xa0, 0x81, 0x51, 0xe6, 0x4f, 0x66, 0x04, 0x9f, 0xad, 0xc2, 0x76,
+  0x0c, 0x1c, 0xef, 0x11, 0xd0, 0x77, 0x2c, 0x61, 0x03, 0x85, 0xe6, 0xe7,
+  0x24, 0xcf, 0x02, 0x54, 0x50, 0xac, 0xa2, 0x49, 0x8f, 0x2e, 0x82, 0xc8,
+  0x51, 0x23, 0x8f, 0x7d, 0xe0, 0x49, 0xa4, 0x09, 0x24, 0xfd, 0xef, 0xa2,
+  0x18, 0x2d, 0xf3, 0x50, 0x3c, 0x4a, 0x35, 0x1f, 0x04, 0xf8, 0xba, 0xd4,
+  0xc3, 0x2b, 0xd9, 0x1b, 0x7a, 0x65, 0xb0, 0x44, 0x1f, 0x3a, 0x65, 0x22,
+  0xab, 0x67, 0xe2, 0xe9, 0x42, 0x6f, 0xcc, 0x86, 0x02, 0xa7, 0xfc, 0xc9,
+  0xf8, 0x08, 0x92, 0x72, 0x62, 0x96, 0x50, 0xb8, 0xda, 0xd6, 0x26, 0x67,
+  0xd9, 0xe9, 0xd0, 0xb6, 0xf8, 0x63, 0xa0, 0xaa, 0xc4, 0xbe, 0x4e, 0x66,
+  0xde, 0xc8, 0x11, 0x01, 0x8e, 0x92, 0xf0, 0xac, 0x49, 0x88, 0x84, 0xa6,
+  0x40, 0x68, 0x6f, 0x33, 0x8e, 0x1c, 0xd1, 0x2b, 0xf7, 0xca, 0xb7, 0xa3,
+  0x6f, 0x36, 0xc1, 0x92, 0xd0, 0x8e, 0x66, 0x2e, 0x71, 0x13, 0xbd, 0x0a,
+  0x4a, 0xa7, 0x0d, 0x1b, 0x31, 0x4f, 0xf0, 0x2b, 0x49, 0x9c, 0x88, 0x5c,
+  0x94, 0x2d, 0x5e, 0x00, 0xb0, 0x76, 0xf6, 0x1e, 0xc1, 0xf9, 0xc6, 0xd3,
+  0x69, 0x41, 0x6d, 0xc3, 0x06, 0x50, 0x1b, 0x29, 0xe3, 0xc1, 0x5c, 0x1a,
+  0x63, 0x6a, 0x46, 0x63, 0x8b, 0x43, 0xd9, 0x06, 0xd3, 0x05, 0x90, 0x64,
+  0x00, 0xbf, 0xd6, 0x53, 0xc9, 0xb1, 0x82, 0xdc, 0x36, 0x10, 0x40, 0xe4,
+  0xf5, 0xf5, 0x8a, 0x89, 0x11, 0x82, 0xc0, 0x4b, 0x91, 0xc4, 0x0d, 0xd0,
+  0xcc, 0x31, 0xec, 0x8f, 0x61, 0x75, 0x35, 0x71, 0x73, 0x1d, 0xd5, 0xea,
+  0xb2, 0xc6, 0x48, 0x12, 0xff, 0x67, 0x09, 0xb7, 0x60, 0x80, 0x74, 0xae,
+  0x32, 0x55, 0xdf, 0xbc, 0x21, 0x3e, 0x14, 0x2b, 0xc2, 0xdf, 0x96, 0x29,
+  0x93, 0xa8, 0x44, 0x14, 0x1d, 0x01, 0x6b, 0x96, 0xa1, 0x72, 0xa5, 0xc8,
+  0x02, 0x87, 0x6f, 0xa8, 0xbf, 0x3b, 0x77, 0x92, 0x41, 0x03, 0x73, 0x0f,
+  0x70, 0x11, 0x03, 0x83, 0x46, 0x03, 0xae, 0xd7, 0x6c, 0x19, 0x02, 0xc4,
+  0xf4, 0x87, 0x3c, 0x12, 0x6a, 0xb5, 0x8f, 0x36, 0xda, 0x71, 0x63, 0x0c,
+  0x99, 0xac, 0x2f, 0x58, 0xfa, 0x01, 0xcc, 0x1a, 0x0f, 0x07, 0x72, 0x87,
+  0x8c, 0xc0, 0x10, 0x2a, 0x38, 0xe2, 0xa0, 0x05, 0x2f, 0x97, 0x39, 0x6c,
+  0x25, 0x92, 0x99, 0x8b, 0xa5, 0x16, 0x4f, 0xa3, 0x97, 0x1f, 0x88, 0x19,
+  0x55, 0xec, 0x76, 0x35, 0x93, 0x0c, 0xcf, 0x0e, 0xbf, 0x19, 0x3e, 0xfd,
+  0x60, 0xb0, 0xe8, 0xfa, 0x12, 0x76, 0x8f, 0x86, 0x8b, 0x3e, 0x82, 0x19,
+  0xdd, 0x92, 0xa4, 0xc5, 0xe8, 0xf9, 0x79, 0x3a, 0x49, 0x04, 0x32, 0x96,
+  0xe1, 0xfd, 0xd2, 0x6c, 0xe9, 0x50, 0x29, 0x22, 0x1f, 0x35, 0xd9, 0x13,
+  0xd7, 0x24, 0x43, 0x89, 0xd7, 0x83, 0xa2, 0x89, 0xfd, 0xd0, 0x9e, 0x08,
+  0x48, 0x4d, 0xf2, 0x30, 0x9e, 0x2e, 0x8b, 0xf4, 0xee, 0x37, 0xad, 0x56,
+  0x2a, 0xab, 0x1e, 0xff, 0x53, 0xcb, 0x1e, 0x7f, 0xdc, 0xba, 0x37, 0x98,
+  0xc8, 0x2f, 0x5c, 0xf7, 0xb6, 0x4a, 0xb5, 0xff, 0x77, 0xac, 0xfb, 0xb3,
+  0xbe, 0x43, 0x48, 0x78, 0xf9, 0x4b, 0x43, 0xa5, 0xb1, 0x05, 0xcf, 0x34,
+  0xb4, 0x74, 0x13, 0xd6, 0xaf, 0x24, 0x8c, 0x36, 0x65, 0x3c, 0xf6, 0xe9,
+  0x5d, 0xb2, 0x06, 0xa8, 0x01, 0x26, 0xe0, 0xad, 0x0f, 0x9e, 0x18, 0xb7,
+  0x53, 0xe2, 0x97, 0x96, 0xbd, 0xaa, 0xaf, 0xdd, 0x3f, 0xb1, 0x73, 0x4e,
+  0x22, 0xf0, 0x7b, 0xd7, 0xba, 0x79, 0xe1, 0xde, 0xc9, 0xa5, 0xf9, 0xbf,
+  0x6b, 0xe7, 0x6a, 0xd2, 0x72, 0x75, 0x16, 0x8c, 0xe8, 0xe0, 0xc6, 0x0e,
+  0xfc, 0xa2, 0x9c, 0xee, 0x45, 0xfe, 0xa5, 0x82, 0x46, 0xa0, 0x01, 0x44,
+  0x4d, 0x68, 0x1e, 0x25, 0x87, 0x4a, 0x19, 0x3a, 0xab, 0x6e, 0x62, 0x55,
+  0x51, 0xb6, 0x1a, 0xc4, 0xf3, 0xcf, 0x9c, 0x59, 0x23, 0x18, 0x8e, 0x0c,
+  0x04, 0x54, 0x86, 0x91, 0x89, 0xd5, 0x44, 0xe3, 0x9b, 0xac, 0xc5, 0x8d,
+  0x07, 0xbd, 0x1d, 0xb9, 0xcc, 0x27, 0x57, 0xd1, 0xc7, 0x91, 0x4c, 0xe5,
+  0x70, 0xb7, 0xe0, 0x94, 0xad, 0x8b, 0xc8, 0xff, 0x3f, 0xf2, 0x60, 0xb7,
+  0x91, 0x87, 0x05, 0xc5, 0x7f, 0x34, 0x71, 0xb8, 0x50, 0xb6, 0x7f, 0x89,
+  0x3c, 0xda, 0xce, 0xd9, 0xa6, 0xc6, 0xe7, 0xf1, 0x32, 0x19, 0xcf, 0xdf,
+  0xf2, 0x25, 0xa1, 0x00, 0x1d, 0x86, 0x5b, 0xfd, 0xe4, 0xfc, 0xdb, 0xe7,
+  0x70, 0x66, 0x0c, 0x9b, 0x99, 0xff, 0xa7, 0x47, 0x07, 0xe7, 0x2d, 0x2c,
+  0xec, 0x9a, 0x6e, 0xf9, 0x45, 0xda, 0x67, 0xfb, 0x27, 0x0b, 0xa6, 0x2f,
+  0xf5, 0x17, 0x26, 0xa2, 0x36, 0xd1, 0xdb, 0xf4, 0x0b, 0x7b, 0x1e, 0xdc,
+  0x4f, 0x93, 0x86, 0x31, 0x4b, 0x35, 0x5f, 0xb3, 0x58, 0x3e, 0x9e, 0x4d,
+  0xb6, 0xe5, 0xcf, 0xfe, 0xd5, 0xdf, 0x26, 0xf3, 0xc1, 0x23, 0xb4, 0x12,
+  0x57, 0x82, 0xd7, 0x15, 0x26, 0xbf, 0xa5, 0xc6, 0xb0, 0x2b, 0xde, 0x53,
+  0x37, 0xcd, 0xbb, 0x53, 0x15, 0x69, 0x2a, 0x0e, 0x80, 0x89, 0xd6, 0xcd,
+  0x92, 0x3f, 0x9d, 0x20, 0xfa, 0x91, 0xcd, 0xc3, 0xcd, 0x84, 0x07, 0x7c,
+  0xbf, 0xed, 0x5b, 0xfa, 0xd7, 0x7a, 0xb3, 0xf6, 0x38, 0xec, 0xb4, 0xad,
+  0x39, 0x19, 0x85, 0xc8, 0xca, 0xb5, 0x27, 0x45, 0xeb, 0x97, 0xda, 0x5c,
+  0x28, 0xe1, 0xe6, 0xaf, 0x08, 0xf9, 0xbe, 0x25, 0xe7, 0x52, 0x70, 0x35,
+  0xcb, 0xb1, 0x65, 0xa6, 0xa4, 0xf3, 0xf1, 0x82, 0x4e, 0x41, 0x5b, 0xa2,
+  0xf5, 0xe3, 0x20, 0x3a, 0xd5, 0xd9, 0xcc, 0x93, 0x7a, 0xbc, 0xe5, 0x41,
+  0x51, 0x41, 0x0b, 0x90, 0xe7, 0x22, 0xcb, 0xb8, 0xc2, 0xb6, 0x22, 0x04,
+  0x4a, 0xeb, 0x7b, 0x20, 0x52, 0x05, 0x37, 0x91, 0x3c, 0xd2, 0x48, 0x22,
+  0x2f, 0x1d, 0xcc, 0x52, 0x94, 0x5f, 0x8d, 0x77, 0x5f, 0x3c, 0xdf, 0x65,
+  0xa9, 0x77, 0x55, 0x38, 0x18, 0x67, 0x34, 0xf3, 0x74, 0xf0, 0x64, 0xfb,
+  0xe9, 0xe0, 0x69, 0xe4, 0xf1, 0x67, 0x47, 0x49, 0x5b, 0x6d, 0x75, 0xee,
+  0x96, 0x79, 0xd9, 0x48, 0x8f, 0xdc, 0xdb, 0xe3, 0x43, 0x2b, 0x8d, 0xc7,
+  0x79, 0x42, 0x35, 0xec, 0x2d, 0x2d, 0xdd, 0xc6, 0x8b, 0x37, 0x10, 0x52,
+  0x5f, 0x03, 0x94, 0xd8, 0xb2, 0x2c, 0x91, 0x91, 0xaf, 0x84, 0xad, 0xcc,
+  0x75, 0xce, 0xb4, 0xae, 0xc4, 0xb2, 0x6e, 0xb4, 0xc6, 0x4b, 0x4b, 0x24,
+  0x5e, 0x7d, 0x6d, 0x82, 0x95, 0x1b, 0x7c, 0x60, 0x67, 0xca, 0x09, 0xf1,
+  0xd6, 0x76, 0xa7, 0xf1, 0x85, 0xab, 0xe8, 0x40, 0x0c, 0x03, 0x35, 0x76,
+  0x0b, 0x45, 0x99, 0xe0, 0x57, 0x2c, 0x5e, 0xac, 0x12, 0x49, 0x64, 0xb6,
+  0xee, 0xc7, 0x81, 0xd1, 0xe5, 0xac, 0x0b, 0x64, 0x11, 0x40, 0x84, 0xbb,
+  0xfd, 0xae, 0x5d, 0x15, 0x66, 0x2c, 0x0f, 0x2a, 0xe5, 0x19, 0xac, 0xc5,
+  0xfa, 0x43, 0xaf, 0xc8, 0xe3, 0x88, 0x6a, 0x11, 0xbb, 0x0e, 0x3b, 0x49,
+  0x1c, 0xd6, 0x0b, 0x71, 0x94, 0x1b, 0x66, 0x7a, 0x6a, 0xc5, 0x99, 0x24,
+  0xe3, 0xa6, 0x8e, 0xe5, 0xb2, 0x99, 0xe9, 0xf9, 0x71, 0xbc, 0x88, 0x47,
+  0xe9, 0x34, 0x2d, 0xd3, 0x96, 0xf0, 0xbc, 0x5f, 0x51, 0xf6, 0x2b, 0xc7,
+  0x8b, 0xfe, 0x3c, 0x6b, 0xb3, 0x11, 0x5e, 0x32, 0xb6, 0x7b, 0x80, 0xe8,
+  0xf7, 0xfe, 0xed, 0xd9, 0xd1, 0xf1, 0xe9, 0xc1, 0x0f, 0xe6, 0xf5, 0x76,
+  0xa1, 0xc7, 0x28, 0x90, 0x97, 0xc4, 0xc5, 0xea, 0x7d, 0x91, 0x94, 0xf4,
+  0xe5, 0xe6, 0x93, 0x2d, 0xf6, 0x47, 0xd5, 0xaf, 0x59, 0x56, 0xbf, 0x42,
+  0xb8, 0x67, 0x35, 0xd8, 0xfa, 0x79, 0xd4, 0xc8, 0x64, 0xb7, 0xe2, 0x68,
+  0x28, 0xe9, 0x7e, 0x2d, 0x93, 0xe9, 0x3c, 0x29, 0x15, 0xdd, 0x37, 0x7a,
+  0x79, 0x76, 0x7e, 0xf9, 0xea, 0x2e, 0x9e, 0xd6, 0x49, 0x86, 0xd1, 0x12,
+  0xb4, 0x45, 0xab, 0xb6, 0x12, 0xc9, 0x9b, 0x41, 0x08, 0xe3, 0xd0, 0xc5,
+  0x0a, 0xda, 0x93, 0x74, 0x3b, 0x37, 0x62, 0x04, 0x2f, 0x2f, 0x7f, 0x38,
+  0x3f, 0x7e, 0xf5, 0x92, 0x55, 0xe6, 0xcf, 0x59, 0xd1, 0x57, 0x53, 0x09,
+  0x34, 0x68, 0x5e, 0xe7, 0xd5, 0xa2, 0x79, 0x7d, 0x7f, 0x7f, 0x74, 0x32,
+  0x3c, 0x3f, 0x3d, 0x3b, 0x7c, 0xf5, 0xf2, 0x7b, 0x36, 0xb0, 0x32, 0x6a,
+  0x78, 0xf0, 0xae, 0xfb, 0xcc, 0xc5, 0x41, 0x35, 0xe1, 0x0e, 0x8f, 0xbf,
+  0x7b, 0x7f, 0xfc, 0xf6, 0xdb, 0x57, 0x2f, 0xef, 0xe2, 0xbc, 0xc7, 0xf3,
+  0x93, 0xb7, 0x39, 0xa1, 0xb9, 0x05, 0x5e, 0xba, 0xb2, 0x97, 0x9c, 0x7b,
+  0x30, 0x9a, 0xde, 0x4a, 0xa1, 0x01, 0x80, 0xfb, 0x37, 0x02, 0x10, 0x2e,
+  0x11, 0xa7, 0xcd, 0x46, 0x0b, 0xfe, 0x2d, 0xfa, 0xf2, 0xf4, 0x1b, 0x76,
+  0x6f, 0xb9, 0xbb, 0xd9, 0xca, 0xac, 0x7f, 0xfe, 0x6c, 0x77, 0x6f, 0x2b,
+  0xc0, 0x0d, 0x67, 0x27, 0x39, 0x8d, 0xf8, 0xb6, 0x61, 0x34, 0xf9, 0xd9,
+  0x0a, 0x35, 0x79, 0x5c, 0x70, 0x2d, 0x97, 0xca, 0x37, 0x00, 0xce, 0x01,
+  0x9b, 0xad, 0xb8, 0x5a, 0x14, 0x42, 0x94, 0x38, 0x32, 0x83, 0xbe, 0x64,
+  0x04, 0xf0, 0xbc, 0x11, 0x84, 0x11, 0xcb, 0xa0, 0x2c, 0xfe, 0xd3, 0x63,
+  0x24, 0x46, 0x34, 0x1c, 0xf5, 0x7b, 0xb7, 0x13, 0xf2, 0xaf, 0x7d, 0x30,
+  0x5a, 0x6e, 0x94, 0x5a, 0x59, 0x87, 0x4b, 0x86, 0xa0, 0x5d, 0xb0, 0xeb,
+  0xf2, 0x91, 0x98, 0x17, 0xac, 0x9f, 0x47, 0x73, 0xac, 0x32, 0xab, 0xc0,
+  0xff, 0xa4, 0x64, 0x6a, 0x0e, 0x2d, 0x46, 0x2a, 0x59, 0xc3, 0xbe, 0x5c,
+  0xd9, 0x5c, 0x8f, 0x6f, 0x63, 0x25, 0x70, 0x5d, 0xc3, 0x00, 0x93, 0xf1,
+  0x58, 0xe9, 0x9a, 0xe6, 0xf1, 0xa8, 0x03, 0x4c, 0xb2, 0xee, 0xe0, 0xcc,
+  0x77, 0x95, 0x05, 0x1c, 0xd6, 0x09, 0x7c, 0x29, 0x52, 0xf8, 0x78, 0xdb,
+  0x18, 0x02, 0xaf, 0xdf, 0xc6, 0x9a, 0x40, 0xb8, 0x48, 0xdc, 0x30, 0x90,
+  0x73, 0x39, 0x04, 0x09, 0xf3, 0xc3, 0x78, 0x2c, 0x0b, 0xb1, 0x3a, 0x0b,
+  0x09, 0x75, 0xab, 0xdb, 0x78, 0x02, 0x82, 0xba, 0xe1, 0xf8, 0xa4, 0xd2,
+  0x95, 0x1d, 0xc5, 0xde, 0x55, 0x23, 0xd0, 0x8c, 0x48, 0x03, 0x8f, 0x60,
+  0x5d, 0x90, 0xf0, 0x30, 0x3d, 0x9a, 0x94, 0x22, 0x46, 0x67, 0xd6, 0x32,
+  0x38, 0x9c, 0x79, 0xba, 0x0a, 0xc2, 0x16, 0x64, 0x63, 0x1f, 0xab, 0xa5,
+  0xc0, 0x26, 0xa3, 0x81, 0xa3, 0x37, 0x23, 0x34, 0x48, 0x09, 0xec, 0xbf,
+  0xda, 0x1c, 0x6e, 0x29, 0x19, 0x0b, 0xb9, 0x9d, 0xbf, 0xf3, 0x49, 0x3e,
+  0x6d, 0x25, 0x36, 0xd6, 0x11, 0xa0, 0x53, 0xb7, 0xfd, 0x42, 0x75, 0xfa,
+  0x9d, 0x3a, 0x4e, 0x93, 0x1d, 0x37, 0x94, 0x74, 0x0f, 0x93, 0x88, 0xe2,
+  0x56, 0xb0, 0x21, 0x89, 0xb7, 0x8d, 0x0e, 0xa6, 0xf0, 0x2e, 0x13, 0x6f,
+  0x5c, 0xf5, 0xea, 0x7d, 0x0c, 0x3a, 0x11, 0x77, 0xe2, 0xac, 0xa2, 0x62,
+  0x3f, 0xdd, 0x6a, 0x00, 0xa7, 0xad, 0xb4, 0xbc, 0x9d, 0xb7, 0x05, 0x84,
+  0xf9, 0xb0, 0x3c, 0xd4, 0xda, 0xd0, 0x10, 0x60, 0x01, 0x56, 0xd2, 0xcc,
+  0x07, 0x87, 0xdc, 0x80, 0x54, 0x5c, 0x20, 0xd3, 0x23, 0xd5, 0x05, 0xae,
+  0x2c, 0x17, 0xc2, 0x24, 0x38, 0x51, 0x86, 0x78, 0x2a, 0x6d, 0x42, 0x08,
+  0x03, 0xe8, 0x58, 0x1d, 0xab, 0x00, 0x9b, 0xd8, 0xb2, 0xa8, 0x56, 0xab,
+  0xca, 0x72, 0x0e, 0x98, 0x0d, 0xf4, 0x2f, 0x3d, 0xd0, 0x90, 0x56, 0x96,
+  0xaf, 0x27, 0xeb, 0x28, 0x7a, 0x65, 0xff, 0xb2, 0x51, 0xac, 0x88, 0x5f,
+  0x58, 0xc4, 0x69, 0x1e, 0x84, 0xd2, 0x20, 0x7c, 0x8d, 0xe7, 0x2e, 0x94,
+  0xa4, 0x81, 0x8f, 0x90, 0x7a, 0x07, 0x42, 0xda, 0xf0, 0x93, 0xac, 0xc5,
+  0xcd, 0xee, 0x5c, 0x4f, 0xb3, 0xd1, 0x88, 0x26, 0xd5, 0x31, 0x89, 0x94,
+  0x46, 0x18, 0xe7, 0xd7, 0x50, 0xd2, 0x7a, 0x06, 0xea, 0xe1, 0x0f, 0x2b,
+  0x00, 0xe1, 0xd0, 0xd7, 0xba, 0x48, 0x7f, 0x2d, 0x96, 0x92, 0x79, 0x94,
+  0x4f, 0xa0, 0xb5, 0x85, 0x85, 0xb7, 0xc4, 0xfd, 0x8d, 0xcf, 0x23, 0xeb,
+  0xbf, 0xce, 0xf1, 0xcb, 0x15, 0xc7, 0x4a, 0xba, 0xeb, 0x53, 0x99, 0x0f,
+  0x58, 0x8e, 0x22, 0x75, 0xa5, 0x2d, 0xc1, 0xf6, 0x3c, 0x61, 0x9a, 0x40,
+  0xe7, 0xef, 0x3c, 0x8a, 0xdd, 0x1e, 0xff, 0xbb, 0xf7, 0x8f, 0x8e, 0xc1,
+  0xb1, 0x31, 0x20, 0xa6, 0x0c, 0xbe, 0x64, 0x08, 0xac, 0xc2, 0x30, 0xe0,
+  0x5a, 0x20, 0xdf, 0xb8, 0x4e, 0xc9, 0xda, 0xd6, 0xd3, 0xd9, 0xf5, 0x8f,
+  0xbb, 0xfd, 0xdd, 0x9d, 0x9d, 0x9d, 0x9f, 0x06, 0x0b, 0x5e, 0xba, 0x2b,
+  0x34, 0x4f, 0xff, 0x0e, 0x16, 0xe9, 0x98, 0x43, 0x5e, 0x68, 0x33, 0xd3,
+  0x18, 0x45, 0xa3, 0xa5, 0xbf, 0xed, 0xf0, 0xfa, 0xcc, 0x39, 0x79, 0xa7,
+  0x95, 0x8f, 0x3b, 0xd0, 0x4d, 0x86, 0x20, 0x5f, 0xb2, 0x18, 0x27, 0x0f,
+  0x47, 0x93, 0xa5, 0x44, 0x23, 0x48, 0xb4, 0x86, 0xba, 0x89, 0x79, 0xb3,
+  0x89, 0x54, 0xb5, 0xde, 0x09, 0xdd, 0x78, 0xbd, 0xd6, 0xf2, 0x8c, 0xf8,
+  0x36, 0x29, 0xb8, 0x84, 0x28, 0x52, 0x74, 0x03, 0x88, 0xfa, 0x9e, 0x4b,
+  0x0c, 0xc0, 0x81, 0x55, 0xba, 0x97, 0x73, 0xdb, 0x44, 0x53, 0xe4, 0x63,
+  0x46, 0xd2, 0x27, 0x7f, 0x6d, 0x5c, 0xce, 0x81, 0x62, 0x1b, 0x86, 0xb6,
+  0x14, 0x6c, 0x6a, 0xc0, 0xb3, 0xb5, 0x29, 0xe8, 0xde, 0xd4, 0x11, 0x9a,
+  0x39, 0x10, 0xcc, 0xdf, 0xbf, 0x13, 0xdc, 0xc6, 0x11, 0x17, 0x59, 0x06,
+  0xf6, 0x15, 0xd6, 0xa1, 0xa1, 0xfc, 0x14, 0xe3, 0x34, 0xfd, 0x4d, 0xa5,
+  0x56, 0xf4, 0x8a, 0x6e, 0x1e, 0xdf, 0xb0, 0x58, 0xb6, 0x4b, 0x76, 0x2b,
+  0xdc, 0x2c, 0xbf, 0x5b, 0x62, 0xee, 0x70, 0xfb, 0xf5, 0x7f, 0xd0, 0x86,
+  0x71, 0x05, 0xa7, 0x04, 0xf5, 0x4e, 0x83, 0x8a, 0x16, 0x98, 0xaa, 0x28,
+  0x8a, 0xd3, 0x24, 0xe6, 0xa0, 0x62, 0x33, 0xd3, 0xdc, 0x24, 0x0f, 0x22,
+  0x30, 0x34, 0x61, 0x02, 0xc4, 0xa7, 0xcb, 0x5e, 0x13, 0xd5, 0xfb, 0x0e,
+  0x86, 0x87, 0x27, 0x27, 0x15, 0x85, 0x98, 0x17, 0x4f, 0x8a, 0xfd, 0xc2,
+  0xcd, 0x52, 0xcc, 0x68, 0x15, 0xd9, 0xc9, 0x83, 0xe1, 0x36, 0xe4, 0x14,
+  0x0e, 0x49, 0x43, 0xfa, 0x28, 0x83, 0xac, 0xc6, 0x45, 0x6a, 0x31, 0x80,
+  0xb1, 0xe4, 0x7e, 0x2d, 0xe7, 0x2c, 0x51, 0x70, 0x60, 0xcc, 0xcd, 0x92,
+  0x8e, 0x64, 0xf1, 0x91, 0xa6, 0xb7, 0x8f, 0xa5, 0xc7, 0xdf, 0x9e, 0xf4,
+  0x5a, 0x82, 0x9d, 0xce, 0x73, 0x8d, 0x29, 0x93, 0xd0, 0x97, 0x48, 0x22,
+  0x95, 0x18, 0x9a, 0x95, 0x6f, 0x0d, 0xa1, 0xc0, 0x0c, 0x15, 0x13, 0x30,
+  0x5a, 0x5c, 0x29, 0x56, 0xe4, 0xb4, 0x05, 0x69, 0x47, 0xf5, 0x84, 0xa2,
+  0x0e, 0x0e, 0xfc, 0xb4, 0x22, 0x85, 0x5a, 0x21, 0x84, 0xe8, 0x25, 0xff,
+  0xbb, 0x6f, 0x85, 0x08, 0x1e, 0xab, 0x2f, 0x86, 0xc7, 0x1b, 0x35, 0x82,
+  0x2a, 0x08, 0x86, 0x72, 0xdd, 0x3e, 0x8e, 0x58, 0x3b, 0x88, 0xce, 0xdc,
+  0xbe, 0xf8, 0xca, 0x47, 0x68, 0xb3, 0x5e, 0x86, 0xa5, 0x6d, 0x3b, 0xf8,
+  0xce, 0x42, 0xfa, 0xe1, 0x75, 0xaa, 0x84, 0xef, 0xc7, 0xb5, 0x69, 0xc6,
+  0x45, 0xb6, 0x47, 0xe6, 0xa2, 0x3d, 0xd3, 0x4d, 0x3c, 0xcd, 0xe6, 0x5b,
+  0xad, 0x4b, 0x85, 0xad, 0x22, 0x41, 0x93, 0x63, 0xc8, 0xc4, 0x7a, 0xe7,
+  0x2a, 0x1f, 0xad, 0xc5, 0xcd, 0x85, 0x5c, 0xcb, 0xb8, 0xe5, 0xe7, 0x27,
+  0x7d, 0x0d, 0x83, 0x54, 0x78, 0x61, 0xc9, 0x76, 0xe3, 0x79, 0x4c, 0xb2,
+  0x3a, 0xae, 0x4d, 0xdb, 0x42, 0xf8, 0x7c, 0x6a, 0x81, 0xc6, 0xac, 0x40,
+  0x5f, 0x2d, 0x17, 0xb5, 0xb9, 0x55, 0x0b, 0x46, 0xd4, 0x85, 0x4a, 0x24,
+  0x3e, 0x0b, 0xc6, 0x45, 0xa8, 0xec, 0x8d, 0x56, 0x12, 0x0c, 0xe9, 0xd2,
+  0x24, 0xd5, 0xa2, 0x20, 0xd7, 0x38, 0x56, 0xa6, 0x0d, 0xd6, 0x28, 0x20,
+  0xf9, 0x7d, 0xe2, 0x39, 0xcb, 0x68, 0xbf, 0xf3, 0x1b, 0x9e, 0x8c, 0x77,
+  0x66, 0x01, 0xff, 0xf5, 0x09, 0x52, 0xfd, 0x04, 0x1f, 0x20, 0xc8, 0xff,
+  0xb7, 0xd7, 0x7e, 0xaf, 0xdf, 0xfd, 0xb6, 0x7b, 0xdd, 0xe7, 0x79, 0xbf,
+  0x24, 0xa1, 0x6f, 0xdd, 0xbe, 0xc6, 0x10, 0x22, 0x39, 0xa0, 0x93, 0x71,
+  0x80, 0x1b, 0x98, 0x74, 0x50, 0xbb, 0xf8, 0xca, 0xb9, 0xa1, 0x25, 0x72,
+  0x71, 0x50, 0x4d, 0x74, 0x0c, 0x83, 0xc5, 0x30, 0x49, 0x9d, 0x1a, 0xdd,
+  0x2c, 0xb6, 0x24, 0x21, 0x21, 0x48, 0x5d, 0x7f, 0x5c, 0x9e, 0x71, 0x6a,
+  0x8a, 0x38, 0xbc, 0x2a, 0x09, 0xc6, 0x92, 0xfe, 0xca, 0x61, 0x21, 0x06,
+  0x20, 0x01, 0x11, 0xbd, 0x6d, 0x71, 0x79, 0x42, 0x1c, 0xe0, 0x2e, 0x46,
+  0xc1, 0x9e, 0x2f, 0x2a, 0x1f, 0x20, 0x44, 0x2b, 0x18, 0xc5, 0x07, 0x40,
+  0x6f, 0xd5, 0xe4, 0x14, 0xac, 0x67, 0x70, 0x8d, 0xb5, 0xd6, 0x8e, 0x53,
+  0xc3, 0x25, 0xaf, 0x25, 0x64, 0x14, 0x94, 0x34, 0xb2, 0xab, 0x64, 0xbb,
+  0x8c, 0xa7, 0xb7, 0x31, 0x4b, 0x24, 0x83, 0xe8, 0x8d, 0xac, 0xab, 0x2f,
+  0xed, 0xd7, 0x88, 0xff, 0x18, 0x2d, 0xaf, 0xaf, 0x51, 0x82, 0xe2, 0x40,
+  0x6e, 0xa0, 0xc2, 0x00, 0x22, 0x60, 0x98, 0xec, 0x7e, 0xde, 0xd5, 0x40,
+  0xce, 0x8e, 0x94, 0x49, 0x86, 0x38, 0xd4, 0x11, 0x71, 0xa4, 0x99, 0xe5,
+  0xc5, 0xf4, 0xdf, 0x8b, 0xba, 0x2f, 0xdb, 0x5f, 0x22, 0x05, 0x3d, 0x49,
+  0xef, 0x14, 0xeb, 0xdd, 0xa9, 0xff, 0xb4, 0x86, 0x37, 0x29, 0x5d, 0x68,
+  0xf3, 0x66, 0xf0, 0x96, 0x56, 0x8f, 0x81, 0x87, 0xa0, 0xa7, 0x05, 0xa5,
+  0xdb, 0x06, 0xf9, 0x47, 0xeb, 0x2f, 0x9e, 0x4c, 0x52, 0x2d, 0xc2, 0xc5,
+  0xc2, 0x58, 0x23, 0xb9, 0x5e, 0xd3, 0x9f, 0xb4, 0xff, 0xf6, 0xca, 0x22,
+  0x7a, 0x05, 0xa7, 0xc6, 0x2d, 0x44, 0x16, 0x02, 0xe5, 0x29, 0xde, 0x92,
+  0x15, 0x8c, 0xb6, 0x7a, 0x7c, 0xa6, 0x88, 0xd6, 0xa5, 0xc4, 0x4a, 0x05,
+  0x6a, 0x27, 0xfe, 0x40, 0xa8, 0x13, 0x4a, 0x54, 0x8b, 0x30, 0xd7, 0x40,
+  0x53, 0xd4, 0xec, 0x75, 0x57, 0xa3, 0x99, 0x3c, 0xfc, 0xa9, 0x29, 0x4a,
+  0x29, 0x42, 0x2c, 0xb5, 0xed, 0x70, 0x6b, 0xf2, 0x83, 0x5a, 0x99, 0xc8,
+  0xac, 0xaa, 0xbd, 0x26, 0x8a, 0x04, 0x12, 0xa5, 0x1c, 0x8c, 0x88, 0x93,
+  0x43, 0xaa, 0x42, 0xb4, 0xd9, 0xcc, 0xff, 0x59, 0x39, 0xac, 0xd2, 0xd8,
+  0x23, 0x82, 0x18, 0xc0, 0xdd, 0x86, 0x2e, 0xc8, 0x48, 0x50, 0x33, 0x2d,
+  0xec, 0x0f, 0x71, 0x45, 0xc1, 0xa9, 0x08, 0x40, 0xe2, 0x9b, 0xe5, 0x68,
+  0x20, 0x1c, 0x55, 0xca, 0x7a, 0x89, 0x41, 0x59, 0x74, 0x6b, 0xad, 0xff,
+  0x6c, 0x11, 0xe6, 0x86, 0xd8, 0x99, 0xc2, 0xa0, 0x55, 0x0c, 0x5a, 0x7c,
+  0x81, 0x16, 0x64, 0x27, 0x62, 0x99, 0xee, 0xa2, 0x26, 0xf5, 0xb0, 0x0a,
+  0x61, 0x4d, 0x70, 0xf0, 0x3d, 0xa8, 0xde, 0x45, 0xaf, 0x37, 0xa5, 0x69,
+  0xa9, 0xd0, 0x9c, 0x4f, 0x20, 0x40, 0xaf, 0x14, 0x24, 0x3f, 0x05, 0x34,
+  0xf9, 0xfc, 0xd6, 0x82, 0x96, 0x24, 0xdf, 0x20, 0x19, 0x2f, 0xcb, 0xaa,
+  0x1d, 0x37, 0x18, 0x93, 0xc6, 0x24, 0x63, 0x48, 0x9b, 0x38, 0x03, 0x0a,
+  0xbe, 0xd8, 0x39, 0x37, 0xec, 0xb2, 0xfd, 0xce, 0x96, 0xc9, 0xed, 0x50,
+  0x6b, 0x1c, 0xa8, 0x59, 0x9b, 0x48, 0x6e, 0x43, 0x76, 0xd5, 0xe2, 0x33,
+  0x87, 0xd2, 0xdf, 0xd6, 0x3d, 0x91, 0x5f, 0xde, 0xda, 0xfb, 0x6b, 0xc9,
+  0x1f, 0x09, 0x3a, 0x77, 0x18, 0xcb, 0x9a, 0x5a, 0x52, 0xac, 0x01, 0xa6,
+  0x08, 0x7a, 0xce, 0x18, 0xe5, 0x8e, 0xd8, 0x90, 0x8b, 0xd3, 0xb7, 0x57,
+  0x6d, 0xf1, 0xf7, 0x9b, 0xe8, 0x47, 0x77, 0xcf, 0x03, 0xf3, 0x0d, 0x33,
+  0x60, 0x7c, 0xa4, 0xcb, 0x99, 0x36, 0xd5, 0x88, 0xdb, 0x7c, 0xf4, 0x94,
+  0x7e, 0x7c, 0xc3, 0x3f, 0xac, 0xb8, 0x25, 0x63, 0x65, 0x99, 0xf9, 0xa2,
+  0x09, 0x7c, 0xc0, 0x95, 0x0b, 0xe4, 0xdc, 0x0f, 0x41, 0x45, 0xaf, 0xf1,
+  0x4b, 0x9e, 0x3c, 0xf2, 0x0e, 0xcd, 0xed, 0x67, 0x76, 0x20, 0x2e, 0xcb,
+  0x8c, 0x29, 0x71, 0x8c, 0x44, 0x8d, 0xd9, 0x22, 0x97, 0x1a, 0x30, 0x92,
+  0xad, 0x21, 0x7f, 0xaa, 0x87, 0xaa, 0xc0, 0x51, 0x52, 0xe6, 0x92, 0xae,
+  0x81, 0x72, 0x5a, 0xdf, 0x9f, 0x14, 0xfe, 0x68, 0x85, 0x5c, 0x7c, 0x74,
+  0x6e, 0x8f, 0xd5, 0x08, 0x6c, 0x60, 0x46, 0xd6, 0x1a, 0xe6, 0xa5, 0xa0,
+  0xc5, 0x7c, 0xf6, 0x71, 0xab, 0x78, 0xc4, 0xb7, 0x8c, 0x2b, 0x93, 0x6b,
+  0x58, 0x64, 0x5a, 0x9b, 0x4e, 0x24, 0x2f, 0x5f, 0x9b, 0x0e, 0x0f, 0xab,
+  0x84, 0xa0, 0x75, 0xa0, 0xda, 0x07, 0x87, 0x4b, 0x0f, 0xf1, 0x7c, 0x60,
+  0x2e, 0xb7, 0x66, 0x6a, 0x99, 0xd1, 0x45, 0x9b, 0xaf, 0xfc, 0xd5, 0x16,
+  0xd1, 0x35, 0x39, 0x88, 0x50, 0xdf, 0x05, 0x9d, 0xaf, 0x49, 0xe0, 0x9d,
+  0x90, 0xd8, 0x33, 0x65, 0x0b, 0xaf, 0xa4, 0x1e, 0xfd, 0xae, 0x51, 0x6d,
+  0xb3, 0x58, 0xcd, 0xc7, 0x37, 0x47, 0x6f, 0x87, 0xeb, 0x92, 0x78, 0xd3,
+  0xc2, 0x45, 0x2b, 0x73, 0x78, 0x09, 0x3f, 0x4d, 0x42, 0x1c, 0xb3, 0x45,
+  0x48, 0x7f, 0x1a, 0xcd, 0xd2, 0x02, 0xae, 0x71, 0xfe, 0xf6, 0xf8, 0xab,
+  0x33, 0xfb, 0xb1, 0x76, 0xc9, 0x1f, 0x5d, 0xe1, 0x53, 0x4e, 0xd0, 0x7d,
+  0x2c, 0xd7, 0xd9, 0x06, 0xe7, 0x0a, 0x69, 0x78, 0x2f, 0x04, 0x11, 0x24,
+  0x0a, 0x1c, 0x0b, 0x2d, 0xf6, 0x94, 0x24, 0xa5, 0xe6, 0xf1, 0xba, 0x2c,
+  0x6e, 0x3a, 0x6e, 0x7b, 0x5f, 0x7d, 0xd9, 0xbc, 0xad, 0x8e, 0xde, 0xae,
+  0xe9, 0x8e, 0xbf, 0xe9, 0x5b, 0x02, 0x93, 0x5e, 0xd1, 0x5a, 0xc0, 0x07,
+  0xd9, 0xe4, 0x2d, 0x27, 0x8f, 0x0b, 0x14, 0xca, 0x8f, 0xca, 0xd4, 0xed,
+  0x4a, 0xe4, 0xe3, 0x2e, 0x34, 0x2f, 0xf8, 0x0c, 0x80, 0x26, 0x99, 0xc6,
+  0x74, 0x4d, 0x46, 0x2d, 0xa5, 0x00, 0x03, 0xab, 0x7f, 0xb5, 0xda, 0x5c,
+  0xb0, 0xca, 0x0a, 0xac, 0x68, 0x55, 0x47, 0x90, 0x4b, 0x0f, 0xe9, 0xbd,
+  0xc9, 0xd2, 0x9d, 0x13, 0xb3, 0xae, 0x57, 0xf6, 0xef, 0xe9, 0x92, 0x82,
+  0x63, 0x9a, 0x65, 0xc0, 0xe8, 0xa5, 0x5c, 0x47, 0x9f, 0x37, 0x0e, 0x84,
+  0x20, 0xbe, 0x98, 0x55, 0xd8, 0x9c, 0x80, 0xb8, 0xd7, 0xd9, 0xc0, 0xe3,
+  0x30, 0x83, 0x50, 0xd4, 0x36, 0x29, 0x13, 0x31, 0x19, 0x2b, 0x82, 0x50,
+  0x23, 0x58, 0x94, 0x64, 0x3b, 0xef, 0x9c, 0xb0, 0x30, 0x03, 0xe9, 0x5a,
+  0xeb, 0xf0, 0x68, 0x61, 0x0e, 0xab, 0xbb, 0x65, 0x99, 0xd5, 0xe2, 0xec,
+  0x6e, 0x04, 0x17, 0x3c, 0xb0, 0xb9, 0xe6, 0xc1, 0x6e, 0xa6, 0xaa, 0x88,
+  0xec, 0x0a, 0x6b, 0x48, 0x6e, 0xb5, 0x36, 0x1c, 0x24, 0x09, 0xb7, 0xc6,
+  0x54, 0x22, 0x0a, 0xaa, 0x23, 0x0f, 0x77, 0x60, 0x1d, 0xe3, 0x1c, 0x2b,
+  0x31, 0x00, 0x49, 0xbe, 0x32, 0x12, 0x9b, 0xc7, 0x4b, 0x36, 0x5c, 0xc1,
+  0xf1, 0x80, 0x0a, 0x3c, 0xad, 0xcd, 0xad, 0xf8, 0xde, 0xee, 0x7c, 0x61,
+  0xe6, 0xb2, 0x8e, 0x59, 0xd3, 0x3d, 0x00, 0x19, 0xbc, 0x06, 0x68, 0x5c,
+  0x25, 0x65, 0x5d, 0x8a, 0x16, 0x1f, 0xa3, 0x38, 0x0d, 0x50, 0x32, 0x00,
+  0xb5, 0x27, 0x3a, 0x5f, 0xf4, 0x3b, 0xad, 0xb7, 0x5f, 0x50, 0x51, 0x84,
+  0x05, 0x1e, 0x48, 0xc0, 0x6a, 0xed, 0x36, 0xf3, 0x9e, 0xf4, 0x62, 0x3a,
+  0x52, 0xb1, 0x1c, 0x91, 0x90, 0x56, 0x2e, 0xcb, 0x46, 0x58, 0xa2, 0x66,
+  0xe8, 0xc3, 0x23, 0x0b, 0x1d, 0x81, 0x17, 0xdc, 0x7b, 0x4d, 0x21, 0xec,
+  0xb1, 0x39, 0xb0, 0x44, 0x64, 0xa1, 0xda, 0x18, 0x47, 0x40, 0x43, 0x60,
+  0x98, 0x9f, 0xba, 0xb8, 0x72, 0xc0, 0x17, 0xbd, 0x1f, 0x1d, 0x6e, 0x27,
+  0x8f, 0xb6, 0x58, 0x44, 0xbf, 0xff, 0xbb, 0x7d, 0x09, 0x48, 0x8a, 0x7f,
+  0xd8, 0x7a, 0x59, 0xad, 0x8f, 0x76, 0xa9, 0xfb, 0xf7, 0xde, 0x26, 0x23,
+  0x2b, 0x83, 0x2c, 0x41, 0x6e, 0xee, 0xf7, 0x03, 0x77, 0xe7, 0x5a, 0x13,
+  0xd1, 0x3c, 0xb9, 0x17, 0x49, 0xa9, 0xa1, 0x13, 0x88, 0xa4, 0xf9, 0x17,
+  0x2e, 0xfb, 0x47, 0xaf, 0x90, 0xc4, 0xc8, 0x8e, 0xff, 0xb0, 0x54, 0xfc,
+  0x5f, 0x72, 0x15, 0xed, 0x49, 0xf0, 0xa1, 0x81, 0xb3, 0x3c, 0x2a, 0x9f,
+  0x97, 0x8f, 0x14, 0x8e, 0xff, 0x7d, 0x5f, 0xe0, 0x46, 0x94, 0xba, 0x79,
+  0xba, 0x34, 0x66, 0xfb, 0xcc, 0x2a, 0xcd, 0xcd, 0x9f, 0xec, 0xf5, 0x03,
+  0x65, 0xba, 0xd7, 0x28, 0xdc, 0xc4, 0x9e, 0x47, 0x96, 0x93, 0x82, 0x62,
+  0x40, 0x4c, 0xe3, 0xbf, 0xd7, 0xca, 0x0e, 0x70, 0x66, 0x49, 0x52, 0xd7,
+  0xc4, 0xb4, 0x52, 0x4d, 0xa7, 0x5a, 0x1b, 0xe3, 0xdf, 0x4a, 0x3c, 0xc1,
+  0xee, 0x38, 0xf9, 0xc6, 0x52, 0xa4, 0x25, 0x44, 0xa4, 0x2d, 0xde, 0x00,
+  0x81, 0x14, 0x56, 0x41, 0x4d, 0x1a, 0x82, 0x1a, 0x0d, 0x6f, 0x25, 0x1b,
+  0x8c, 0xa5, 0xa8, 0x0e, 0xd4, 0x73, 0xef, 0x9c, 0x87, 0x0b, 0x93, 0xf5,
+  0xa1, 0xfe, 0xda, 0x14, 0x6f, 0x4b, 0x98, 0x60, 0xc6, 0x21, 0x75, 0x96,
+  0xba, 0xf0, 0xca, 0x4e, 0x27, 0xc1, 0xf9, 0x11, 0x70, 0xfd, 0xc8, 0x45,
+  0x26, 0xec, 0x3f, 0xde, 0x9c, 0x6a, 0x45, 0x8d, 0xe9, 0xb3, 0x4f, 0xe7,
+  0x3d, 0xd2, 0xf9, 0xdc, 0x6a, 0x10, 0x33, 0x49, 0x72, 0x86, 0xcb, 0xaa,
+  0xe5, 0xfb, 0xf9, 0x89, 0x31, 0x0a, 0xbb, 0x6e, 0xe3, 0xe3, 0xbd, 0xc2,
+  0x32, 0x91, 0x2b, 0x60, 0xc2, 0xc4, 0xf9, 0x5a, 0x91, 0x97, 0x40, 0x72,
+  0x09, 0x5b, 0x07, 0xdc, 0x55, 0xd7, 0x06, 0x77, 0x1a, 0x35, 0xd2, 0x85,
+  0x3e, 0xe3, 0xf2, 0x04, 0x48, 0x86, 0x98, 0xa6, 0xb1, 0xcf, 0xe0, 0x96,
+  0x29, 0xf0, 0xe0, 0x62, 0x58, 0x5f, 0x59, 0x56, 0x26, 0x51, 0xf7, 0xf1,
+  0xe6, 0x1c, 0x96, 0x25, 0xeb, 0x25, 0xeb, 0x56, 0x46, 0xc0, 0x49, 0xeb,
+  0x2b, 0x53, 0x5d, 0x10, 0x5d, 0x11, 0xaf, 0x71, 0xb6, 0xf8, 0xdb, 0xa3,
+  0x35, 0xa9, 0x94, 0x51, 0xb4, 0x69, 0x08, 0x8a, 0x62, 0x39, 0xdb, 0x52,
+  0x80, 0x63, 0xbb, 0x07, 0x15, 0x38, 0xf8, 0x43, 0xcd, 0x21, 0x0f, 0xa6,
+  0x91, 0xa2, 0xf2, 0xb4, 0x11, 0xdd, 0xc9, 0x36, 0x94, 0xf7, 0x92, 0xe4,
+  0xe7, 0x34, 0x07, 0x97, 0xf2, 0xd7, 0xe3, 0x17, 0x35, 0xfb, 0xa9, 0xe7,
+  0x51, 0x88, 0xc5, 0x89, 0x86, 0x2b, 0xec, 0x03, 0x54, 0x0b, 0x59, 0x88,
+  0x67, 0x9f, 0x28, 0x0a, 0x12, 0x8c, 0xeb, 0x2e, 0xc3, 0x49, 0x2e, 0x52,
+  0xbb, 0xb9, 0x66, 0xe9, 0xf4, 0x03, 0xcd, 0x4d, 0x53, 0x55, 0xaa, 0x20,
+  0x9e, 0x2d, 0x5b, 0x0f, 0x30, 0x26, 0xc4, 0x9c, 0x93, 0x15, 0xf5, 0x75,
+  0xd8, 0x5b, 0x15, 0x45, 0xa9, 0x31, 0x51, 0xc4, 0xa9, 0x97, 0x5c, 0xeb,
+  0x3c, 0x2c, 0x09, 0x0c, 0x25, 0xea, 0xf1, 0xe6, 0x24, 0x53, 0x14, 0x51,
+  0xb5, 0x5e, 0x88, 0x84, 0xe5, 0x83, 0x21, 0xfd, 0x4c, 0x38, 0x68, 0x1f,
+  0x72, 0x95, 0xb4, 0x2c, 0x6b, 0x49, 0xc3, 0x0d, 0xeb, 0xe3, 0xc2, 0xb0,
+  0x40, 0xaf, 0xbf, 0x64, 0x50, 0x41, 0x65, 0xd7, 0xc8, 0x03, 0x37, 0x59,
+  0xd8, 0x8a, 0x84, 0x6c, 0x6f, 0x66, 0xf9, 0xe3, 0xcd, 0x29, 0x51, 0x7e,
+  0xc4, 0x8c, 0xe2, 0xc5, 0x42, 0x7b, 0xfb, 0xf0, 0x26, 0xfc, 0x26, 0xf3,
+  0xd5, 0x1a, 0x3c, 0xdb, 0xc4, 0x78, 0x23, 0x9b, 0xf8, 0x36, 0x1b, 0x2d,
+  0x8b, 0x1b, 0xc9, 0x2a, 0xcf, 0xa2, 0x0f, 0xf3, 0xac, 0x00, 0x78, 0xbf,
+  0x36, 0xe9, 0x47, 0x8a, 0x03, 0x85, 0xcb, 0xc0, 0x98, 0x7a, 0xca, 0xd3,
+  0xfe, 0x37, 0xad, 0x83, 0x44, 0x29, 0x59, 0xfe, 0x21, 0x4f, 0x02, 0x82,
+  0x82, 0x4b, 0xba, 0xa6, 0xb3, 0x48, 0xaa, 0xd7, 0xe0, 0x43, 0xa3, 0x4b,
+  0x0b, 0x6f, 0x59, 0x89, 0xe1, 0xb4, 0x49, 0xfa, 0x75, 0x90, 0x49, 0x01,
+  0x2c, 0x40, 0xd9, 0xf5, 0x0f, 0x71, 0x06, 0x2d, 0x34, 0x2b, 0xc0, 0xf6,
+  0x5e, 0x0a, 0x1a, 0x9b, 0x33, 0x36, 0x10, 0x31, 0x5b, 0x62, 0x6a, 0xeb,
+  0xcd, 0xb1, 0xd9, 0x44, 0xac, 0xcb, 0x77, 0xac, 0xb8, 0xad, 0x21, 0x49,
+  0x0b, 0xd2, 0x5c, 0x77, 0xf2, 0x01, 0x41, 0xcd, 0xeb, 0xac, 0xf9, 0xe3,
+  0x41, 0x89, 0x9a, 0xc7, 0xfb, 0x27, 0x0e, 0xb7, 0x70, 0xcb, 0x23, 0xa7,
+  0x5f, 0xf8, 0x4f, 0xcf, 0x51, 0x5e, 0x0f, 0x92, 0xe8, 0xc7, 0x91, 0x82,
+  0xd4, 0x0a, 0x70, 0x19, 0xa3, 0xb5, 0x7c, 0x52, 0x84, 0x2f, 0xf2, 0x97,
+  0x5a, 0xb9, 0xeb, 0x3e, 0x2e, 0x3e, 0x34, 0xba, 0x58, 0xb4, 0xb1, 0xea,
+  0x22, 0x88, 0xf5, 0x47, 0x23, 0x65, 0x40, 0xd4, 0x91, 0x18, 0xb5, 0x3e,
+  0x86, 0xab, 0x6b, 0x4e, 0x38, 0x52, 0xc1, 0x5d, 0x98, 0x4a, 0xb0, 0x5e,
+  0x61, 0x7e, 0xe4, 0x07, 0xaf, 0xf1, 0xb6, 0xe4, 0x49, 0x8c, 0x15, 0x23,
+  0xff, 0xf8, 0xe3, 0xf3, 0xab, 0xf3, 0xf2, 0x00, 0x17, 0x08, 0x70, 0x3a,
+  0xcd, 0xc3, 0x33, 0xd2, 0xa3, 0xf5, 0x81, 0x35, 0xe3, 0x18, 0x4a, 0xb9,
+  0x04, 0xc3, 0x63, 0x54, 0x67, 0x10, 0xba, 0xf3, 0x2d, 0x59, 0xfa, 0x2d,
+  0xb2, 0x8a, 0xee, 0x40, 0x05, 0x49, 0x75, 0x9e, 0x24, 0x13, 0x43, 0xcd,
+  0x22, 0xc1, 0x84, 0x8f, 0x4f, 0x99, 0x7c, 0x0c, 0x93, 0x2b, 0x68, 0x0b,
+  0x9b, 0xe8, 0x62, 0xe9, 0xcf, 0xc9, 0x7b, 0x03, 0x79, 0x09, 0x85, 0x03,
+  0x9f, 0x1e, 0x2f, 0x71, 0x9d, 0x22, 0xfa, 0x24, 0xb9, 0x87, 0x84, 0x69,
+  0x39, 0x81, 0x68, 0x4d, 0x43, 0xaa, 0xa2, 0x8f, 0x6b, 0x6d, 0x6d, 0x14,
+  0x18, 0xda, 0x52, 0x7f, 0xc5, 0xa3, 0x6d, 0x59, 0x00, 0x84, 0x1b, 0x16,
+  0x44, 0xdf, 0x0f, 0x6c, 0x56, 0x9b, 0x64, 0x8c, 0x1e, 0x5d, 0xb1, 0x06,
+  0x65, 0xd6, 0x22, 0x37, 0xad, 0x1f, 0x7f, 0xa0, 0x77, 0x3e, 0xde, 0x23,
+  0xcc, 0x89, 0x26, 0xb5, 0x6d, 0x34, 0x4b, 0x92, 0x24, 0x13, 0xbf, 0x0f,
+  0xdc, 0x75, 0xcc, 0x5e, 0xbf, 0x00, 0x81, 0x47, 0x9e, 0x09, 0xd4, 0x52,
+  0x52, 0x29, 0x8a, 0x65, 0x2e, 0x68, 0xbd, 0x1f, 0x26, 0x25, 0x77, 0xfe,
+  0xad, 0x3d, 0x8e, 0xdf, 0xe5, 0xa9, 0x90, 0x8c, 0xa7, 0x67, 0x69, 0xcd,
+  0xa8, 0xdc, 0x7e, 0x62, 0x41, 0x6c, 0x58, 0x16, 0x39, 0xf7, 0x2b, 0x8d,
+  0x4a, 0x5a, 0xfb, 0x88, 0x31, 0x29, 0xb2, 0xce, 0x7b, 0x0e, 0xee, 0xd6,
+  0x31, 0x1d, 0xca, 0x47, 0xfd, 0x4b, 0xfe, 0x48, 0xa9, 0xc1, 0x56, 0x3a,
+  0x09, 0xca, 0xfc, 0x32, 0xab, 0xb8, 0xfa, 0xe0, 0x98, 0x72, 0xd5, 0x2a,
+  0xe6, 0x4d, 0x28, 0x3e, 0xd2, 0x06, 0x4c, 0x88, 0x2b, 0x58, 0xfb, 0x15,
+  0x1b, 0x0c, 0x77, 0x49, 0xea, 0x76, 0xe4, 0xbe, 0x41, 0x7e, 0x7c, 0x6a,
+  0x30, 0x20, 0x63, 0xf8, 0x51, 0x3e, 0x8e, 0x7f, 0x7c, 0x44, 0xc2, 0x39,
+  0x8f, 0xc1, 0x78, 0x70, 0xe1, 0xc6, 0x40, 0x43, 0xf0, 0x1f, 0x8a, 0xc3,
+  0x0c, 0xd4, 0xe9, 0x8b, 0xcf, 0x9a, 0xaa, 0xf2, 0xcf, 0x69, 0x15, 0xcd,
+  0x71, 0x58, 0x77, 0xef, 0xa1, 0xb2, 0x48, 0xc6, 0x77, 0x5c, 0x21, 0x72,
+  0x2c, 0xa3, 0xab, 0x8f, 0xc2, 0xbc, 0xb4, 0x2f, 0x2e, 0x67, 0x0c, 0xe9,
+  0x43, 0xe3, 0xd0, 0xc9, 0x68, 0xd1, 0x98, 0x6a, 0x09, 0x5c, 0xa4, 0x8f,
+  0x43, 0x25, 0x1c, 0x73, 0xba, 0x1e, 0x2b, 0xe1, 0x1f, 0xb8, 0x6c, 0x5d,
+  0x83, 0x9a, 0xff, 0x04, 0x40, 0x02, 0x49, 0x00, 0x6b, 0xe4, 0xa1, 0x36,
+  0x33, 0xb7, 0xaf, 0x48, 0x2f, 0x04, 0xd6, 0xe3, 0x7b, 0x40, 0x22, 0x32,
+  0xcd, 0x19, 0x46, 0x39, 0x3e, 0x30, 0xab, 0xb9, 0x60, 0x53, 0x2d, 0x17,
+  0x28, 0x5c, 0xc7, 0x0b, 0x32, 0xcd, 0x60, 0xf1, 0x7e, 0x7c, 0x70, 0x02,
+  0x43, 0x50, 0xc3, 0x5e, 0xb7, 0x18, 0xfb, 0x5a, 0x56, 0x79, 0x53, 0xbb,
+  0x2b, 0x8a, 0xe9, 0x7b, 0x7a, 0x32, 0xbd, 0x5a, 0xbd, 0x17, 0x16, 0xff,
+  0xe1, 0x2b, 0x54, 0x9e, 0xb3, 0x93, 0xc2, 0x2e, 0x15, 0x3a, 0xc3, 0x24,
+  0xdf, 0x25, 0x24, 0x8d, 0x5d, 0x89, 0xe1, 0x35, 0x42, 0x93, 0xe9, 0xf8,
+  0xa3, 0xb4, 0x3f, 0xa7, 0x15, 0xbb, 0x33, 0x37, 0x60, 0xf8, 0x22, 0x78,
+  0x80, 0x61, 0x57, 0xd3, 0xb6, 0x3e, 0x2c, 0x63, 0x71, 0x23, 0x1e, 0x95,
+  0xfd, 0x31, 0xf1, 0xfb, 0xd7, 0x8b, 0x95, 0x70, 0x99, 0xa1, 0x1f, 0x57,
+  0x87, 0xaa, 0x1a, 0xca, 0xef, 0x4b, 0x1e, 0xad, 0xcb, 0x8f, 0x96, 0xa2,
+  0x8a, 0xff, 0x1c, 0xa6, 0xc0, 0x47, 0xe7, 0x43, 0x27, 0x0f, 0xa9, 0x40,
+  0xbd, 0xb4, 0xa5, 0xa0, 0x28, 0x43, 0x28, 0x92, 0xb2, 0x3d, 0x2d, 0xec,
+  0x61, 0xe5, 0xe2, 0xee, 0x65, 0x0a, 0x39, 0x17, 0x46, 0x59, 0x93, 0xcf,
+  0x82, 0x32, 0x2f, 0x82, 0x9c, 0x14, 0x6f, 0xb4, 0xa8, 0x8d, 0x3e, 0x02,
+  0xa7, 0x90, 0x84, 0x1e, 0x69, 0xbd, 0x83, 0x40, 0x73, 0x1b, 0x71, 0x5b,
+  0xb2, 0x65, 0xe8, 0xeb, 0x8f, 0xa7, 0xa1, 0xfd, 0x3c, 0x50, 0x20, 0x14,
+  0x6a, 0x84, 0x23, 0xf9, 0x11, 0x01, 0x17, 0xac, 0x7f, 0x5b, 0xcc, 0x19,
+  0xb8, 0x2e, 0x29, 0x19, 0x34, 0x81, 0xe9, 0x4a, 0x71, 0x4a, 0xb9, 0xb6,
+  0xa5, 0x98, 0x8b, 0xf8, 0x5d, 0x89, 0x98, 0x04, 0xa5, 0x5a, 0xa8, 0x1f,
+  0x7d, 0xdf, 0x34, 0xc1, 0xbb, 0x2a, 0x5a, 0x4e, 0x85, 0x09, 0x86, 0x27,
+  0xa1, 0x04, 0x8d, 0x02, 0x14, 0xce, 0x00, 0xd8, 0xac, 0x40, 0x86, 0xab,
+  0x8f, 0xeb, 0xc5, 0x8a, 0xb1, 0x0f, 0xeb, 0x55, 0x2f, 0xd3, 0x64, 0x9b,
+  0x03, 0x9b, 0x33, 0x90, 0x62, 0x7c, 0x89, 0xc5, 0x7a, 0x60, 0x43, 0xad,
+  0x40, 0xd7, 0x3a, 0xcb, 0xa7, 0x2b, 0x36, 0x22, 0x2d, 0x21, 0x5a, 0x71,
+  0xb7, 0x17, 0xd0, 0x01, 0x54, 0xe0, 0x06, 0xbe, 0xa8, 0xab, 0x4b, 0xd3,
+  0x00, 0x09, 0x61, 0x4b, 0x4f, 0xbc, 0x32, 0x8c, 0x1a, 0x69, 0xa3, 0x95,
+  0x04, 0x7b, 0x41, 0x88, 0xae, 0x95, 0xea, 0x6a, 0x04, 0x70, 0x61, 0x81,
+  0xb5, 0x7c, 0xc1, 0xa6, 0x86, 0x9e, 0x6f, 0xb9, 0x58, 0x81, 0x84, 0x4e,
+  0x14, 0xb8, 0x01, 0x5c, 0x40, 0x7f, 0x7a, 0x34, 0x86, 0xf0, 0x57, 0x62,
+  0x0d, 0xdf, 0x23, 0x4c, 0x48, 0x2e, 0xb3, 0xb5, 0xd5, 0x35, 0x98, 0x8c,
+  0x0c, 0x37, 0x37, 0x85, 0x13, 0x75, 0x4c, 0xda, 0x03, 0xe9, 0x21, 0xf6,
+  0xa6, 0x96, 0x6b, 0x0c, 0x53, 0xae, 0x3e, 0xb2, 0xc8, 0x20, 0xa8, 0xdb,
+  0xa1, 0xed, 0x5f, 0x56, 0x38, 0x8f, 0x93, 0x53, 0x7d, 0x51, 0xf8, 0x96,
+  0x3a, 0x02, 0x61, 0xb6, 0x87, 0x2c, 0xbc, 0x8e, 0x06, 0x31, 0x10, 0xf7,
+  0x69, 0xa1, 0x51, 0x57, 0x0a, 0x29, 0xa7, 0xe9, 0x5c, 0xf0, 0xff, 0x7f,
+  0x75, 0x7c, 0xb9, 0xd5, 0x04, 0x30, 0x8a, 0x27, 0x7e, 0x64, 0x80, 0xb2,
+  0xd4, 0xf3, 0x10, 0xbb, 0x02, 0xd3, 0x2e, 0x81, 0x50, 0x14, 0x9d, 0xe4,
+  0x61, 0x31, 0x8d, 0xe7, 0x5a, 0x55, 0xad, 0xd6, 0xdc, 0x21, 0x2d, 0x03,
+  0x73, 0xb2, 0x20, 0x4c, 0x48, 0xbd, 0xee, 0xae, 0xac, 0xac, 0x53, 0xb8,
+  0x91, 0xa2, 0xc3, 0x2d, 0x1e, 0x1d, 0x9f, 0x1e, 0x5f, 0x1e, 0x23, 0x82,
+  0xba, 0x21, 0x92, 0xb0, 0x2a, 0x34, 0xe1, 0x64, 0xdc, 0x9b, 0x79, 0x46,
+  0x77, 0x6f, 0xaa, 0xd5, 0xe6, 0xa3, 0xef, 0x92, 0xd1, 0xd1, 0xc1, 0xb7,
+  0x12, 0xd2, 0x50, 0x44, 0xe7, 0x17, 0x67, 0xe7, 0xaf, 0x4f, 0xde, 0x1e,
+  0xf5, 0xa2, 0xc3, 0xb3, 0xf3, 0x1f, 0x7a, 0xd1, 0x9b, 0xb3, 0x6f, 0x8f,
+  0x5b, 0x7c, 0x8a, 0xec, 0xcf, 0x6e, 0x66, 0x9c, 0xbd, 0x5e, 0xb3, 0xdb,
+  0x21, 0x22, 0xa5, 0x6e, 0x75, 0x90, 0xe8, 0x73, 0x7a, 0x32, 0xbc, 0xc4,
+  0xd6, 0xd7, 0xe3, 0xbd, 0x10, 0xd3, 0x2e, 0xc0, 0xeb, 0x69, 0x61, 0x01,
+  0x1c, 0x5c, 0x35, 0xec, 0xb7, 0xa3, 0xea, 0x15, 0x87, 0xf7, 0xb0, 0xd4,
+  0xae, 0xd8, 0x57, 0xfc, 0x6f, 0x0b, 0x66, 0x62, 0xec, 0x35, 0x0f, 0xf6,
+  0xf7, 0x6a, 0xb1, 0x9f, 0x1b, 0xc9, 0xcb, 0xa1, 0x97, 0x05, 0xa7, 0x69,
+  0x54, 0x93, 0xd7, 0xa3, 0xc9, 0x32, 0x6f, 0x4a, 0x3c, 0x71, 0x14, 0x74,
+  0x28, 0xb9, 0x4a, 0xbd, 0x8a, 0xd2, 0xc6, 0xde, 0xc7, 0xc2, 0x17, 0xf4,
+  0xa0, 0xee, 0x83, 0x17, 0x1a, 0x8e, 0x1d, 0x5f, 0x1b, 0xde, 0x21, 0x04,
+  0x04, 0x43, 0xb2, 0x69, 0xef, 0x92, 0x82, 0x3f, 0x65, 0xb8, 0x23, 0xbe,
+  0x89, 0x04, 0x87, 0xe8, 0x87, 0x47, 0x03, 0xa8, 0x34, 0xc4, 0x30, 0xf4,
+  0xc5, 0x0b, 0xf3, 0x59, 0x3a, 0x60, 0x4c, 0x5c, 0xe6, 0x31, 0x5c, 0x40,
+  0x11, 0xd6, 0xa4, 0xa9, 0x9d, 0xa8, 0x76, 0x20, 0x41, 0x0e, 0x41, 0x02,
+  0x1a, 0x22, 0x22, 0xe9, 0x76, 0x91, 0x53, 0x42, 0x5c, 0xbf, 0x27, 0x99,
+  0x98, 0x80, 0xac, 0xd6, 0xf7, 0xfa, 0x2d, 0x06, 0x12, 0x16, 0x9c, 0xd7,
+  0xf0, 0xf3, 0x5f, 0x8f, 0x26, 0x7e, 0x70, 0x34, 0x21, 0x6b, 0xf8, 0x12,
+  0x7f, 0xfc, 0x22, 0xaa, 0x08, 0x20, 0xbd, 0x44, 0x27, 0xdc, 0x24, 0xb1,
+  0xad, 0x42, 0x1e, 0xfd, 0x46, 0x56, 0xc3, 0x64, 0x4b, 0xcd, 0x4b, 0xc1,
+  0x6e, 0xab, 0x5d, 0x87, 0xe5, 0xa2, 0x2a, 0x51, 0x54, 0x28, 0xa2, 0x45,
+  0x9c, 0x91, 0x2d, 0x96, 0x70, 0xe1, 0x94, 0xa1, 0x98, 0xf9, 0x76, 0x05,
+  0xd6, 0x48, 0x52, 0xfe, 0x86, 0x4b, 0xf7, 0x33, 0x67, 0x3e, 0xd3, 0xe3,
+  0x7d, 0x90, 0xff, 0xcb, 0x09, 0x8b, 0xcf, 0xc4, 0xf4, 0x34, 0xbc, 0x68,
+  0x2d, 0xc2, 0xf8, 0x16, 0x31, 0x53, 0xe1, 0xe0, 0xb1, 0x5a, 0x6f, 0x59,
+  0xfc, 0xe0, 0x2c, 0x75, 0x54, 0xb5, 0xd7, 0xba, 0x1d, 0xec, 0x4b, 0x2c,
+  0x6d, 0x85, 0x5b, 0x6e, 0x7e, 0xad, 0xb4, 0xac, 0xe0, 0x8d, 0x7c, 0xfc,
+  0xe8, 0x71, 0x57, 0xa9, 0x66, 0x4d, 0x93, 0x6a, 0x6b, 0xe4, 0x6f, 0x5b,
+  0xe8, 0xcd, 0x41, 0xb4, 0x87, 0xd3, 0x30, 0xa1, 0x00, 0x75, 0x5c, 0x10,
+  0x40, 0x42, 0x4c, 0x0d, 0xcf, 0x48, 0x08, 0x41, 0xc1, 0x5d, 0x36, 0x94,
+  0x6b, 0x36, 0xcc, 0x59, 0x44, 0xa4, 0xa2, 0x44, 0x20, 0x78, 0xc1, 0x03,
+  0xe7, 0xd2, 0x28, 0xd5, 0x26, 0x6b, 0xb0, 0xab, 0x06, 0x52, 0xdc, 0x92,
+  0xc1, 0xa1, 0x81, 0x09, 0x3e, 0x49, 0x52, 0xc3, 0xb8, 0x95, 0xcf, 0xfe,
+  0x4e, 0x01, 0x30, 0xa5, 0x0c, 0x38, 0xfb, 0x6a, 0xa9, 0x2d, 0x1e, 0x23,
+  0x27, 0xbc, 0xaf, 0xc9, 0x78, 0x2f, 0x24, 0xe5, 0xbd, 0x36, 0x59, 0xbd,
+  0xc1, 0xda, 0xe5, 0x27, 0xe1, 0x3b, 0xb5, 0x37, 0x14, 0x37, 0x1b, 0x75,
+  0xa1, 0x36, 0xfb, 0x5b, 0x2e, 0x6e, 0x12, 0x90, 0xa2, 0xb2, 0xcd, 0x4d,
+  0x7b, 0x48, 0xec, 0x2c, 0x13, 0x2e, 0xf2, 0x36, 0x9b, 0x4e, 0xfc, 0x79,
+  0xb2, 0x6c, 0x25, 0xee, 0x6c, 0x5b, 0xec, 0x9e, 0xae, 0x2a, 0x65, 0xd1,
+  0x94, 0xbf, 0x1b, 0x8d, 0xcd, 0x93, 0xfb, 0xb0, 0x31, 0x2f, 0x3b, 0xb8,
+  0x06, 0x7f, 0xcb, 0x10, 0x74, 0xc6, 0xe0, 0x83, 0xd6, 0x5d, 0xb4, 0xa2,
+  0xf2, 0x72, 0x8a, 0x7b, 0x00, 0xe1, 0x67, 0x1a, 0x13, 0x04, 0x95, 0xc0,
+  0xc6, 0xdc, 0x77, 0x25, 0xe5, 0x0b, 0x87, 0x4e, 0xda, 0x96, 0x7a, 0x5d,
+  0x29, 0x95, 0x6e, 0xe3, 0xae, 0x56, 0x9c, 0x55, 0x12, 0xc6, 0x84, 0xa4,
+  0x68, 0x29, 0x27, 0x2b, 0xb6, 0x67, 0xf7, 0x80, 0xd4, 0x7c, 0x35, 0xfb,
+  0xd0, 0xe8, 0x1d, 0x75, 0x38, 0xbc, 0x7d, 0x54, 0x2c, 0xf3, 0xc9, 0x72,
+  0xd6, 0x09, 0xb3, 0xe0, 0x75, 0x61, 0x98, 0x81, 0xd6, 0x0f, 0x82, 0x5c,
+  0x42, 0xd4, 0xeb, 0xb3, 0x9d, 0x9a, 0x05, 0xdd, 0xf0, 0x09, 0x03, 0x44,
+  0xc2, 0xfe, 0x6e, 0x48, 0x3f, 0xd4, 0x5e, 0x43, 0x48, 0x2c, 0xf9, 0x5e,
+  0xfb, 0x0d, 0x37, 0x6f, 0x87, 0x16, 0x93, 0x05, 0xf0, 0xdd, 0xc1, 0x4e,
+  0xbb, 0xb8, 0xcb, 0xd1, 0x7b, 0xe3, 0xc4, 0x17, 0xd7, 0x4e, 0x49, 0x7d,
+  0xe5, 0xd1, 0x16, 0x5e, 0x72, 0x93, 0xb8, 0x0c, 0x57, 0x87, 0x58, 0x0f,
+  0x69, 0xfd, 0x0a, 0xb8, 0x72, 0xd5, 0x78, 0x0b, 0xc7, 0x15, 0x90, 0x96,
+  0x9e, 0x88, 0x39, 0x7d, 0xdf, 0x89, 0x9a, 0xc1, 0xf0, 0x76, 0x99, 0xe5,
+  0x4e, 0x8b, 0xbb, 0xdd, 0xd6, 0x12, 0x16, 0xb5, 0xa1, 0xb1, 0x24, 0x76,
+  0x79, 0x3a, 0x74, 0x01, 0xc2, 0xbb, 0x22, 0x82, 0x3b, 0xfc, 0x13, 0x5f,
+  0xbb, 0x7e, 0x4d, 0x6d, 0x76, 0x7e, 0x59, 0x85, 0x70, 0x3f, 0x84, 0x3d,
+  0xbe, 0x30, 0x8b, 0xe9, 0xdd, 0x5e, 0xeb, 0x10, 0x6c, 0x0c, 0x95, 0x41,
+  0xb0, 0xa1, 0xc5, 0x06, 0xb1, 0xd7, 0x1c, 0xc4, 0x63, 0xe5, 0xe1, 0xf9,
+  0xd5, 0xc6, 0x10, 0x9e, 0xe8, 0x10, 0x9e, 0x7c, 0xec, 0x2a, 0x84, 0x03,
+  0x78, 0xf2, 0x4b, 0x57, 0xa1, 0x75, 0x08, 0x4f, 0x39, 0xa0, 0x7e, 0x71,
+  0xf7, 0xb4, 0x25, 0xb3, 0xc7, 0x6c, 0x62, 0x60, 0x55, 0x40, 0x4b, 0x99,
+  0x4a, 0x31, 0x4e, 0xef, 0x32, 0xe7, 0x32, 0x84, 0x56, 0x50, 0x34, 0xf3,
+  0x1e, 0xa6, 0x93, 0x7a, 0xc5, 0x41, 0x1d, 0xb3, 0x07, 0xbe, 0x16, 0x14,
+  0x98, 0x2b, 0xfd, 0x85, 0x63, 0x8c, 0xfb, 0xda, 0x43, 0xad, 0xc8, 0xb4,
+  0x94, 0xc9, 0x5d, 0x13, 0xeb, 0x8c, 0x84, 0x47, 0x41, 0x34, 0xd3, 0x02,
+  0x3a, 0x19, 0xb7, 0xf5, 0xd4, 0x06, 0x95, 0x48, 0xe0, 0x69, 0x30, 0xdd,
+  0xe7, 0x32, 0xdd, 0xe7, 0xff, 0x37, 0x4d, 0xf7, 0xf9, 0xfa, 0xe9, 0x7e,
+  0x22, 0x56, 0x05, 0x60, 0x86, 0xf6, 0x47, 0x71, 0xbe, 0x16, 0x55, 0xd9,
+  0xc2, 0x25, 0x1d, 0xc0, 0x68, 0x25, 0xec, 0xbf, 0x10, 0x64, 0x26, 0xf9,
+  0x86, 0x9a, 0x59, 0xcf, 0x0a, 0x2a, 0x12, 0x3d, 0x43, 0x25, 0x15, 0x65,
+  0x3a, 0x66, 0x3e, 0xc7, 0xd5, 0x50, 0x5c, 0x9c, 0xef, 0x7f, 0x6f, 0x0f,
+  0x5a, 0x2b, 0x72, 0x1e, 0x35, 0x6b, 0x66, 0xf6, 0x22, 0x60, 0xea, 0x06,
+  0xa5, 0x37, 0x03, 0x84, 0x1b, 0x6a, 0xf7, 0xf8, 0xed, 0xb7, 0x27, 0x17,
+  0x67, 0x6f, 0xdf, 0x1c, 0xbf, 0x75, 0xd1, 0x36, 0x97, 0xa8, 0x3f, 0xd8,
+  0x66, 0x45, 0x6b, 0xab, 0xbb, 0x22, 0xf2, 0x2f, 0x4c, 0x39, 0x9c, 0x36,
+  0xbb, 0x58, 0xe8, 0x5f, 0x83, 0xb0, 0xb9, 0xe0, 0x21, 0x3b, 0x7e, 0x2c,
+  0x94, 0x2d, 0xd8, 0x37, 0x30, 0xe1, 0x18, 0xb7, 0x81, 0x84, 0x1e, 0xb9,
+  0xd2, 0xe9, 0x6c, 0x7b, 0x7b, 0x18, 0x27, 0x0b, 0x5b, 0x3f, 0x7f, 0x9f,
+  0x68, 0xe1, 0xc6, 0x20, 0x6a, 0xad, 0x32, 0x08, 0xbf, 0x79, 0x41, 0x83,
+  0x3f, 0x9a, 0xf1, 0x6a, 0x7f, 0x7b, 0xfb, 0x27, 0xe0, 0x00, 0x7e, 0xae,
+  0xf6, 0xcd, 0xe6, 0x95, 0x1c, 0x1a, 0x72, 0x7c, 0x6d, 0x10, 0xcb, 0xf3,
+  0x83, 0xc5, 0x6c, 0x23, 0xf0, 0x67, 0x0d, 0xdf, 0x93, 0x2e, 0xfd, 0xfd,
+  0x0f, 0xbf, 0x72, 0x17, 0xc3, 0x4a, 0x49, 0x8a, 0x5f, 0xbd, 0x8b, 0x8a,
+  0x76, 0x7d, 0x70, 0x7a, 0xfa, 0xab, 0x76, 0x00, 0x95, 0xc3, 0xdb, 0x0b,
+  0xfb, 0xce, 0x5e, 0x68, 0x49, 0x92, 0x0d, 0x65, 0xb6, 0xa2, 0x9d, 0xbc,
+  0x3d, 0xd3, 0xd1, 0x88, 0xb9, 0xa9, 0x6f, 0xd5, 0x5e, 0x26, 0xae, 0x92,
+  0x22, 0x0f, 0xac, 0x81, 0x53, 0x8d, 0x2f, 0x21, 0x3a, 0x39, 0xc0, 0x4e,
+  0xb3, 0xfa, 0x02, 0xb5, 0x0c, 0x29, 0x49, 0x99, 0xb3, 0x2d, 0x0a, 0x44,
+  0xa2, 0x19, 0xad, 0x5b, 0x0c, 0xc3, 0x0c, 0x42, 0xc1, 0x21, 0x5d, 0xa8,
+  0xbf, 0xcb, 0xe9, 0x5c, 0x4c, 0x74, 0x8a, 0xe6, 0x5c, 0x02, 0x20, 0x9f,
+  0x15, 0x01, 0x0c, 0x85, 0x4f, 0xd1, 0xf7, 0x27, 0x97, 0xd1, 0xe1, 0xd9,
+  0x91, 0x3f, 0xa2, 0x97, 0x12, 0xc8, 0x99, 0xa3, 0x64, 0xd2, 0x72, 0x4e,
+  0x4c, 0x8c, 0xd5, 0x85, 0xf4, 0x0a, 0x78, 0x68, 0x0e, 0x16, 0x1d, 0x31,
+  0x75, 0x66, 0x27, 0xa2, 0x05, 0x95, 0x82, 0x6f, 0xb9, 0x04, 0xca, 0x4d,
+  0x02, 0x2b, 0x42, 0x15, 0x24, 0xd8, 0x99, 0x6a, 0x39, 0x6e, 0x9a, 0xc1,
+  0x73, 0x88, 0xa5, 0x88, 0xd5, 0x81, 0xb8, 0x0b, 0x57, 0x6e, 0x9b, 0x8b,
+  0x35, 0x89, 0x84, 0xab, 0x03, 0xaf, 0x4b, 0x04, 0xa8, 0x68, 0x52, 0x08,
+  0x27, 0x47, 0x01, 0x00, 0x2d, 0x38, 0xfa, 0xc0, 0x08, 0xed, 0x18, 0x4d,
+  0x25, 0xee, 0x73, 0x57, 0xed, 0xfe, 0x73, 0x0f, 0xa8, 0xe1, 0x31, 0xaa,
+  0x60, 0x3a, 0xe0, 0x44, 0x89, 0x89, 0x25, 0x1d, 0x19, 0xc8, 0x98, 0x55,
+  0x49, 0x91, 0xe2, 0xd7, 0x8d, 0x1d, 0x77, 0x4d, 0xb8, 0x7e, 0xf6, 0x94,
+  0xda, 0x05, 0x49, 0x9e, 0xe5, 0x29, 0x71, 0x2f, 0xa5, 0x3f, 0x07, 0x47,
+  0xfa, 0x89, 0x0e, 0xe6, 0xe2, 0x94, 0x66, 0x3e, 0x15, 0x3b, 0xb8, 0xc6,
+  0x7c, 0xa3, 0x42, 0x0e, 0xbc, 0x27, 0xac, 0xef, 0x6a, 0xc1, 0x53, 0xff,
+  0xe6, 0x33, 0x33, 0xb7, 0x29, 0x29, 0x78, 0x24, 0x4f, 0xa5, 0x02, 0x71,
+  0xed, 0xaa, 0x32, 0xa9, 0x84, 0x2a, 0xc1, 0x62, 0x63, 0xb8, 0xcb, 0xc4,
+  0xb6, 0xdd, 0xac, 0x0d, 0x51, 0x8b, 0xc3, 0x79, 0x5e, 0xeb, 0xc7, 0xba,
+  0x41, 0x35, 0x72, 0x29, 0x82, 0x89, 0x2e, 0xea, 0x01, 0x57, 0xdc, 0x7c,
+  0xb3, 0xb5, 0x4f, 0xeb, 0x8b, 0xe2, 0xeb, 0xc6, 0x4b, 0x8b, 0xee, 0xc9,
+  0xcf, 0x1c, 0xb3, 0x88, 0xee, 0x13, 0xce, 0x89, 0xd2, 0x33, 0x89, 0x9a,
+  0x46, 0x36, 0x3b, 0x8b, 0x9f, 0x90, 0x54, 0x49, 0x00, 0x5d, 0x69, 0xbc,
+  0xe5, 0x58, 0xc7, 0xdb, 0xd0, 0x0f, 0xf3, 0x90, 0xa3, 0xbe, 0xf0, 0x9d,
+  0x44, 0x31, 0x5c, 0x54, 0x6c, 0xea, 0x9c, 0xa7, 0x6e, 0x13, 0xa4, 0x7d,
+  0xf9, 0x88, 0x3d, 0x7f, 0xc4, 0x99, 0x33, 0xf7, 0xb7, 0xbe, 0xd1, 0xc0,
+  0x29, 0xaa, 0x85, 0x41, 0xf1, 0x2a, 0x48, 0x35, 0xbe, 0xb0, 0x86, 0x1f,
+  0xa2, 0xe1, 0xe3, 0xb9, 0xfa, 0x2d, 0x04, 0xa8, 0x9d, 0xc1, 0xb9, 0xb3,
+  0x46, 0xcc, 0x69, 0x76, 0x55, 0xba, 0x0a, 0x41, 0xac, 0x52, 0x4f, 0x02,
+  0x84, 0x4b, 0x9c, 0x6a, 0xdf, 0x28, 0xce, 0x90, 0x69, 0xe7, 0x70, 0x20,
+  0x45, 0x0d, 0xf7, 0x5c, 0x50, 0xed, 0xd5, 0x9f, 0x89, 0xdd, 0xda, 0x62,
+  0x9f, 0x1f, 0x0c, 0x87, 0xb6, 0xd4, 0x40, 0x91, 0xb2, 0xf5, 0x94, 0x15,
+  0x54, 0xcf, 0x26, 0x32, 0xa6, 0x35, 0xa5, 0xb0, 0xc5, 0x90, 0xa1, 0x8d,
+  0xd4, 0xa2, 0x23, 0x76, 0x9f, 0xf8, 0x35, 0x77, 0x9d, 0x7d, 0x2b, 0xad,
+  0xf5, 0x3e, 0xb2, 0xb3, 0xd6, 0xbe, 0xbe, 0x6d, 0xe9, 0xeb, 0x69, 0x6d,
+  0x5e, 0x7b, 0x7b, 0x9f, 0x6a, 0x0a, 0x01, 0xad, 0xf5, 0x61, 0x85, 0x52,
+  0x94, 0x38, 0xd4, 0xd6, 0x40, 0x0f, 0xf6, 0x0d, 0x2d, 0x22, 0x69, 0xad,
+  0x96, 0x8d, 0xc1, 0x04, 0x5d, 0x3d, 0xf3, 0xd3, 0x22, 0xa9, 0x82, 0xdb,
+  0x63, 0xb3, 0x87, 0x1c, 0x93, 0xc6, 0xe9, 0x01, 0x36, 0x08, 0x1f, 0x95,
+  0x13, 0x1e, 0x19, 0xf1, 0xf1, 0x35, 0xf1, 0x26, 0x36, 0x8c, 0xa0, 0x9f,
+  0x4f, 0x5d, 0x3f, 0x6e, 0xe4, 0xac, 0x87, 0x4a, 0x5e, 0xfd, 0x20, 0xe4,
+  0x08, 0x4a, 0x23, 0x41, 0x44, 0x9a, 0x3a, 0x0a, 0x9a, 0x24, 0xab, 0x6f,
+  0xfb, 0x5e, 0xe4, 0xf8, 0x9d, 0x6b, 0x21, 0x3c, 0x01, 0x55, 0x41, 0x79,
+  0xb0, 0xb8, 0x82, 0x50, 0x22, 0xa5, 0xd2, 0x63, 0x6f, 0x5e, 0xcd, 0xc3,
+  0xd3, 0xbe, 0xfb, 0x22, 0x58, 0x13, 0x1b, 0x96, 0xd9, 0x1a, 0xb7, 0xed,
+  0xf8, 0x38, 0x16, 0x22, 0xd2, 0x1d, 0xff, 0x7d, 0x71, 0x7c, 0x79, 0xc1,
+  0x31, 0xad, 0x80, 0x59, 0xa9, 0x6b, 0xca, 0x74, 0xa6, 0xb6, 0x9c, 0x59,
+  0x5e, 0x0a, 0x75, 0x04, 0x5c, 0xd7, 0x53, 0xb2, 0x14, 0x23, 0xc6, 0x3d,
+  0xc3, 0x99, 0xd7, 0x95, 0xda, 0xc4, 0xbe, 0x4a, 0x90, 0xdc, 0x43, 0x3e,
+  0x42, 0x53, 0x4f, 0x86, 0x5b, 0x7f, 0x1f, 0xe7, 0x03, 0x34, 0x45, 0x61,
+  0x6b, 0x1a, 0x0a, 0x3f, 0x50, 0xd7, 0xbb, 0x8b, 0x4a, 0x91, 0x94, 0xa7,
+  0xd8, 0x3c, 0xc4, 0x1a, 0x50, 0xde, 0x30, 0x12, 0xb9, 0xce, 0xe9, 0x9a,
+  0x94, 0xc4, 0x55, 0xbb, 0x0e, 0x9d, 0x37, 0x50, 0xba, 0x94, 0x4f, 0x11,
+  0xa6, 0x0e, 0xb4, 0xad, 0xe8, 0xe9, 0xce, 0x4e, 0xb3, 0xb9, 0x78, 0x94,
+  0xdd, 0x99, 0x6b, 0x52, 0x93, 0x3e, 0xa4, 0xb4, 0x0f, 0xf6, 0x0b, 0x97,
+  0x29, 0x74, 0x8d, 0xfe, 0x15, 0xc9, 0xcc, 0xbc, 0x60, 0x66, 0x46, 0x08,
+  0x96, 0x4d, 0x0e, 0xe5, 0x77, 0x48, 0x42, 0xd1, 0x25, 0xab, 0x1e, 0x45,
+  0xc9, 0x4f, 0x31, 0x2c, 0xc1, 0xd8, 0x6a, 0x1a, 0x22, 0x91, 0x6d, 0x45,
+  0xb3, 0x9f, 0xb5, 0xcc, 0x53, 0x41, 0x72, 0x82, 0x6e, 0x9e, 0xb5, 0x10,
+  0x44, 0x34, 0xbc, 0x3c, 0xbb, 0x88, 0x82, 0x8a, 0xc4, 0x55, 0xae, 0x8b,
+  0x78, 0x06, 0x7e, 0xc2, 0x79, 0x67, 0x7b, 0x2d, 0xae, 0x03, 0x97, 0x24,
+  0x29, 0x41, 0x47, 0x9c, 0x6d, 0xef, 0x7b, 0x7d, 0xee, 0x1d, 0x5d, 0x3a,
+  0xb7, 0x6f, 0x49, 0x03, 0xe0, 0xac, 0x41, 0x83, 0x3b, 0xa3, 0xfb, 0x91,
+  0x04, 0xef, 0x59, 0x60, 0x7f, 0xd9, 0x93, 0x73, 0x76, 0xb6, 0x04, 0xad,
+  0x4b, 0xbe, 0x23, 0x93, 0x91, 0x66, 0x3e, 0xb2, 0xd9, 0x4a, 0x0d, 0x53,
+  0xce, 0x18, 0x58, 0x27, 0x45, 0x39, 0x43, 0x67, 0x1e, 0xd0, 0x4e, 0x2c,
+  0xff, 0x83, 0x9a, 0xd7, 0x0f, 0x9f, 0x23, 0x93, 0x4d, 0xdd, 0x28, 0x4a,
+  0x42, 0x5a, 0xbb, 0xa3, 0xbe, 0xd9, 0x63, 0x12, 0x05, 0x26, 0x5a, 0xc3,
+  0x57, 0xc2, 0xad, 0x9c, 0x6c, 0xe4, 0xc5, 0x8a, 0x1d, 0xbf, 0xce, 0xe7,
+  0x67, 0x17, 0x97, 0x56, 0xd0, 0x46, 0xef, 0x4d, 0x7c, 0x54, 0x3b, 0x41,
+  0xec, 0xac, 0x87, 0x04, 0x18, 0xd4, 0x36, 0x6f, 0xaf, 0x25, 0x2f, 0xe0,
+  0x7a, 0x68, 0x55, 0xdb, 0xe0, 0x42, 0x18, 0xf9, 0xca, 0x3c, 0x5f, 0xae,
+  0x5c, 0x0e, 0x58, 0x8e, 0xa6, 0xf2, 0x30, 0x7f, 0x6e, 0xf7, 0x63, 0xfa,
+  0x24, 0xd0, 0x27, 0xbb, 0x2d, 0xd4, 0xc1, 0x02, 0xf8, 0xc5, 0xf1, 0xf0,
+  0x52, 0x56, 0x8d, 0x7f, 0x6b, 0x8c, 0x5c, 0x52, 0x21, 0xf5, 0xc3, 0x56,
+  0xc7, 0x12, 0xa8, 0x83, 0x43, 0x64, 0x66, 0x5a, 0x67, 0xce, 0x79, 0x83,
+  0x82, 0x35, 0x7b, 0x12, 0x84, 0xf4, 0x81, 0x71, 0x2a, 0xad, 0x5c, 0x5a,
+  0xdd, 0xc1, 0xa8, 0xa3, 0x9d, 0x74, 0xe8, 0xca, 0x95, 0x43, 0x91, 0xe5,
+  0xb7, 0x41, 0x0b, 0x4f, 0x03, 0x66, 0xc1, 0xcc, 0x5d, 0x1b, 0x38, 0x31,
+  0xcb, 0x38, 0x7f, 0xe8, 0x9c, 0xcf, 0xd7, 0xc9, 0xdc, 0x08, 0x43, 0x9e,
+  0xf3, 0xed, 0x3c, 0x73, 0x79, 0xd1, 0x26, 0x1e, 0x05, 0x43, 0xe1, 0x8f,
+  0x2d, 0x1a, 0x1e, 0x8e, 0xc6, 0x1a, 0xd9, 0x3d, 0x79, 0xee, 0x56, 0x91,
+  0x45, 0x67, 0xe7, 0xda, 0x91, 0xe9, 0x07, 0x77, 0x11, 0xbb, 0xc6, 0xd2,
+  0xf9, 0x32, 0xd1, 0xa2, 0x1d, 0x71, 0x3e, 0x4d, 0x11, 0xca, 0x2a, 0xbe,
+  0x99, 0x86, 0x21, 0x5a, 0x23, 0x0c, 0x7d, 0x3f, 0x7a, 0x11, 0x91, 0x1a,
+  0xef, 0x77, 0x4b, 0x92, 0x0d, 0x71, 0x92, 0xbd, 0x8c, 0x47, 0x07, 0x77,
+  0xee, 0x6e, 0x8b, 0x41, 0x74, 0xce, 0x58, 0xae, 0x30, 0xb1, 0x17, 0xff,
+  0xe1, 0x5b, 0x93, 0xc3, 0xc2, 0x18, 0xe3, 0x7c, 0x7d, 0x42, 0x38, 0x4d,
+  0xb9, 0x08, 0x37, 0x3e, 0xe1, 0x5f, 0x03, 0x64, 0xc8, 0xc6, 0x94, 0x5f,
+  0xf8, 0x97, 0x0b, 0x9a, 0x08, 0xe9, 0x26, 0xf5, 0x47, 0x9e, 0x2a, 0x6d,
+  0x91, 0xe2, 0x82, 0x26, 0xb8, 0x03, 0xb0, 0x67, 0x3e, 0xd3, 0xbc, 0x25,
+  0x29, 0xc7, 0x37, 0xa2, 0x85, 0x2b, 0x7b, 0xc6, 0xc4, 0x58, 0x79, 0xce,
+  0x37, 0x25, 0x77, 0xc2, 0x81, 0xac, 0x13, 0x80, 0x2e, 0xe8, 0xdc, 0x70,
+  0xb9, 0x24, 0x6a, 0x6b, 0xce, 0x0c, 0x77, 0x6a, 0xbe, 0x73, 0x9f, 0xed,
+  0xc5, 0x3c, 0x73, 0x64, 0x87, 0xa7, 0xad, 0xf0, 0x78, 0x0d, 0x98, 0xf6,
+  0xa9, 0x50, 0xa3, 0x23, 0x1d, 0x77, 0x8d, 0x55, 0x46, 0xc7, 0x1d, 0xbb,
+  0x0c, 0x52, 0x6c, 0x37, 0xab, 0x96, 0x28, 0x05, 0x13, 0x34, 0xf5, 0xcc,
+  0x37, 0x75, 0xc5, 0x99, 0x7f, 0xae, 0x2d, 0xcf, 0x83, 0x3c, 0x14, 0x5b,
+  0xea, 0x1e, 0x53, 0x3d, 0x41, 0xae, 0xb2, 0x86, 0xa6, 0x50, 0xbd, 0x3f,
+  0x9e, 0x0a, 0x31, 0x5c, 0x66, 0x99, 0x94, 0xc5, 0x74, 0xb1, 0x7e, 0x03,
+  0x89, 0x22, 0x6c, 0x9a, 0xdd, 0x8b, 0x9e, 0xaa, 0x57, 0x5a, 0xb1, 0x8c,
+  0xbd, 0x06, 0x8d, 0x5a, 0xbb, 0xcb, 0x59, 0xa3, 0x5c, 0xce, 0xd3, 0xcf,
+  0x54, 0x7d, 0xbb, 0x9d, 0x73, 0xf1, 0xf8, 0xcb, 0xe3, 0xd3, 0xb7, 0xc7,
+  0x97, 0x0e, 0xb0, 0xc3, 0x26, 0x14, 0x3c, 0xff, 0x42, 0x0d, 0x5b, 0xaa,
+  0x5d, 0x19, 0x2e, 0x71, 0xdd, 0xfd, 0xfa, 0x6c, 0xd7, 0xd9, 0x76, 0x38,
+  0x72, 0xae, 0x5b, 0xc8, 0xf9, 0x0b, 0xe2, 0xe7, 0x50, 0xa6, 0xf8, 0xeb,
+  0xe8, 0xcd, 0xd1, 0x33, 0x0e, 0xe6, 0xbf, 0x4e, 0x72, 0x46, 0x46, 0xf7,
+  0xca, 0x4e, 0x16, 0x70, 0x82, 0x67, 0x7b, 0x01, 0x9e, 0x84, 0x5c, 0x66,
+  0xa9, 0x9e, 0x0f, 0x16, 0x63, 0x69, 0x85, 0x38, 0xff, 0x94, 0x14, 0x55,
+  0xb1, 0x06, 0x42, 0xb3, 0x16, 0x2b, 0xa3, 0x62, 0x87, 0x88, 0x6c, 0x50,
+  0xaf, 0x97, 0x5c, 0x65, 0x13, 0xcf, 0x9e, 0x78, 0x36, 0x91, 0xaf, 0x16,
+  0x8c, 0x7a, 0x26, 0x05, 0x95, 0x5b, 0x68, 0xf6, 0x99, 0xb0, 0xa6, 0x43,
+  0x39, 0x59, 0x2c, 0x2f, 0x36, 0x5f, 0xe3, 0x90, 0x24, 0x31, 0xb7, 0x05,
+  0xef, 0x3d, 0x0b, 0xf5, 0xb5, 0x42, 0x2b, 0xa9, 0xd2, 0xfa, 0xa1, 0x64,
+  0x00, 0xaa, 0x3f, 0xfb, 0x67, 0x9f, 0xbb, 0x67, 0xb9, 0x9e, 0x64, 0x3a,
+  0x57, 0x30, 0x9a, 0x47, 0xde, 0x50, 0x29, 0x53, 0x2e, 0x5f, 0x1f, 0x23,
+  0x23, 0xb2, 0x45, 0xb0, 0xf6, 0xc1, 0x2b, 0x2f, 0xaa, 0xea, 0x28, 0x70,
+  0x4e, 0x7d, 0x8d, 0x0b, 0x9e, 0x54, 0xba, 0xb8, 0x09, 0xc9, 0xff, 0xb9,
+  0xdc, 0x85, 0xe7, 0x1c, 0x0e, 0x59, 0xd9, 0x4f, 0x63, 0x33, 0x15, 0x14,
+  0x00, 0x3b, 0x4d, 0x42, 0x5d, 0x87, 0x07, 0xf6, 0x46, 0x9d, 0x34, 0xf9,
+  0xd1, 0xe0, 0xf2, 0x78, 0xbe, 0xab, 0x54, 0x49, 0x53, 0xce, 0xae, 0xe7,
+  0xa4, 0xe3, 0x4f, 0x9a, 0x65, 0x41, 0x83, 0xc7, 0xf7, 0xf4, 0x48, 0x4a,
+  0x45, 0x5d, 0xb0, 0x1d, 0xc6, 0x1f, 0xf6, 0x0f, 0x3c, 0x51, 0xaa, 0x15,
+  0x57, 0x9a, 0x14, 0x4b, 0x67, 0xe0, 0x67, 0xb6, 0x21, 0x26, 0x95, 0xd0,
+  0xfa, 0xe7, 0x4f, 0x55, 0xba, 0x31, 0x29, 0x94, 0x39, 0x3f, 0x2f, 0xc4,
+  0x94, 0xc1, 0x16, 0x1a, 0x8c, 0xf0, 0xb9, 0x5e, 0x2e, 0xba, 0x95, 0xa5,
+  0x95, 0xee, 0x56, 0x1e, 0x58, 0x20, 0xae, 0xf6, 0x3e, 0x9d, 0x6b, 0xfc,
+  0x77, 0xe3, 0xf5, 0xe7, 0x6b, 0xac, 0x1a, 0xea, 0x8b, 0x38, 0x06, 0x2d,
+  0x05, 0xcf, 0x7f, 0xea, 0x4e, 0x82, 0x03, 0xe9, 0xea, 0xb9, 0x38, 0x2f,
+  0x78, 0xb5, 0x0d, 0x4a, 0xd1, 0x0e, 0x12, 0xf4, 0xea, 0x85, 0xaf, 0x8a,
+  0xd1, 0xe6, 0xca, 0x73, 0xdd, 0x93, 0x4e, 0x1e, 0xa5, 0xc1, 0x31, 0x7e,
+  0x2e, 0x24, 0xf5, 0x1a, 0x9e, 0x64, 0x3b, 0x07, 0x1c, 0x8e, 0x1b, 0xa2,
+  0x5c, 0xfb, 0xa7, 0x5f, 0x28, 0x6d, 0xd8, 0x8d, 0x64, 0x82, 0xe0, 0xda,
+  0x37, 0x3e, 0xdd, 0x09, 0xc5, 0xc2, 0x09, 0xdb, 0xd2, 0x24, 0x9d, 0x7a,
+  0xed, 0x0b, 0x42, 0x19, 0x27, 0xc4, 0xa8, 0xaf, 0x89, 0xa8, 0xf1, 0x8c,
+  0x87, 0x11, 0xf0, 0x8f, 0xed, 0x55, 0xd9, 0x5a, 0x28, 0xa4, 0x44, 0x27,
+  0x47, 0xc1, 0x83, 0x4f, 0xfc, 0x04, 0xe3, 0x29, 0xdf, 0xb7, 0x2b, 0xd1,
+  0xf4, 0x0b, 0x05, 0x1a, 0x0f, 0x1e, 0x7d, 0xaa, 0x51, 0x98, 0x1c, 0x7f,
+  0x7b, 0x23, 0xeb, 0xdf, 0x78, 0x46, 0xc8, 0xe1, 0xd0, 0x15, 0x5e, 0x96,
+  0x70, 0xca, 0xa2, 0xed, 0x9a, 0xfd, 0xf4, 0xf9, 0x23, 0xcf, 0xea, 0xb5,
+  0x54, 0xb8, 0xcb, 0x34, 0x78, 0xef, 0xd3, 0xe6, 0x31, 0x37, 0xc1, 0xdb,
+  0xa2, 0x95, 0xf5, 0xa4, 0x45, 0x9b, 0x1c, 0x7c, 0xfd, 0x1f, 0x66, 0x5a,
+  0xc9, 0x39, 0x0a, 0xb3, 0xf8, 0x8f, 0x70, 0xbc, 0x9f, 0x85, 0x21, 0xcf,
+  0x62, 0x57, 0x71, 0x35, 0x19, 0x42, 0x68, 0x5c, 0x5f, 0xdd, 0x04, 0xab,
+  0x13, 0xb4, 0x20, 0x7b, 0x4e, 0x37, 0x75, 0x50, 0x27, 0x5a, 0x35, 0x2d,
+  0x4d, 0x51, 0xb7, 0x88, 0x27, 0x1d, 0xdd, 0xd7, 0xb4, 0xa9, 0xa0, 0x8e,
+  0xc0, 0x3a, 0xb5, 0x53, 0x3b, 0x06, 0xc5, 0xcd, 0x52, 0x54, 0x5b, 0x37,
+  0x23, 0x5f, 0xce, 0x3e, 0x78, 0x6d, 0xcf, 0x73, 0x2f, 0xbd, 0x58, 0x25,
+  0x0f, 0xe3, 0x90, 0xe1, 0x7f, 0x45, 0xff, 0x8d, 0x40, 0x8a, 0x7c, 0x15,
+  0xd3, 0x80, 0x50, 0x2b, 0xc6, 0x40, 0x0f, 0x36, 0xe3, 0xf6, 0xc4, 0x2c,
+  0x8d, 0xa3, 0x0e, 0xba, 0x51, 0xe1, 0x81, 0x1d, 0xb8, 0xb4, 0x4b, 0x37,
+  0xc9, 0xf8, 0xd6, 0x8e, 0x8c, 0x6b, 0xa3, 0xf9, 0xd6, 0xf7, 0xdf, 0x0b,
+  0xcf, 0x71, 0x90, 0x2f, 0x6a, 0x3d, 0x75, 0x80, 0xe6, 0x74, 0x46, 0x05,
+  0x46, 0x9c, 0xb7, 0x1b, 0xc5, 0xac, 0xf3, 0x64, 0x9a, 0x30, 0x70, 0x98,
+  0x48, 0xa6, 0x58, 0xe8, 0xb6, 0xe0, 0x47, 0x8e, 0x08, 0x91, 0x52, 0x3c,
+  0x89, 0x82, 0xcb, 0xcd, 0xd9, 0x7f, 0xad, 0x06, 0x0a, 0x1a, 0xc1, 0xc1,
+  0xbb, 0xcb, 0xaf, 0xcf, 0x2e, 0x86, 0xd1, 0x36, 0xe7, 0x49, 0x5f, 0x5e,
+  0x9c, 0x7c, 0xf9, 0x8e, 0x14, 0x3e, 0x67, 0x79, 0x3e, 0x8a, 0x49, 0x11,
+  0x9c, 0x72, 0xa8, 0x46, 0x32, 0x1f, 0x25, 0xf9, 0xb5, 0x01, 0x8f, 0x03,
+  0xd9, 0x84, 0x79, 0x77, 0x96, 0xfb, 0x2a, 0x1d, 0x52, 0x08, 0xdb, 0x2c,
+  0xeb, 0x08, 0xff, 0x4a, 0xe9, 0xbb, 0xcc, 0x6b, 0x33, 0x69, 0x35, 0xf7,
+  0xdd, 0x57, 0x5f, 0xbf, 0xfc, 0xfa, 0xe0, 0xed, 0x37, 0x43, 0x43, 0xb7,
+  0xfb, 0xee, 0xbb, 0xef, 0x42, 0xc7, 0xcb, 0xfe, 0xf6, 0x36, 0xf0, 0xcc,
+  0x6e, 0xe2, 0x87, 0x87, 0x41, 0x91, 0x6c, 0x6c, 0xd0, 0x39, 0xda, 0xf0,
+  0xb9, 0x04, 0x0a, 0x79, 0x5c, 0x2c, 0xe9, 0xa6, 0xa3, 0xaf, 0xb7, 0x17,
+  0xcb, 0x11, 0x43, 0x2c, 0x6f, 0x2f, 0x4b, 0x2d, 0x28, 0x81, 0xb7, 0xb7,
+  0x37, 0x36, 0x86, 0xc7, 0xc7, 0xd1, 0xc1, 0xe9, 0xf0, 0x2c, 0x78, 0x77,
+  0x73, 0x77, 0x8b, 0x24, 0x81, 0xeb, 0xa4, 0xa4, 0x5f, 0x36, 0x36, 0x4e,
+  0x0f, 0x2e, 0x59, 0xc9, 0xf9, 0xf6, 0xf8, 0x62, 0x78, 0x72, 0xf6, 0x96,
+  0x77, 0x87, 0x81, 0x20, 0xe2, 0xe9, 0x3d, 0x63, 0x6f, 0x5d, 0xa5, 0xc8,
+  0xd3, 0xbc, 0xb7, 0x52, 0x0e, 0x0c, 0x6e, 0x42, 0xa2, 0x8a, 0xc8, 0x6e,
+  0xe2, 0x58, 0xb2, 0x3a, 0x3f, 0x12, 0x13, 0x50, 0xb2, 0xaa, 0x61, 0xde,
+  0xc7, 0x8d, 0xc8, 0x1b, 0x3a, 0x04, 0xea, 0x3d, 0x19, 0x49, 0xc8, 0x4c,
+  0x4f, 0x10, 0x08, 0x10, 0xac, 0x1e, 0x40, 0x24, 0xb4, 0x4e, 0x7c, 0x78,
+  0xf2, 0xe6, 0x9c, 0x64, 0xfe, 0x77, 0xc3, 0x83, 0xaf, 0x8e, 0xf9, 0xd1,
+  0xaf, 0x92, 0xd2, 0x6f, 0x87, 0x94, 0x9c, 0xe0, 0x4e, 0xde, 0x26, 0x65,
+  0x31, 0x8e, 0x17, 0x1c, 0x77, 0x4e, 0xdd, 0xf4, 0x85, 0x2f, 0x06, 0x6d,
+  0x8b, 0xf4, 0xe7, 0xc1, 0xa8, 0xe7, 0xfa, 0x3c, 0x90, 0xa2, 0xc3, 0x76,
+  0x2f, 0x8e, 0x0f, 0x8e, 0xde, 0x1c, 0x5b, 0x40, 0x95, 0xdc, 0x23, 0xd4,
+  0xe8, 0x4d, 0xc6, 0xd5, 0x6b, 0x9c, 0xe9, 0x93, 0xef, 0x2a, 0x5e, 0x7c,
+  0xfa, 0x86, 0x4b, 0x32, 0xb4, 0x77, 0xe7, 0x37, 0x0a, 0xcf, 0x0e, 0xae,
+  0xd2, 0x6d, 0x69, 0xdd, 0xfa, 0x8b, 0xdd, 0x92, 0x58, 0x64, 0x92, 0xca,
+  0x6f, 0xa2, 0xc6, 0x42, 0xfd, 0xfd, 0x6c, 0x67, 0x67, 0xe7, 0x91, 0x79,
+  0xc0, 0xd0, 0xa8, 0xb7, 0x00, 0x4d, 0x65, 0x9f, 0x1f, 0xdf, 0xf6, 0xed,
+  0x1b, 0x65, 0x86, 0x66, 0x5b, 0xfe, 0x73, 0x2e, 0x8a, 0x77, 0x5a, 0x26,
+  0xed, 0x83, 0x1e, 0x67, 0x99, 0xdb, 0x83, 0xca, 0xf2, 0x4c, 0x18, 0xe7,
+  0x26, 0x2d, 0x03, 0x9c, 0x34, 0x1b, 0xfa, 0x24, 0x05, 0xfb, 0x89, 0xf3,
+  0x55, 0xbd, 0x49, 0xfe, 0x86, 0xda, 0xe4, 0x1f, 0x83, 0x2c, 0xbf, 0xde,
+  0x9e, 0xed, 0xe3, 0x92, 0xa5, 0x87, 0x5e, 0x27, 0xa8, 0xfb, 0x73, 0x9f,
+  0xb9, 0xd0, 0xa3, 0x82, 0x97, 0x96, 0xa3, 0x1c, 0x3f, 0x62, 0x5c, 0xbf,
+  0x60, 0x1d, 0xb0, 0x9d, 0x5c, 0x5f, 0x56, 0x66, 0x6e, 0xe1, 0x18, 0x2d,
+  0x9d, 0x14, 0xbc, 0x65, 0x6c, 0x66, 0x1a, 0x10, 0x0b, 0xa1, 0x5e, 0xe8,
+  0x73, 0x21, 0x12, 0xfa, 0x35, 0x27, 0xa2, 0x19, 0x94, 0x0f, 0x25, 0xbf,
+  0xc5, 0xce, 0x5a, 0xb5, 0x16, 0x03, 0xb6, 0x8a, 0x58, 0x56, 0x9e, 0x91,
+  0x8c, 0x1e, 0x4b, 0xfa, 0xcd, 0x10, 0x61, 0xed, 0x41, 0x34, 0x1a, 0x42,
+  0xdd, 0xb9, 0xe1, 0x7a, 0x9f, 0xfd, 0x3e, 0x28, 0xa8, 0x70, 0xf4, 0xf2,
+  0x11, 0x9d, 0x07, 0x93, 0x92, 0xd5, 0x9f, 0xeb, 0xc5, 0x11, 0x50, 0xcf,
+  0x90, 0x46, 0xd1, 0xe8, 0x0b, 0x20, 0x4b, 0x39, 0x82, 0xde, 0x0a, 0xe9,
+  0x0e, 0x45, 0x6b, 0x06, 0x89, 0x14, 0xaa, 0x42, 0x5f, 0xb4, 0x27, 0xdb,
+  0x88, 0xc6, 0xf9, 0xe8, 0x9e, 0x0e, 0xcf, 0x5d, 0x0d, 0x1c, 0x5a, 0x81,
+  0x3b, 0x5e, 0x82, 0xdb, 0x04, 0xb3, 0x0f, 0x65, 0xdd, 0x47, 0x06, 0xb3,
+  0x4f, 0xab, 0xc0, 0x6f, 0xfc, 0xf7, 0xf6, 0xa0, 0x28, 0x6e, 0xb6, 0xd3,
+  0xc9, 0xfb, 0x49, 0x11, 0xd3, 0x67, 0xc4, 0xd7, 0x1a, 0x1f, 0x0f, 0xe8,
+  0xc3, 0xe8, 0x2f, 0x15, 0xbe, 0x5f, 0x8c, 0xdb, 0x67, 0xf2, 0xdf, 0xdb,
+  0x0c, 0xfe, 0x05, 0x80, 0xe2, 0x60, 0xe1, 0x5a, 0xb8, 0x07, 0xcd, 0x4a,
+  0x70, 0xe6, 0xe8, 0x38, 0xb6, 0x53, 0x46, 0xff, 0x3a, 0xea, 0x28, 0xb9,
+  0xfd, 0xb8, 0xb7, 0xb3, 0xb3, 0xbb, 0xbf, 0xfb, 0xd9, 0x8b, 0x9d, 0xfd,
+  0xdd, 0xdd, 0xdd, 0xbd, 0xfd, 0xdd, 0xfd, 0xfd, 0xbd, 0x9d, 0x9f, 0xb6,
+  0x3b, 0x1b, 0x1b, 0x47, 0x67, 0xdf, 0xbd, 0x3d, 0x3d, 0x3b, 0x38, 0x8a,
+  0x2e, 0xcf, 0x48, 0xdf, 0x65, 0x5b, 0x45, 0xcb, 0x49, 0x07, 0xea, 0x53,
+  0x99, 0xc9, 0xcd, 0x16, 0x07, 0x25, 0x3a, 0x1a, 0x5d, 0x66, 0x10, 0x8a,
+  0xf9, 0xa5, 0xc1, 0x4d, 0x39, 0xfb, 0x30, 0xfb, 0xfa, 0x98, 0x4e, 0x7a,
+  0x12, 0x15, 0xe6, 0xf5, 0x1e, 0x6c, 0xad, 0x11, 0xa9, 0x42, 0x99, 0xba,
+  0xa2, 0xe3, 0x70, 0xb2, 0xb9, 0xa8, 0xc0, 0x4d, 0x71, 0x4d, 0xfb, 0xb8,
+  0x49, 0x29, 0x4e, 0x52, 0x54, 0x03, 0x1a, 0x5c, 0xb1, 0x00, 0xf5, 0x5b,
+  0x4a, 0x61, 0x76, 0x92, 0x07, 0xb6, 0x1a, 0x13, 0x3c, 0x5b, 0x3b, 0x25,
+  0xba, 0x78, 0x92, 0x07, 0xcc, 0xba, 0xca, 0x26, 0x04, 0xc9, 0xcc, 0xcf,
+  0x0e, 0x08, 0x46, 0xa6, 0xc9, 0xa5, 0xb9, 0x0d, 0x19, 0xee, 0xeb, 0x96,
+  0xee, 0xb8, 0x1f, 0xe3, 0x1e, 0xbe, 0x0b, 0xfe, 0x26, 0xbc, 0x74, 0xb6,
+  0x9d, 0xf9, 0x49, 0x06, 0xf0, 0x6e, 0x78, 0xf2, 0xf6, 0x2b, 0xf8, 0x97,
+  0xbe, 0x3b, 0xbb, 0x38, 0x1a, 0x52, 0xb3, 0x7c, 0x1b, 0x6f, 0xc0, 0x02,
+  0xc1, 0x87, 0x56, 0x47, 0x25, 0x47, 0x80, 0xbb, 0xfe, 0x13, 0x34, 0x8e,
+  0x49, 0xcf, 0xa5, 0x1e, 0x60, 0x98, 0x81, 0xb4, 0xc8, 0x29, 0x05, 0xed,
+  0x0c, 0x0e, 0xa7, 0x41, 0x5e, 0xff, 0x62, 0x16, 0x33, 0x18, 0x6c, 0x32,
+  0x10, 0x54, 0x35, 0x44, 0x12, 0x6c, 0x33, 0xac, 0xca, 0x36, 0x4b, 0xad,
+  0xdb, 0x65, 0x06, 0x56, 0x81, 0x56, 0xb2, 0xdc, 0x01, 0xe8, 0x56, 0x56,
+  0x84, 0xcf, 0xd8, 0xd5, 0x34, 0xbe, 0x46, 0x87, 0xcd, 0xe3, 0x17, 0x74,
+  0xa6, 0xdd, 0x7f, 0x6c, 0x97, 0xa8, 0xd9, 0xc7, 0xed, 0x9d, 0x80, 0x00,
+  0x90, 0xed, 0x8e, 0x3c, 0x09, 0x35, 0x8c, 0x8b, 0x84, 0x84, 0x1a, 0x33,
+  0xec, 0x62, 0xe7, 0x42, 0x18, 0x75, 0xa4, 0x5f, 0x2d, 0x50, 0xb9, 0x21,
+  0x46, 0x85, 0x7e, 0x90, 0x16, 0x25, 0x92, 0x3d, 0x2a, 0xc9, 0x79, 0x05,
+  0xba, 0x40, 0x3c, 0x3c, 0xfa, 0x44, 0xa2, 0x17, 0xf4, 0x45, 0x59, 0x72,
+  0x1e, 0x0c, 0x8d, 0x3d, 0x92, 0x88, 0x18, 0xce, 0xfd, 0x51, 0x91, 0xad,
+  0xc3, 0x30, 0xcb, 0xe9, 0x38, 0x2d, 0x3b, 0x96, 0x64, 0xe4, 0x81, 0xb7,
+  0xbc, 0x03, 0xac, 0x28, 0x69, 0x28, 0x31, 0xdd, 0x1e, 0x5a, 0x75, 0x44,
+  0x93, 0x6e, 0xb3, 0xd9, 0x4c, 0xb2, 0x31, 0x3b, 0x9c, 0x80, 0xe2, 0x5b,
+  0x49, 0x35, 0x97, 0xca, 0xd5, 0xd5, 0x60, 0x3e, 0xcb, 0xbd, 0x4b, 0xfa,
+  0x87, 0x44, 0xe3, 0x1b, 0x4b, 0xf7, 0x76, 0x1f, 0x66, 0xc7, 0x24, 0x71,
+  0x12, 0xaf, 0x14, 0xca, 0xd1, 0x98, 0xfe, 0x00, 0xd9, 0xbf, 0xb2, 0x6c,
+  0x61, 0xf5, 0x92, 0x06, 0x57, 0xad, 0xa6, 0x86, 0x6c, 0x20, 0x10, 0xd8,
+  0x25, 0x33, 0x05, 0xcb, 0xa3, 0x05, 0xf5, 0xdc, 0xab, 0xbc, 0x17, 0x69,
+  0x59, 0x24, 0xd3, 0x2b, 0x2d, 0x42, 0xa7, 0x75, 0xdf, 0x46, 0xab, 0xa0,
+  0x01, 0x99, 0x84, 0xc4, 0xff, 0x2e, 0xe7, 0x2e, 0x23, 0x26, 0x53, 0x9e,
+  0x71, 0x0d, 0xc6, 0xa9, 0x08, 0xde, 0x55, 0x46, 0x21, 0x9e, 0x99, 0x81,
+  0x41, 0xdc, 0x6e, 0x44, 0x0e, 0xa0, 0xb7, 0x36, 0x05, 0x87, 0x06, 0x07,
+  0x48, 0x2e, 0x50, 0x47, 0xf0, 0xe0, 0x72, 0x44, 0xab, 0xed, 0x9e, 0xe3,
+  0xb5, 0x63, 0x1b, 0x37, 0x56, 0xed, 0x30, 0x2c, 0xab, 0x22, 0x30, 0x84,
+  0x06, 0xe7, 0xe7, 0x07, 0x45, 0x03, 0x84, 0x51, 0x9c, 0x0e, 0x1a, 0x82,
+  0x55, 0x97, 0x85, 0x5b, 0x51, 0xa0, 0x78, 0xc7, 0xae, 0x78, 0x50, 0xdb,
+  0x31, 0x54, 0x8e, 0xb4, 0xfe, 0x1c, 0x7e, 0xf8, 0x08, 0x36, 0x87, 0x64,
+  0x42, 0xff, 0x74, 0x25, 0xa7, 0x24, 0x9d, 0x3f, 0x7e, 0x18, 0x75, 0x10,
+  0x1f, 0xd5, 0x31, 0xe6, 0xaa, 0x79, 0x49, 0xb0, 0x86, 0xfa, 0x28, 0x19,
+  0x71, 0xc0, 0x22, 0xd2, 0xbe, 0x05, 0xed, 0xb3, 0x02, 0xe7, 0x88, 0x83,
+  0x20, 0x61, 0xbe, 0xfb, 0xd1, 0x97, 0x71, 0x91, 0x8e, 0x7b, 0xd1, 0x51,
+  0x4a, 0xb2, 0x7a, 0xd9, 0xf3, 0x98, 0x8c, 0x0e, 0xc9, 0x72, 0x10, 0x7d,
+  0x67, 0xd5, 0x41, 0xe9, 0xce, 0x45, 0xec, 0x29, 0x4c, 0x8b, 0x2e, 0x51,
+  0x6d, 0x43, 0x6c, 0xb6, 0x6a, 0x75, 0x0d, 0x93, 0xc2, 0xd0, 0xb6, 0x87,
+  0x9b, 0xc3, 0x66, 0xc6, 0xc5, 0x6d, 0x15, 0x68, 0x5d, 0xa4, 0xaa, 0x82,
+  0x6d, 0x87, 0x2c, 0x02, 0x61, 0x7d, 0xe7, 0x5a, 0xe8, 0x42, 0x69, 0x2e,
+  0x9b, 0x5b, 0x80, 0x92, 0x77, 0xa4, 0xaa, 0x2d, 0xa7, 0xd0, 0xb0, 0x19,
+  0xf3, 0xf4, 0xe2, 0x36, 0xb2, 0xe3, 0xba, 0x81, 0xd0, 0x72, 0x5a, 0x27,
+  0x5e, 0x11, 0xe5, 0x27, 0x67, 0x97, 0xc7, 0xbf, 0x8b, 0x86, 0x29, 0xd7,
+  0x59, 0x74, 0x94, 0xc3, 0x87, 0x9c, 0x9d, 0xdd, 0xea, 0x85, 0x6a, 0xec,
+  0xa9, 0x4b, 0x53, 0x55, 0xb3, 0xa0, 0xe5, 0x42, 0x48, 0xf9, 0x9c, 0x7b,
+  0x29, 0x5f, 0xce, 0x2b, 0x03, 0x9a, 0xbd, 0x4b, 0xe3, 0xc8, 0x15, 0xb0,
+  0xe6, 0xb9, 0xbf, 0x67, 0xd2, 0x7f, 0xef, 0x21, 0xc6, 0x97, 0xfa, 0x22,
+  0x00, 0xe0, 0xb8, 0x1d, 0xb5, 0x09, 0xc0, 0x96, 0x32, 0x4e, 0x73, 0xba,
+  0x82, 0x99, 0x4f, 0x8d, 0xc5, 0x0c, 0x88, 0x18, 0x37, 0x8c, 0x9d, 0xcd,
+  0x1c, 0xf1, 0x88, 0xe8, 0x0a, 0xcb, 0x35, 0x46, 0x3a, 0x9c, 0xc0, 0x83,
+  0xab, 0x69, 0xd1, 0xce, 0x5d, 0xc8, 0x4a, 0x91, 0x10, 0x8a, 0xb4, 0x3a,
+  0x54, 0xe8, 0x50, 0x08, 0xc2, 0x0d, 0xc4, 0x8d, 0x51, 0xab, 0x90, 0x25,
+  0xe6, 0xee, 0x66, 0x0b, 0x64, 0x3b, 0x0e, 0xeb, 0x61, 0x3a, 0x9d, 0x44,
+  0xb3, 0x95, 0xa6, 0x3c, 0x2b, 0x1f, 0xe6, 0x1c, 0x1d, 0xa8, 0x2b, 0x9f,
+  0x7d, 0xd6, 0xb8, 0x77, 0x1f, 0xdc, 0xd3, 0xfb, 0xf4, 0x75, 0xa0, 0x16,
+  0x4d, 0xd9, 0xe7, 0x68, 0xa5, 0x80, 0xbc, 0x6e, 0xd4, 0x90, 0x39, 0xc3,
+  0x34, 0x46, 0xe9, 0xd0, 0xd9, 0x0f, 0x5b, 0xf6, 0xc5, 0x55, 0x3b, 0xda,
+  0x10, 0xa1, 0x5b, 0xc6, 0x19, 0x17, 0xe2, 0xb9, 0x5e, 0x23, 0x85, 0xda,
+  0xc9, 0xab, 0x0f, 0x36, 0x10, 0x50, 0x48, 0x48, 0x1a, 0xb0, 0x4c, 0xc3,
+  0xf2, 0xd6, 0x30, 0xd3, 0x86, 0x39, 0xe7, 0x44, 0x07, 0xe3, 0x30, 0x0b,
+  0xab, 0x67, 0x6d, 0xe0, 0x20, 0xf3, 0xdd, 0x8d, 0xd1, 0x7f, 0xb7, 0x7e,
+  0x38, 0xef, 0xfe, 0x99, 0xe1, 0x1c, 0x44, 0x8f, 0x06, 0xfb, 0x69, 0xfd,
+  0x03, 0x66, 0x22, 0x85, 0x9e, 0xd4, 0x49, 0x06, 0x83, 0x90, 0xd1, 0x9f,
+  0xac, 0xd1, 0x98, 0x9d, 0x00, 0xa3, 0x2a, 0xd6, 0x64, 0x53, 0x5d, 0x99,
+  0x67, 0xf2, 0x34, 0xe4, 0x47, 0x6e, 0xbf, 0x67, 0x43, 0xf9, 0xd8, 0xe1,
+  0x5a, 0x9e, 0xbb, 0x45, 0xab, 0xfa, 0xfe, 0x24, 0x03, 0x4b, 0x5a, 0x08,
+  0x62, 0xfe, 0x05, 0x81, 0x5c, 0x9e, 0x67, 0xec, 0xf1, 0x07, 0x04, 0x6e,
+  0xd0, 0x60, 0x7d, 0x09, 0x39, 0x9e, 0x09, 0x32, 0xa3, 0x6a, 0xaf, 0xe9,
+  0x67, 0xbb, 0x02, 0xd7, 0x44, 0xec, 0x51, 0xb1, 0xf1, 0x48, 0xcf, 0xa4,
+  0xcb, 0x6a, 0x81, 0xf0, 0xc3, 0x6a, 0xb9, 0x2e, 0xb9, 0x57, 0xa4, 0xe8,
+  0x3c, 0x56, 0x2e, 0xa8, 0x65, 0x8d, 0xc2, 0x5f, 0x32, 0x46, 0xa9, 0x6b,
+  0xac, 0xe5, 0x50, 0xa4, 0xc8, 0x2a, 0xee, 0xf9, 0x24, 0x91, 0x96, 0xca,
+  0xb5, 0x61, 0xc0, 0x87, 0x01, 0xe3, 0x15, 0x72, 0x06, 0xfb, 0x8e, 0xae,
+  0x96, 0x39, 0xc2, 0x33, 0x34, 0x1b, 0x5d, 0x93, 0x09, 0xa9, 0xd1, 0x8b,
+  0x83, 0xb7, 0x5f, 0x1d, 0xe3, 0xbc, 0x33, 0xdb, 0xf5, 0xa9, 0xb3, 0x9c,
+  0x1b, 0xd7, 0x87, 0xb3, 0xb8, 0x10, 0xb0, 0x8e, 0x94, 0xdf, 0x98, 0x2c,
+  0xc7, 0xec, 0xa7, 0x7e, 0xa7, 0xc7, 0x20, 0x2d, 0x80, 0xd3, 0x39, 0x4d,
+  0x79, 0x10, 0xcc, 0x72, 0xd5, 0x25, 0xbc, 0x11, 0x99, 0x7a, 0x0a, 0x8e,
+  0xc1, 0x22, 0x0d, 0xad, 0x10, 0x74, 0xd9, 0x62, 0x39, 0x5a, 0xc4, 0x9a,
+  0xa2, 0x15, 0x87, 0x59, 0x3f, 0xaa, 0x09, 0x0c, 0x2a, 0x53, 0xe0, 0xbb,
+  0x43, 0x02, 0x22, 0x9d, 0xd4, 0x99, 0x43, 0xea, 0x1c, 0x84, 0x1a, 0x97,
+  0xe0, 0x23, 0xed, 0xee, 0xec, 0x78, 0xcc, 0x1d, 0x9f, 0xbd, 0xd4, 0x20,
+  0xb2, 0x3c, 0xda, 0xe9, 0xbf, 0x78, 0xb1, 0x8e, 0x7e, 0x5c, 0xa3, 0xc8,
+  0x42, 0x79, 0xf6, 0xd1, 0x6d, 0xf6, 0xf9, 0xd1, 0x75, 0x6d, 0xb6, 0xc8,
+  0x16, 0x28, 0xd3, 0xa1, 0xee, 0xf8, 0xc2, 0xc5, 0x7c, 0xa8, 0x0e, 0x22,
+  0xb6, 0x2f, 0xd8, 0x22, 0xe7, 0x4e, 0xc0, 0xe0, 0xa5, 0xdc, 0x88, 0x9c,
+  0x24, 0x00, 0x08, 0x29, 0x53, 0x57, 0x16, 0xec, 0x91, 0x4f, 0x9d, 0x89,
+  0xf6, 0xa3, 0x16, 0x26, 0x10, 0x31, 0xd7, 0x2c, 0xd1, 0x55, 0x73, 0x36,
+  0xc6, 0x48, 0xdf, 0x9d, 0xb3, 0x32, 0x4a, 0xba, 0x8b, 0x08, 0xec, 0x24,
+  0x7d, 0xc2, 0x30, 0xb1, 0x5d, 0x93, 0x45, 0xdf, 0x69, 0x01, 0x3b, 0x2e,
+  0x3e, 0xc0, 0xbe, 0x19, 0x81, 0x2c, 0x4e, 0xe7, 0x5a, 0x49, 0xce, 0xed,
+  0xfe, 0x1a, 0xc5, 0xf8, 0x32, 0xea, 0x07, 0x2c, 0x5d, 0x51, 0x78, 0x98,
+  0x9f, 0xcf, 0x56, 0x26, 0xa3, 0x68, 0x0f, 0x68, 0xdd, 0x0c, 0x5d, 0x95,
+  0x8a, 0xbe, 0x3d, 0x15, 0x2c, 0x41, 0x41, 0x0d, 0x96, 0xde, 0xd2, 0xa5,
+  0x74, 0x83, 0x2b, 0xa2, 0xc6, 0xc0, 0x3f, 0x6e, 0x28, 0x71, 0x4b, 0x6d,
+  0x4e, 0x93, 0x62, 0x53, 0xce, 0x7f, 0x54, 0xed, 0xa4, 0xae, 0x28, 0x2b,
+  0x64, 0x23, 0x3f, 0x88, 0xf3, 0x93, 0xfd, 0xeb, 0x63, 0x7b, 0x64, 0x54,
+  0x7c, 0x38, 0xad, 0xe6, 0x7a, 0x6d, 0x94, 0xad, 0x06, 0x83, 0x4b, 0x79,
+  0x5f, 0xba, 0x8e, 0xdb, 0xbb, 0x93, 0xf7, 0x6d, 0x39, 0x5a, 0x88, 0x9e,
+  0xaf, 0x7d, 0x45, 0x66, 0x72, 0xd1, 0xde, 0x86, 0x23, 0xc1, 0xda, 0x09,
+  0xb8, 0x45, 0x5a, 0xe5, 0xe0, 0x1b, 0x91, 0xe6, 0x4c, 0x00, 0xb7, 0x89,
+  0xe9, 0x06, 0x40, 0xb3, 0xe0, 0x6d, 0xb7, 0x88, 0xa6, 0xb8, 0x52, 0x74,
+  0x0a, 0x14, 0x26, 0x39, 0x41, 0x26, 0x0a, 0xbb, 0x4c, 0x3c, 0xd8, 0x47,
+  0xbe, 0x9c, 0xcb, 0x2c, 0xe0, 0x70, 0xa0, 0xc1, 0xc7, 0xc5, 0x0d, 0x9c,
+  0xec, 0x4e, 0x41, 0x6a, 0xde, 0x44, 0x21, 0x60, 0x05, 0x5d, 0x3d, 0x72,
+  0xef, 0x80, 0xab, 0x56, 0x96, 0xa2, 0xba, 0x02, 0x81, 0x3e, 0xf1, 0xb1,
+  0x94, 0xcf, 0x2c, 0xa3, 0xd5, 0x58, 0x0a, 0xe2, 0x6f, 0x94, 0x38, 0xac,
+  0x91, 0x5c, 0x55, 0x1f, 0x93, 0xb6, 0x44, 0x94, 0x81, 0xfa, 0x83, 0xba,
+  0x70, 0x48, 0xaf, 0xad, 0x2d, 0x21, 0x64, 0x59, 0x80, 0x16, 0x48, 0xba,
+  0xad, 0xb1, 0x59, 0xcd, 0x22, 0x81, 0x12, 0xea, 0xa1, 0x6e, 0x34, 0xef,
+  0x86, 0x31, 0xf1, 0x25, 0xc8, 0x0f, 0x16, 0x7c, 0x46, 0x22, 0xcf, 0xa4,
+  0x4f, 0xcc, 0x50, 0x06, 0x28, 0x49, 0x2d, 0x12, 0x58, 0x35, 0xbc, 0x74,
+  0xa5, 0xca, 0x4d, 0x0e, 0xfc, 0xf6, 0xf8, 0xe2, 0xcb, 0xb3, 0xe1, 0x31,
+  0x71, 0x88, 0xa3, 0xe3, 0x2f, 0xdf, 0x31, 0xf7, 0xe0, 0x1d, 0x13, 0x23,
+  0x05, 0x70, 0x19, 0x04, 0x65, 0x19, 0xc9, 0x44, 0x4e, 0x46, 0x96, 0x9c,
+  0xc8, 0x9e, 0x51, 0x86, 0xc6, 0x74, 0xa9, 0x14, 0x3d, 0x4d, 0x44, 0xab,
+  0x4d, 0x11, 0x4d, 0xe7, 0x21, 0x4b, 0x58, 0x76, 0x9e, 0x33, 0xc6, 0x70,
+  0x69, 0x18, 0x1d, 0x86, 0x71, 0x5b, 0xec, 0x7b, 0xd9, 0xf8, 0x4e, 0x6c,
+  0x18, 0x7a, 0x20, 0x7c, 0x15, 0x1d, 0xab, 0x96, 0x33, 0x08, 0x4a, 0xe1,
+  0x2a, 0x7c, 0xf5, 0x34, 0x93, 0xdb, 0x8b, 0xd3, 0x88, 0x70, 0x96, 0x81,
+  0xcb, 0x9e, 0xa2, 0xea, 0x9e, 0xe2, 0x4f, 0x6a, 0xed, 0x9a, 0x42, 0x08,
+  0x8e, 0xd8, 0x8c, 0xa4, 0x60, 0x4c, 0x95, 0x2d, 0x83, 0x0b, 0x15, 0x89,
+  0x24, 0x2c, 0xcb, 0xed, 0xa9, 0x66, 0x7e, 0x09, 0x5a, 0x51, 0x58, 0xc5,
+  0x4d, 0x3e, 0x12, 0x0c, 0x19, 0x20, 0xda, 0x82, 0xe0, 0x07, 0x4b, 0x7d,
+  0x17, 0x07, 0x2e, 0xc5, 0x2b, 0x1f, 0x78, 0xbe, 0x94, 0x74, 0xee, 0xd6,
+  0xb3, 0x83, 0x4b, 0x99, 0x29, 0x27, 0x97, 0xca, 0x85, 0xec, 0x2a, 0x6a,
+  0xc3, 0x8f, 0xe4, 0x33, 0xa3, 0x38, 0x30, 0xc7, 0xe1, 0xa6, 0xc9, 0x79,
+  0xe2, 0xd0, 0xb8, 0x40, 0x02, 0x5e, 0x5f, 0x10, 0xc6, 0xec, 0x2c, 0x1a,
+  0xce, 0x53, 0xcf, 0x89, 0x56, 0x6f, 0x37, 0x6f, 0x29, 0x8c, 0x47, 0x51,
+  0xbd, 0xee, 0xa7, 0x9e, 0x41, 0x69, 0x5d, 0x6a, 0xc1, 0x94, 0x0f, 0x65,
+  0x68, 0x62, 0xdb, 0xd8, 0xd8, 0x38, 0x3a, 0xbe, 0x3c, 0x38, 0x39, 0x3d,
+  0x3e, 0x8a, 0x4e, 0xde, 0xbe, 0x3e, 0xbb, 0x78, 0x73, 0x70, 0xa9, 0x4e,
+  0xa6, 0x23, 0xa7, 0xa3, 0xba, 0x72, 0x26, 0xce, 0x04, 0xe0, 0xf5, 0x57,
+  0x90, 0x30, 0xed, 0xe2, 0xb5, 0x02, 0x06, 0xc9, 0x32, 0x24, 0x95, 0x35,
+  0xd8, 0x88, 0xd4, 0x39, 0xe5, 0x0b, 0x94, 0xf0, 0xfd, 0xbc, 0xed, 0x1c,
+  0x0a, 0x03, 0x5b, 0x4e, 0xd3, 0x30, 0x81, 0xfd, 0xf5, 0x68, 0x53, 0xae,
+  0x18, 0x97, 0xdc, 0x4d, 0xc0, 0xad, 0x47, 0x16, 0x0c, 0x68, 0xb2, 0x7f,
+  0xc2, 0xb9, 0xad, 0x10, 0x2f, 0xb5, 0xaa, 0xf9, 0x49, 0xe9, 0x8a, 0xf9,
+  0x31, 0xb9, 0x70, 0x3b, 0x41, 0x76, 0x15, 0x51, 0x20, 0xaa, 0x06, 0x07,
+  0x6d, 0xba, 0x44, 0x25, 0xab, 0x40, 0x22, 0x2e, 0x4d, 0x7c, 0x12, 0xee,
+  0x2f, 0x67, 0x72, 0x6d, 0xb0, 0xd7, 0xb6, 0xd4, 0xda, 0x18, 0x0f, 0x65,
+  0x32, 0x2f, 0xb8, 0x0e, 0x94, 0x9d, 0x75, 0x7e, 0xc5, 0x33, 0x51, 0xb3,
+  0xe3, 0x2a, 0xe8, 0x61, 0xd8, 0xd4, 0xa6, 0x73, 0x42, 0x90, 0xe4, 0xd2,
+  0x3f, 0x51, 0x14, 0x33, 0x5e, 0x0b, 0xae, 0xf9, 0xcb, 0x3f, 0xe7, 0x3e,
+  0xad, 0x5f, 0xa3, 0x34, 0xbc, 0xc2, 0x12, 0xd4, 0x3d, 0xd2, 0xd3, 0xe6,
+  0xcf, 0x6d, 0x61, 0x94, 0x76, 0x44, 0x0f, 0x71, 0x11, 0xc9, 0xbe, 0x76,
+  0xaf, 0x61, 0x52, 0xd0, 0x85, 0x6d, 0x0b, 0x45, 0x78, 0x82, 0x10, 0x30,
+  0xca, 0x04, 0xa8, 0x04, 0x6b, 0x20, 0xf3, 0x00, 0x7d, 0x97, 0x66, 0x34,
+  0x66, 0x11, 0xdf, 0xdb, 0x79, 0x5d, 0x91, 0xa6, 0x46, 0x35, 0x6c, 0x57,
+  0x20, 0x6c, 0xe8, 0x9e, 0xc5, 0x4a, 0x06, 0x2f, 0xc4, 0xde, 0xef, 0x8a,
+  0xf5, 0xdf, 0x34, 0x6c, 0x73, 0x26, 0x59, 0x6d, 0x50, 0x3d, 0x07, 0x4d,
+  0x33, 0x75, 0x65, 0x52, 0xe1, 0x8b, 0x55, 0x4f, 0x65, 0xc8, 0xe9, 0xad,
+  0x6b, 0x8c, 0x7e, 0xd2, 0x36, 0x02, 0xe5, 0xe2, 0x28, 0xef, 0xa9, 0xc5,
+  0xbc, 0x62, 0x78, 0xec, 0x18, 0xad, 0x61, 0x43, 0x01, 0x19, 0x94, 0x53,
+  0xc2, 0x74, 0x1a, 0xe6, 0xe1, 0x8e, 0xb9, 0xbe, 0x14, 0xd7, 0xe8, 0xd4,
+  0x7a, 0x72, 0x41, 0x2c, 0xb9, 0x78, 0xd4, 0x15, 0x79, 0x14, 0x4c, 0x6f,
+  0xbe, 0x61, 0x48, 0x89, 0xf6, 0x92, 0xc5, 0x09, 0x80, 0xfb, 0x4b, 0x3e,
+  0x36, 0x98, 0x3c, 0xbb, 0x33, 0x93, 0xb8, 0x80, 0x8d, 0x11, 0x21, 0xa5,
+  0x72, 0x67, 0x80, 0x04, 0x30, 0x57, 0x67, 0xb6, 0xc4, 0xe5, 0xe3, 0xcb,
+  0x0a, 0xf7, 0x05, 0xb6, 0x22, 0xe6, 0xac, 0x32, 0x3b, 0x14, 0x12, 0xdc,
+  0xe6, 0x5a, 0xb1, 0xba, 0xf3, 0xd4, 0x0c, 0x22, 0x94, 0x34, 0x64, 0xe3,
+  0x3c, 0x2b, 0xe4, 0xbc, 0x41, 0xd2, 0xee, 0xf8, 0xea, 0x0f, 0x9d, 0xc5,
+  0x0d, 0xf5, 0xd1, 0x89, 0xae, 0x59, 0x57, 0x19, 0x65, 0x61, 0xbc, 0x9b,
+  0x6e, 0xcb, 0x44, 0x1e, 0x7f, 0x75, 0x11, 0x5f, 0xc5, 0xc9, 0xf4, 0xf7,
+  0x7b, 0x3b, 0xc3, 0xf8, 0x7a, 0x39, 0x8d, 0xff, 0x80, 0x17, 0x5f, 0x3d,
+  0x79, 0xb2, 0xb7, 0xf3, 0xe9, 0x67, 0x3b, 0x9d, 0x9a, 0xab, 0x28, 0xf0,
+  0x33, 0xc3, 0x6d, 0x88, 0x72, 0xcd, 0xcc, 0x77, 0xd1, 0xcf, 0x60, 0x7c,
+  0x9d, 0x72, 0x37, 0x5f, 0xb3, 0xf0, 0xa2, 0x6b, 0x10, 0x23, 0x20, 0x42,
+  0xd8, 0xa4, 0xd6, 0x85, 0xa2, 0x1b, 0x97, 0xe8, 0xfa, 0x93, 0xdd, 0x7d,
+  0x61, 0x65, 0xd7, 0xb0, 0x4b, 0xc5, 0x42, 0xb1, 0xd1, 0xcb, 0x74, 0x4e,
+  0x37, 0xd0, 0xe7, 0x51, 0x19, 0x5f, 0x3b, 0x5a, 0x45, 0x0b, 0xae, 0x92,
+  0xb3, 0x59, 0xc2, 0xaf, 0x52, 0xd4, 0x14, 0x1e, 0x44, 0x9b, 0x97, 0x02,
+  0x99, 0x06, 0xc1, 0x67, 0x91, 0xe4, 0x53, 0xc9, 0x76, 0x8d, 0x67, 0x16,
+  0x72, 0xc9, 0xef, 0xb3, 0x33, 0x7e, 0xb0, 0x98, 0xba, 0xba, 0xd5, 0xd0,
+  0xc0, 0x52, 0x4f, 0x70, 0xd3, 0x45, 0xe1, 0xeb, 0x24, 0xc9, 0x75, 0x13,
+  0x82, 0xb1, 0xd1, 0x62, 0xa1, 0x0a, 0x44, 0x07, 0xb3, 0xea, 0xb9, 0x82,
+  0x2b, 0xfd, 0x89, 0xcd, 0x74, 0x80, 0xdf, 0x51, 0x8d, 0x4e, 0x8b, 0xea,
+  0x76, 0x16, 0x92, 0x1f, 0xe4, 0x8a, 0x7c, 0x68, 0x3a, 0x71, 0x65, 0x5e,
+  0x71, 0xe9, 0x37, 0xe6, 0xa5, 0x29, 0xb9, 0xbb, 0x9f, 0xbf, 0x02, 0x41,
+  0xec, 0x7e, 0xfe, 0x07, 0xf7, 0xd9, 0x9e, 0x7e, 0xb6, 0xf7, 0xf9, 0x1f,
+  0x06, 0x03, 0x8c, 0x8f, 0x29, 0xa4, 0x6b, 0x5f, 0x77, 0x35, 0xe9, 0x30,
+  0xd6, 0x23, 0x2c, 0x7f, 0x39, 0xe4, 0x1d, 0xd9, 0xeb, 0x8e, 0xf5, 0x1c,
+  0xae, 0x72, 0x4f, 0x6d, 0xef, 0x8e, 0x6f, 0xa5, 0x06, 0x58, 0x0c, 0x54,
+  0xcf, 0xa2, 0x6d, 0xd1, 0x9d, 0x89, 0x10, 0xed, 0x14, 0x0e, 0xb2, 0x24,
+  0x8e, 0xfe, 0xc8, 0x94, 0xfa, 0xc7, 0x8d, 0x48, 0x4d, 0xe4, 0xbc, 0x1d,
+  0x28, 0x4b, 0x18, 0x19, 0xd9, 0x4a, 0x6d, 0x79, 0x81, 0x7c, 0xe3, 0x96,
+  0x39, 0xca, 0x92, 0xef, 0xc0, 0xa0, 0xd0, 0xc5, 0x9f, 0x14, 0xf6, 0x47,
+  0x36, 0x9c, 0xf9, 0x19, 0xf2, 0x19, 0x24, 0x2b, 0x88, 0x24, 0x8c, 0x92,
+  0x79, 0x03, 0x9e, 0xfc, 0xfd, 0xf7, 0xdf, 0xab, 0x38, 0x45, 0xbf, 0xe8,
+  0xb8, 0x6f, 0x88, 0x13, 0x4d, 0x88, 0xb9, 0xcd, 0x50, 0x4e, 0x41, 0x2b,
+  0x93, 0xe8, 0x85, 0x7f, 0xa5, 0xf3, 0x94, 0x46, 0x68, 0x63, 0xa5, 0x8e,
+  0x2f, 0x8f, 0x0c, 0x4b, 0x7a, 0x2c, 0x4c, 0x0c, 0x94, 0xb9, 0x09, 0x57,
+  0xa0, 0x0f, 0xb5, 0x08, 0x09, 0x9f, 0x77, 0x0e, 0x9b, 0x0e, 0xda, 0xa7,
+  0xc6, 0x4c, 0x0d, 0xd6, 0x8d, 0x04, 0xc5, 0x8a, 0x8c, 0xf3, 0xaa, 0x23,
+  0x0f, 0x5e, 0xa7, 0x1d, 0x35, 0xf0, 0xca, 0x27, 0x1d, 0x9f, 0x43, 0x2a,
+  0xbb, 0x81, 0x2d, 0x7b, 0x25, 0x82, 0x53, 0xfa, 0x73, 0xf2, 0x6a, 0x77,
+  0xa7, 0xfd, 0x09, 0xd6, 0x86, 0x22, 0x46, 0x5f, 0x7d, 0xe5, 0x0d, 0xe4,
+  0x8f, 0x3d, 0x9f, 0x4e, 0xe4, 0x69, 0x2d, 0x2a, 0x88, 0x22, 0x2b, 0xaf,
+  0x3a, 0x23, 0xbe, 0x5f, 0xf9, 0xff, 0xd7, 0x8c, 0x03, 0x01, 0x5f, 0xfa,
+  0x6c, 0xb1, 0x1c, 0xcd, 0xd2, 0xca, 0x80, 0xb7, 0x79, 0x82, 0x9f, 0xc3,
+  0xa4, 0x92, 0x38, 0xda, 0x40, 0x35, 0x5a, 0x91, 0xfc, 0xba, 0x57, 0x59,
+  0x36, 0x8a, 0xf3, 0xae, 0x1a, 0x51, 0x6d, 0x9c, 0xdd, 0xdd, 0xbd, 0x27,
+  0x4f, 0x9f, 0x75, 0x07, 0x2a, 0xa5, 0x81, 0x41, 0x40, 0x31, 0x4b, 0x55,
+  0x95, 0x91, 0x26, 0x62, 0x39, 0x9e, 0x61, 0x6d, 0xf9, 0x56, 0x67, 0x03,
+  0xf3, 0x30, 0xee, 0xee, 0x95, 0xf4, 0xf6, 0x07, 0xee, 0xe7, 0x15, 0xba,
+  0xf8, 0x43, 0x3a, 0x79, 0xe5, 0x66, 0xf8, 0x07, 0x9e, 0xcb, 0x2b, 0x9d,
+  0x04, 0xed, 0xab, 0xc5, 0xd2, 0x17, 0x5b, 0x1b, 0xad, 0x5c, 0xad, 0x75,
+  0x73, 0x6d, 0x13, 0x37, 0x30, 0x69, 0x78, 0xba, 0xfa, 0x13, 0xb1, 0xdc,
+  0x42, 0x56, 0xf5, 0x81, 0xe4, 0xdb, 0x0f, 0x7d, 0x6a, 0xa5, 0xcf, 0xad,
+  0xf4, 0x3d, 0xbb, 0x8e, 0x66, 0x9c, 0x38, 0xc2, 0x1b, 0xd1, 0xd3, 0x6c,
+  0x82, 0x29, 0x6c, 0x1d, 0x2a, 0x08, 0x64, 0x19, 0xfc, 0x48, 0x87, 0x5f,
+  0x9d, 0x74, 0xd5, 0x41, 0x2b, 0x8a, 0x5b, 0xaf, 0xcd, 0xb8, 0xe6, 0xa2,
+  0x26, 0x14, 0x85, 0x60, 0xc3, 0xe0, 0xc1, 0x63, 0xf6, 0x37, 0x72, 0xbf,
+  0x92, 0xfa, 0x43, 0x9d, 0xe9, 0x9d, 0x33, 0x65, 0x73, 0x5d, 0x8e, 0x4f,
+  0xc2, 0x66, 0x80, 0xea, 0x22, 0x8e, 0x47, 0x58, 0xaa, 0x17, 0x2e, 0x6b,
+  0xa0, 0xff, 0xda, 0x79, 0x03, 0x5c, 0x94, 0xba, 0x3e, 0x4a, 0x5f, 0x09,
+  0x37, 0x31, 0x06, 0xd1, 0x71, 0x25, 0xa8, 0x84, 0x12, 0x42, 0xde, 0x01,
+  0x5f, 0xc6, 0x28, 0xa9, 0x14, 0x36, 0x12, 0xb1, 0x90, 0xb9, 0xe7, 0x4b,
+  0x57, 0xb3, 0xe8, 0xf3, 0x08, 0xb8, 0xff, 0xf2, 0x96, 0xc6, 0xa1, 0x57,
+  0xea, 0xbb, 0xe2, 0x25, 0x55, 0x0e, 0x9c, 0xe7, 0x23, 0xf0, 0xda, 0xaa,
+  0x58, 0x20, 0x2d, 0xc8, 0x44, 0x47, 0x2b, 0x55, 0xff, 0xb9, 0x85, 0xee,
+  0x9f, 0x71, 0x08, 0x5e, 0xf2, 0x36, 0xe0, 0xeb, 0xcf, 0xbb, 0x62, 0xc2,
+  0x73, 0xef, 0xf2, 0x30, 0x6a, 0x9e, 0x15, 0x21, 0xd0, 0x70, 0x3e, 0xd9,
+  0x95, 0x83, 0x73, 0x11, 0x59, 0x8c, 0x93, 0x4c, 0xe7, 0x50, 0xa7, 0xd2,
+  0x64, 0x3a, 0xd1, 0xb2, 0x6a, 0x2a, 0x0b, 0xf5, 0xb4, 0xf1, 0x84, 0x33,
+  0x78, 0x59, 0x76, 0xec, 0x72, 0x00, 0x0e, 0xde, 0xeb, 0x3a, 0x74, 0x18,
+  0x16, 0xa9, 0x13, 0xb0, 0xbb, 0x3c, 0xb1, 0x92, 0x63, 0x1b, 0x9a, 0x5c,
+  0xe6, 0x65, 0xf9, 0x70, 0x62, 0x45, 0x20, 0x3a, 0xf8, 0x58, 0x7d, 0xc9,
+  0x41, 0x6e, 0x1c, 0x91, 0xd7, 0x9c, 0x08, 0xa3, 0x9d, 0xbe, 0xe2, 0xe5,
+  0xde, 0x1d, 0x5c, 0xa7, 0x57, 0xb2, 0x18, 0xc4, 0x22, 0xaf, 0x93, 0x6d,
+  0xfa, 0xb3, 0x47, 0x9f, 0xef, 0xb1, 0x4c, 0xc6, 0xbf, 0x3c, 0x81, 0xdf,
+  0x3e, 0xbc, 0xf9, 0x83, 0xb3, 0xe1, 0xce, 0x05, 0xff, 0x92, 0xba, 0x1b,
+  0x5f, 0x4d, 0xd2, 0x3a, 0x4a, 0x90, 0xb9, 0x02, 0x6f, 0x7a, 0x41, 0xb3,
+  0x17, 0x98, 0x9b, 0x01, 0xbc, 0x96, 0x41, 0x3a, 0x29, 0x7c, 0x98, 0x9b,
+  0x3a, 0x16, 0x55, 0x4c, 0x67, 0xa9, 0x3b, 0x55, 0x83, 0x09, 0x07, 0xda,
+  0xe2, 0x5e, 0x4d, 0xee, 0xb7, 0x7a, 0x61, 0xf0, 0x90, 0x55, 0xda, 0x74,
+  0xe5, 0x80, 0x91, 0x85, 0xc6, 0xdd, 0x6f, 0x6a, 0x6d, 0x2b, 0xc6, 0x72,
+  0xd0, 0x74, 0x19, 0x6c, 0x73, 0x5a, 0xdf, 0xc1, 0x6a, 0x79, 0x28, 0x09,
+  0xf8, 0x48, 0x8b, 0x72, 0x8b, 0xbb, 0x49, 0xa6, 0x05, 0x34, 0x75, 0x1e,
+  0xf4, 0x46, 0x14, 0xac, 0xbb, 0xa1, 0x64, 0xa0, 0xab, 0x2e, 0xd7, 0xab,
+  0xda, 0x86, 0x3f, 0x48, 0x78, 0xdb, 0xf1, 0x4c, 0x40, 0xe1, 0x41, 0xb6,
+  0xd3, 0xbe, 0xdc, 0x97, 0x2a, 0x04, 0xf5, 0x5f, 0x0f, 0xa2, 0x53, 0x84,
+  0xbe, 0x15, 0xb1, 0x64, 0x16, 0xdb, 0x9d, 0x6a, 0x14, 0x40, 0xe4, 0x22,
+  0x52, 0xf7, 0x86, 0x14, 0xea, 0xe2, 0x64, 0x4e, 0x23, 0x23, 0xe0, 0xd8,
+  0x79, 0x35, 0x53, 0x24, 0x0a, 0x95, 0x40, 0x7a, 0xb0, 0x42, 0xbb, 0xe7,
+  0x50, 0xb6, 0xcd, 0x95, 0x8d, 0x0e, 0x88, 0x34, 0x68, 0x44, 0x1c, 0xfa,
+  0x2a, 0x72, 0x06, 0xac, 0xdc, 0x11, 0xbe, 0xe4, 0x8c, 0x26, 0x62, 0x66,
+  0xd1, 0xd2, 0xbe, 0xe2, 0xc3, 0xa2, 0xd6, 0x40, 0x59, 0x3c, 0x77, 0x26,
+  0x9d, 0x0e, 0x34, 0xc5, 0x69, 0xe2, 0xd4, 0x69, 0x05, 0xe3, 0x15, 0x5c,
+  0xdc, 0x4c, 0xa1, 0x91, 0x44, 0xc0, 0xf0, 0xfe, 0x05, 0x1e, 0x24, 0x8f,
+  0x2b, 0xbe, 0xa3, 0x5f, 0xf8, 0x92, 0x1f, 0xe5, 0xb4, 0xd3, 0x49, 0x2e,
+  0xd7, 0x01, 0x7a, 0x05, 0x6e, 0x8a, 0x83, 0xbd, 0x7c, 0x73, 0x1a, 0x59,
+  0x86, 0xf6, 0x95, 0x17, 0x0e, 0x2d, 0x6a, 0x07, 0x53, 0x54, 0x5b, 0x88,
+  0x48, 0x40, 0xfa, 0x94, 0xdc, 0x6c, 0xb2, 0xb6, 0x9c, 0xe4, 0x15, 0xf1,
+  0xe2, 0x54, 0x8e, 0x69, 0xf0, 0x84, 0xbc, 0xca, 0xb4, 0x43, 0xa4, 0xd1,
+  0xe5, 0x25, 0xe8, 0xf6, 0xa2, 0x2e, 0x0f, 0x95, 0xbf, 0xe8, 0x62, 0x3d,
+  0xf1, 0x71, 0xb0, 0x7c, 0xdd, 0x41, 0xcb, 0xc9, 0xe3, 0x67, 0x5e, 0x7d,
+  0x51, 0x59, 0x25, 0x7c, 0x6e, 0x4d, 0xbd, 0x92, 0x68, 0xd9, 0x86, 0x94,
+  0x6d, 0xef, 0x06, 0xed, 0xbf, 0x3a, 0xa4, 0x56, 0xa4, 0x30, 0x9a, 0xec,
+  0x09, 0x04, 0x6a, 0xf7, 0x59, 0x8a, 0x54, 0x94, 0x46, 0x43, 0x1f, 0x3e,
+  0xb9, 0x97, 0xc6, 0x7e, 0x5c, 0x78, 0x90, 0x70, 0x34, 0x21, 0x01, 0xe3,
+  0xb6, 0xb4, 0x9b, 0xa9, 0x68, 0x7a, 0xf7, 0x19, 0xec, 0x0a, 0xe0, 0x33,
+  0xbb, 0x03, 0xa4, 0x26, 0x78, 0x28, 0x1d, 0xd7, 0x80, 0x53, 0xd7, 0x3b,
+  0x58, 0xd0, 0x8e, 0x99, 0x49, 0x9c, 0x12, 0x6f, 0xab, 0xdc, 0xc6, 0xaf,
+  0x16, 0xe9, 0x18, 0x75, 0x4e, 0x5f, 0x7d, 0x31, 0xc9, 0xae, 0x99, 0x5b,
+  0xf5, 0xe8, 0x62, 0xe5, 0x9f, 0x1d, 0x7e, 0x78, 0x4f, 0x3b, 0x95, 0x01,
+  0xe3, 0xac, 0x88, 0xdc, 0x6e, 0x7f, 0xaf, 0x09, 0x5f, 0xa2, 0x86, 0x27,
+  0xd9, 0x58, 0xdb, 0x76, 0x4d, 0xcb, 0x7e, 0x50, 0xfb, 0xee, 0x8b, 0xb0,
+  0x2f, 0x5b, 0x9c, 0x58, 0x5b, 0x96, 0x02, 0x75, 0xd3, 0xb4, 0x94, 0xeb,
+  0xdb, 0xe1, 0xaa, 0xc3, 0xa4, 0xc5, 0x35, 0x26, 0xe4, 0xae, 0x9a, 0x6a,
+  0xbc, 0x7c, 0xf7, 0x8b, 0xae, 0x84, 0x3a, 0x76, 0x5f, 0x76, 0xc1, 0xb5,
+  0x98, 0x17, 0x19, 0x8a, 0xae, 0x5e, 0x48, 0x5d, 0xb9, 0x09, 0xfb, 0x22,
+  0x2f, 0x68, 0xf1, 0xc0, 0x4a, 0x74, 0x0a, 0x33, 0x0c, 0x53, 0x1c, 0xc3,
+  0xc0, 0x1a, 0x18, 0x06, 0x7c, 0xd9, 0x3c, 0x46, 0xa6, 0x19, 0x95, 0xe2,
+  0x92, 0xd6, 0x8b, 0x16, 0xa2, 0x18, 0x12, 0x7d, 0x0b, 0x76, 0xb8, 0x8a,
+  0x61, 0x73, 0x39, 0x5f, 0x70, 0x5a, 0xd7, 0x18, 0x55, 0x75, 0xf5, 0x2c,
+  0x0d, 0xa2, 0x77, 0x73, 0xc1, 0xbd, 0x4b, 0x58, 0x3d, 0x0e, 0xfd, 0xe5,
+  0x3d, 0xe7, 0xf7, 0xa7, 0x85, 0xaa, 0xf8, 0x13, 0xc3, 0x01, 0x8b, 0x39,
+  0x44, 0xcc, 0xd6, 0xda, 0x2f, 0x5f, 0xad, 0x39, 0x47, 0x23, 0xa8, 0x59,
+  0x1a, 0x92, 0x80, 0x4b, 0xf8, 0x55, 0x06, 0xc4, 0xde, 0xb9, 0xe3, 0xd7,
+  0xc7, 0x17, 0x17, 0xc7, 0x17, 0xbc, 0xde, 0x07, 0x55, 0xfc, 0xfa, 0x1b,
+  0x8d, 0x8c, 0xf6, 0xc8, 0x6c, 0x16, 0x11, 0xd6, 0x2c, 0x6b, 0x2c, 0x9c,
+  0x50, 0xa1, 0x94, 0x36, 0x22, 0xf3, 0x73, 0x4b, 0x96, 0xbb, 0x18, 0x84,
+  0x61, 0x4d, 0x44, 0x3c, 0xa0, 0xb3, 0xdc, 0x4f, 0xf9, 0x5a, 0x11, 0x18,
+  0xfa, 0x50, 0x98, 0xd8, 0x88, 0xec, 0xd5, 0x5c, 0xeb, 0x8f, 0xe0, 0xaa,
+  0x36, 0xdd, 0x31, 0x90, 0x4b, 0x07, 0x1a, 0xc2, 0x95, 0xa8, 0xf7, 0xda,
+  0xd7, 0x16, 0xc7, 0x7c, 0xaf, 0xf8, 0x80, 0xb2, 0xaa, 0x84, 0x95, 0x28,
+  0xca, 0xe5, 0x22, 0x9d, 0x38, 0xe3, 0x2e, 0x7d, 0x4e, 0xf2, 0x5e, 0x24,
+  0x47, 0xbc, 0xb0, 0x11, 0xc3, 0x99, 0x68, 0xb6, 0x87, 0xd0, 0xb8, 0x26,
+  0x49, 0xe5, 0xde, 0x34, 0x86, 0x98, 0x7f, 0x29, 0x5a, 0xa9, 0x98, 0xd9,
+  0xb5, 0x8c, 0x2d, 0x25, 0xfc, 0x04, 0x46, 0x45, 0x66, 0x15, 0x16, 0x2b,
+  0x10, 0xb2, 0x05, 0x36, 0x5d, 0xcd, 0x7c, 0x20, 0xa4, 0x2f, 0x28, 0x78,
+  0x81, 0x44, 0x8d, 0x7c, 0x3f, 0xfa, 0xb1, 0x48, 0xc7, 0x3f, 0xf9, 0x9b,
+  0x03, 0x21, 0xcc, 0x3e, 0x56, 0x51, 0x62, 0x0b, 0x68, 0xf2, 0xba, 0x50,
+  0xaa, 0xfb, 0x4a, 0x82, 0xd4, 0xbb, 0xe1, 0xf1, 0x45, 0x74, 0xf0, 0x15,
+  0xa3, 0x3b, 0xfd, 0x6b, 0xbb, 0xcb, 0xcf, 0xe9, 0xcd, 0x60, 0x7b, 0xab,
+  0x29, 0xb9, 0x89, 0x19, 0xbe, 0xb5, 0x6e, 0x42, 0xb8, 0xb1, 0xa9, 0x55,
+  0x8f, 0x09, 0x72, 0x27, 0x2b, 0x5b, 0xb8, 0x11, 0x7d, 0x70, 0x13, 0x3f,
+  0x66, 0x0b, 0xf9, 0x80, 0x85, 0x9b, 0x28, 0xb9, 0xfc, 0xe2, 0x80, 0xb0,
+  0xad, 0xd1, 0xd1, 0x17, 0x0d, 0x35, 0x53, 0x36, 0xe9, 0x20, 0xea, 0xbe,
+  0xc9, 0x7e, 0x26, 0x41, 0x20, 0xde, 0x7e, 0x32, 0xd8, 0x89, 0x36, 0xbf,
+  0x4b, 0xe7, 0x2f, 0x9e, 0xfd, 0x39, 0x3a, 0xd9, 0xea, 0x56, 0x82, 0x3c,
+  0x05, 0xc6, 0x79, 0x14, 0xcf, 0x6f, 0xdd, 0x8e, 0x9d, 0xe1, 0x54, 0x4b,
+  0xe8, 0x8a, 0x81, 0x81, 0x4a, 0x65, 0xc2, 0xb5, 0x2d, 0x22, 0xd1, 0x48,
+  0xe3, 0x45, 0xa3, 0x6f, 0x1d, 0x20, 0x1d, 0xeb, 0xf4, 0xf4, 0xd4, 0x84,
+  0x97, 0xee, 0xc5, 0xb3, 0x46, 0x13, 0x4f, 0x5d, 0x1b, 0xef, 0xa4, 0x8d,
+  0x5f, 0xd8, 0xc4, 0xde, 0x60, 0x67, 0x2f, 0xda, 0x3c, 0x1b, 0x6e, 0xef,
+  0xb9, 0x16, 0x9a, 0x4d, 0xec, 0xa1, 0x09, 0x7e, 0xa8, 0xfa, 0xf2, 0x53,
+  0xee, 0xff, 0xc7, 0x64, 0xfe, 0x53, 0xb4, 0xf9, 0xfd, 0xee, 0x2e, 0x35,
+  0xf0, 0xe7, 0xe8, 0xe0, 0xe4, 0xfb, 0xe8, 0xe9, 0x80, 0x1a, 0x7b, 0x1b,
+  0xdf, 0x69, 0x73, 0x8a, 0xe1, 0x34, 0x44, 0x23, 0xf4, 0x7d, 0xa3, 0x8d,
+  0x67, 0xb5, 0x36, 0x4e, 0x49, 0x0f, 0x7c, 0xa0, 0x2b, 0x65, 0x67, 0xf0,
+  0x64, 0x2f, 0x4a, 0x9f, 0x7d, 0xf6, 0xdc, 0x1a, 0xd2, 0x36, 0xf0, 0x7d,
+  0xd5, 0x36, 0x29, 0x59, 0xbe, 0x24, 0xe6, 0x1c, 0x3f, 0x10, 0x33, 0x03,
+  0x87, 0x00, 0x74, 0xea, 0x4d, 0x9c, 0x4f, 0x94, 0xdc, 0xb8, 0xa8, 0x0a,
+  0xed, 0x94, 0xa2, 0x83, 0x25, 0x30, 0x52, 0xd2, 0xa5, 0xb9, 0xdf, 0x18,
+  0x0e, 0xeb, 0xa2, 0xf6, 0xe8, 0x9f, 0xa3, 0x37, 0xc3, 0x93, 0x63, 0x9a,
+  0xd1, 0x0e, 0x0d, 0xcd, 0xaf, 0xa1, 0x0c, 0x08, 0x5f, 0x61, 0x71, 0x69,
+  0x55, 0x37, 0x38, 0xef, 0x07, 0x6d, 0x98, 0x8c, 0x2d, 0x11, 0x5d, 0x0c,
+  0xdb, 0x98, 0x15, 0x05, 0xfa, 0x7d, 0x47, 0xb4, 0xd6, 0x3f, 0xb8, 0x66,
+  0x95, 0x41, 0xae, 0x59, 0x74, 0xfd, 0x4d, 0x36, 0xa7, 0x63, 0x92, 0x67,
+  0x39, 0x87, 0x79, 0x74, 0x2b, 0x92, 0xc2, 0x37, 0x47, 0xc7, 0x92, 0xa7,
+  0xf6, 0x26, 0x9e, 0x13, 0x8b, 0x64, 0x44, 0x87, 0xe2, 0x96, 0xbd, 0xee,
+  0xe2, 0xbc, 0x91, 0xf7, 0x4f, 0x57, 0xf3, 0x07, 0xda, 0xc7, 0x4f, 0x07,
+  0xbb, 0x8c, 0x6a, 0xc7, 0x5a, 0xee, 0xeb, 0x37, 0xf4, 0xf7, 0xee, 0xd3,
+  0x6e, 0xc4, 0x5f, 0x55, 0x35, 0x76, 0x3b, 0xaf, 0x1b, 0x87, 0x67, 0x67,
+  0xdf, 0x9c, 0x48, 0x00, 0xc6, 0xa1, 0x1a, 0x51, 0x59, 0xb0, 0x72, 0x5a,
+  0xb0, 0x30, 0x57, 0xd2, 0xd6, 0x7c, 0xfc, 0x38, 0x5c, 0x6f, 0xb7, 0x49,
+  0xb2, 0x00, 0x0c, 0x5d, 0x8d, 0x23, 0x94, 0xca, 0xa2, 0x65, 0x64, 0x2c,
+  0x48, 0xa7, 0x93, 0x2a, 0x1a, 0x45, 0xc1, 0x08, 0x61, 0x66, 0xb0, 0x1d,
+  0xad, 0x5c, 0x2e, 0x6c, 0xec, 0x8b, 0x40, 0x62, 0x88, 0x2e, 0x8a, 0xd5,
+  0x0c, 0xce, 0x52, 0x05, 0x9e, 0x5e, 0x54, 0x5d, 0xb7, 0x3b, 0x4c, 0xca,
+  0xbe, 0x0c, 0x7a, 0x5f, 0x6d, 0xb4, 0x5d, 0x35, 0x38, 0x39, 0x73, 0xd9,
+  0x42, 0x31, 0x69, 0x61, 0x28, 0x5e, 0x2d, 0xb8, 0x58, 0xe5, 0xd4, 0xd5,
+  0x13, 0x46, 0x31, 0xd6, 0x04, 0xb1, 0x44, 0x6f, 0x0f, 0xde, 0x1c, 0xbf,
+  0xfa, 0xf6, 0xe0, 0xf4, 0xdd, 0x31, 0xbd, 0xc2, 0xa8, 0xac, 0x9b, 0x3e,
+  0xde, 0x08, 0x63, 0x9c, 0xa5, 0xe3, 0x6c, 0xca, 0x3e, 0xa5, 0xee, 0x9f,
+  0xbb, 0x1b, 0x12, 0x5e, 0x19, 0x75, 0xf8, 0xad, 0x5d, 0x79, 0x8d, 0xe8,
+  0x82, 0xff, 0xda, 0x93, 0xbf, 0xf6, 0xfe, 0xdc, 0xd9, 0xaa, 0x4c, 0xba,
+  0xa1, 0x15, 0x33, 0xbd, 0xdc, 0x4b, 0x5c, 0x1d, 0xaa, 0xa4, 0x20, 0xa6,
+  0x57, 0x56, 0xa5, 0x63, 0x1e, 0x19, 0xbb, 0xda, 0xf8, 0xd9, 0xcd, 0xd1,
+  0x2a, 0xd4, 0xb9, 0x3b, 0xfc, 0xd2, 0x2b, 0x08, 0x17, 0x1d, 0xce, 0x79,
+  0x52, 0x71, 0x03, 0xce, 0x6a, 0x6e, 0xc3, 0x9a, 0x48, 0x1e, 0x16, 0x1c,
+  0xbe, 0xb5, 0xd9, 0x91, 0x5f, 0x5e, 0x1d, 0x1d, 0x5c, 0x1e, 0xf3, 0x0b,
+  0xd6, 0xbd, 0x95, 0xb5, 0xb6, 0xc8, 0x5b, 0x1e, 0xcf, 0x66, 0x47, 0x3e,
+  0x7c, 0xc5, 0x13, 0xea, 0x48, 0x8d, 0x01, 0x01, 0x58, 0xac, 0x8d, 0x2b,
+  0x9b, 0x6b, 0x10, 0x63, 0x90, 0xa2, 0x57, 0x58, 0x9c, 0xc8, 0x66, 0x47,
+  0xbe, 0xeb, 0x38, 0x7b, 0xad, 0x16, 0x6e, 0x55, 0xe7, 0xe4, 0x04, 0x71,
+  0xb9, 0x8d, 0xf4, 0x20, 0xa9, 0x95, 0xe4, 0xf7, 0x47, 0x5d, 0x13, 0x62,
+  0x61, 0x0a, 0x40, 0xe6, 0xdc, 0xc6, 0x6b, 0x46, 0x21, 0xdb, 0x94, 0xb2,
+  0x6c, 0x77, 0xef, 0xc9, 0x9f, 0xb1, 0x9e, 0xaf, 0x3a, 0xdb, 0x74, 0x37,
+  0x74, 0xfe, 0xcc, 0x5d, 0xa7, 0x65, 0x50, 0x6e, 0x45, 0xbb, 0x61, 0x5d,
+  0x4a, 0x29, 0x4a, 0x82, 0x54, 0x78, 0xd7, 0x61, 0x0b, 0x93, 0x79, 0x61,
+  0x41, 0xef, 0x25, 0x7b, 0xc0, 0x92, 0xcc, 0xcd, 0x7d, 0x8f, 0xfd, 0x42,
+  0xc9, 0xc0, 0xb9, 0x83, 0x26, 0x95, 0xee, 0xc2, 0xfb, 0xa3, 0x27, 0xef,
+  0xca, 0x1c, 0xb5, 0x08, 0x0c, 0xf7, 0x39, 0x5b, 0x59, 0x82, 0x01, 0xfa,
+  0x82, 0x3c, 0x2e, 0x7b, 0xd6, 0x90, 0x8a, 0x47, 0x6a, 0xcb, 0x31, 0x45,
+  0x04, 0x22, 0x01, 0xb1, 0x96, 0x15, 0xe4, 0x24, 0xf1, 0xf7, 0x07, 0x61,
+  0x0e, 0x76, 0x67, 0xc7, 0x23, 0xce, 0x94, 0x73, 0xd1, 0xd4, 0x81, 0x16,
+  0xee, 0x96, 0xde, 0x8e, 0x5f, 0x1a, 0x00, 0x0a, 0xf0, 0x45, 0x29, 0x6b,
+  0x59, 0x38, 0x9b, 0x11, 0x7c, 0x8b, 0xfa, 0x6c, 0x75, 0x9f, 0x6a, 0x79,
+  0x0a, 0x98, 0x86, 0xa8, 0xf0, 0xa2, 0x1b, 0x13, 0xab, 0x99, 0x27, 0xf9,
+  0xa3, 0x21, 0x0e, 0x2d, 0xae, 0x27, 0x4c, 0x31, 0x48, 0x73, 0xe1, 0x77,
+  0x06, 0x83, 0x81, 0x2f, 0x03, 0xc2, 0xdb, 0xa2, 0x1e, 0x27, 0x20, 0x8a,
+  0x07, 0xa8, 0x67, 0x58, 0xe3, 0x4d, 0x08, 0xf2, 0x10, 0xa6, 0xb7, 0x34,
+  0xdc, 0x45, 0xad, 0x11, 0xee, 0x68, 0x04, 0x36, 0x8d, 0xae, 0x76, 0xdb,
+  0xb5, 0x22, 0x03, 0xb7, 0x6d, 0x9b, 0xf0, 0xc8, 0xd8, 0xc4, 0xd6, 0x58,
+  0xc4, 0x48, 0xcd, 0x77, 0x7c, 0x2a, 0x73, 0x6b, 0xc1, 0x14, 0xcc, 0xe9,
+  0xfa, 0x52, 0x03, 0x15, 0x5b, 0x22, 0x8b, 0xa6, 0x43, 0xd1, 0x02, 0x37,
+  0xcc, 0xe4, 0xb2, 0x7b, 0x64, 0x72, 0x22, 0x5f, 0x94, 0xa3, 0x3f, 0xe6,
+  0x62, 0x1a, 0xb0, 0x1b, 0xc4, 0x61, 0xfe, 0x5a, 0x3b, 0x13, 0x31, 0xcd,
+  0xb2, 0xbe, 0x0c, 0xb9, 0x5f, 0xb3, 0x5f, 0x34, 0xc7, 0xbb, 0x88, 0x15,
+  0x1b, 0x8b, 0xc4, 0xb6, 0x6c, 0x06, 0x27, 0x97, 0x4e, 0xde, 0x9b, 0x49,
+  0x38, 0xc6, 0xab, 0x2f, 0x59, 0xd2, 0x96, 0xa0, 0x62, 0xdc, 0x43, 0xf3,
+  0x64, 0x1f, 0xf3, 0x8e, 0x8f, 0xad, 0x45, 0xe7, 0x1a, 0xaf, 0xad, 0x8d,
+  0xbf, 0x95, 0xab, 0xac, 0x8b, 0x56, 0x54, 0xac, 0xc9, 0x10, 0x94, 0x03,
+  0xbe, 0x17, 0xc5, 0xf7, 0x5c, 0x8d, 0x86, 0x68, 0x50, 0xdc, 0x64, 0x62,
+  0x91, 0x39, 0x0d, 0xec, 0x8a, 0x6e, 0x86, 0x56, 0xee, 0x39, 0xf6, 0xf5,
+  0x9e, 0x0d, 0x10, 0x56, 0x40, 0xde, 0xcc, 0x80, 0x97, 0xa2, 0x9c, 0x08,
+  0x83, 0x72, 0xa9, 0xa0, 0x6e, 0xaa, 0x39, 0x8f, 0x9c, 0x58, 0xf4, 0x50,
+  0xe9, 0x26, 0x45, 0x34, 0x20, 0xdb, 0x38, 0x24, 0x8a, 0xc2, 0x56, 0x4b,
+  0x6a, 0x7d, 0x5b, 0x27, 0xce, 0x1b, 0x0d, 0x73, 0x13, 0xcb, 0xd3, 0xf3,
+  0x6c, 0xde, 0x77, 0xf5, 0x85, 0x5c, 0xc4, 0x55, 0x9e, 0x5e, 0x5f, 0x8b,
+  0xc6, 0x16, 0xd5, 0xa7, 0xd6, 0x4e, 0x64, 0xa7, 0xbc, 0x2a, 0x1c, 0xb2,
+  0xb9, 0x5a, 0xb7, 0x9a, 0x97, 0xae, 0x8e, 0xa9, 0x5a, 0x5c, 0x2a, 0xc4,
+  0x6c, 0x1e, 0x48, 0xd9, 0xb7, 0x12, 0x75, 0x60, 0x90, 0x66, 0xc9, 0x66,
+  0xaf, 0xaa, 0xc7, 0xf8, 0xec, 0x62, 0x03, 0xe5, 0xed, 0xe7, 0x3e, 0xab,
+  0xd4, 0x36, 0x1d, 0xa0, 0x32, 0x3e, 0xde, 0x64, 0xc2, 0x76, 0xe5, 0x19,
+  0x5f, 0xc5, 0xf7, 0x2e, 0xd8, 0x49, 0x50, 0x76, 0x47, 0xb1, 0xd7, 0xb8,
+  0x36, 0xa2, 0x8a, 0x75, 0xb7, 0x40, 0xdd, 0x6a, 0xe5, 0x43, 0xd9, 0x5d,
+  0xe2, 0x91, 0x8d, 0xbc, 0x81, 0xd1, 0x83, 0xd1, 0xe9, 0xe9, 0x77, 0xcc,
+  0xa4, 0xe6, 0xce, 0x75, 0xfc, 0x0a, 0x93, 0xac, 0xad, 0xca, 0x20, 0x0a,
+  0x9a, 0x14, 0x33, 0x49, 0x16, 0xb2, 0x78, 0x19, 0x9b, 0x7a, 0xa9, 0xad,
+  0x45, 0x8d, 0xe5, 0x07, 0xda, 0x7e, 0xa0, 0x9a, 0x08, 0x8e, 0xac, 0x52,
+  0x55, 0xe1, 0x22, 0xe3, 0xbc, 0xb7, 0xd7, 0x66, 0xd9, 0x71, 0x9b, 0xd4,
+  0x41, 0xca, 0xc9, 0x48, 0x89, 0x00, 0x34, 0xc0, 0x02, 0x9d, 0x73, 0xd8,
+  0x1f, 0x4c, 0x63, 0x0e, 0x59, 0xc9, 0x24, 0x16, 0x00, 0x5b, 0x06, 0xa2,
+  0x86, 0x21, 0xad, 0xc6, 0x53, 0x1b, 0xc7, 0xcf, 0xc5, 0x66, 0x08, 0xad,
+  0x01, 0x96, 0x8e, 0x9b, 0x21, 0x2a, 0x41, 0x50, 0xee, 0xd8, 0x98, 0xfb,
+  0xe3, 0xe9, 0x97, 0xa3, 0xca, 0x19, 0xfd, 0xd0, 0x91, 0x3d, 0xbf, 0x38,
+  0xfb, 0xea, 0xe2, 0x78, 0x38, 0x8c, 0xde, 0x1c, 0x5f, 0x8a, 0xca, 0x7f,
+  0x29, 0x71, 0x70, 0x02, 0x4e, 0x0c, 0x37, 0x83, 0x21, 0x24, 0x58, 0xac,
+  0x89, 0xd9, 0x13, 0x80, 0xa6, 0x9a, 0xb1, 0x0b, 0x0d, 0xa2, 0x1c, 0xd4,
+  0xf9, 0xa9, 0x86, 0xcf, 0xdd, 0xc0, 0xd0, 0x8f, 0x60, 0x26, 0x78, 0x22,
+  0x9d, 0xdd, 0xdc, 0x5b, 0x53, 0x21, 0x23, 0x4b, 0x78, 0xd3, 0x8d, 0x71,
+  0x2e, 0x6f, 0x3d, 0xe7, 0xdb, 0x9b, 0x7e, 0x62, 0x7a, 0xbf, 0x8f, 0x2e,
+  0xad, 0x58, 0xf7, 0xef, 0x49, 0x0d, 0x56, 0xfa, 0xf8, 0x7d, 0xf4, 0x3d,
+  0xb5, 0x39, 0xa1, 0x55, 0xd7, 0x02, 0x8c, 0x43, 0x14, 0xd9, 0xf0, 0x85,
+  0x4c, 0x50, 0x02, 0x22, 0x2c, 0xae, 0xb3, 0xcc, 0xf3, 0x0f, 0x14, 0xfc,
+  0x45, 0xc2, 0xbc, 0x80, 0x0a, 0x68, 0x30, 0x9d, 0xeb, 0x99, 0xdf, 0x06,
+  0x50, 0xe6, 0x69, 0x72, 0x55, 0x42, 0x20, 0xe1, 0xee, 0xa8, 0xb9, 0x1d,
+  0x86, 0x2f, 0xdc, 0x7d, 0xc3, 0x1f, 0xed, 0x44, 0x4f, 0x3e, 0x7b, 0xbe,
+  0xf3, 0x99, 0xfc, 0x6a, 0xff, 0xbe, 0x78, 0xba, 0xa3, 0x30, 0xa0, 0xf4,
+  0xd7, 0xd3, 0xfd, 0xa7, 0xbb, 0xfb, 0x0c, 0x4f, 0xb4, 0xb3, 0xbf, 0x43,
+  0xff, 0xff, 0x54, 0x3f, 0x61, 0x0c, 0xa6, 0x17, 0x7b, 0x9f, 0x7d, 0x8a,
+  0x30, 0x18, 0xa6, 0x8f, 0x29, 0x75, 0xd2, 0x2f, 0xb3, 0x3e, 0x30, 0x1c,
+  0x20, 0x04, 0xfd, 0xbe, 0x6a, 0x90, 0x64, 0xbf, 0x3a, 0x17, 0x52, 0xe4,
+  0x89, 0xbb, 0xf2, 0xcc, 0x66, 0x5c, 0x95, 0x34, 0xfe, 0xb0, 0x84, 0xac,
+  0x9b, 0x86, 0xbe, 0x2d, 0x55, 0x3c, 0x01, 0x8a, 0x52, 0x79, 0x87, 0x44,
+  0x46, 0xc9, 0xa1, 0x0a, 0x5f, 0xfe, 0x25, 0x5d, 0x5b, 0xae, 0xe1, 0x06,
+  0x50, 0x55, 0x74, 0xab, 0xf4, 0xbd, 0xb1, 0x2c, 0x21, 0xd1, 0x48, 0x50,
+  0x9a, 0xb4, 0x56, 0x48, 0xf4, 0x97, 0xf6, 0x27, 0x06, 0x2c, 0x7e, 0x4b,
+  0xa9, 0x21, 0x6a, 0xf6, 0x66, 0x15, 0x55, 0xdb, 0xfa, 0xaa, 0x10, 0xcf,
+  0x86, 0xdf, 0x7e, 0xbf, 0x52, 0x41, 0xe5, 0x51, 0x87, 0x29, 0x22, 0xf5,
+  0x5c, 0x5a, 0xa6, 0xdc, 0x68, 0xee, 0xdd, 0x22, 0x6c, 0xef, 0x63, 0x9a,
+  0xf3, 0x33, 0x02, 0x05, 0xbb, 0x9d, 0xeb, 0x07, 0x9b, 0x93, 0x4a, 0x44,
+  0x9b, 0x2b, 0x16, 0x6a, 0xb8, 0x58, 0xae, 0xa2, 0x20, 0x5e, 0x75, 0x24,
+  0xdb, 0x97, 0x37, 0x54, 0xfc, 0x2c, 0x90, 0x19, 0x24, 0x82, 0xc2, 0x5d,
+  0x86, 0xdb, 0x5e, 0x9e, 0x37, 0xca, 0x6e, 0x74, 0xc5, 0xd4, 0x18, 0xf4,
+  0xa7, 0x7d, 0xe0, 0x3c, 0xb9, 0x43, 0xf7, 0xe8, 0xd4, 0x7c, 0x70, 0xbb,
+  0xab, 0x66, 0xb3, 0xe9, 0x82, 0xc5, 0xdb, 0x8e, 0xa4, 0x7f, 0x0e, 0xf1,
+  0xe3, 0xae, 0xb9, 0xf0, 0x22, 0x42, 0x29, 0x23, 0x45, 0x32, 0x66, 0xb8,
+  0x2d, 0x06, 0xa7, 0xdd, 0x32, 0x16, 0xd6, 0xff, 0xc4, 0xc5, 0x6b, 0xe1,
+  0x5e, 0x53, 0x40, 0xf6, 0x58, 0x28, 0x7f, 0x1a, 0xa6, 0x95, 0x55, 0xa0,
+  0xd8, 0x43, 0x10, 0xd8, 0x0d, 0xa9, 0x2d, 0x4c, 0x37, 0x2d, 0xdd, 0x1c,
+  0x41, 0xd9, 0xae, 0xdf, 0x6d, 0x6c, 0x0c, 0xcf, 0x8f, 0x8f, 0x8f, 0xa2,
+  0xd3, 0x93, 0x37, 0x27, 0x97, 0x81, 0x40, 0xee, 0x2e, 0x12, 0x33, 0xb8,
+  0x16, 0x56, 0xbb, 0xa5, 0xba, 0x1c, 0x1e, 0x75, 0x50, 0xfa, 0xb3, 0xab,
+  0x7c, 0x96, 0x68, 0x1a, 0xc3, 0xb4, 0xfe, 0x1e, 0x54, 0x6f, 0x00, 0x55,
+  0xa0, 0xbe, 0x86, 0x17, 0xe8, 0x0a, 0x12, 0x6e, 0xc6, 0xae, 0xca, 0x4f,
+  0xff, 0x07, 0x0d, 0xd0, 0xa8, 0x4a, 0x4e, 0x0a, 0x9e, 0xe6, 0x8a, 0x38,
+  0x69, 0x50, 0x6b, 0x6d, 0x54, 0xbc, 0xb6, 0xc9, 0x54, 0x0b, 0x89, 0x3a,
+  0x0b, 0x1d, 0xe2, 0xf5, 0xee, 0x13, 0x24, 0xc4, 0xce, 0x52, 0x81, 0x70,
+  0x0e, 0x83, 0x89, 0x5d, 0xd5, 0x94, 0xcb, 0x4c, 0xf8, 0x78, 0xd8, 0x63,
+  0x58, 0xd0, 0xca, 0x22, 0x69, 0xad, 0xaf, 0xb0, 0x54, 0xd2, 0x93, 0x1d,
+  0x97, 0x2f, 0xb0, 0x00, 0xcf, 0x51, 0x51, 0x9f, 0x3b, 0xdb, 0x8d, 0x48,
+  0x1e, 0x59, 0xb2, 0x54, 0x9f, 0x2f, 0xe7, 0x8d, 0xeb, 0xee, 0x07, 0x79,
+  0x97, 0xe6, 0xff, 0x7c, 0x07, 0xd7, 0xdb, 0x55, 0x9c, 0xf7, 0x49, 0xf2,
+  0x5a, 0xf5, 0xcd, 0xb8, 0x2a, 0x14, 0xa1, 0x81, 0xc6, 0x62, 0xfa, 0x49,
+  0x7c, 0x8d, 0x8f, 0x9a, 0xb4, 0xe8, 0x93, 0x3e, 0x32, 0xb8, 0x24, 0xa7,
+  0x7a, 0x00, 0x78, 0xea, 0xbd, 0x08, 0x15, 0xaa, 0x5d, 0xe8, 0xb3, 0xc8,
+  0x3a, 0x1e, 0x58, 0xcf, 0x76, 0xd1, 0xf3, 0x28, 0x54, 0x3d, 0xcd, 0xd4,
+  0x39, 0x94, 0xf2, 0x34, 0x75, 0x2e, 0x4d, 0xd1, 0x7a, 0x16, 0xed, 0x7e,
+  0xc6, 0xf3, 0xf8, 0xb8, 0xf9, 0x70, 0x2d, 0x0b, 0x8b, 0x62, 0x13, 0x75,
+  0x21, 0xf3, 0xbb, 0x29, 0x79, 0x09, 0x40, 0x2b, 0x97, 0xd5, 0xb5, 0x68,
+  0x58, 0x44, 0xeb, 0xb1, 0x7e, 0xa2, 0xae, 0x74, 0x58, 0xa6, 0xe0, 0xdb,
+  0x16, 0x09, 0x09, 0x55, 0x1b, 0x65, 0x5d, 0xd8, 0xd6, 0x2a, 0xd1, 0x7a,
+  0xdd, 0xdc, 0x67, 0xcc, 0x61, 0x19, 0xd8, 0x3a, 0x42, 0xb4, 0x76, 0x9f,
+  0x4e, 0x20, 0x55, 0x9b, 0x11, 0x00, 0xf4, 0x27, 0xc4, 0x27, 0x41, 0xd2,
+  0x70, 0x5d, 0xc2, 0xe7, 0xe9, 0x46, 0xa6, 0x02, 0x0c, 0x2f, 0x6b, 0x06,
+  0xe3, 0xc2, 0x26, 0xe4, 0x07, 0x2e, 0xc3, 0x52, 0x75, 0x0d, 0x30, 0x6b,
+  0xee, 0xf8, 0x5e, 0x38, 0x70, 0xbf, 0x2c, 0xa7, 0x66, 0x57, 0xf0, 0x75,
+  0x16, 0xaa, 0x73, 0xe6, 0x64, 0xfe, 0x60, 0xda, 0xbb, 0x3b, 0x24, 0xbf,
+  0x4e, 0xb3, 0x7a, 0x41, 0xb6, 0xa6, 0x52, 0x8a, 0x69, 0xf5, 0xb1, 0x3a,
+  0xbb, 0x3b, 0xdf, 0xac, 0x5f, 0x75, 0x80, 0xb4, 0x3e, 0xfa, 0xf2, 0xde,
+  0xd3, 0x47, 0x36, 0xed, 0x2c, 0x77, 0x15, 0x76, 0x3c, 0xd0, 0x88, 0x77,
+  0xc0, 0x34, 0xb6, 0x8d, 0x08, 0x3f, 0xb9, 0x8e, 0x51, 0x82, 0xfd, 0x91,
+  0xd1, 0x5b, 0x82, 0x46, 0x6d, 0x28, 0x6f, 0x34, 0x1c, 0x5b, 0xbe, 0x2c,
+  0xd8, 0x42, 0xb6, 0x00, 0xdc, 0x90, 0x57, 0x63, 0x5d, 0x4a, 0xa7, 0xe4,
+  0x78, 0x07, 0x6f, 0x0b, 0xe7, 0xec, 0x55, 0x99, 0x84, 0x51, 0x4f, 0x9e,
+  0x5c, 0x2f, 0x25, 0x89, 0x3a, 0x13, 0xb5, 0x9f, 0xf1, 0x18, 0xf5, 0xbc,
+  0x12, 0x6f, 0xe6, 0xc8, 0x21, 0xa1, 0x27, 0x30, 0xde, 0x71, 0x6c, 0x22,
+  0xab, 0x88, 0x1c, 0xf5, 0x8b, 0x81, 0xed, 0xb3, 0x63, 0x76, 0x86, 0x81,
+  0x1b, 0xc8, 0xf1, 0x0a, 0x4b, 0x3d, 0x49, 0x15, 0xa4, 0x01, 0x32, 0x14,
+  0x85, 0x50, 0x1c, 0xb3, 0xe7, 0xbc, 0x2e, 0x76, 0x8a, 0x95, 0xe2, 0x21,
+  0x40, 0x03, 0x3d, 0xa5, 0x5a, 0xb4, 0xe4, 0xba, 0x62, 0x8e, 0x5f, 0x58,
+  0x0a, 0xaa, 0xc0, 0xc4, 0xb2, 0xdd, 0xff, 0xf0, 0xec, 0xed, 0xeb, 0x93,
+  0xaf, 0x1c, 0xb0, 0x85, 0x30, 0xf1, 0x65, 0x99, 0xb1, 0x5d, 0x53, 0x8c,
+  0x86, 0xae, 0x08, 0x97, 0x73, 0x78, 0x6b, 0xa5, 0x0d, 0x0d, 0xbb, 0x25,
+  0xf6, 0xf4, 0x3e, 0xfc, 0x00, 0x0c, 0x64, 0xfe, 0x84, 0x6d, 0xe5, 0x92,
+  0x3d, 0x5e, 0x6c, 0x79, 0xcb, 0x43, 0x0d, 0x7a, 0x47, 0xd2, 0x33, 0xe2,
+  0xbc, 0x5c, 0x2e, 0x5c, 0xf4, 0x60, 0x50, 0xa9, 0x43, 0x01, 0x24, 0xf9,
+  0x56, 0xe0, 0x8a, 0xd1, 0xcb, 0x85, 0xb0, 0x26, 0x89, 0x7a, 0xac, 0x1a,
+  0x76, 0xe5, 0x0e, 0x60, 0xcb, 0x82, 0xa6, 0xdb, 0xeb, 0x05, 0xd0, 0x08,
+  0xc9, 0x99, 0x32, 0x1e, 0x56, 0x18, 0x28, 0x6f, 0xae, 0x1c, 0x2e, 0xd3,
+  0x25, 0x13, 0xb5, 0x22, 0x4b, 0x33, 0xd1, 0xcc, 0x78, 0xde, 0x52, 0xbb,
+  0xf5, 0x07, 0x57, 0xc5, 0x56, 0xc3, 0x7e, 0xbd, 0xab, 0xa8, 0x70, 0x25,
+  0x49, 0x5d, 0x68, 0x92, 0x0c, 0x16, 0x21, 0x84, 0x45, 0x4f, 0x5c, 0x9e,
+  0xf8, 0xe4, 0x15, 0x7b, 0x68, 0xf6, 0x07, 0x28, 0x74, 0x89, 0xf8, 0x9d,
+  0xb0, 0x06, 0x95, 0x72, 0x49, 0x0f, 0x76, 0x7a, 0x72, 0x15, 0xa4, 0x94,
+  0x49, 0x88, 0xa0, 0x11, 0x9d, 0x98, 0x8b, 0xd9, 0xd6, 0xd2, 0xfd, 0xa4,
+  0xdb, 0x2f, 0x56, 0xb3, 0x51, 0x36, 0xb5, 0x8c, 0x0b, 0x97, 0x54, 0x6d,
+  0x0f, 0x95, 0x34, 0x0d, 0xc4, 0x0c, 0x4a, 0xd1, 0x41, 0x74, 0x1d, 0x58,
+  0x28, 0x7d, 0x98, 0x94, 0x1f, 0xbf, 0xa0, 0xeb, 0xc3, 0x53, 0x64, 0xb3,
+  0x70, 0x19, 0xfe, 0xc9, 0x7c, 0x3c, 0xcd, 0x94, 0xaa, 0x39, 0x31, 0x16,
+  0x2b, 0x55, 0x9d, 0x3a, 0xfb, 0xfe, 0xb2, 0x25, 0x1b, 0x3b, 0x80, 0x9c,
+  0x4d, 0xe2, 0x0e, 0x1b, 0x87, 0xbf, 0xb3, 0x09, 0xf2, 0xdb, 0xf2, 0x85,
+  0x86, 0xe3, 0x1b, 0x34, 0x02, 0x35, 0x24, 0x50, 0xdb, 0x34, 0xd4, 0xbf,
+  0x88, 0x6d, 0x51, 0x3c, 0x80, 0x3f, 0x58, 0xe7, 0xf6, 0x68, 0x6d, 0xe9,
+  0x89, 0x9e, 0xe2, 0xfc, 0x5a, 0x31, 0x87, 0xd4, 0xa9, 0x06, 0x25, 0xd1,
+  0x01, 0xa0, 0x3b, 0x1b, 0x25, 0x0b, 0x25, 0x2e, 0x5c, 0x06, 0xe2, 0xd3,
+  0x52, 0x92, 0xfa, 0x34, 0xfd, 0x49, 0xac, 0x93, 0x8e, 0x10, 0x03, 0x8e,
+  0xf3, 0x89, 0x0b, 0x49, 0x89, 0xfd, 0x5d, 0x66, 0xc8, 0xcc, 0xde, 0x54,
+  0xab, 0x97, 0x59, 0xf0, 0x1a, 0xdb, 0xf3, 0xa0, 0x09, 0x27, 0x6a, 0x43,
+  0x91, 0xae, 0x20, 0x4b, 0x30, 0xe0, 0x16, 0xb2, 0x7e, 0x92, 0xc2, 0x37,
+  0x21, 0xdf, 0xbf, 0xd2, 0x14, 0x73, 0x3a, 0xcf, 0x0a, 0x1a, 0xa0, 0x60,
+  0x48, 0x9f, 0xed, 0xa8, 0x25, 0xae, 0xd4, 0x38, 0xd5, 0x22, 0x3a, 0xb8,
+  0x38, 0x26, 0xc9, 0xf6, 0x7a, 0x8e, 0xa4, 0x70, 0x1e, 0x61, 0xa9, 0xfb,
+  0x03, 0xc1, 0x9a, 0x57, 0x41, 0xcf, 0x07, 0x77, 0x78, 0x1f, 0xbc, 0xc9,
+  0xc4, 0xa4, 0xf1, 0x01, 0x74, 0xc8, 0x5c, 0x00, 0x1a, 0x93, 0xdc, 0xd8,
+  0xc0, 0xfa, 0xc0, 0x75, 0x38, 0xbb, 0x5b, 0x48, 0x8a, 0xbd, 0x25, 0xd4,
+  0x55, 0x66, 0x40, 0x7d, 0xe7, 0x0d, 0xb6, 0x1e, 0x22, 0xf4, 0xd9, 0x5a,
+  0xe3, 0x54, 0xfb, 0x1c, 0x84, 0xbf, 0x19, 0xce, 0x98, 0xf6, 0x55, 0xf1,
+  0x80, 0x7a, 0x72, 0xea, 0xb5, 0x5b, 0x8f, 0xfe, 0x86, 0x7b, 0x86, 0x65,
+  0x91, 0xba, 0x5c, 0x90, 0xb8, 0xd0, 0x7a, 0x31, 0x64, 0x4f, 0x02, 0xe1,
+  0x57, 0xf2, 0xf1, 0x38, 0xb8, 0x5a, 0x6c, 0xd4, 0x2c, 0xfc, 0xc4, 0x45,
+  0x62, 0x15, 0x95, 0xa0, 0x0e, 0x4c, 0xf4, 0xac, 0x32, 0x55, 0x70, 0x9c,
+  0xf0, 0x88, 0x81, 0x36, 0x6e, 0x45, 0x00, 0x08, 0xf9, 0x53, 0xab, 0x99,
+  0xf7, 0x13, 0x37, 0x5b, 0x3f, 0x06, 0xf7, 0x25, 0x7f, 0xf4, 0xca, 0xe1,
+  0x0e, 0xf1, 0x28, 0x06, 0xdc, 0x11, 0x58, 0x2a, 0xdc, 0xa7, 0xfc, 0x0b,
+  0x3e, 0x46, 0xc0, 0x9b, 0xa1, 0xb7, 0x55, 0xb0, 0x43, 0x14, 0xf2, 0x3d,
+  0x1c, 0x88, 0xf8, 0xf8, 0xc0, 0xa1, 0x47, 0xa1, 0x68, 0x1c, 0x54, 0x39,
+  0x62, 0x53, 0x0e, 0x67, 0xf0, 0xda, 0x81, 0x2f, 0x92, 0x4a, 0x55, 0x24,
+  0x97, 0x22, 0xd4, 0xe9, 0x77, 0x68, 0x2d, 0xba, 0xd3, 0xa9, 0x67, 0xf8,
+  0xf6, 0x18, 0xef, 0x2a, 0xb2, 0xe9, 0xbc, 0xc0, 0xa4, 0xbc, 0x8b, 0xf1,
+  0xa4, 0x57, 0x95, 0xdc, 0x06, 0xae, 0xc7, 0xc1, 0xa9, 0x3f, 0x0e, 0xfb,
+  0x05, 0xf9, 0x21, 0x08, 0x17, 0xb8, 0x4b, 0x0b, 0xf3, 0x43, 0x12, 0x6d,
+  0x8f, 0x35, 0x36, 0x42, 0x12, 0xa9, 0x93, 0x72, 0x1c, 0x2c, 0x65, 0x32,
+  0xbe, 0xc9, 0x24, 0x9c, 0x96, 0x16, 0x2d, 0x48, 0xbb, 0xec, 0x44, 0xff,
+  0xa5, 0x34, 0xf0, 0x8d, 0xcf, 0xd6, 0x63, 0x42, 0x18, 0x08, 0xaa, 0xd6,
+  0xc0, 0x13, 0xc4, 0xf1, 0xf7, 0x97, 0x17, 0x07, 0xd1, 0xd7, 0xc7, 0x07,
+  0x47, 0xc7, 0x17, 0xc3, 0xda, 0xa5, 0xaf, 0x51, 0x20, 0x22, 0xa1, 0xb1,
+  0x3d, 0x18, 0xa2, 0xb1, 0xe5, 0xfc, 0x6b, 0xc0, 0xbe, 0x71, 0xbd, 0x78,
+  0x85, 0x83, 0x44, 0xe7, 0x83, 0x15, 0x22, 0x71, 0x1c, 0x70, 0x54, 0x1a,
+  0x47, 0x3e, 0x67, 0x41, 0x1b, 0x5a, 0xfa, 0xd7, 0x59, 0xcf, 0xc3, 0x54,
+  0x19, 0x0f, 0xe7, 0xe4, 0x2f, 0x93, 0x49, 0x66, 0x59, 0x80, 0xd5, 0x9d,
+  0xfb, 0xda, 0x27, 0x5c, 0x07, 0x6c, 0x4b, 0x2f, 0x19, 0x35, 0x20, 0x76,
+  0xbe, 0xef, 0x53, 0xbf, 0x7d, 0x5a, 0xfc, 0x3e, 0x23, 0x6e, 0xad, 0x92,
+  0xa2, 0x53, 0xb3, 0x06, 0x56, 0xbb, 0xdf, 0x90, 0x02, 0x97, 0x8d, 0x93,
+  0xf4, 0x75, 0x6b, 0x4b, 0x7c, 0xba, 0xa6, 0x5c, 0x19, 0xa0, 0xae, 0x41,
+  0xe0, 0x52, 0x0d, 0x84, 0x64, 0x3d, 0x41, 0x8d, 0xbc, 0x16, 0x8d, 0x53,
+  0xf2, 0x6a, 0xa6, 0x86, 0x85, 0x61, 0x20, 0x3a, 0x05, 0xc8, 0x3a, 0x69,
+  0xa9, 0x97, 0x3a, 0xec, 0x22, 0x06, 0x07, 0x49, 0xc3, 0xd2, 0x87, 0xc2,
+  0xfb, 0x01, 0xbe, 0x10, 0x0d, 0xd0, 0x2f, 0x2a, 0xae, 0x52, 0xb5, 0x8b,
+  0x6a, 0x71, 0x1a, 0x6d, 0x8e, 0xc7, 0xe0, 0x68, 0xde, 0xe2, 0xfa, 0xb9,
+  0x4b, 0x03, 0xc6, 0xd6, 0x77, 0x25, 0x18, 0x8c, 0x95, 0x7a, 0x98, 0x3a,
+  0x39, 0xdc, 0x4c, 0x36, 0xde, 0xe4, 0xd5, 0x20, 0x09, 0x28, 0x24, 0x66,
+  0x14, 0xf1, 0x40, 0xe0, 0xb8, 0x7b, 0x2e, 0x89, 0xbe, 0xce, 0x0a, 0xdc,
+  0x05, 0xcd, 0xc7, 0xf9, 0x92, 0x6f, 0x5b, 0x7e, 0xbc, 0xa1, 0xae, 0x2e,
+  0x07, 0x79, 0x07, 0x8c, 0x48, 0xb0, 0xaf, 0xf3, 0x83, 0xcb, 0xaf, 0xe1,
+  0x68, 0x05, 0x09, 0x1f, 0x01, 0xe9, 0xc1, 0xdc, 0x6b, 0xcd, 0x5c, 0x2c,
+  0xa7, 0xc0, 0x89, 0xfc, 0x6b, 0xd8, 0x5d, 0x26, 0x4f, 0xc2, 0x91, 0x07,
+  0x13, 0x25, 0xa0, 0x80, 0x52, 0x35, 0x3c, 0x56, 0x4b, 0xcb, 0x20, 0xea,
+  0xdd, 0x25, 0xda, 0xb9, 0xb0, 0xcb, 0xae, 0x64, 0xa2, 0x77, 0x65, 0x4e,
+  0x20, 0x7a, 0x16, 0xe6, 0x58, 0xe3, 0x09, 0x91, 0x14, 0xf1, 0xc5, 0x95,
+  0xa6, 0xd8, 0xf6, 0x68, 0x4f, 0xdb, 0xa1, 0xb1, 0x82, 0x23, 0xfd, 0xc5,
+  0x6c, 0x35, 0x68, 0xe2, 0x86, 0x44, 0x5f, 0x2e, 0xcb, 0x2a, 0x5b, 0xa9,
+  0xe1, 0x39, 0x3a, 0xc9, 0x32, 0xcf, 0xb2, 0xb2, 0x8a, 0x88, 0x88, 0xd5,
+  0x91, 0x13, 0x2d, 0x18, 0x68, 0x32, 0x16, 0x6e, 0x6a, 0xae, 0x72, 0x77,
+  0x28, 0x18, 0xc6, 0xa3, 0x22, 0x9b, 0x2e, 0xcb, 0x20, 0xf0, 0xfa, 0x97,
+  0x8d, 0x39, 0x18, 0xf4, 0xe6, 0xc9, 0x20, 0x31, 0x82, 0xe2, 0xc8, 0xe1,
+  0x3c, 0x26, 0x4d, 0x9f, 0xab, 0xc0, 0xb2, 0xdf, 0x31, 0xcf, 0xe6, 0xd5,
+  0xea, 0x27, 0x88, 0xf1, 0xde, 0xda, 0xd8, 0x18, 0xda, 0x66, 0x33, 0xf8,
+  0x5e, 0x73, 0xd3, 0x81, 0x13, 0x01, 0x84, 0x3f, 0xf1, 0x1b, 0x8c, 0xe9,
+  0x17, 0xc3, 0x43, 0x4a, 0x64, 0x4f, 0xc1, 0xc2, 0x65, 0x8f, 0xd3, 0xa2,
+  0x3a, 0x29, 0x7c, 0xe5, 0x3c, 0x17, 0x96, 0x58, 0x76, 0x99, 0x19, 0x50,
+  0xae, 0x7a, 0xee, 0x3c, 0x41, 0x54, 0x52, 0xd3, 0x5b, 0x11, 0x33, 0xf9,
+  0x12, 0x50, 0x70, 0x2e, 0x1f, 0x95, 0xcb, 0x83, 0xdc, 0xfe, 0xef, 0xed,
+  0xa8, 0x27, 0x30, 0x37, 0x2d, 0x60, 0x23, 0xcb, 0xe8, 0xff, 0x43, 0x08,
+  0x96, 0x82, 0x15, 0x72, 0x9b, 0x35, 0x84, 0xbf, 0x01, 0xa9, 0x50, 0x37,
+  0xf9, 0xd8, 0x53, 0x3f, 0x49, 0x07, 0xc9, 0x3d, 0xeb, 0x2f, 0xa6, 0x23,
+  0xf0, 0x17, 0x96, 0x65, 0xea, 0x81, 0x63, 0x80, 0x77, 0x71, 0xe5, 0xac,
+  0x7a, 0x5c, 0x38, 0x4a, 0xca, 0x28, 0x89, 0x58, 0x8f, 0x2a, 0x02, 0xe6,
+  0x41, 0xdd, 0x88, 0x2a, 0x7a, 0x7b, 0x11, 0x15, 0x99, 0xfc, 0xb4, 0x6c,
+  0x23, 0x8d, 0xf1, 0x52, 0xf2, 0x57, 0x35, 0x4a, 0x2b, 0xb6, 0x68, 0x19,
+  0x33, 0x8b, 0x3b, 0x95, 0xb0, 0x3a, 0x73, 0x4c, 0xda, 0x18, 0x4d, 0x08,
+  0x60, 0xbf, 0x25, 0x80, 0xcf, 0x70, 0xd9, 0x14, 0xbe, 0x30, 0x2a, 0x92,
+  0xb5, 0xb9, 0xea, 0x90, 0x29, 0x32, 0x76, 0xa3, 0x5a, 0x02, 0x87, 0xdb,
+  0x28, 0x3f, 0x7a, 0xbd, 0xfa, 0x91, 0x10, 0x0f, 0x1f, 0xdd, 0x7d, 0x9c,
+  0x96, 0xa1, 0x44, 0x60, 0x33, 0x22, 0x0d, 0x4f, 0xe1, 0xea, 0x47, 0xab,
+  0x4a, 0x68, 0x8a, 0x8f, 0xdb, 0xbc, 0xe6, 0xfc, 0x0e, 0xb5, 0x48, 0x29,
+  0x96, 0x08, 0xcc, 0x5f, 0x37, 0xa9, 0x46, 0x97, 0xca, 0xa2, 0x9b, 0x39,
+  0x90, 0xed, 0x19, 0x30, 0xef, 0x71, 0x68, 0x81, 0xf7, 0xae, 0xba, 0x00,
+  0x88, 0x41, 0xf3, 0xb4, 0x0c, 0x1c, 0xea, 0x9e, 0xde, 0x20, 0x27, 0x61,
+  0x26, 0x39, 0x56, 0xc5, 0x85, 0x3b, 0x7f, 0x54, 0xd7, 0x61, 0x7f, 0x1c,
+  0xc5, 0x3a, 0x8f, 0xfc, 0x7a, 0x14, 0x72, 0x95, 0xec, 0xed, 0x42, 0x25,
+  0x95, 0xc0, 0x0d, 0x80, 0xd8, 0x59, 0x39, 0xab, 0x4a, 0xf5, 0x91, 0x60,
+  0xdd, 0x51, 0x2f, 0x13, 0x18, 0x89, 0x96, 0x64, 0xaf, 0x7e, 0x66, 0x91,
+  0x08, 0x03, 0x8f, 0x53, 0xa5, 0xec, 0x89, 0x24, 0x6e, 0x17, 0x65, 0xbe,
+  0x1c, 0x57, 0x00, 0xab, 0x40, 0x0c, 0x15, 0xff, 0xbc, 0x5b, 0xde, 0x2c,
+  0xd4, 0xea, 0x37, 0xe3, 0x4a, 0x1a, 0x8b, 0x3e, 0x19, 0x76, 0xb1, 0x25,
+  0x65, 0x40, 0xb5, 0x08, 0x32, 0xb4, 0x13, 0x1a, 0xbf, 0x23, 0xb0, 0xfe,
+  0xb9, 0x4b, 0xa2, 0xaf, 0xe0, 0x7e, 0x49, 0x4a, 0x42, 0x70, 0xeb, 0xaa,
+  0x08, 0x06, 0x91, 0x23, 0x8f, 0x14, 0x81, 0x0c, 0x02, 0x0d, 0x1b, 0x2b,
+  0x37, 0x1c, 0x4a, 0x18, 0x75, 0xd7, 0xf7, 0x75, 0x3f, 0xa9, 0xbf, 0x6d,
+  0x5a, 0x48, 0x03, 0xde, 0x77, 0x65, 0x1d, 0x0a, 0x8f, 0x34, 0x56, 0x8b,
+  0x55, 0x4d, 0xa6, 0x34, 0x65, 0x27, 0x19, 0xca, 0x49, 0x9c, 0xe9, 0xfa,
+  0x0d, 0x5c, 0x25, 0x4e, 0x2b, 0x77, 0x5a, 0x13, 0x24, 0x9a, 0xb7, 0xe2,
+  0xb9, 0xa0, 0x90, 0x34, 0x88, 0xe8, 0xc8, 0xac, 0xa9, 0x60, 0x36, 0x58,
+  0x30, 0xd6, 0x69, 0x6c, 0x93, 0x4e, 0xce, 0x5d, 0x17, 0x34, 0x04, 0x9e,
+  0x71, 0x77, 0x9a, 0xec, 0x74, 0x83, 0xba, 0x14, 0x9b, 0x12, 0xf5, 0x9f,
+  0x41, 0xef, 0x61, 0xcb, 0x21, 0x26, 0x28, 0x76, 0x0b, 0x8e, 0x70, 0xdb,
+  0x6a, 0x19, 0x0a, 0x35, 0xf1, 0x4b, 0x07, 0xb3, 0xfb, 0x62, 0x6f, 0xb0,
+  0xfb, 0xfc, 0xb3, 0xc1, 0xce, 0x60, 0x77, 0x87, 0x39, 0x0b, 0x0f, 0x25,
+  0x18, 0x9c, 0xac, 0x4b, 0x4b, 0x57, 0x95, 0xf7, 0x9a, 0x7d, 0xbe, 0x3d,
+  0xbe, 0xfc, 0xee, 0xec, 0xe2, 0x9b, 0xe8, 0xe4, 0xed, 0xe5, 0xf1, 0xc5,
+  0xeb, 0x83, 0xc3, 0x8f, 0x85, 0x1e, 0x0e, 0x0d, 0xd6, 0x41, 0x21, 0xc2,
+  0xc4, 0x2f, 0x4c, 0xd3, 0x2a, 0xe8, 0xd7, 0x2c, 0x29, 0x6f, 0x76, 0xf6,
+  0x77, 0x1f, 0xc5, 0x2b, 0x6d, 0x31, 0x0c, 0xfa, 0xf7, 0x6d, 0x52, 0xbb,
+  0x3c, 0xa9, 0xf5, 0xad, 0x38, 0x14, 0xb4, 0xa1, 0x04, 0x58, 0xb9, 0xe0,
+  0x5c, 0x30, 0x78, 0x14, 0x25, 0x48, 0x47, 0x79, 0x6c, 0x26, 0xa9, 0x91,
+  0x80, 0x26, 0x4a, 0x46, 0xad, 0xe2, 0xbb, 0x68, 0x10, 0xba, 0xb2, 0x5b,
+  0x8e, 0x51, 0x5e, 0xa6, 0xd3, 0x52, 0x0d, 0x29, 0x82, 0x81, 0x38, 0x81,
+  0x70, 0x67, 0x0c, 0xd9, 0x0a, 0xf3, 0xa2, 0x2e, 0x2f, 0x0a, 0x73, 0x49,
+  0x61, 0xde, 0x89, 0x4b, 0x14, 0x71, 0xc0, 0x03, 0x95, 0x74, 0x1b, 0x8c,
+  0xb5, 0x5a, 0xb7, 0x31, 0x8c, 0xa1, 0xad, 0x01, 0x10, 0x16, 0x16, 0xdb,
+  0x8c, 0x89, 0x55, 0x8c, 0xa2, 0x87, 0x3a, 0x10, 0x9c, 0x86, 0x60, 0x34,
+  0xd2, 0x15, 0x44, 0x29, 0x03, 0xbd, 0xad, 0xc2, 0x67, 0xca, 0xed, 0x84,
+  0xe4, 0x09, 0x91, 0xfc, 0x0c, 0x9f, 0x9b, 0x5b, 0x2f, 0x2a, 0xb0, 0x6a,
+  0x91, 0x14, 0x8a, 0x08, 0x5f, 0x17, 0x21, 0x1b, 0x21, 0x9a, 0x93, 0x3c,
+  0xbe, 0xe7, 0xfa, 0x33, 0x22, 0x36, 0xf8, 0x60, 0xc6, 0xa0, 0xd8, 0x05,
+  0x8b, 0x4c, 0x7e, 0xcd, 0xa3, 0xf3, 0xe3, 0x37, 0x7d, 0xab, 0x83, 0x47,
+  0xbf, 0x8b, 0x19, 0xca, 0x60, 0x37, 0x25, 0xb9, 0x67, 0x91, 0xcc, 0x2d,
+  0xa0, 0x06, 0x3c, 0x51, 0x23, 0x80, 0xc2, 0x09, 0xf0, 0xa1, 0x11, 0x8b,
+  0x84, 0xf0, 0x5a, 0xc5, 0x2f, 0xb3, 0x4b, 0xab, 0x05, 0x01, 0x8f, 0xf7,
+  0x53, 0xa3, 0x96, 0xa3, 0x4d, 0x17, 0xa9, 0xcb, 0xfd, 0x21, 0x1c, 0x15,
+  0xd1, 0x02, 0x2e, 0x40, 0x20, 0xb3, 0x64, 0xeb, 0xf3, 0x6f, 0x0e, 0x87,
+  0x9f, 0xec, 0xee, 0xe9, 0x70, 0xb6, 0x06, 0x1e, 0xce, 0xb2, 0x91, 0x87,
+  0x0f, 0x76, 0x1d, 0x8e, 0xd1, 0xb2, 0xaa, 0x71, 0xc0, 0xb1, 0x19, 0x9b,
+  0x2e, 0x33, 0x68, 0xab, 0x92, 0x1a, 0xb4, 0x21, 0xd5, 0x47, 0x4d, 0xb8,
+  0x74, 0x75, 0xea, 0xd8, 0x19, 0x82, 0x6a, 0x0b, 0x5a, 0xef, 0xa0, 0x74,
+  0xf1, 0x7e, 0xf1, 0xdc, 0x3e, 0x92, 0x96, 0xb5, 0x35, 0xa4, 0x8d, 0xfb,
+  0x98, 0x96, 0xfa, 0x9e, 0xf3, 0x7a, 0xfb, 0x6f, 0x19, 0x35, 0x51, 0x2f,
+  0x75, 0xc3, 0xe5, 0xf1, 0xdd, 0xe0, 0x00, 0x68, 0x08, 0xfb, 0xc4, 0x2a,
+  0xaa, 0xcc, 0x3d, 0xa0, 0x3b, 0x3f, 0x7d, 0x46, 0x1b, 0x45, 0x27, 0x4b,
+  0xa0, 0x1a, 0x98, 0x29, 0x64, 0x53, 0x56, 0x5a, 0xdc, 0x23, 0x47, 0x39,
+  0x03, 0xe7, 0x2f, 0x24, 0x98, 0xf4, 0xed, 0x20, 0xfa, 0x3a, 0x99, 0x17,
+  0x5a, 0xad, 0xd8, 0x92, 0xaf, 0x10, 0x1c, 0xc8, 0x45, 0x93, 0x50, 0xe2,
+  0xe6, 0x34, 0x89, 0x15, 0x44, 0x90, 0x78, 0x5d, 0x21, 0xba, 0xad, 0x95,
+  0x77, 0x88, 0x39, 0x44, 0x0f, 0x37, 0x91, 0x1a, 0x68, 0x51, 0xe3, 0x30,
+  0x2d, 0xb4, 0x81, 0xcd, 0x2a, 0x14, 0x20, 0xa0, 0xa9, 0xd1, 0x9c, 0x1e,
+  0x73, 0x78, 0x99, 0xd4, 0x9e, 0x7c, 0x03, 0xac, 0x55, 0xb6, 0x13, 0x8a,
+  0xae, 0xe5, 0x99, 0xca, 0x24, 0xbf, 0x61, 0xa3, 0x47, 0x41, 0xd7, 0x4d,
+  0x3c, 0x1f, 0xaf, 0x06, 0x13, 0x92, 0x62, 0xd9, 0x6c, 0x36, 0x58, 0xde,
+  0x6e, 0x07, 0xc7, 0x94, 0x59, 0xfe, 0x8d, 0xc0, 0x02, 0x54, 0x4d, 0xde,
+  0x56, 0x9f, 0xaf, 0x89, 0xda, 0x15, 0x57, 0xce, 0x04, 0x93, 0x84, 0x25,
+  0xf8, 0xcb, 0xf1, 0x5c, 0x8b, 0x6f, 0x75, 0x1c, 0x39, 0x98, 0x4f, 0x6e,
+  0x61, 0xb0, 0x48, 0x66, 0xfb, 0x2e, 0x05, 0xd9, 0xf8, 0x83, 0xa2, 0x83,
+  0x3b, 0x95, 0x22, 0x30, 0xcf, 0xce, 0x93, 0xeb, 0xa9, 0x0a, 0x14, 0xa1,
+  0xd2, 0xe2, 0x61, 0x5b, 0x9b, 0x69, 0x20, 0xa2, 0xea, 0xc0, 0x03, 0x81,
+  0xe2, 0x4b, 0xc4, 0xa9, 0x66, 0xa8, 0x8a, 0x62, 0x8c, 0x5f, 0x4b, 0xc2,
+  0xfa, 0x46, 0x14, 0x2c, 0x04, 0x88, 0xa3, 0x2c, 0x06, 0xab, 0x71, 0xc7,
+  0xc2, 0x91, 0xd4, 0xf1, 0x44, 0xdf, 0x0a, 0x85, 0x00, 0xe3, 0x57, 0x43,
+  0xa3, 0xe1, 0xf6, 0xb4, 0x22, 0x78, 0x72, 0x56, 0xe8, 0xeb, 0xbb, 0x27,
+  0x6c, 0xeb, 0xbe, 0x3c, 0x1d, 0xf6, 0x84, 0x1e, 0xe6, 0xc9, 0x7d, 0x40,
+  0x59, 0x02, 0x4b, 0xad, 0xe4, 0xc7, 0x96, 0x1f, 0x09, 0x5f, 0xb3, 0x02,
+  0xbc, 0xb9, 0x8c, 0x46, 0x38, 0x83, 0x77, 0x92, 0xf9, 0x2c, 0x08, 0x5b,
+  0x08, 0x8d, 0x27, 0xe6, 0xe1, 0x58, 0x35, 0x11, 0x11, 0x88, 0x1c, 0xc0,
+  0x0b, 0x43, 0xe7, 0x91, 0xc0, 0xf4, 0xa4, 0x17, 0xf5, 0xf7, 0x00, 0x9b,
+  0xb3, 0x5b, 0x5d, 0xc8, 0x98, 0x8b, 0x7c, 0xc4, 0x63, 0x14, 0x35, 0xda,
+  0x70, 0xc5, 0xd6, 0x8d, 0x25, 0x6c, 0x2a, 0x59, 0xdf, 0xd1, 0xfb, 0xfc,
+  0x63, 0x4f, 0x27, 0x75, 0xb7, 0x8b, 0xd0, 0x6d, 0x96, 0x47, 0xef, 0x92,
+  0xe9, 0xaa, 0x29, 0x36, 0xec, 0x3d, 0xba, 0xb3, 0x48, 0x92, 0xb8, 0x4f,
+  0x1d, 0xa4, 0xaa, 0xa0, 0x6a, 0xc3, 0x10, 0xaa, 0x40, 0x86, 0x36, 0x00,
+  0x5a, 0x46, 0x35, 0x71, 0xcf, 0xa3, 0xbb, 0x3d, 0xf3, 0x34, 0xf3, 0x37,
+  0xb6, 0x78, 0x62, 0xaa, 0xf7, 0x8c, 0xa4, 0x91, 0xbb, 0xc8, 0xe1, 0x6e,
+  0x01, 0xe5, 0x72, 0xea, 0x13, 0xd1, 0x2d, 0x71, 0x92, 0x0a, 0xa7, 0x61,
+  0x0d, 0xaa, 0x74, 0xe8, 0x43, 0xbc, 0xfd, 0x40, 0x7c, 0x25, 0x59, 0xd8,
+  0x07, 0x39, 0x21, 0x04, 0x1c, 0x67, 0x9a, 0x24, 0xd8, 0x62, 0x39, 0xd3,
+  0xea, 0x4c, 0x60, 0xc4, 0x3d, 0x5c, 0xb7, 0x65, 0x44, 0x9c, 0x38, 0x95,
+  0x90, 0xbf, 0x29, 0x84, 0x69, 0x08, 0x58, 0x6a, 0x2c, 0xf5, 0x0b, 0xc5,
+  0x16, 0x30, 0x81, 0xd3, 0x03, 0xbd, 0xdc, 0xa4, 0x62, 0xc3, 0x40, 0x84,
+  0x2a, 0x16, 0x8c, 0x58, 0x45, 0x37, 0xa2, 0xd3, 0xb7, 0xe4, 0x46, 0xcb,
+  0x0c, 0x21, 0xb0, 0x4e, 0x60, 0x90, 0x36, 0x86, 0x10, 0x3a, 0xa3, 0x6e,
+  0xc8, 0x23, 0xfb, 0x9f, 0xf3, 0x1a, 0x14, 0x5d, 0xbf, 0x68, 0x0a, 0x12,
+  0x5c, 0x5d, 0x01, 0x75, 0x8f, 0x14, 0x0a, 0x76, 0x71, 0x9e, 0x5b, 0x31,
+  0xd1, 0x6e, 0xf2, 0xc0, 0x02, 0x52, 0x57, 0x7b, 0x95, 0xaf, 0x05, 0x05,
+  0x00, 0x8b, 0x7b, 0x7e, 0xf2, 0x56, 0xea, 0x63, 0xba, 0x83, 0x94, 0x30,
+  0x64, 0xe2, 0x86, 0x94, 0x76, 0xc5, 0x78, 0x62, 0xc5, 0x99, 0x88, 0xc4,
+  0xde, 0xc4, 0xc4, 0xc6, 0x07, 0x24, 0xd5, 0xbe, 0x2e, 0x96, 0xd2, 0x7b,
+  0x97, 0x2f, 0xc9, 0xa2, 0x98, 0x76, 0x6b, 0x45, 0xdf, 0xdc, 0x66, 0xd6,
+  0x6e, 0x23, 0x67, 0xc8, 0x1a, 0x4f, 0xc2, 0x2a, 0xb6, 0xda, 0x4a, 0x85,
+  0x49, 0xf6, 0x6a, 0x79, 0x92, 0xa1, 0x05, 0xfd, 0x93, 0x68, 0xb0, 0x4d,
+  0x1d, 0x16, 0xdb, 0xf6, 0xe2, 0xe2, 0x76, 0x5c, 0xd0, 0xf5, 0xc8, 0x49,
+  0xc1, 0x3f, 0x3a, 0x24, 0x67, 0x1e, 0xf1, 0xe4, 0xa7, 0xa8, 0x3f, 0x9e,
+  0x62, 0x7e, 0x11, 0x2a, 0x4c, 0xfe, 0x48, 0x24, 0xc3, 0x4f, 0xfc, 0xb4,
+  0xc1, 0x59, 0x72, 0xc3, 0x77, 0x6f, 0x18, 0x47, 0x1d, 0x25, 0xfc, 0x2e,
+  0x2f, 0x0e, 0xde, 0x0e, 0x5f, 0x8b, 0x91, 0xf5, 0x32, 0xf3, 0xc5, 0x01,
+  0xd5, 0xb2, 0xe0, 0x3c, 0x91, 0x0e, 0x69, 0xec, 0x5e, 0xc0, 0xbd, 0x2d,
+  0x48, 0x5b, 0xcb, 0x06, 0xf6, 0xea, 0x20, 0xc6, 0x52, 0x76, 0x10, 0xbc,
+  0x9a, 0x0e, 0xd3, 0x66, 0xb1, 0xe5, 0x2e, 0xd6, 0x22, 0xac, 0x56, 0xe2,
+  0x31, 0xee, 0x0c, 0x1b, 0x55, 0x1f, 0x62, 0x42, 0x39, 0xb4, 0xc1, 0xd8,
+  0xa7, 0xc2, 0xcb, 0xd7, 0xe2, 0x4a, 0x1e, 0x92, 0xea, 0xd1, 0x57, 0x58,
+  0xfc, 0xa0, 0x36, 0x8b, 0x33, 0xcc, 0x09, 0x2f, 0x57, 0x34, 0x38, 0xd7,
+  0x78, 0x98, 0x48, 0x68, 0x4d, 0x6f, 0xfe, 0x71, 0x77, 0xab, 0xbd, 0xf9,
+  0xcb, 0x5f, 0xda, 0x7c, 0xfb, 0xd8, 0x4d, 0xd6, 0xf7, 0x79, 0x2a, 0x9b,
+  0x7f, 0xdc, 0xdb, 0x7a, 0x74, 0x46, 0x61, 0xa6, 0x9d, 0xef, 0x93, 0xde,
+  0xe0, 0xc1, 0x46, 0xaf, 0xac, 0x0e, 0xac, 0xde, 0xc1, 0x2e, 0xd6, 0xe3,
+  0xca, 0xa3, 0xdc, 0x55, 0x50, 0x1f, 0x38, 0x16, 0xd8, 0x49, 0x7e, 0xde,
+  0x85, 0xa3, 0x29, 0x0b, 0x27, 0xff, 0xf3, 0x38, 0x44, 0x07, 0x24, 0x45,
+  0x3c, 0x64, 0x77, 0x9c, 0x6e, 0x5e, 0x64, 0x03, 0xf4, 0xbd, 0xf7, 0x48,
+  0xdf, 0x7e, 0x76, 0x81, 0x9a, 0xcb, 0xfe, 0x50, 0x0e, 0xa8, 0x32, 0x3c,
+  0x58, 0xed, 0x67, 0xc3, 0x97, 0x9c, 0x5c, 0xdf, 0xdf, 0xe5, 0xc9, 0x9b,
+  0x63, 0xc6, 0x8d, 0x3d, 0x3a, 0x61, 0xfc, 0xb2, 0xa1, 0x22, 0x08, 0x9a,
+  0x46, 0xeb, 0xc0, 0x55, 0x43, 0x70, 0x7b, 0x71, 0x14, 0xba, 0xb8, 0x25,
+  0x77, 0xfa, 0xdd, 0x4e, 0x70, 0xd7, 0x1a, 0x58, 0x5b, 0x58, 0xfa, 0xde,
+  0xc9, 0x55, 0xff, 0x4d, 0x36, 0x81, 0xd6, 0xd5, 0x17, 0x38, 0x6a, 0x7a,
+  0x8b, 0x3e, 0x7c, 0x37, 0x9f, 0x55, 0x3e, 0x0e, 0x93, 0x04, 0x55, 0xa1,
+  0xde, 0x58, 0x57, 0x00, 0xe0, 0xe7, 0xed, 0x7e, 0x1f, 0x25, 0x5f, 0x25,
+  0x3e, 0x48, 0xbd, 0x04, 0x15, 0x8c, 0x07, 0x3b, 0xfb, 0xb4, 0x3e, 0xe9,
+  0x74, 0x25, 0x1e, 0xed, 0xd8, 0xc7, 0x21, 0xf9, 0x8c, 0xc0, 0x6b, 0xce,
+  0x4a, 0xf2, 0xc6, 0x22, 0x31, 0x07, 0x6d, 0x84, 0x90, 0x94, 0x90, 0xcb,
+  0x93, 0x7b, 0x1f, 0x48, 0xa3, 0xc5, 0xf5, 0xb2, 0xc5, 0x0a, 0x93, 0xbc,
+  0xaf, 0xf8, 0xe8, 0x5b, 0x1d, 0x75, 0x3f, 0xcb, 0x3b, 0x95, 0x92, 0x17,
+  0xd2, 0x43, 0x48, 0x80, 0xfa, 0x89, 0x56, 0x88, 0x38, 0xcb, 0x03, 0x06,
+  0xa6, 0xc3, 0xb6, 0xa2, 0x2f, 0x01, 0x5c, 0x65, 0x80, 0xae, 0x59, 0x1d,
+  0xa7, 0xb7, 0x5e, 0x6e, 0xf0, 0xb5, 0x36, 0x60, 0xa3, 0xb9, 0x79, 0x59,
+  0x88, 0xeb, 0x2c, 0xaa, 0xe5, 0xeb, 0x92, 0xc8, 0x92, 0x86, 0x25, 0x27,
+  0xbc, 0xdb, 0xef, 0x02, 0x51, 0x3b, 0x9d, 0xb7, 0x4c, 0xa6, 0xff, 0xcb,
+  0x67, 0xd3, 0xf0, 0xe1, 0x45, 0x9d, 0x2b, 0x06, 0x56, 0x60, 0x87, 0x48,
+  0x47, 0x06, 0x20, 0x58, 0x23, 0x42, 0x5b, 0x24, 0xcf, 0x33, 0x5b, 0x33,
+  0xbd, 0x44, 0x74, 0x34, 0x17, 0x62, 0xe9, 0xac, 0xad, 0x62, 0xe4, 0x62,
+  0x3e, 0xba, 0x5c, 0x4c, 0xe0, 0xdd, 0x97, 0xb8, 0xc6, 0xff, 0x8c, 0xe7,
+  0xcb, 0x38, 0x5f, 0x45, 0xbb, 0x7b, 0xbd, 0x68, 0x6f, 0x67, 0x77, 0xaf,
+  0x65, 0x0e, 0x9d, 0xff, 0xe4, 0xe8, 0x9a, 0x3d, 0x7c, 0xdd, 0xf9, 0xd8,
+  0x59, 0xf8, 0x18, 0x79, 0xdc, 0xaa, 0x9a, 0x4d, 0x4a, 0xbc, 0x87, 0x1d,
+  0x7d, 0x52, 0xe1, 0x96, 0x6b, 0xda, 0x01, 0x10, 0x0d, 0x32, 0x85, 0xd8,
+  0x9c, 0xac, 0xf6, 0x94, 0x2b, 0x53, 0xc2, 0x4f, 0x6c, 0x68, 0x59, 0x31,
+  0x84, 0x50, 0x38, 0xc3, 0x5b, 0x9c, 0xa3, 0xb0, 0x56, 0x75, 0x8f, 0xd2,
+  0xd2, 0xb6, 0x85, 0x63, 0x34, 0x78, 0x6f, 0x88, 0xde, 0x8f, 0x4e, 0x0e,
+  0x2f, 0x0d, 0x31, 0xef, 0x8a, 0xaf, 0xd3, 0x7c, 0xf5, 0x71, 0x35, 0x8a,
+  0x1e, 0x7d, 0x66, 0xb2, 0x7f, 0x93, 0x90, 0x44, 0x36, 0x1f, 0x2d, 0xaf,
+  0xf7, 0xff, 0x1a, 0xe7, 0xd7, 0xd9, 0xfc, 0x43, 0xcf, 0x4f, 0x90, 0xa4,
+  0xb4, 0x4f, 0x0c, 0x6a, 0xf7, 0xc5, 0xee, 0x13, 0x89, 0x80, 0x4f, 0xb9,
+  0xa4, 0x19, 0xf8, 0x43, 0x77, 0xd6, 0x15, 0xc0, 0x06, 0x84, 0xde, 0x3b,
+  0x94, 0x86, 0xf9, 0xa4, 0x2b, 0xea, 0x56, 0x1c, 0x3e, 0x3b, 0xd1, 0x67,
+  0x25, 0x9b, 0xb9, 0xbb, 0x21, 0xe5, 0x0b, 0xbb, 0x9c, 0xfa, 0xb7, 0x5c,
+  0x74, 0x07, 0x95, 0x13, 0xfe, 0x81, 0xb9, 0x72, 0x17, 0xae, 0x24, 0xd3,
+  0xa1, 0xf0, 0x64, 0x65, 0xa7, 0xa3, 0x3c, 0x89, 0x6f, 0x7d, 0x91, 0x3b,
+  0x8f, 0xe6, 0x60, 0xb6, 0xf3, 0x8b, 0xd7, 0x87, 0x82, 0x81, 0x69, 0x39,
+  0x38, 0x58, 0xea, 0xc8, 0x59, 0x3a, 0xb6, 0x78, 0x94, 0x1f, 0xe8, 0x9f,
+  0x83, 0xe4, 0xf7, 0x27, 0xa3, 0x8f, 0x78, 0x88, 0xce, 0x9d, 0xc0, 0x8d,
+  0x1d, 0x54, 0xcb, 0x19, 0xb0, 0xcc, 0x5f, 0x32, 0xa9, 0x59, 0x35, 0xbb,
+  0x4d, 0x29, 0xd0, 0x26, 0xb6, 0x6b, 0xa9, 0xa2, 0xae, 0x45, 0x77, 0xd5,
+  0x58, 0x40, 0xe3, 0xe6, 0xea, 0x67, 0x47, 0x07, 0xe7, 0x81, 0xde, 0x04,
+  0xbd, 0xc4, 0xdb, 0x88, 0xf8, 0x39, 0x96, 0x99, 0x51, 0x30, 0x53, 0x4c,
+  0x49, 0xab, 0x9e, 0x97, 0x76, 0x4b, 0xf0, 0xc9, 0xc9, 0x5d, 0x2c, 0x91,
+  0xd6, 0x99, 0x5e, 0x27, 0x30, 0x67, 0x00, 0xcf, 0x7b, 0x3a, 0x89, 0xe1,
+  0x51, 0xd3, 0x4b, 0x08, 0x42, 0x28, 0xda, 0x4a, 0x35, 0xac, 0x86, 0xf6,
+  0xe6, 0x21, 0xd2, 0x6c, 0x00, 0x4d, 0x7b, 0x90, 0xdf, 0xe5, 0x31, 0xce,
+  0x74, 0x5d, 0xd9, 0x04, 0x84, 0x3f, 0xd3, 0xe0, 0xe3, 0xe2, 0x96, 0x58,
+  0xa9, 0x78, 0x82, 0xa9, 0xf7, 0x74, 0x9c, 0x98, 0x4d, 0x75, 0x92, 0x4a,
+  0x44, 0x06, 0x5b, 0x33, 0x80, 0xa5, 0x53, 0xd9, 0x30, 0xb9, 0x81, 0x58,
+  0x79, 0x99, 0x16, 0x89, 0xe0, 0xde, 0x45, 0x97, 0xf7, 0x99, 0x08, 0x9d,
+  0x0e, 0x70, 0x40, 0x62, 0x1a, 0x8b, 0x65, 0x2a, 0xd0, 0x19, 0xb4, 0x79,
+  0xe0, 0x07, 0x41, 0x79, 0xb5, 0x8e, 0x33, 0xa4, 0x1c, 0x39, 0x07, 0xda,
+  0xf0, 0xe8, 0x9b, 0x88, 0x73, 0xb4, 0xb9, 0x8f, 0x43, 0xae, 0x49, 0xc0,
+  0xbe, 0xf0, 0x19, 0x14, 0x89, 0xaf, 0x96, 0x7c, 0xde, 0x0f, 0x6f, 0xe2,
+  0x05, 0x8b, 0xc4, 0xbb, 0x3b, 0xac, 0x7d, 0x7f, 0x67, 0xd9, 0x5e, 0x7c,
+  0x50, 0xad, 0x1c, 0x69, 0xd1, 0x09, 0x14, 0xf3, 0x09, 0x57, 0x13, 0x65,
+  0x99, 0xb8, 0x6a, 0xf3, 0xa3, 0xdb, 0xb3, 0xd8, 0x9e, 0x31, 0xc3, 0x9a,
+  0x16, 0x44, 0x1a, 0x79, 0x31, 0xb9, 0xdd, 0x1e, 0xd3, 0x3f, 0x4f, 0x76,
+  0xb6, 0x01, 0xc5, 0x58, 0xc2, 0x44, 0xc6, 0x34, 0xb9, 0xb7, 0xf7, 0xec,
+  0x59, 0x2f, 0xea, 0xb0, 0xd1, 0xca, 0x3a, 0xe0, 0x23, 0x41, 0x27, 0xab,
+  0xd3, 0x56, 0x67, 0x6e, 0x3b, 0xbf, 0x1a, 0xf3, 0x7f, 0xfc, 0x9a, 0xd5,
+  0x8a, 0xba, 0xd4, 0xf4, 0x0d, 0xac, 0xc3, 0x3c, 0xc4, 0x5a, 0x31, 0xb2,
+  0xba, 0xa7, 0x7d, 0x30, 0xb3, 0x04, 0x7b, 0x20, 0x16, 0x49, 0xb6, 0x30,
+  0x37, 0xe3, 0x4c, 0x01, 0xf2, 0xd1, 0x7d, 0xe0, 0x9c, 0x81, 0x63, 0x58,
+  0xe2, 0xaa, 0x34, 0xb1, 0xbe, 0x58, 0x8e, 0xfa, 0x9a, 0x61, 0x2a, 0x7a,
+  0x46, 0x4a, 0x27, 0x97, 0xfe, 0x9c, 0x9a, 0xf5, 0xb7, 0xc1, 0x91, 0xbf,
+  0x8c, 0x3a, 0x4a, 0x5b, 0xfc, 0x63, 0x00, 0x2f, 0x61, 0x32, 0xe6, 0x69,
+  0x64, 0xaf, 0xf4, 0x8f, 0xff, 0xf8, 0x0f, 0x6a, 0xf6, 0x3f, 0xb8, 0x95,
+  0x57, 0x7f, 0x2c, 0xca, 0x9b, 0xe0, 0x99, 0x8e, 0x12, 0xfc, 0x89, 0xf7,
+  0x91, 0x22, 0xee, 0x09, 0x40, 0xa5, 0x48, 0x84, 0x7a, 0x73, 0xaa, 0x1c,
+  0xb9, 0x17, 0xcc, 0x2f, 0x45, 0x8a, 0x9a, 0xd8, 0xdc, 0x5c, 0xd8, 0xc1,
+  0x97, 0xec, 0xbf, 0x4c, 0x38, 0xb5, 0x99, 0xa8, 0x10, 0x48, 0x74, 0x5b,
+  0x26, 0x62, 0x1c, 0xbf, 0xfd, 0xf6, 0xe4, 0xe2, 0xec, 0xed, 0x9b, 0xe3,
+  0xb7, 0x97, 0xd1, 0xb7, 0x07, 0x17, 0x27, 0x07, 0x5f, 0x9e, 0x6a, 0x06,
+  0x35, 0x4f, 0x81, 0xa3, 0x45, 0x44, 0xf4, 0xae, 0xe1, 0x88, 0x06, 0x19,
+  0x2d, 0xad, 0xe0, 0xf9, 0xb5, 0x72, 0x81, 0xef, 0x15, 0x98, 0x1a, 0xe6,
+  0xd5, 0xf7, 0x28, 0x60, 0xd1, 0x63, 0x87, 0xdf, 0x7b, 0xab, 0x65, 0xc1,
+  0x66, 0xcb, 0x55, 0x90, 0x93, 0xcb, 0x81, 0x2c, 0x4c, 0xa5, 0xc6, 0x9f,
+  0x7c, 0xdd, 0x21, 0x85, 0xf7, 0x1f, 0x44, 0x5f, 0x49, 0x5a, 0xb7, 0x86,
+  0x54, 0xb9, 0x57, 0x35, 0xc5, 0x08, 0x66, 0x1c, 0x37, 0x86, 0x83, 0xd3,
+  0x53, 0xdf, 0xd5, 0xe3, 0x55, 0x18, 0x14, 0xce, 0x47, 0xb2, 0x80, 0x6e,
+  0xac, 0xa2, 0xf0, 0x75, 0xe6, 0x51, 0xb6, 0xe7, 0xab, 0x10, 0x50, 0x9b,
+  0x3b, 0xa3, 0xed, 0xd8, 0x14, 0x2c, 0x06, 0x76, 0x37, 0xd2, 0x01, 0x4a,
+  0x8b, 0xdb, 0x5e, 0xd4, 0xfd, 0x63, 0x57, 0xb2, 0xb3, 0x12, 0xc0, 0xcd,
+  0x4a, 0x8d, 0x87, 0x2d, 0x3f, 0xa8, 0xb7, 0x67, 0x7e, 0x4c, 0xea, 0x44,
+  0x73, 0x03, 0x70, 0x2f, 0x7a, 0xff, 0x67, 0x61, 0xf2, 0x0c, 0x02, 0x0f,
+  0xfd, 0xe3, 0x8a, 0xe8, 0xef, 0x52, 0xcc, 0x95, 0x46, 0xd9, 0x4f, 0xd2,
+  0xfa, 0x2e, 0x94, 0xb6, 0x78, 0x1c, 0xa0, 0x0a, 0x8b, 0x19, 0x87, 0x95,
+  0x5f, 0xc8, 0x01, 0x52, 0xff, 0x58, 0x2e, 0x87, 0x07, 0x29, 0x9b, 0xbd,
+  0x61, 0xc5, 0x7a, 0x95, 0x83, 0x82, 0xaa, 0x1e, 0xb6, 0xad, 0xd6, 0x03,
+  0x5c, 0x56, 0x1c, 0x58, 0x9e, 0xa7, 0x13, 0xc5, 0xa9, 0x6b, 0xa5, 0x8a,
+  0x01, 0x3c, 0x1d, 0x17, 0x87, 0x00, 0xf5, 0x9e, 0x73, 0x01, 0x28, 0x57,
+  0x08, 0x41, 0x82, 0x50, 0x89, 0x8b, 0xe4, 0x9c, 0xd9, 0x35, 0x57, 0x21,
+  0x04, 0x81, 0x9d, 0x10, 0xd1, 0xe3, 0xeb, 0xcc, 0xc4, 0xef, 0xd8, 0xb9,
+  0x5f, 0x25, 0x63, 0x4b, 0x62, 0x76, 0x4c, 0x0a, 0x73, 0x40, 0x54, 0xce,
+  0x02, 0x06, 0x47, 0xad, 0xd9, 0x9b, 0x39, 0x4e, 0x09, 0xf6, 0x32, 0x8d,
+  0x63, 0x28, 0x82, 0x74, 0x5f, 0x1f, 0x06, 0xcf, 0xbc, 0x44, 0x5c, 0x94,
+  0x86, 0x0c, 0x05, 0xfc, 0x2d, 0x4b, 0x0f, 0x46, 0xc4, 0x1c, 0x86, 0xc5,
+  0x0f, 0xa2, 0x49, 0x0d, 0x7e, 0x44, 0x93, 0x66, 0x0a, 0xa5, 0xd3, 0x33,
+  0xe5, 0x4c, 0x24, 0xe3, 0x44, 0x71, 0x34, 0x4a, 0xaf, 0x23, 0xb3, 0x82,
+  0x44, 0x4c, 0x25, 0x40, 0x09, 0xcb, 0x66, 0x09, 0x6f, 0x15, 0x30, 0xc0,
+  0x20, 0xbb, 0xdf, 0x70, 0x85, 0x78, 0x0f, 0x5a, 0x65, 0x33, 0x29, 0x38,
+  0x52, 0x3f, 0xb0, 0xa2, 0xc1, 0x92, 0xbe, 0xe4, 0x75, 0xb4, 0xb0, 0x26,
+  0xc5, 0xb7, 0xd6, 0x20, 0x2f, 0x36, 0xd1, 0x02, 0x6e, 0x6f, 0x8e, 0x94,
+  0x12, 0x4b, 0xcf, 0xc5, 0x3a, 0x58, 0x00, 0x2c, 0x73, 0x0b, 0x58, 0x56,
+  0xb8, 0xda, 0xd4, 0xa6, 0x03, 0xa8, 0xe6, 0x56, 0xc6, 0x02, 0xf1, 0xc9,
+  0x44, 0x2f, 0xf1, 0xe9, 0x95, 0x6a, 0x12, 0xb6, 0x59, 0x0a, 0xc5, 0x74,
+  0x25, 0x65, 0xed, 0x69, 0x7c, 0x9b, 0x01, 0xe3, 0x99, 0x13, 0x89, 0xc8,
+  0x63, 0xa2, 0x3f, 0xea, 0x5f, 0x7d, 0xf1, 0x5e, 0xc6, 0x56, 0x78, 0xab,
+  0xd8, 0xf2, 0x1e, 0x6c, 0x91, 0x02, 0x98, 0x5a, 0xc7, 0x5a, 0xd0, 0x0a,
+  0xe3, 0xa5, 0xfd, 0x32, 0x43, 0x54, 0x68, 0xc7, 0x8a, 0x2c, 0x73, 0x63,
+  0x3a, 0x0d, 0x20, 0xaa, 0xc5, 0x1c, 0x11, 0x37, 0x84, 0x0f, 0x57, 0x9e,
+  0xfe, 0x40, 0x63, 0x48, 0x04, 0xce, 0x36, 0x98, 0x89, 0x46, 0x27, 0xb3,
+  0x78, 0x56, 0x33, 0x8f, 0x05, 0x1c, 0xcd, 0xbc, 0xad, 0xe1, 0xcd, 0xa4,
+  0x95, 0x11, 0xd2, 0x78, 0x26, 0xc2, 0xa3, 0x27, 0xbf, 0xd9, 0x4a, 0xe2,
+  0xd7, 0x36, 0x36, 0x0e, 0xdf, 0x0d, 0x2f, 0xcf, 0xde, 0x44, 0x67, 0xef,
+  0x2e, 0xcf, 0xdf, 0x5d, 0xea, 0xd5, 0x35, 0x92, 0xe8, 0x5f, 0xd1, 0x11,
+  0x45, 0x0a, 0xb0, 0xdd, 0x9c, 0xa9, 0x0b, 0x19, 0xc1, 0x0a, 0x19, 0xa0,
+  0xe9, 0x02, 0x94, 0x1a, 0x97, 0xdd, 0x03, 0xec, 0x26, 0x41, 0xbc, 0xc5,
+  0x9a, 0xdf, 0xd3, 0x9a, 0x23, 0x33, 0x13, 0xb6, 0x1d, 0x4b, 0x16, 0x82,
+  0xde, 0xd3, 0x5e, 0x75, 0xa4, 0x56, 0xc7, 0x0c, 0xce, 0xde, 0x2a, 0x28,
+  0x90, 0x8f, 0xc8, 0x31, 0xdb, 0x8e, 0x37, 0xfd, 0x84, 0xc1, 0x81, 0x08,
+  0x8b, 0x19, 0x97, 0x66, 0xcc, 0xb4, 0xf8, 0x4c, 0x04, 0xad, 0x54, 0x53,
+  0xd4, 0xc2, 0x4c, 0xb9, 0x32, 0xa3, 0x19, 0xde, 0xb8, 0xd8, 0x6a, 0x8e,
+  0x47, 0x41, 0x4c, 0x99, 0x38, 0xe4, 0x39, 0x78, 0xcb, 0x0a, 0xcc, 0xdf,
+  0xb3, 0x09, 0xbc, 0x71, 0xcd, 0xde, 0x47, 0xdd, 0xef, 0x92, 0xb0, 0xc1,
+  0xdf, 0xff, 0x9d, 0x13, 0x00, 0xdf, 0xdb, 0x27, 0xff, 0x90, 0x2e, 0xff,
+  0x32, 0xef, 0x22, 0x14, 0xab, 0xea, 0x79, 0xfd, 0xe6, 0xf8, 0xe2, 0xcb,
+  0xe3, 0x8b, 0xb3, 0x21, 0xc2, 0x4f, 0xcc, 0xdc, 0xd5, 0x24, 0xf6, 0xdb,
+  0x24, 0x1f, 0x25, 0x79, 0xa6, 0x85, 0x64, 0xec, 0xaf, 0x67, 0xdb, 0x5f,
+  0x0d, 0x87, 0x07, 0xe7, 0x27, 0xae, 0xe6, 0x88, 0x4b, 0x45, 0x12, 0x1d,
+  0x69, 0x2e, 0xc9, 0x72, 0x3c, 0x7f, 0x7b, 0x85, 0xe8, 0x62, 0x7c, 0x2b,
+  0x21, 0xaa, 0x0d, 0x1f, 0xa7, 0xd9, 0x68, 0xd9, 0xb9, 0xa9, 0x19, 0x6a,
+  0xdc, 0xb0, 0xa1, 0x0b, 0x49, 0xa2, 0xb6, 0x10, 0xf0, 0x6b, 0x36, 0x29,
+  0xf7, 0x5c, 0x18, 0xd7, 0x6d, 0x3e, 0xea, 0x13, 0xa1, 0xdf, 0x5a, 0x7d,
+  0x48, 0x09, 0xa6, 0x27, 0x36, 0x29, 0x51, 0xb6, 0xde, 0xce, 0x70, 0xcb,
+  0x55, 0x61, 0xb7, 0x6f, 0xf9, 0x68, 0x70, 0x59, 0x8c, 0xe9, 0x40, 0x38,
+  0xbb, 0x9c, 0x25, 0x0b, 0x9d, 0x64, 0xf6, 0xfa, 0x18, 0xd8, 0x01, 0xf5,
+  0xe6, 0xea, 0x55, 0x89, 0xa9, 0x8b, 0x3e, 0x79, 0xea, 0x40, 0x9f, 0xc2,
+  0x82, 0xa1, 0x57, 0x24, 0x7c, 0x2f, 0xee, 0x27, 0x7a, 0x81, 0x00, 0xe2,
+  0x78, 0x2e, 0x56, 0x6e, 0xe1, 0xdf, 0x75, 0x5f, 0x07, 0x17, 0xd8, 0x42,
+  0xd4, 0xbf, 0xc6, 0x34, 0x47, 0xa3, 0x69, 0x3c, 0xbf, 0xc5, 0x4d, 0x86,
+  0xbb, 0x89, 0xd5, 0x4d, 0xc3, 0x32, 0xe2, 0x72, 0x64, 0x70, 0x6d, 0x29,
+  0xbc, 0x00, 0x04, 0x40, 0x2b, 0x7e, 0xce, 0x96, 0x5d, 0x07, 0xd9, 0x14,
+  0x38, 0x71, 0x70, 0x92, 0xfc, 0x22, 0xb0, 0xd5, 0xe8, 0xf8, 0x94, 0x2e,
+  0x25, 0x97, 0xa9, 0x00, 0xf5, 0x3c, 0x99, 0x32, 0xf0, 0x8e, 0x05, 0x97,
+  0x48, 0x72, 0x5e, 0x0a, 0x26, 0x26, 0x8c, 0xc3, 0xd0, 0xb7, 0xe1, 0x86,
+  0x00, 0xa5, 0x20, 0x07, 0xb1, 0x70, 0x35, 0x2a, 0x94, 0x6b, 0x0b, 0x03,
+  0x03, 0xb8, 0xa4, 0x2f, 0x59, 0x11, 0x16, 0x31, 0xd1, 0x98, 0xad, 0x43,
+  0x1f, 0x5a, 0x12, 0xdb, 0x77, 0x32, 0x08, 0x2f, 0x92, 0x3a, 0x67, 0x55,
+  0x25, 0x45, 0x62, 0xed, 0x36, 0xc9, 0xeb, 0x6d, 0x06, 0x00, 0x30, 0x40,
+  0x6a, 0x40, 0xac, 0xdf, 0x0e, 0x5e, 0xc6, 0xe2, 0x5e, 0xab, 0xb1, 0xa6,
+  0x36, 0xf0, 0x81, 0x55, 0x57, 0x47, 0xf8, 0x93, 0xf8, 0x9f, 0x10, 0x27,
+  0xa9, 0xb7, 0x6f, 0x39, 0x01, 0xb7, 0xc9, 0x2b, 0x48, 0xa7, 0x61, 0x88,
+  0xa7, 0x20, 0x20, 0xc0, 0x2c, 0x28, 0x41, 0xff, 0xd0, 0x60, 0x9c, 0x6c,
+  0xdb, 0x7f, 0xcb, 0x57, 0x45, 0xd6, 0x1f, 0x2d, 0xa1, 0x93, 0x79, 0xac,
+  0x2e, 0x4d, 0x04, 0xe4, 0xa2, 0xc0, 0x00, 0xe7, 0xc2, 0xf7, 0xec, 0xd6,
+  0x40, 0x8a, 0xb5, 0x78, 0x3a, 0x90, 0x73, 0x57, 0x05, 0x6e, 0x71, 0x70,
+  0x1d, 0x12, 0xc8, 0x8e, 0x80, 0x5e, 0x8d, 0x5a, 0xd6, 0x11, 0xea, 0x26,
+  0xbb, 0x90, 0xb3, 0xb9, 0x56, 0xcd, 0x83, 0x9d, 0xbd, 0x1a, 0xb6, 0x5b,
+  0x3a, 0xb4, 0xf4, 0x4b, 0x88, 0x08, 0x89, 0x62, 0x88, 0x5b, 0x3c, 0xae,
+  0x45, 0xff, 0xdf, 0x95, 0x5c, 0x1f, 0x48, 0x90, 0x06, 0xe2, 0xa9, 0x14,
+  0x79, 0x58, 0x7b, 0x8b, 0xc8, 0x61, 0x2a, 0x2f, 0x2f, 0x7f, 0x38, 0x3f,
+  0x7e, 0x65, 0x6f, 0x3e, 0xb6, 0x67, 0x02, 0xc0, 0x85, 0xf0, 0x8b, 0x44,
+  0xc1, 0x2e, 0x83, 0x1a, 0x9c, 0x44, 0x64, 0xfd, 0xd2, 0xdc, 0xc2, 0xd2,
+  0x4d, 0x3f, 0xfa, 0xfe, 0xe8, 0x64, 0x78, 0x7e, 0x7a, 0x76, 0xf8, 0xea,
+  0xe5, 0xf7, 0xc6, 0x8d, 0x3f, 0x67, 0xc4, 0x19, 0x91, 0xd1, 0xdc, 0x67,
+  0x1e, 0x20, 0x40, 0xdf, 0x7b, 0x7b, 0xfc, 0xdd, 0x7b, 0xd2, 0x0c, 0x5e,
+  0x31, 0x28, 0x78, 0xef, 0x2e, 0x9e, 0xea, 0x4b, 0xac, 0x5e, 0xb5, 0xc8,
+  0x75, 0x41, 0x3a, 0x47, 0xdb, 0xc2, 0xb2, 0x3c, 0x11, 0x20, 0xb4, 0xae,
+  0x20, 0x41, 0x6b, 0x44, 0x56, 0x50, 0x4f, 0x28, 0xae, 0xe4, 0x66, 0xb6,
+  0x14, 0x67, 0xcc, 0xdc, 0xcd, 0xdf, 0x2d, 0x25, 0x32, 0x8f, 0xbd, 0xd1,
+  0xa1, 0x93, 0x17, 0xc1, 0x8f, 0xfa, 0x8d, 0x0f, 0x0a, 0x55, 0xf8, 0xdd,
+  0x9c, 0x63, 0x21, 0x1c, 0x96, 0xa1, 0x56, 0xc8, 0x84, 0xfb, 0x54, 0x01,
+  0x0f, 0x15, 0xc9, 0x87, 0xe3, 0x30, 0x2d, 0x24, 0xdb, 0x55, 0x61, 0x16,
+  0xf1, 0xc5, 0x8d, 0x25, 0x1e, 0x8f, 0xe9, 0x07, 0x63, 0x4c, 0x72, 0x39,
+  0x97, 0x73, 0xae, 0xca, 0x3e, 0xbc, 0x64, 0x15, 0x4a, 0xab, 0x96, 0xa9,
+  0xf9, 0xd9, 0x4a, 0xca, 0x21, 0xf1, 0xbf, 0x8a, 0x5d, 0x19, 0x96, 0x9a,
+  0xa8, 0x9c, 0x68, 0xc7, 0xe6, 0xaa, 0x99, 0x80, 0x6c, 0x45, 0x90, 0xf4,
+  0x42, 0x16, 0x42, 0x05, 0x81, 0x35, 0xbe, 0xb2, 0x03, 0x9c, 0x29, 0x69,
+  0xd4, 0x2a, 0x2e, 0xa0, 0x5a, 0x0a, 0x76, 0x67, 0x9a, 0x8e, 0xbc, 0xc1,
+  0xbc, 0xe6, 0x89, 0x64, 0x47, 0xb7, 0x22, 0x3e, 0x84, 0x47, 0xc8, 0x4c,
+  0xe1, 0x3e, 0xbd, 0xb6, 0xc8, 0xac, 0x7c, 0xa2, 0x10, 0x3f, 0x4c, 0xd5,
+  0x61, 0x12, 0xa4, 0x53, 0x52, 0xa1, 0x98, 0x98, 0x88, 0xe6, 0x3e, 0x0d,
+  0x42, 0x19, 0x15, 0x44, 0x08, 0xd8, 0xa7, 0xca, 0xb2, 0x51, 0xaf, 0x5c,
+  0xd2, 0x99, 0xd8, 0xc8, 0x42, 0x02, 0x0b, 0xd2, 0xb3, 0x11, 0x72, 0xa2,
+  0x33, 0x6b, 0x48, 0x1f, 0x2a, 0x36, 0x5e, 0x73, 0x1e, 0x14, 0x90, 0x9a,
+  0x26, 0x2c, 0x6a, 0xc1, 0xfa, 0x16, 0x76, 0x66, 0x37, 0x29, 0xaf, 0xe0,
+  0x68, 0x19, 0xd6, 0xf3, 0x72, 0xa3, 0x97, 0x92, 0x16, 0x58, 0x78, 0x04,
+  0xdb, 0xc5, 0x39, 0x90, 0x10, 0x4b, 0x45, 0x1a, 0x37, 0xa5, 0x47, 0x23,
+  0xe7, 0x06, 0x55, 0x50, 0x18, 0xa3, 0x4b, 0x2b, 0xd5, 0xf7, 0xd8, 0x8a,
+  0xba, 0xd5, 0x14, 0xf2, 0xcd, 0x13, 0x0b, 0x81, 0x11, 0x13, 0x43, 0xc1,
+  0xbe, 0x86, 0xf9, 0xd8, 0x5d, 0xc6, 0x9c, 0xb9, 0xc2, 0xa1, 0x20, 0xb9,
+  0x02, 0xee, 0x2c, 0xb9, 0x38, 0xba, 0x56, 0x10, 0x45, 0xfd, 0x4b, 0x76,
+  0xb8, 0x19, 0x18, 0x9b, 0x8f, 0x05, 0x96, 0xe5, 0x0e, 0xc8, 0x4a, 0x4c,
+  0xeb, 0x2b, 0xed, 0xd0, 0x65, 0x59, 0xdb, 0x66, 0xf5, 0x24, 0x69, 0x27,
+  0x46, 0x8e, 0x88, 0xd9, 0x74, 0x83, 0x5c, 0xc3, 0x42, 0x33, 0x38, 0x9d,
+  0xb3, 0x52, 0x18, 0x1e, 0x2a, 0x16, 0xf9, 0x9c, 0xa7, 0x8a, 0x53, 0x90,
+  0x24, 0xcb, 0x05, 0xca, 0xef, 0x8c, 0x15, 0x81, 0x1c, 0xc1, 0x9f, 0xae,
+  0x3d, 0xbb, 0x43, 0xfc, 0x5a, 0xd1, 0xa2, 0xbe, 0x79, 0x77, 0x7a, 0x79,
+  0x72, 0x1e, 0x3a, 0x1e, 0xa3, 0xef, 0x4e, 0x2e, 0xbf, 0x26, 0x79, 0x9d,
+  0x6b, 0x3b, 0x9f, 0xb2, 0x77, 0xe7, 0xcd, 0x9b, 0x83, 0xb7, 0x9c, 0xa1,
+  0xfe, 0x16, 0x31, 0x72, 0x07, 0xd0, 0x19, 0x98, 0x1b, 0xd1, 0x0a, 0x33,
+  0xe9, 0x70, 0xee, 0x72, 0xaf, 0xe9, 0x65, 0xa8, 0x9d, 0x3e, 0x30, 0x1c,
+  0x3e, 0x42, 0xe1, 0x1a, 0xf1, 0x86, 0xab, 0x4e, 0xb0, 0x62, 0x9b, 0x0e,
+  0x4e, 0x2d, 0xeb, 0x59, 0xbc, 0xce, 0x75, 0xe8, 0x71, 0xe4, 0xc9, 0x89,
+  0x6c, 0x0e, 0x9f, 0xaa, 0x5c, 0xdd, 0xde, 0x73, 0x81, 0x0d, 0x75, 0x20,
+  0xa6, 0x88, 0x59, 0x25, 0x91, 0x69, 0xae, 0x2a, 0x8d, 0x5c, 0x97, 0xd5,
+  0xb8, 0x75, 0xea, 0x11, 0x43, 0x82, 0x53, 0x39, 0xf3, 0xc6, 0x40, 0x56,
+  0x36, 0x59, 0x5f, 0xbe, 0x38, 0x0d, 0xef, 0xd3, 0x6a, 0xfd, 0x60, 0x0b,
+  0x34, 0xbb, 0xce, 0x12, 0x7f, 0x70, 0xfb, 0x67, 0xd6, 0x8c, 0x59, 0x7e,
+  0xa1, 0x81, 0xc9, 0xdd, 0xd2, 0x67, 0xb6, 0xd6, 0xa7, 0x2d, 0xd9, 0x72,
+  0x35, 0x6a, 0xd4, 0x72, 0xb6, 0x2f, 0x52, 0x65, 0xa5, 0x8a, 0x37, 0x90,
+  0x63, 0xcf, 0x5c, 0xcb, 0x1a, 0xd0, 0x80, 0xb8, 0x5e, 0x4d, 0x8d, 0xd1,
+  0x39, 0x83, 0x59, 0xda, 0x63, 0x95, 0xcc, 0xde, 0x5a, 0x29, 0x71, 0x4b,
+  0x8d, 0x42, 0x42, 0x24, 0x43, 0xb8, 0x78, 0x9f, 0x29, 0xca, 0x72, 0x65,
+  0xd9, 0x20, 0x79, 0x48, 0xd8, 0xbd, 0xc9, 0xbf, 0xfe, 0x75, 0x71, 0x1d,
+  0x66, 0x4d, 0x61, 0xae, 0x9a, 0x1e, 0xdc, 0x8e, 0x09, 0x2c, 0x52, 0x91,
+  0x16, 0x27, 0xab, 0x8c, 0x40, 0x2b, 0x8e, 0xed, 0xae, 0xeb, 0x50, 0xbf,
+  0xdf, 0x6b, 0x7e, 0xbf, 0x27, 0x16, 0x47, 0xae, 0x40, 0xef, 0xf0, 0x34,
+  0x25, 0x17, 0x38, 0x94, 0xde, 0x4c, 0x26, 0x60, 0x0a, 0x93, 0x62, 0xf5,
+  0x70, 0xab, 0x08, 0x4b, 0x14, 0xb3, 0x3f, 0xc7, 0x22, 0x2d, 0x73, 0xe4,
+  0x38, 0xe2, 0x11, 0x58, 0x88, 0x25, 0x80, 0x14, 0xe1, 0x5a, 0x60, 0x53,
+  0x7c, 0x5b, 0x51, 0x83, 0xf4, 0xfd, 0x53, 0x17, 0xd0, 0xed, 0x59, 0x1a,
+  0x0a, 0x7c, 0x69, 0x46, 0x4d, 0x3f, 0x5d, 0xdc, 0x59, 0x81, 0x4b, 0xfa,
+  0xf5, 0xb9, 0x2b, 0xee, 0x52, 0x54, 0xdc, 0x53, 0x15, 0xe0, 0x5a, 0xe3,
+  0xfd, 0x18, 0x1c, 0x02, 0xec, 0x98, 0x31, 0x38, 0xcc, 0xd7, 0x41, 0x6d,
+  0x5c, 0x49, 0x35, 0xb4, 0x37, 0x28, 0x35, 0x09, 0xdb, 0xf2, 0x14, 0xd9,
+  0x95, 0x60, 0x47, 0x01, 0x6f, 0x09, 0x71, 0xe2, 0x75, 0xd7, 0x7f, 0xdc,
+  0xdb, 0xd9, 0xd9, 0xdd, 0xdf, 0xfd, 0xec, 0xc5, 0xce, 0xfe, 0xee, 0xee,
+  0xee, 0xde, 0xfe, 0xee, 0xfe, 0xfe, 0xde, 0xce, 0x4f, 0xdb, 0x6c, 0x3a,
+  0xba, 0x4b, 0x93, 0x7b, 0x57, 0x49, 0xfe, 0x3b, 0xb9, 0xa6, 0xe1, 0x2f,
+  0x58, 0x89, 0x1b, 0x90, 0xb9, 0xa4, 0x6a, 0xb8, 0x26, 0xf8, 0x38, 0x64,
+  0x02, 0x09, 0xbe, 0x16, 0x40, 0xb2, 0x85, 0xcf, 0x56, 0xc4, 0x19, 0x0c,
+  0x00, 0x93, 0x31, 0xaa, 0xbf, 0x2d, 0x79, 0xa6, 0x23, 0x96, 0x06, 0x20,
+  0xd2, 0x14, 0x2e, 0x37, 0xec, 0x7a, 0x9a, 0x8d, 0x46, 0x08, 0x80, 0x77,
+  0xe9, 0x91, 0x83, 0x88, 0x91, 0x39, 0x6f, 0x85, 0x24, 0xd4, 0x69, 0x80,
+  0xf0, 0x34, 0x39, 0xe8, 0x7e, 0x75, 0x44, 0xee, 0xd2, 0x90, 0xdc, 0x71,
+  0xc6, 0xa8, 0xf4, 0x13, 0x66, 0x4a, 0xb4, 0x48, 0xb9, 0x4b, 0x9b, 0x88,
+  0xae, 0x92, 0xcf, 0x76, 0xf6, 0xf7, 0xb9, 0x70, 0xc4, 0xef, 0x77, 0x7b,
+  0x1a, 0x59, 0x18, 0x86, 0x4b, 0xf7, 0xdc, 0xed, 0x24, 0x6d, 0xb0, 0xf6,
+  0x11, 0xce, 0x73, 0xbe, 0x9c, 0x25, 0xb9, 0xea, 0x21, 0xb8, 0x0f, 0x05,
+  0x40, 0x86, 0x89, 0xd1, 0x86, 0xec, 0x9e, 0x45, 0x29, 0x14, 0x98, 0xe4,
+  0x25, 0xbf, 0xc1, 0x5f, 0x9e, 0x7a, 0xce, 0x71, 0x54, 0xe6, 0x52, 0x64,
+  0x92, 0x1f, 0x86, 0x40, 0x0e, 0x54, 0x8c, 0xec, 0x36, 0x94, 0x55, 0x35,
+  0xa7, 0xe3, 0xc7, 0x60, 0xf0, 0x7b, 0xcf, 0x76, 0x7f, 0x92, 0x40, 0x36,
+  0x26, 0x70, 0xbf, 0x0a, 0x5a, 0x1a, 0x6c, 0xa2, 0xf2, 0x88, 0xa4, 0x81,
+  0x29, 0x61, 0x6c, 0x26, 0x83, 0xeb, 0x81, 0x09, 0x09, 0x6a, 0x38, 0xec,
+  0x85, 0xe1, 0xc4, 0x82, 0x60, 0x2d, 0x35, 0xd9, 0xa1, 0x76, 0x99, 0x6d,
+  0xc8, 0x6c, 0xbb, 0x62, 0x97, 0xac, 0xd4, 0x78, 0xd9, 0xa0, 0x2b, 0xe3,
+  0xe0, 0xe4, 0x94, 0xe3, 0x55, 0x4e, 0x49, 0x02, 0x1b, 0x1a, 0x2b, 0x43,
+  0x48, 0x0f, 0xe2, 0x6d, 0xe6, 0x29, 0xdf, 0xa6, 0x3d, 0x07, 0x2d, 0x6f,
+  0x61, 0xf1, 0x10, 0x2b, 0xd8, 0xee, 0x2e, 0x92, 0xb9, 0xe2, 0x40, 0x91,
+  0x3c, 0x4c, 0xfc, 0xac, 0x10, 0x73, 0x0a, 0xe0, 0x16, 0x19, 0x87, 0x18,
+  0x3e, 0x0e, 0x48, 0xbc, 0xb2, 0xf0, 0xa8, 0x66, 0x91, 0x27, 0xd3, 0xe4,
+  0x4e, 0xed, 0x1e, 0x02, 0x5e, 0xf7, 0x95, 0xba, 0x17, 0xa4, 0x98, 0x5d,
+  0xe9, 0xbd, 0x24, 0x15, 0x0f, 0x06, 0xf7, 0xb9, 0x2d, 0x79, 0xff, 0x3e,
+  0x9d, 0x1b, 0xc5, 0x7f, 0x1d, 0xe0, 0xb2, 0x79, 0x73, 0xf8, 0xbd, 0x3e,
+  0x8b, 0xa0, 0x1a, 0x87, 0xf4, 0xae, 0xd0, 0x8c, 0xdd, 0x7a, 0x54, 0xa0,
+  0xa8, 0xf2, 0x56, 0x0e, 0x49, 0xcc, 0x62, 0x3d, 0xc3, 0xc4, 0x14, 0x63,
+  0x1e, 0x4b, 0x2d, 0x3d, 0x36, 0xa1, 0xa0, 0xa5, 0x2b, 0x92, 0x97, 0x18,
+  0xf9, 0xbc, 0x17, 0xf9, 0xc2, 0xf1, 0xd9, 0x94, 0xfe, 0x44, 0xa0, 0x03,
+  0xaf, 0x3a, 0x9e, 0x65, 0x4c, 0xbf, 0x20, 0xfc, 0x88, 0xfe, 0x94, 0xb0,
+  0x57, 0xfd, 0x0b, 0x4d, 0xe5, 0x4b, 0x40, 0x47, 0xf6, 0x84, 0x58, 0xd9,
+  0x1f, 0x50, 0x8e, 0x07, 0x6e, 0xf4, 0xea, 0x8e, 0x93, 0xf1, 0x1f, 0x99,
+  0xb7, 0xc8, 0xd8, 0x44, 0x96, 0xdb, 0xea, 0xca, 0x2e, 0x8c, 0xa4, 0x7a,
+  0xd5, 0x97, 0x4b, 0xb6, 0x53, 0xbb, 0xea, 0x0c, 0x3c, 0x8a, 0x19, 0x93,
+  0x56, 0x22, 0x85, 0xe2, 0x5c, 0xe3, 0x2c, 0x70, 0x2d, 0x69, 0x77, 0xa5,
+  0xf5, 0xd3, 0xec, 0x9e, 0xab, 0xdc, 0x5d, 0x5d, 0x71, 0xdd, 0xf2, 0xb3,
+  0xb9, 0x87, 0x88, 0x64, 0xae, 0x2a, 0x0f, 0xce, 0xac, 0xb4, 0x06, 0xcd,
+  0xcd, 0x0a, 0xd8, 0x5b, 0xe0, 0xe2, 0x20, 0x3a, 0xc0, 0x2a, 0x91, 0x2c,
+  0x84, 0xe6, 0xc4, 0xcd, 0x06, 0x71, 0xb0, 0x16, 0x27, 0xa7, 0x25, 0x78,
+  0xf9, 0x86, 0x9c, 0xa1, 0xdc, 0x1f, 0xc7, 0x84, 0xcd, 0xb2, 0xb9, 0x85,
+  0x3d, 0x2f, 0x0b, 0x01, 0x0c, 0xb3, 0x7a, 0xbd, 0x1b, 0x62, 0x33, 0x4c,
+  0xa7, 0x8a, 0xd0, 0xab, 0x82, 0x33, 0xde, 0x08, 0x27, 0x33, 0xe9, 0x2f,
+  0x6e, 0x16, 0xb6, 0xd3, 0xc6, 0xaf, 0x84, 0x99, 0x69, 0xa0, 0x2d, 0xae,
+  0xb7, 0xf3, 0xaf, 0xcf, 0x07, 0xd1, 0x31, 0xb7, 0x24, 0x63, 0xd2, 0x7b,
+  0x08, 0x1a, 0x14, 0x7d, 0x47, 0x93, 0xbd, 0x66, 0x06, 0x7e, 0x96, 0xf3,
+  0x5f, 0x68, 0x4d, 0xbf, 0x14, 0xa3, 0x09, 0xbe, 0xad, 0xf6, 0x4a, 0x0d,
+  0x59, 0x44, 0xdc, 0x39, 0x7e, 0xa7, 0xa3, 0x42, 0xdc, 0xd1, 0x6d, 0x93,
+  0xef, 0x21, 0xcb, 0x2b, 0xf0, 0x0a, 0xf2, 0x66, 0x44, 0x4c, 0x13, 0xac,
+  0x6f, 0xb1, 0xc2, 0xfe, 0x41, 0xe1, 0x06, 0x26, 0x87, 0x5e, 0x0f, 0xd2,
+  0x40, 0x40, 0x5a, 0x4a, 0x7e, 0x2e, 0xb0, 0x46, 0xce, 0x55, 0x2e, 0xc0,
+  0x02, 0x79, 0xa2, 0x61, 0x48, 0x99, 0x3a, 0x30, 0x44, 0xdf, 0x28, 0x92,
+  0xda, 0x71, 0x0d, 0xc4, 0x2b, 0xfb, 0x82, 0x85, 0x62, 0x1e, 0x0b, 0x31,
+  0xa1, 0x65, 0x3c, 0x1d, 0x6c, 0xfc, 0x2f, 0xc9, 0x11, 0xc2, 0x43, 0x02,
+  0xff, 0x01, 0x00,
+};
+#define BUF_SIZE 0x10000
+/* Decompress and send to stdout a gzip-compressed buffer */
+void hugehelp(void)
+{
+  unsigned char* buf;
+  int status,headerlen;
+  z_stream z;
+
+  /* Make sure no gzip options are set */
+  if (hugehelpgz[3] & 0xfe)
+    return;
+
+  headerlen = 10;
+  z.avail_in = (unsigned int)(sizeof(hugehelpgz) - headerlen);
+  z.next_in = (unsigned char *)hugehelpgz + headerlen;
+  z.zalloc = (alloc_func)Z_NULL;
+  z.zfree = (free_func)Z_NULL;
+  z.opaque = 0;
+
+  if (inflateInit2(&z, -MAX_WBITS) != Z_OK)
+    return;
+
+  buf = malloc(BUF_SIZE);
+  if (buf) {
+    while(1) {
+      z.avail_out = BUF_SIZE;
+      z.next_out = buf;
+      status = inflate(&z, Z_SYNC_FLUSH);
+      if (status == Z_OK || status == Z_STREAM_END) {
+        fwrite(buf, BUF_SIZE - z.avail_out, 1, stdout);
+        if (status == Z_STREAM_END)
+          break;
+      }
+      else
+        break;    /* Error */
+    }
+    free(buf);
+  }
+  inflateEnd(&z);
+}
+#endif /* USE_MANUAL */
+#endif /* HAVE_LIBZ */
diff --git a/src/hugehelp.h b/src/hugehelp.h
new file mode 100644
index 0000000..b84be17
--- /dev/null
+++ b/src/hugehelp.h
@@ -0,0 +1,26 @@
+#ifndef HEADER_CURL_HUGEHELP_H
+#define HEADER_CURL_HUGEHELP_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+void hugehelp(void);
+
+#endif /* HEADER_CURL_HUGEHELP_H */
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 0000000..6e3ef3d
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,5830 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "setup.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdarg.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <ctype.h>
+#include <errno.h>
+
+#if defined(MSDOS) || defined(WIN32)
+#  if defined(HAVE_LIBGEN_H) && defined(HAVE_BASENAME)
+#    include <libgen.h>
+#  endif
+#endif
+
+#include <curl/curl.h>
+
+#include "urlglob.h"
+#include "writeout.h"
+#include "getpass.h"
+#include "homedir.h"
+#include "curlutil.h"
+#ifdef USE_MANUAL
+#include "hugehelp.h"
+#endif
+#ifdef USE_ENVIRONMENT
+#include "writeenv.h"
+#endif
+#include "rawstr.h"
+
+#define CURLseparator   "--_curl_--"
+
+#ifdef NETWARE
+#ifdef __NOVELL_LIBC__
+#include <screen.h>
+#else
+#include <nwconio.h>
+#define mkdir mkdir_510
+#endif
+#endif
+
+#include "version.h"
+
+#ifdef HAVE_IO_H /* typical win32 habit */
+#include <io.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
+
+#ifdef HAVE_UTIME_H
+#include <utime.h>
+#else
+#ifdef HAVE_SYS_UTIME_H
+#include <sys/utime.h>
+#endif
+
+#endif /* HAVE_UTIME_H */
+
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
+
+#ifdef HAVE_SYS_POLL_H
+#include <sys/poll.h>
+#elif defined(HAVE_POLL_H)
+#include <poll.h>
+#endif
+
+#ifdef HAVE_LOCALE_H
+#include <locale.h> /* for setlocale() */
+#endif
+
+#define ENABLE_CURLX_PRINTF
+/* make the curlx header define all printf() functions to use the curlx_*
+   versions instead */
+#include "curlx.h" /* header from the libcurl directory */
+
+#if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV)
+#include <iconv.h>
+/* set default codesets for iconv */
+#ifndef CURL_ICONV_CODESET_OF_NETWORK
+#define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"
+#endif
+#endif /* CURL_DOES_CONVERSIONS && HAVE_ICONV */
+
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h> /* for IPPROTO_TCP */
+#endif
+#ifdef HAVE_NETINET_TCP_H
+#include <netinet/tcp.h> /* for TCP_KEEPIDLE, TCP_KEEPINTVL */
+#endif
+
+#include "os-specific.h"
+
+/* The last #include file should be: */
+#ifdef CURLDEBUG
+#ifndef CURLTOOLDEBUG
+#define MEMDEBUG_NODEFINES
+#endif
+/* This is low-level hard-hacking memory leak tracking and similar. Using
+   the library level code from this client-side is ugly, but we do this
+   anyway for convenience. */
+#include "memdebug.h"
+#endif
+
+#ifdef __VMS
+static int vms_show = 0;
+#endif
+
+#if defined(NETWARE)
+#define PRINT_LINES_PAUSE 23
+#endif
+
+#if defined(__SYMBIAN32__)
+#define PRINT_LINES_PAUSE 16
+#define pressanykey() getchar()
+#endif
+
+#define DEFAULT_MAXREDIRS  50L
+
+#if defined(O_BINARY) && defined(HAVE_SETMODE)
+  #ifdef __HIGHC__
+    #define SET_BINMODE(file) _setmode(file,O_BINARY)
+  #else
+    #define SET_BINMODE(file) setmode(fileno(file),O_BINARY)
+  #endif
+#else
+  #define SET_BINMODE(file)   ((void)0)
+#endif
+
+#ifndef O_BINARY
+/* since O_BINARY as used in bitmasks, setting it to zero makes it usable in
+   source code but yet it doesn't ruin anything */
+#define O_BINARY 0
+#endif
+
+#if defined(MSDOS) || defined(WIN32)
+
+static const char *msdosify(const char *);
+static char *rename_if_dos_device_name(char *);
+static char *sanitize_dos_name(char *);
+
+#ifndef S_ISCHR
+#  ifdef S_IFCHR
+#    define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
+#  else
+#    define S_ISCHR(m) (0) /* cannot tell if file is a device */
+#  endif
+#endif
+
+#ifdef WIN32
+#  define _use_lfn(f) (1)  /* long file names always available */
+#elif !defined(__DJGPP__) || (__DJGPP__ < 2)  /* DJGPP 2.0 has _use_lfn() */
+#  define _use_lfn(f) (0)  /* long file names never available */
+#endif
+
+#endif /* MSDOS || WIN32 */
+
+#ifdef MSDOS
+#define USE_WATT32
+#include <dos.h>
+
+#ifdef DJGPP
+/* we want to glob our own argv[] */
+char **__crt0_glob_function (char *arg)
+{
+  (void)arg;
+  return (char**)0;
+}
+#endif /* __DJGPP__ */
+#endif /* MSDOS */
+
+#ifndef STDIN_FILENO
+#define STDIN_FILENO  fileno(stdin)
+#endif
+
+#ifndef STDOUT_FILENO
+#define STDOUT_FILENO  fileno(stdout)
+#endif
+
+#ifndef STDERR_FILENO
+#define STDERR_FILENO  fileno(stderr)
+#endif
+
+#define CURL_PROGRESS_STATS 0 /* default progress display */
+#define CURL_PROGRESS_BAR   1
+
+typedef enum {
+  HTTPREQ_UNSPEC,
+  HTTPREQ_GET,
+  HTTPREQ_HEAD,
+  HTTPREQ_POST,
+  HTTPREQ_SIMPLEPOST,
+  HTTPREQ_CUSTOM,
+  HTTPREQ_LAST
+} HttpReq;
+
+/*
+ * Large file support (>2Gb) using WIN32 functions.
+ */
+
+#ifdef USE_WIN32_LARGE_FILES
+#  include <io.h>
+#  include <sys/types.h>
+#  include <sys/stat.h>
+#  define lseek(fdes,offset,whence)  _lseeki64(fdes, offset, whence)
+#  define fstat(fdes,stp)            _fstati64(fdes, stp)
+#  define stat(fname,stp)            _stati64(fname, stp)
+#  define struct_stat                struct _stati64
+#  define LSEEK_ERROR                (__int64)-1
+#endif
+
+/*
+ * Small file support (<2Gb) using WIN32 functions.
+ */
+
+#ifdef USE_WIN32_SMALL_FILES
+#  include <io.h>
+#  include <sys/types.h>
+#  include <sys/stat.h>
+#  define lseek(fdes,offset,whence)  _lseek(fdes, (long)offset, whence)
+#  define fstat(fdes,stp)            _fstat(fdes, stp)
+#  define stat(fname,stp)            _stat(fname, stp)
+#  define struct_stat                struct _stat
+#  define LSEEK_ERROR                (long)-1
+#endif
+
+#ifndef struct_stat
+#  define struct_stat struct stat
+#endif
+
+#ifndef LSEEK_ERROR
+#  define LSEEK_ERROR (off_t)-1
+#endif
+
+#ifdef WIN32
+#  include <direct.h>
+#  define mkdir(x,y) (mkdir)(x)
+#  undef  PATH_MAX
+#  define PATH_MAX MAX_PATH
+#  ifndef __POCC__
+#    define F_OK 0
+#  endif
+#endif
+
+/*
+ * Default sizeof(off_t) in case it hasn't been defined in config file.
+ */
+
+#ifndef SIZEOF_OFF_T
+#  if defined(__VMS) && !defined(__VAX)
+#    if defined(_LARGEFILE)
+#      define SIZEOF_OFF_T 8
+#    endif
+#  elif defined(__OS400__) && defined(__ILEC400__)
+#    if defined(_LARGE_FILES)
+#      define SIZEOF_OFF_T 8
+#    endif
+#  elif defined(__MVS__) && defined(__IBMC__)
+#    if defined(_LP64) || defined(_LARGE_FILES)
+#      define SIZEOF_OFF_T 8
+#    endif
+#  elif defined(__370__) && defined(__IBMC__)
+#    if defined(_LP64) || defined(_LARGE_FILES)
+#      define SIZEOF_OFF_T 8
+#    endif
+#  elif defined(TPF)
+#    define SIZEOF_OFF_T 8
+#  endif
+#  ifndef SIZEOF_OFF_T
+#    define SIZEOF_OFF_T 4
+#  endif
+#endif
+
+#ifdef CURL_DOES_CONVERSIONS
+#ifdef HAVE_ICONV
+iconv_t inbound_cd  = (iconv_t)-1;
+iconv_t outbound_cd = (iconv_t)-1;
+
+/*
+ * convert_to_network() is an internal function to convert
+ * from the host encoding to ASCII on non-ASCII platforms.
+ */
+static CURLcode
+convert_to_network(char *buffer, size_t length)
+{
+  CURLcode rc;
+
+  /* translate from the host encoding to the network encoding */
+  char *input_ptr, *output_ptr;
+  size_t in_bytes, out_bytes;
+
+  /* open an iconv conversion descriptor if necessary */
+  if(outbound_cd == (iconv_t)-1) {
+    outbound_cd = iconv_open(CURL_ICONV_CODESET_OF_NETWORK,
+                             CURL_ICONV_CODESET_OF_HOST);
+    if(outbound_cd == (iconv_t)-1) {
+      return CURLE_CONV_FAILED;
+    }
+  }
+  /* call iconv */
+  input_ptr = output_ptr = buffer;
+  in_bytes = out_bytes = length;
+  rc = iconv(outbound_cd, &input_ptr,  &in_bytes,
+                          &output_ptr, &out_bytes);
+  if ((rc == -1) || (in_bytes != 0)) {
+    return CURLE_CONV_FAILED;
+  }
+
+  return CURLE_OK;
+}
+
+/*
+ * convert_from_network() is an internal function
+ * for performing ASCII conversions on non-ASCII platforms.
+ */
+static CURLcode
+convert_from_network(char *buffer, size_t length)
+{
+  CURLcode rc;
+
+  /* translate from the network encoding to the host encoding */
+  char *input_ptr, *output_ptr;
+  size_t in_bytes, out_bytes;
+
+  /* open an iconv conversion descriptor if necessary */
+  if(inbound_cd == (iconv_t)-1) {
+    inbound_cd = iconv_open(CURL_ICONV_CODESET_OF_HOST,
+                            CURL_ICONV_CODESET_OF_NETWORK);
+    if(inbound_cd == (iconv_t)-1) {
+      return CURLE_CONV_FAILED;
+    }
+  }
+  /* call iconv */
+  input_ptr = output_ptr = buffer;
+  in_bytes = out_bytes = length;
+  rc = iconv(inbound_cd, &input_ptr,  &in_bytes,
+                         &output_ptr, &out_bytes);
+  if ((rc == -1) || (in_bytes != 0)) {
+    return CURLE_CONV_FAILED;
+  }
+
+  return CURLE_OK;
+}
+#endif /* HAVE_ICONV */
+
+static
+char convert_char(curl_infotype infotype, char this_char)
+{
+/* determine how this specific character should be displayed */
+  switch(infotype) {
+  case CURLINFO_DATA_IN:
+  case CURLINFO_DATA_OUT:
+  case CURLINFO_SSL_DATA_IN:
+  case CURLINFO_SSL_DATA_OUT:
+    /* data, treat as ASCII */
+    if ((this_char >= 0x20) && (this_char < 0x7f)) {
+      /* printable ASCII hex value: convert to host encoding */
+      convert_from_network(&this_char, 1);
+    }
+    else {
+      /* non-printable ASCII, use a replacement character */
+      return UNPRINTABLE_CHAR;
+    }
+    /* fall through to default */
+  default:
+    /* treat as host encoding */
+    if (ISPRINT(this_char)
+        &&  (this_char != '\t')
+        &&  (this_char != '\r')
+        &&  (this_char != '\n')) {
+      /* printable characters excluding tabs and line end characters */
+      return this_char;
+    }
+    break;
+  }
+  /* non-printable, use a replacement character  */
+  return UNPRINTABLE_CHAR;
+}
+#endif /* CURL_DOES_CONVERSIONS */
+
+#ifdef WIN32
+
+#ifdef __BORLANDC__
+   /* 64-bit lseek-like function unavailable */
+#  define _lseeki64(hnd,ofs,whence) lseek(hnd,ofs,whence)
+#endif
+
+#ifdef __POCC__
+#  if (__POCC__ < 450)
+     /* 64-bit lseek-like function unavailable */
+#    define _lseeki64(hnd,ofs,whence) _lseek(hnd,ofs,whence)
+#  else
+#    define _lseeki64(hnd,ofs,whence) _lseek64(hnd,ofs,whence)
+#  endif
+#endif
+
+#ifndef HAVE_FTRUNCATE
+#define HAVE_FTRUNCATE 1
+#endif
+
+/*
+ * Truncate a file handle at a 64-bit position 'where'.
+ */
+
+static int ftruncate64 (int fd, curl_off_t where)
+{
+  if(_lseeki64(fd, where, SEEK_SET) < 0)
+    return -1;
+
+  if(!SetEndOfFile((HANDLE)_get_osfhandle(fd)))
+    return -1;
+
+  return 0;
+}
+#define ftruncate(fd,where) ftruncate64(fd,where)
+
+#endif /* WIN32 */
+
+typedef enum {
+  TRACE_NONE,  /* no trace/verbose output at all! */
+  TRACE_BIN,   /* tcpdump inspired look */
+  TRACE_ASCII, /* like *BIN but without the hex output */
+  TRACE_PLAIN  /* -v/--verbose type */
+} trace;
+
+struct OutStruct {
+  char *filename;
+  FILE *stream;
+  struct Configurable *config;
+  curl_off_t bytes; /* amount written so far */
+  curl_off_t init;  /* original size (non-zero when appending) */
+};
+
+struct Configurable {
+  CURL *easy; /* once we have one, we keep it here */
+  bool remote_time;
+  char *random_file;
+  char *egd_file;
+  char *useragent;
+  char *cookie;     /* single line with specified cookies */
+  char *cookiejar;  /* write to this file */
+  char *cookiefile; /* read from this file */
+  bool cookiesession; /* new session? */
+  bool encoding;    /* Accept-Encoding please */
+  long authtype;    /* auth bitmask */
+  bool use_resume;
+  bool resume_from_current;
+  bool disable_epsv;
+  bool disable_eprt;
+  bool ftp_pret;
+  curl_off_t resume_from;
+  char *postfields;
+  curl_off_t postfieldsize;
+  char *referer;
+  long timeout;
+  long connecttimeout;
+  long maxredirs;
+  curl_off_t max_filesize;
+  char *headerfile;
+  char *ftpport;
+  char *iface;
+  int localport;
+  int localportrange;
+  unsigned short porttouse;
+  char *range;
+  long low_speed_limit;
+  long low_speed_time;
+  bool showerror;
+  char *userpwd;
+  char *proxyuserpwd;
+  char *proxy;
+  int proxyver;     /* set to CURLPROXY_HTTP* define */
+  char *noproxy;
+  char *mail_from;
+  struct curl_slist *mail_rcpt;
+  bool proxytunnel;
+  bool ftp_append;         /* APPE on ftp */
+  bool mute;               /* shutup */
+  bool use_ascii;          /* select ascii or text transfer */
+  bool autoreferer;        /* automatically set referer */
+  bool failonerror;        /* fail on (HTTP) errors */
+  bool include_headers;    /* send headers to data output */
+  bool no_body;            /* don't get the body */
+  bool dirlistonly;        /* only get the FTP dir list */
+  bool followlocation;     /* follow http redirects */
+  bool unrestricted_auth;  /* Continue to send authentication (user+password)
+                              when following ocations, even when hostname
+                              changed */
+  bool netrc_opt;
+  bool netrc;
+  bool noprogress;
+  bool isatty;             /* updated internally only if the output is a tty */
+  struct getout *url_list; /* point to the first node */
+  struct getout *url_last; /* point to the last/current node */
+  struct getout *url_get;  /* point to the node to fill in URL */
+  struct getout *url_out;  /* point to the node to fill in outfile */
+  char *cipher_list;
+  char *cert;
+  char *cert_type;
+  char *cacert;
+  char *capath;
+  char *crlfile;
+  char *key;
+  char *key_type;
+  char *key_passwd;
+  char *pubkey;
+  char *hostpubmd5;
+  char *engine;
+  bool list_engines;
+  bool crlf;
+  char *customrequest;
+  char *krblevel;
+  char *trace_dump; /* file to dump the network trace to, or NULL */
+  FILE *trace_stream;
+  bool trace_fopened;
+  trace tracetype;
+  bool tracetime; /* include timestamp? */
+  long httpversion;
+  int progressmode;
+  bool nobuffer;
+  bool readbusy; /* set when reading input returns EAGAIN */
+  bool globoff;
+  bool use_httpget;
+  bool insecure_ok; /* set TRUE to allow insecure SSL connects */
+  bool create_dirs;
+  bool ftp_create_dirs;
+  bool ftp_skip_ip;
+  bool proxynegotiate;
+  bool proxyntlm;
+  bool proxydigest;
+  bool proxybasic;
+  bool proxyanyauth;
+  char *writeout; /* %-styled format string to output */
+  bool writeenv; /* write results to environment, if available */
+  FILE *errors; /* if stderr redirect is requested */
+  bool errors_fopened;
+  struct curl_slist *quote;
+  struct curl_slist *postquote;
+  struct curl_slist *prequote;
+  long ssl_version;
+  long ip_version;
+  curl_TimeCond timecond;
+  time_t condtime;
+  struct curl_slist *headers;
+  struct curl_httppost *httppost;
+  struct curl_httppost *last_post;
+  struct curl_slist *telnet_options;
+  HttpReq httpreq;
+
+  /* for bandwidth limiting features: */
+  curl_off_t sendpersecond; /* send to peer */
+  curl_off_t recvpersecond; /* receive from peer */
+
+  bool ftp_ssl;
+  bool ftp_ssl_reqd;
+  bool ftp_ssl_control;
+  bool ftp_ssl_ccc;
+  int ftp_ssl_ccc_mode;
+
+  char *socksproxy; /* set to server string */
+  int socksver;     /* set to CURLPROXY_SOCKS* define */
+  char *socks5_gssapi_service;  /* set service name for gssapi principal
+                                 * default rcmd */
+  int socks5_gssapi_nec ;  /* The NEC reference server does not protect
+                            * the encryption type exchange */
+
+  bool tcp_nodelay;
+  long req_retry;   /* number of retries */
+  long retry_delay; /* delay between retries (in seconds) */
+  long retry_maxtime; /* maximum time to keep retrying */
+
+  char *ftp_account; /* for ACCT */
+  char *ftp_alternative_to_user; /* send command if USER/PASS fails */
+  int ftp_filemethod;
+  long tftp_blksize; /* TFTP BLKSIZE option */
+  bool ignorecl; /* --ignore-content-length */
+  bool disable_sessionid;
+
+  char *libcurl; /* output libcurl code to this file name */
+  bool raw;
+  bool post301;
+  bool post302;
+  bool nokeepalive; /* for keepalive needs */
+  long alivetime;
+  bool content_disposition; /* use Content-disposition filename */
+
+  int default_node_flags; /* default flags to seach for each 'node', which is
+                             basically each given URL to transfer */
+  struct OutStruct *outs;
+};
+
+#define WARN_PREFIX "Warning: "
+#define WARN_TEXTWIDTH (79 - (int)strlen(WARN_PREFIX))
+/* produce this text message to the user unless mute was selected */
+static void warnf(struct Configurable *config, const char *fmt, ...)
+{
+  if(!config->mute) {
+    va_list ap;
+    int len;
+    char *ptr;
+    char print_buffer[256];
+
+    va_start(ap, fmt);
+    len = vsnprintf(print_buffer, sizeof(print_buffer), fmt, ap);
+    va_end(ap);
+
+    ptr = print_buffer;
+    while(len > 0) {
+      fputs(WARN_PREFIX, config->errors);
+
+      if(len > (int)WARN_TEXTWIDTH) {
+        int cut = WARN_TEXTWIDTH-1;
+
+        while(!ISSPACE(ptr[cut]) && cut) {
+          cut--;
+        }
+        if(0 == cut)
+          /* not a single cutting position was found, just cut it at the
+             max text width then! */
+          cut = WARN_TEXTWIDTH-1;
+
+        (void)fwrite(ptr, cut + 1, 1, config->errors);
+        fputs("\n", config->errors);
+        ptr += cut+1; /* skip the space too */
+        len -= cut;
+      }
+      else {
+        fputs(ptr, config->errors);
+        len = 0;
+      }
+    }
+  }
+}
+
+/*
+ * This is the main global constructor for the app. Call this before
+ * _any_ libcurl usage. If this fails, *NO* libcurl functions may be
+ * used, or havoc may be the result.
+ */
+static CURLcode main_init(void)
+{
+#ifdef DJGPP
+  /* stop stat() wasting time */
+  _djstat_flags |= _STAT_INODE | _STAT_EXEC_MAGIC | _STAT_DIRSIZE;
+#endif
+
+  return curl_global_init(CURL_GLOBAL_DEFAULT);
+}
+
+/*
+ * This is the main global destructor for the app. Call this after
+ * _all_ libcurl usage is done.
+ */
+static void main_free(void)
+{
+  curl_global_cleanup();
+#if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV)
+  /* close iconv conversion descriptor */
+  if(inbound_cd != (iconv_t)-1)
+    iconv_close(inbound_cd);
+  if(outbound_cd != (iconv_t)-1)
+    iconv_close(outbound_cd);
+#endif /* CURL_DOES_CONVERSIONS && HAVE_ICONV */
+}
+
+static int SetHTTPrequest(struct Configurable *config,
+                          HttpReq req, HttpReq *store)
+{
+  if((*store == HTTPREQ_UNSPEC) ||
+     (*store == req)) {
+    *store = req;
+    return 0;
+  }
+  warnf(config, "You can only select one HTTP request!\n");
+  return 1;
+}
+
+static void helpf(FILE *errors, const char *fmt, ...)
+{
+  va_list ap;
+  if(fmt) {
+    va_start(ap, fmt);
+    fputs("curl: ", errors); /* prefix it */
+    vfprintf(errors, fmt, ap);
+    va_end(ap);
+  }
+  fprintf(errors, "curl: try 'curl --help' "
+#ifdef USE_MANUAL
+          "or 'curl --manual' "
+#endif
+          "for more information\n");
+}
+
+/*
+ * A chain of these nodes contain URL to get and where to put the URL's
+ * contents.
+ */
+struct getout {
+  struct getout *next; /* next one */
+  char *url;     /* the URL we deal with */
+  char *outfile; /* where to store the output */
+  char *infile;  /* file to upload, if GETOUT_UPLOAD is set */
+  int flags;     /* options */
+};
+#define GETOUT_OUTFILE (1<<0)   /* set when outfile is deemed done */
+#define GETOUT_URL     (1<<1)   /* set when URL is deemed done */
+#define GETOUT_USEREMOTE (1<<2) /* use remote file name locally */
+#define GETOUT_UPLOAD  (1<<3)   /* if set, -T has been used */
+#define GETOUT_NOUPLOAD  (1<<4) /* if set, -T "" has been used */
+
+static void help(void)
+{
+  int i;
+  /* A few of these source lines are >80 columns wide, but that's only because
+     breaking the strings narrower makes this chunk look even worse!
+
+     Starting with 7.18.0, this list of command line options is sorted based
+     on the long option name. It is not done automatically, although a command
+     line like the following can help out:
+
+     curl --help | cut -c5- | grep "^-" | sort
+  */
+  static const char * const helptext[]={
+    "Usage: curl [options...] <url>",
+    "Options: (H) means HTTP/HTTPS only, (F) means FTP only",
+    "    --anyauth       Pick \"any\" authentication method (H)",
+    " -a/--append        Append to target file when uploading (F/SFTP)",
+    "    --basic         Use HTTP Basic Authentication (H)",
+    "    --cacert <file> CA certificate to verify peer against (SSL)",
+    "    --capath <directory> CA directory to verify peer against (SSL)",
+    " -E/--cert <cert[:passwd]> Client certificate file and password (SSL)",
+    "    --cert-type <type> Certificate file type (DER/PEM/ENG) (SSL)",
+    "    --ciphers <list> SSL ciphers to use (SSL)",
+    "    --compressed    Request compressed response (using deflate or gzip)",
+    " -K/--config <file> Specify which config file to read",
+    "    --connect-timeout <seconds> Maximum time allowed for connection",
+    " -C/--continue-at <offset> Resumed transfer offset",
+    " -b/--cookie <name=string/file> Cookie string or file to read cookies from (H)",
+    " -c/--cookie-jar <file> Write cookies to this file after operation (H)",
+    "    --create-dirs   Create necessary local directory hierarchy",
+    "    --crlf          Convert LF to CRLF in upload",
+    "    --crlfile <file> Get a CRL list in PEM format from the given file",
+    " -d/--data <data>   HTTP POST data (H)",
+    "    --data-ascii <data>  HTTP POST ASCII data (H)",
+    "    --data-binary <data> HTTP POST binary data (H)",
+    "    --data-urlencode <name=data/name@filename> HTTP POST data url encoded (H)",
+    "    --digest        Use HTTP Digest Authentication (H)",
+    "    --disable-eprt  Inhibit using EPRT or LPRT (F)",
+    "    --disable-epsv  Inhibit using EPSV (F)",
+    " -D/--dump-header <file> Write the headers to this file",
+    "    --egd-file <file> EGD socket path for random data (SSL)",
+    "    --engine <eng>  Crypto engine to use (SSL). \"--engine list\" for list",
+#ifdef USE_ENVIRONMENT
+    "    --environment   Write results to environment variables (RISC OS)",
+#endif
+    " -f/--fail          Fail silently (no output at all) on HTTP errors (H)",
+    " -F/--form <name=content> Specify HTTP multipart POST data (H)",
+    "    --form-string <name=string> Specify HTTP multipart POST data (H)",
+    "    --ftp-account <data> Account data to send when requested by server (F)",
+    "    --ftp-alternative-to-user <cmd> String to replace \"USER [name]\" (F)",
+    "    --ftp-create-dirs Create the remote dirs if not present (F)",
+    "    --ftp-method [multicwd/nocwd/singlecwd] Control CWD usage (F)",
+    "    --ftp-pasv      Use PASV/EPSV instead of PORT (F)",
+    " -P/--ftp-port <address> Use PORT with address instead of PASV (F)",
+    "    --ftp-skip-pasv-ip Skip the IP address for PASV (F)\n"
+    "    --ftp-pret      Send PRET before PASV (for drftpd) (F)",
+    "    --ftp-ssl-ccc   Send CCC after authenticating (F)",
+    "    --ftp-ssl-ccc-mode [active/passive] Set CCC mode (F)",
+    "    --ftp-ssl-control Require SSL/TLS for ftp login, clear for transfer (F)",
+    " -G/--get           Send the -d data with a HTTP GET (H)",
+    " -g/--globoff       Disable URL sequences and ranges using {} and []",
+    " -H/--header <line> Custom header to pass to server (H)",
+    " -I/--head          Show document info only",
+    " -h/--help          This help text",
+    "    --hostpubmd5 <md5> Hex encoded MD5 string of the host public key. (SSH)",
+    " -0/--http1.0       Use HTTP 1.0 (H)",
+    "    --ignore-content-length  Ignore the HTTP Content-Length header",
+    " -i/--include       Include protocol headers in the output (H/F)",
+    " -k/--insecure      Allow connections to SSL sites without certs (H)",
+    "    --interface <interface> Specify network interface/address to use",
+    " -4/--ipv4          Resolve name to IPv4 address",
+    " -6/--ipv6          Resolve name to IPv6 address",
+    " -j/--junk-session-cookies Ignore session cookies read from file (H)",
+    "    --keepalive-time <seconds> Interval between keepalive probes",
+    "    --key <key>     Private key file name (SSL/SSH)",
+    "    --key-type <type> Private key file type (DER/PEM/ENG) (SSL)",
+    "    --krb <level>   Enable Kerberos with specified security level (F)",
+    "    --libcurl <file> Dump libcurl equivalent code of this command line",
+    "    --limit-rate <rate> Limit transfer speed to this rate",
+    " -J/--remote-header-name Use the header-provided filename (H)",
+    " -l/--list-only     List only names of an FTP directory (F)",
+    "    --local-port <num>[-num] Force use of these local port numbers",
+    " -L/--location      Follow Location: hints (H)",
+    "    --location-trusted Follow Location: and send auth to other hosts (H)",
+    " -M/--manual        Display the full manual",
+    "    --mail-from <from> Mail from this address",
+    "    --mail-rcpt <to> Mail to this receiver(s)",
+    "    --max-filesize <bytes> Maximum file size to download (H/F)",
+    "    --max-redirs <num> Maximum number of redirects allowed (H)",
+    " -m/--max-time <seconds> Maximum time allowed for the transfer",
+    "    --negotiate     Use HTTP Negotiate Authentication (H)",
+    " -n/--netrc         Must read .netrc for user name and password",
+    "    --netrc-optional Use either .netrc or URL; overrides -n",
+    " -N/--no-buffer     Disable buffering of the output stream",
+    "    --no-keepalive  Disable keepalive use on the connection",
+    "    --no-sessionid  Disable SSL session-ID reusing (SSL)",
+    "    --noproxy       Comma-separated list of hosts which do not use proxy",
+    "    --ntlm          Use HTTP NTLM authentication (H)",
+    " -o/--output <file> Write output to <file> instead of stdout",
+    "    --pass  <pass>  Pass phrase for the private key (SSL/SSH)",
+    "    --post301       Do not switch to GET after following a 301 redirect (H)",
+    "    --post302       Do not switch to GET after following a 302 redirect (H)",
+    " -#/--progress-bar  Display transfer progress as a progress bar",
+    " -x/--proxy <host[:port]> Use HTTP proxy on given port",
+    "    --proxy-anyauth Pick \"any\" proxy authentication method (H)",
+    "    --proxy-basic   Use Basic authentication on the proxy (H)",
+    "    --proxy-digest  Use Digest authentication on the proxy (H)",
+    "    --proxy-negotiate Use Negotiate authentication on the proxy (H)",
+    "    --proxy-ntlm    Use NTLM authentication on the proxy (H)",
+    " -U/--proxy-user <user[:password]> Set proxy user and password",
+    "    --proxy1.0 <host[:port]> Use HTTP/1.0 proxy on given port",
+    " -p/--proxytunnel   Operate through a HTTP proxy tunnel (using CONNECT)",
+    "    --pubkey <key>  Public key file name (SSH)",
+    " -Q/--quote <cmd>   Send command(s) to server before file transfer (F/SFTP)",
+    "    --random-file <file> File for reading random data from (SSL)",
+    " -r/--range <range> Retrieve only the bytes within a range",
+    "    --raw           Pass HTTP \"raw\", without any transfer decoding (H)",
+    " -e/--referer       Referer URL (H)",
+    " -O/--remote-name   Write output to a file named as the remote file",
+    "    --remote-name-all Use the remote file name for all URLs",
+    " -R/--remote-time   Set the remote file's time on the local output",
+    " -X/--request <command> Specify request command to use",
+    "    --retry <num>   Retry request <num> times if transient problems occur",
+    "    --retry-delay <seconds> When retrying, wait this many seconds between each",
+    "    --retry-max-time <seconds> Retry only within this period",
+    " -S/--show-error    Show error. With -s, make curl show errors when they occur",
+    " -s/--silent        Silent mode. Don't output anything",
+    "    --socks4 <host[:port]> SOCKS4 proxy on given host + port",
+    "    --socks4a <host[:port]> SOCKS4a proxy on given host + port",
+    "    --socks5 <host[:port]> SOCKS5 proxy on given host + port",
+    "    --socks5-hostname <host[:port]> SOCKS5 proxy, pass host name to proxy",
+#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
+    "    --socks5-gssapi-service <name> SOCKS5 proxy service name for gssapi",
+    "    --socks5-gssapi-nec  Compatibility with NEC SOCKS5 server",
+#endif
+    " -Y/--speed-limit   Stop transfer if below speed-limit for 'speed-time' secs",
+    " -y/--speed-time    Time needed to trig speed-limit abort. Defaults to 30",
+    "    --ssl           Try SSL/TLS (FTP, IMAP, POP3, SMTP)",
+    "    --ssl-reqd      Require SSL/TLS (FTP, IMAP, POP3, SMTP)",
+    " -2/--sslv2         Use SSLv2 (SSL)",
+    " -3/--sslv3         Use SSLv3 (SSL)",
+    "    --stderr <file> Where to redirect stderr. - means stdout",
+    "    --tcp-nodelay   Use the TCP_NODELAY option",
+    " -t/--telnet-option <OPT=val> Set telnet option",
+    "    --tftp-blksize <value> Set TFTP BLKSIZE option (must be >512)",
+    " -z/--time-cond <time> Transfer based on a time condition",
+    " -1/--tlsv1         Use TLSv1 (SSL)",
+    "    --trace <file>  Write a debug trace to the given file",
+    "    --trace-ascii <file> Like --trace but without the hex output",
+    "    --trace-time    Add time stamps to trace/verbose output",
+    " -T/--upload-file <file> Transfer <file> to remote site",
+    "    --url <URL>     Set URL to work with",
+    " -B/--use-ascii     Use ASCII/text transfer",
+    " -u/--user <user[:password]> Set server user and password",
+    " -A/--user-agent <string> User-Agent to send to server (H)",
+    " -v/--verbose       Make the operation more talkative",
+    " -V/--version       Show version number and quit",
+
+#ifdef USE_WATT32
+    "    --wdebug        Turn on Watt-32 debugging",
+#endif
+    " -w/--write-out <format> What to output after completion",
+    " -q                 If used as the first parameter disables .curlrc",
+    NULL
+  };
+  for(i=0; helptext[i]; i++) {
+    puts(helptext[i]);
+#ifdef PRINT_LINES_PAUSE
+    if (i && ((i % PRINT_LINES_PAUSE) == 0))
+      pressanykey();
+#endif
+  }
+}
+
+struct LongShort {
+  const char *letter;
+  const char *lname;
+  bool extraparam;
+};
+
+/* global variable to hold info about libcurl */
+static curl_version_info_data *curlinfo;
+
+static int parseconfig(const char *filename,
+                       struct Configurable *config);
+static char *my_get_line(FILE *fp);
+static int create_dir_hierarchy(const char *outfile, FILE *errors);
+
+static void GetStr(char **string,
+                   const char *value)
+{
+  if(*string)
+    free(*string);
+  if(value)
+    *string = strdup(value);
+  else
+    *string = NULL;
+}
+
+static void clean_getout(struct Configurable *config)
+{
+  struct getout *node=config->url_list;
+  struct getout *next;
+
+  while(node) {
+    next = node->next;
+    if(node->url)
+      free(node->url);
+    if(node->outfile)
+      free(node->outfile);
+    if(node->infile)
+      free(node->infile);
+    free(node);
+
+    node = next; /* GOTO next */
+  }
+}
+
+static struct getout *new_getout(struct Configurable *config)
+{
+  struct getout *node =malloc(sizeof(struct getout));
+  struct getout *last= config->url_last;
+  if(node) {
+    /* clear the struct */
+    memset(node, 0, sizeof(struct getout));
+
+    /* append this new node last in the list */
+    if(last)
+      last->next = node;
+    else
+      config->url_list = node; /* first node */
+
+    /* move the last pointer */
+    config->url_last = node;
+
+    node->flags = config->default_node_flags;
+  }
+  return node;
+}
+
+/* Structure for storing the information needed to build a multiple files
+ * section
+*/
+struct multi_files {
+  struct curl_forms   form;
+  struct multi_files *next;
+};
+
+/* Add a new list entry possibly with a type_name
+ */
+static struct multi_files *
+AddMultiFiles (const char *file_name,
+               const char *type_name,
+               const char *show_filename,
+               struct multi_files **multi_start,
+               struct multi_files **multi_current)
+{
+  struct multi_files *multi;
+  struct multi_files *multi_type = NULL;
+  struct multi_files *multi_name = NULL;
+  multi = malloc(sizeof(struct multi_files));
+  if (multi) {
+    memset(multi, 0, sizeof(struct multi_files));
+    multi->form.option = CURLFORM_FILE;
+    multi->form.value = file_name;
+  }
+  else
+    return NULL;
+
+  if (!*multi_start)
+    *multi_start = multi;
+
+  if (type_name) {
+    multi_type = malloc(sizeof(struct multi_files));
+    if (multi_type) {
+      memset(multi_type, 0, sizeof(struct multi_files));
+      multi_type->form.option = CURLFORM_CONTENTTYPE;
+      multi_type->form.value = type_name;
+      multi->next = multi_type;
+
+      multi = multi_type;
+    }
+    else {
+      free (multi);
+      return NULL;
+    }
+  }
+  if (show_filename) {
+    multi_name = malloc(sizeof(struct multi_files));
+    if (multi_name) {
+      memset(multi_name, 0, sizeof(struct multi_files));
+      multi_name->form.option = CURLFORM_FILENAME;
+      multi_name->form.value = show_filename;
+      multi->next = multi_name;
+
+      multi = multi_name;
+    }
+    else {
+      free (multi);
+      return NULL;
+    }
+  }
+
+  if (*multi_current)
+    (*multi_current)->next = multi;
+
+  *multi_current = multi;
+
+  return *multi_current;
+}
+
+/* Free the items of the list.
+ */
+static void FreeMultiInfo (struct multi_files *multi_start)
+{
+  struct multi_files *multi;
+  while (multi_start) {
+    multi = multi_start;
+    multi_start = multi_start->next;
+    free (multi);
+  }
+}
+
+/* Print list of OpenSSL engines supported.
+ */
+static void list_engines (const struct curl_slist *engines)
+{
+  puts ("Build-time engines:");
+  if (!engines) {
+    puts ("  <none>");
+    return;
+  }
+  for ( ; engines; engines = engines->next)
+    printf ("  %s\n", engines->data);
+}
+
+/***************************************************************************
+ *
+ * formparse()
+ *
+ * Reads a 'name=value' parameter and builds the appropriate linked list.
+ *
+ * Specify files to upload with 'name=@filename'. Supports specified
+ * given Content-Type of the files. Such as ';type=<content-type>'.
+ *
+ * If literal_value is set, any initial '@' or '<' in the value string
+ * loses its special meaning, as does any embedded ';type='.
+ *
+ * You may specify more than one file for a single name (field). Specify
+ * multiple files by writing it like:
+ *
+ * 'name=@filename,filename2,filename3'
+ *
+ * If you want content-types specified for each too, write them like:
+ *
+ * 'name=@filename;type=image/gif,filename2,filename3'
+ *
+ * If you want custom headers added for a single part, write them in a separate
+ * file and do like this:
+ *
+ * 'name=foo;headers=@headerfile' or why not
+ * 'name=@filemame;headers=@headerfile'
+ *
+ * To upload a file, but to fake the file name that will be included in the
+ * formpost, do like this:
+ *
+ * 'name=@filename;filename=/dev/null'
+ *
+ * This function uses curl_formadd to fulfill it's job. Is heavily based on
+ * the old curl_formparse code.
+ *
+ ***************************************************************************/
+
+#define FORM_FILE_SEPARATOR ','
+#define FORM_TYPE_SEPARATOR ';'
+
+static int formparse(struct Configurable *config,
+                     const char *input,
+                     struct curl_httppost **httppost,
+                     struct curl_httppost **last_post,
+                     bool literal_value)
+{
+  /* nextarg MUST be a string in the format 'name=contents' and we'll
+     build a linked list with the info */
+  char name[256];
+  char *contents;
+  char major[128];
+  char minor[128];
+  char *contp;
+  const char *type = NULL;
+  char *sep;
+  char *sep2;
+
+  if((1 == sscanf(input, "%255[^=]=", name)) &&
+     (contp = strchr(input, '='))) {
+    /* the input was using the correct format */
+
+    /* Allocate the contents */
+    contents = strdup(contp+1);
+    if(!contents) {
+      fprintf(config->errors, "out of memory\n");
+      return 1;
+    }
+    contp = contents;
+
+    if('@' == contp[0] && !literal_value) {
+      struct multi_files *multi_start = NULL, *multi_current = NULL;
+      /* we use the @-letter to indicate file name(s) */
+      contp++;
+
+      multi_start = multi_current=NULL;
+
+      do {
+        /* since this was a file, it may have a content-type specifier
+           at the end too, or a filename. Or both. */
+        char *ptr;
+        char *filename=NULL;
+
+        sep=strchr(contp, FORM_TYPE_SEPARATOR);
+        sep2=strchr(contp, FORM_FILE_SEPARATOR);
+
+        /* pick the closest */
+        if(sep2 && (sep2 < sep)) {
+          sep = sep2;
+
+          /* no type was specified! */
+        }
+
+        type = NULL;
+
+        if(sep) {
+
+          /* if we got here on a comma, don't do much */
+          if(FORM_FILE_SEPARATOR == *sep)
+            ptr = NULL;
+          else
+            ptr = sep+1;
+
+          *sep=0; /* terminate file name at separator */
+
+          while(ptr && (FORM_FILE_SEPARATOR!= *ptr)) {
+
+            /* pass all white spaces */
+            while(ISSPACE(*ptr))
+              ptr++;
+
+            if(curlx_strnequal("type=", ptr, 5)) {
+              /* set type pointer */
+              type = &ptr[5];
+
+              /* verify that this is a fine type specifier */
+              if(2 != sscanf(type, "%127[^/]/%127[^;,\n]",
+                             major, minor)) {
+                warnf(config, "Illegally formatted content-type field!\n");
+                free(contents);
+                FreeMultiInfo (multi_start);
+                return 2; /* illegal content-type syntax! */
+              }
+              /* now point beyond the content-type specifier */
+              sep = (char *)type + strlen(major)+strlen(minor)+1;
+
+              if(*sep) {
+                *sep=0; /* zero terminate type string */
+
+                ptr=sep+1;
+              }
+              else
+                ptr = NULL; /* end */
+            }
+            else if(curlx_strnequal("filename=", ptr, 9)) {
+              filename = &ptr[9];
+              ptr=strchr(filename, FORM_TYPE_SEPARATOR);
+              if(!ptr) {
+                ptr=strchr(filename, FORM_FILE_SEPARATOR);
+              }
+              if(ptr) {
+                *ptr=0; /* zero terminate */
+                ptr++;
+              }
+            }
+            else
+              /* confusion, bail out of loop */
+              break;
+          }
+          /* find the following comma */
+          if(ptr)
+            sep=strchr(ptr, FORM_FILE_SEPARATOR);
+          else
+            sep=NULL;
+        }
+        else {
+          sep=strchr(contp, FORM_FILE_SEPARATOR);
+        }
+        if(sep) {
+          /* the next file name starts here */
+          *sep =0;
+          sep++;
+        }
+        /* if type == NULL curl_formadd takes care of the problem */
+
+        if (!AddMultiFiles (contp, type, filename, &multi_start,
+                            &multi_current)) {
+          warnf(config, "Error building form post!\n");
+          free(contents);
+          FreeMultiInfo (multi_start);
+          return 3;
+        }
+        contp = sep; /* move the contents pointer to after the separator */
+
+      } while(sep && *sep); /* loop if there's another file name */
+
+      /* now we add the multiple files section */
+      if (multi_start) {
+        struct curl_forms *forms = NULL;
+        struct multi_files *ptr = multi_start;
+        unsigned int i, count = 0;
+        while (ptr) {
+          ptr = ptr->next;
+          ++count;
+        }
+        forms = malloc((count+1)*sizeof(struct curl_forms));
+        if (!forms)
+        {
+          fprintf(config->errors, "Error building form post!\n");
+          free(contents);
+          FreeMultiInfo (multi_start);
+          return 4;
+        }
+        for (i = 0, ptr = multi_start; i < count; ++i, ptr = ptr->next)
+        {
+          forms[i].option = ptr->form.option;
+          forms[i].value = ptr->form.value;
+        }
+        forms[count].option = CURLFORM_END;
+        FreeMultiInfo (multi_start);
+        if (curl_formadd(httppost, last_post,
+                         CURLFORM_COPYNAME, name,
+                         CURLFORM_ARRAY, forms, CURLFORM_END) != 0) {
+          warnf(config, "curl_formadd failed!\n");
+          free(forms);
+          free(contents);
+          return 5;
+        }
+        free(forms);
+      }
+    }
+    else {
+      struct curl_forms info[4];
+      int i = 0;
+      char *ct = literal_value? NULL: strstr(contp, ";type=");
+
+      info[i].option = CURLFORM_COPYNAME;
+      info[i].value = name;
+      i++;
+
+      if(ct) {
+        info[i].option = CURLFORM_CONTENTTYPE;
+        info[i].value = &ct[6];
+        i++;
+        ct[0]=0; /* zero terminate here */
+      }
+
+      if( contp[0]=='<' && !literal_value) {
+        info[i].option = CURLFORM_FILECONTENT;
+        info[i].value = contp+1;
+        i++;
+        info[i].option = CURLFORM_END;
+
+        if (curl_formadd(httppost, last_post,
+                         CURLFORM_ARRAY, info, CURLFORM_END ) != 0) {
+          warnf(config, "curl_formadd failed, possibly the file %s is bad!\n",
+                contp+1);
+          free(contents);
+          return 6;
+        }
+      }
+      else {
+#ifdef CURL_DOES_CONVERSIONS
+        convert_to_network(contp, strlen(contp));
+#endif
+        info[i].option = CURLFORM_COPYCONTENTS;
+        info[i].value = contp;
+        i++;
+        info[i].option = CURLFORM_END;
+        if (curl_formadd(httppost, last_post,
+                         CURLFORM_ARRAY, info, CURLFORM_END) != 0) {
+          warnf(config, "curl_formadd failed!\n");
+          free(contents);
+          return 7;
+        }
+      }
+    }
+
+  }
+  else {
+    warnf(config, "Illegally formatted input field!\n");
+    return 1;
+  }
+  free(contents);
+  return 0;
+}
+
+
+typedef enum {
+  PARAM_OK,
+  PARAM_OPTION_AMBIGUOUS,
+  PARAM_OPTION_UNKNOWN,
+  PARAM_REQUIRES_PARAMETER,
+  PARAM_BAD_USE,
+  PARAM_HELP_REQUESTED,
+  PARAM_GOT_EXTRA_PARAMETER,
+  PARAM_BAD_NUMERIC,
+  PARAM_LIBCURL_DOESNT_SUPPORT,
+  PARAM_NO_MEM,
+  PARAM_LAST
+} ParameterError;
+
+static const char *param2text(int res)
+{
+  ParameterError error = (ParameterError)res;
+  switch(error) {
+  case PARAM_GOT_EXTRA_PARAMETER:
+    return "had unsupported trailing garbage";
+  case PARAM_OPTION_UNKNOWN:
+    return "is unknown";
+  case PARAM_OPTION_AMBIGUOUS:
+    return "is ambiguous";
+  case PARAM_REQUIRES_PARAMETER:
+    return "requires parameter";
+  case PARAM_BAD_USE:
+    return "is badly used here";
+  case PARAM_BAD_NUMERIC:
+    return "expected a proper numerical parameter";
+  case PARAM_LIBCURL_DOESNT_SUPPORT:
+    return "the installed libcurl version doesn't support this";
+  case PARAM_NO_MEM:
+    return "out of memory";
+  default:
+    return "unknown error";
+  }
+}
+
+static ParameterError file2string(char **bufp, FILE *file)
+{
+  char buffer[256];
+  char *ptr;
+  char *string = NULL;
+  size_t stringlen = 0;
+  size_t buflen;
+
+  if(file) {
+    while(fgets(buffer, sizeof(buffer), file)) {
+      if((ptr = strchr(buffer, '\r')) != NULL)
+        *ptr = '\0';
+      if((ptr = strchr(buffer, '\n')) != NULL)
+        *ptr = '\0';
+      buflen = strlen(buffer);
+      if((ptr = realloc(string, stringlen+buflen+1)) == NULL) {
+        if(string)
+          free(string);
+        return PARAM_NO_MEM;
+      }
+      string = ptr;
+      strcpy(string+stringlen, buffer);
+      stringlen += buflen;
+    }
+  }
+  *bufp = string;
+  return PARAM_OK;
+}
+
+static ParameterError file2memory(char **bufp, size_t *size, FILE *file)
+{
+  char *newbuf;
+  char *buffer = NULL;
+  size_t alloc = 512;
+  size_t nused = 0;
+  size_t nread;
+
+  if(file) {
+    do {
+      if(!buffer || (alloc == nused)) {
+        /* size_t overflow detection for huge files */
+        if(alloc+1 > ((size_t)-1)/2) {
+          if(buffer)
+            free(buffer);
+          return PARAM_NO_MEM;
+        }
+        alloc *= 2;
+        /* allocate an extra char, reserved space, for null termination */
+        if((newbuf = realloc(buffer, alloc+1)) == NULL) {
+          if(buffer)
+            free(buffer);
+          return PARAM_NO_MEM;
+        }
+        buffer = newbuf;
+      }
+      nread = fread(buffer+nused, 1, alloc-nused, file);
+      nused += nread;
+    } while(nread);
+    /* null terminate the buffer in case it's used as a string later */
+    buffer[nused] = '\0';
+    /* free trailing slack space, if possible */
+    if(alloc != nused) {
+      if((newbuf = realloc(buffer, nused+1)) != NULL)
+        buffer = newbuf;
+    }
+    /* discard buffer if nothing was read */
+    if(!nused) {
+      free(buffer);
+      buffer = NULL; /* no string */
+    }
+  }
+  *size = nused;
+  *bufp = buffer;
+  return PARAM_OK;
+}
+
+static void cleanarg(char *str)
+{
+#ifdef HAVE_WRITABLE_ARGV
+  /* now that GetStr has copied the contents of nextarg, wipe the next
+   * argument out so that the username:password isn't displayed in the
+   * system process list */
+  if (str) {
+    size_t len = strlen(str);
+    memset(str, ' ', len);
+  }
+#else
+  (void)str;
+#endif
+}
+
+/*
+ * Parse the string and write the integer in the given address. Return
+ * non-zero on failure, zero on success.
+ *
+ * The string must start with a digit to be valid.
+ *
+ * Since this function gets called with the 'nextarg' pointer from within the
+ * getparameter a lot, we must check it for NULL before accessing the str
+ * data.
+ */
+
+static int str2num(long *val, const char *str)
+{
+  int retcode = 0;
+  if(str && ISDIGIT(*str))
+    *val = atoi(str);
+  else
+    retcode = 1; /* badness */
+  return retcode;
+}
+
+/**
+ * Parses the given string looking for an offset (which may be
+ * a larger-than-integer value).
+ *
+ * @param val  the offset to populate
+ * @param str  the buffer containing the offset
+ * @return zero if successful, non-zero if failure.
+ */
+static int str2offset(curl_off_t *val, const char *str)
+{
+#if (CURL_SIZEOF_CURL_OFF_T > CURL_SIZEOF_LONG)
+  *val = curlx_strtoofft(str, NULL, 0);
+  if((*val == CURL_LLONG_MAX || *val == CURL_LLONG_MIN) && (ERRNO == ERANGE))
+    return 1;
+#else
+  *val = strtol(str, NULL, 0);
+  if ((*val == LONG_MIN || *val == LONG_MAX) && ERRNO == ERANGE)
+    return 1;
+#endif
+  return 0;
+}
+
+static void checkpasswd(const char *kind, /* for what purpose */
+                        char **userpwd) /* pointer to allocated string */
+{
+  char *ptr;
+  if(!*userpwd)
+    return;
+
+  ptr = strchr(*userpwd, ':');
+  if(!ptr) {
+    /* no password present, prompt for one */
+    char passwd[256]="";
+    char prompt[256];
+    size_t passwdlen;
+    size_t userlen = strlen(*userpwd);
+    char *passptr;
+
+    /* build a nice-looking prompt */
+    curlx_msnprintf(prompt, sizeof(prompt),
+                   "Enter %s password for user '%s':",
+                   kind, *userpwd);
+
+    /* get password */
+    getpass_r(prompt, passwd, sizeof(passwd));
+    passwdlen = strlen(passwd);
+
+    /* extend the allocated memory area to fit the password too */
+    passptr = realloc(*userpwd,
+                      passwdlen + 1 + /* an extra for the colon */
+                      userlen + 1);   /* an extra for the zero */
+
+    if(passptr) {
+      /* append the password separated with a colon */
+      passptr[userlen]=':';
+      memcpy(&passptr[userlen+1], passwd, passwdlen+1);
+      *userpwd = passptr;
+    }
+  }
+}
+
+static ParameterError add2list(struct curl_slist **list,
+                               const char *ptr)
+{
+  struct curl_slist *newlist = curl_slist_append(*list, ptr);
+  if(newlist)
+    *list = newlist;
+  else
+    return PARAM_NO_MEM;
+
+  return PARAM_OK;
+}
+
+static int ftpfilemethod(struct Configurable *config, const char *str)
+{
+  if(curlx_raw_equal("singlecwd", str))
+    return CURLFTPMETHOD_SINGLECWD;
+  if(curlx_raw_equal("nocwd", str))
+    return CURLFTPMETHOD_NOCWD;
+  if(curlx_raw_equal("multicwd", str))
+    return CURLFTPMETHOD_MULTICWD;
+  warnf(config, "unrecognized ftp file method '%s', using default\n", str);
+  return CURLFTPMETHOD_MULTICWD;
+}
+
+static int ftpcccmethod(struct Configurable *config, const char *str)
+{
+  if(curlx_raw_equal("passive", str))
+    return CURLFTPSSL_CCC_PASSIVE;
+  if(curlx_raw_equal("active", str))
+    return CURLFTPSSL_CCC_ACTIVE;
+  warnf(config, "unrecognized ftp CCC method '%s', using default\n", str);
+  return CURLFTPSSL_CCC_PASSIVE;
+}
+
+
+static int sockoptcallback(void *clientp, curl_socket_t curlfd,
+                           curlsocktype purpose)
+{
+  struct Configurable *config = (struct Configurable *)clientp;
+  int onoff = 1; /* this callback is only used if we ask for keepalives on the
+                    connection */
+#if defined(TCP_KEEPIDLE) || defined(TCP_KEEPINTVL)
+  int keepidle = (int)config->alivetime;
+#endif
+
+  switch (purpose) {
+  case CURLSOCKTYPE_IPCXN:
+    if(setsockopt(curlfd, SOL_SOCKET, SO_KEEPALIVE, (void *)&onoff,
+                  sizeof(onoff)) < 0) {
+      /* don't abort operation, just issue a warning */
+      SET_SOCKERRNO(0);
+      warnf(clientp, "Could not set SO_KEEPALIVE!\n");
+      return 0;
+    }
+    else {
+      if (config->alivetime) {
+#ifdef TCP_KEEPIDLE
+        if(setsockopt(curlfd, IPPROTO_TCP, TCP_KEEPIDLE, (void *)&keepidle,
+                      sizeof(keepidle)) < 0) {
+          /* don't abort operation, just issue a warning */
+          SET_SOCKERRNO(0);
+          warnf(clientp, "Could not set TCP_KEEPIDLE!\n");
+          return 0;
+        }
+#endif
+#ifdef TCP_KEEPINTVL
+        if(setsockopt(curlfd, IPPROTO_TCP, TCP_KEEPINTVL, (void *)&keepidle,
+                      sizeof(keepidle)) < 0) {
+          /* don't abort operation, just issue a warning */
+          SET_SOCKERRNO(0);
+          warnf(clientp, "Could not set TCP_KEEPINTVL!\n");
+          return 0;
+        }
+#endif
+      }
+    }
+    break;
+  default:
+    break;
+  }
+
+  return 0;
+}
+
+
+static ParameterError getparameter(char *flag, /* f or -long-flag */
+                                   char *nextarg, /* NULL if unset */
+                                   bool *usedarg, /* set to TRUE if the arg
+                                                     has been used */
+                                   struct Configurable *config)
+{
+  char letter;
+  char subletter=0; /* subletters can only occur on long options */
+  int rc; /* generic return code variable */
+  const char *parse=NULL;
+  unsigned int j;
+  time_t now;
+  int hit=-1;
+  bool longopt=FALSE;
+  bool singleopt=FALSE; /* when true means '-o foo' used '-ofoo' */
+  ParameterError err;
+  bool toggle=TRUE; /* how to switch boolean options, on or off. Controlled
+                       by using --OPTION or --no-OPTION */
+
+  /* single-letter,
+     long-name,
+     boolean whether it takes an additional argument
+     */
+  static const struct LongShort aliases[]= {
+    /* all these ones, starting with "*" or "$" as a short-option have *no*
+       short option to mention. */
+    {"*", "url",         TRUE},
+    {"*a", "random-file", TRUE},
+    {"*b", "egd-file",   TRUE},
+    {"*c", "connect-timeout", TRUE},
+    {"*d", "ciphers",    TRUE},
+    {"*e", "disable-epsv", FALSE},
+    {"*E", "epsv", FALSE}, /* made like this to make --no-epsv and --epsv to
+                              work although --disable-epsv is the documented
+                              option */
+#ifdef USE_ENVIRONMENT
+    {"*f", "environment", FALSE},
+#endif
+    {"*g", "trace",      TRUE},
+    {"*h", "trace-ascii", TRUE},
+    {"*i", "limit-rate", TRUE},
+    {"*j", "compressed",  FALSE}, /* might take an arg someday */
+    {"*k", "digest",     FALSE},
+    {"*l", "negotiate",  FALSE},
+    {"*m", "ntlm",       FALSE},
+    {"*n", "basic",      FALSE},
+    {"*o", "anyauth",    FALSE},
+#ifdef USE_WATT32
+    {"*p", "wdebug",     FALSE},
+#endif
+    {"*q", "ftp-create-dirs", FALSE},
+    {"*r", "create-dirs", FALSE},
+    {"*s", "max-redirs",   TRUE},
+    {"*t", "proxy-ntlm",   FALSE},
+    {"*u", "crlf",        FALSE},
+    {"*v", "stderr",      TRUE},
+    {"*w", "interface",   TRUE},
+    {"*x", "krb" ,        TRUE},
+    {"*x", "krb4" ,       TRUE}, /* this is the previous name */
+    {"*y", "max-filesize", TRUE},
+    {"*z", "disable-eprt", FALSE},
+    {"*Z", "eprt", FALSE}, /* made like this to make --no-eprt and --eprt to
+                              work although --disable-eprt is the documented
+                              option */
+    {"$a", "ftp-ssl",    FALSE}, /* deprecated name since 7.20.0 */
+    {"$a", "ssl",        FALSE}, /* new option name in 7.20.0, previously this
+                                    was ftp-ssl */
+    {"$b", "ftp-pasv",   FALSE},
+    {"$c", "socks5",   TRUE},
+    {"$c", "socks",      TRUE}, /* this is how the option once was documented
+                                   but we prefer the --socks5 version for
+                                   explicit version */
+    {"$d", "tcp-nodelay",FALSE},
+    {"$e", "proxy-digest", FALSE},
+    {"$f", "proxy-basic", FALSE},
+    {"$g", "retry",      TRUE},
+    {"$h", "retry-delay", TRUE},
+    {"$i", "retry-max-time", TRUE},
+    {"$k", "proxy-negotiate",   FALSE},
+    {"$m", "ftp-account", TRUE},
+    {"$n", "proxy-anyauth", FALSE},
+    {"$o", "trace-time", FALSE},
+    {"$p", "ignore-content-length", FALSE},
+    {"$q", "ftp-skip-pasv-ip", FALSE},
+    {"$r", "ftp-method", TRUE},
+    {"$s", "local-port", TRUE},
+    {"$t", "socks4",     TRUE},
+    {"$T", "socks4a",    TRUE},
+    {"$u", "ftp-alternative-to-user", TRUE},
+    {"$v", "ftp-ssl-reqd", FALSE}, /* deprecated name since 7.20.0 */
+    {"$v", "ssl-reqd", FALSE},  /* new option name in 7.20.0, previously this
+                                   was ftp-ssl-reqd */
+    {"$w", "sessionid", FALSE}, /* listed as --no-sessionid in the help */
+    {"$x", "ftp-ssl-control", FALSE},
+    {"$y", "ftp-ssl-ccc", FALSE},
+    {"$j", "ftp-ssl-ccc-mode", TRUE},
+    {"$z", "libcurl",    TRUE},
+    {"$#", "raw",        FALSE},
+    {"$0", "post301",    FALSE},
+    {"$1", "keepalive",   FALSE}, /* listed as --no-keepalive in the help */
+    {"$2", "socks5-hostname", TRUE},
+    {"$3", "keepalive-time",  TRUE},
+    {"$4", "post302",    FALSE},
+    {"$5", "noproxy",    TRUE},
+
+#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
+    {"$6", "socks5-gssapi-service",  TRUE},
+    {"$7", "socks5-gssapi-nec",  FALSE},
+#endif
+    {"$8", "proxy1.0",   TRUE},
+    {"$9", "tftp-blksize", TRUE},
+    {"$A", "mail-from", TRUE},
+    {"$B", "mail-rcpt", TRUE},
+    {"$C", "ftp-pret",   FALSE},
+    {"0", "http1.0",     FALSE},
+    {"1", "tlsv1",       FALSE},
+    {"2", "sslv2",       FALSE},
+    {"3", "sslv3",       FALSE},
+    {"4", "ipv4",       FALSE},
+    {"6", "ipv6",       FALSE},
+    {"a", "append",      FALSE},
+    {"A", "user-agent",  TRUE},
+    {"b", "cookie",      TRUE},
+    {"B", "use-ascii",   FALSE},
+    {"c", "cookie-jar",  TRUE},
+    {"C", "continue-at", TRUE},
+    {"d", "data",        TRUE},
+    {"da", "data-ascii", TRUE},
+    {"db", "data-binary", TRUE},
+    {"de", "data-urlencode", TRUE},
+    {"D", "dump-header", TRUE},
+    {"e", "referer",     TRUE},
+    {"E", "cert",        TRUE},
+    {"Ea", "cacert",     TRUE},
+    {"Eb","cert-type",   TRUE},
+    {"Ec","key",         TRUE},
+    {"Ed","key-type",    TRUE},
+    {"Ee","pass",        TRUE},
+    {"Ef","engine",      TRUE},
+    {"Eg","capath ",     TRUE},
+    {"Eh","pubkey",      TRUE},
+    {"Ei", "hostpubmd5", TRUE},
+    {"Ej","crlfile",     TRUE},
+    {"f", "fail",        FALSE},
+    {"F", "form",        TRUE},
+    {"Fs","form-string", TRUE},
+    {"g", "globoff",     FALSE},
+    {"G", "get",         FALSE},
+    {"h", "help",        FALSE},
+    {"H", "header",      TRUE},
+    {"i", "include",     FALSE},
+    {"I", "head",        FALSE},
+    {"j", "junk-session-cookies", FALSE},
+    {"J", "remote-header-name", FALSE},
+    {"k", "insecure",    FALSE},
+    {"K", "config",      TRUE},
+    {"l", "list-only",   FALSE},
+    {"L", "location",    FALSE},
+    {"Lt", "location-trusted", FALSE},
+    {"m", "max-time",    TRUE},
+    {"M", "manual",      FALSE},
+    {"n", "netrc",       FALSE},
+    {"no", "netrc-optional", FALSE},
+    {"N", "buffer",   FALSE}, /* listed as --no-buffer in the help */
+    {"o", "output",      TRUE},
+    {"O",  "remote-name", FALSE},
+    {"Oa", "remote-name-all", FALSE},
+    {"p", "proxytunnel", FALSE},
+    {"P", "ftpport",     TRUE}, /* older version */
+    {"P", "ftp-port",    TRUE},
+    {"q", "disable",     FALSE},
+    {"Q", "quote",       TRUE},
+    {"r", "range",       TRUE},
+    {"R", "remote-time", FALSE},
+    {"s", "silent",      FALSE},
+    {"S", "show-error",  FALSE},
+    {"t", "telnet-options", TRUE}, /* this is documented as telnet-option */
+    {"T", "upload-file", TRUE},
+    {"u", "user",        TRUE},
+    {"U", "proxy-user",  TRUE},
+    {"v", "verbose",     FALSE},
+    {"V", "version",     FALSE},
+    {"w", "write-out",   TRUE},
+    {"x", "proxy",       TRUE},
+    {"X", "request",     TRUE},
+    {"X", "http-request", TRUE}, /* OBSOLETE VERSION */
+    {"Y", "speed-limit",  TRUE},
+    {"y", "speed-time", TRUE},
+    {"z", "time-cond",   TRUE},
+    {"#", "progress-bar",FALSE},
+  };
+
+  if(('-' != flag[0]) ||
+     (('-' == flag[0]) && ('-' == flag[1]))) {
+    /* this should be a long name */
+    char *word=('-' == flag[0])?flag+2:flag;
+    size_t fnam=strlen(word);
+    int numhits=0;
+
+    if(!strncmp(word, "no-", 3)) {
+      /* disable this option but ignore the "no-" part when looking for it */
+      word += 3;
+      toggle = FALSE;
+    }
+
+    for(j=0; j< sizeof(aliases)/sizeof(aliases[0]); j++) {
+      if(curlx_strnequal(aliases[j].lname, word, fnam)) {
+        longopt = TRUE;
+        numhits++;
+        if(curlx_raw_equal(aliases[j].lname, word)) {
+          parse = aliases[j].letter;
+          hit = j;
+          numhits = 1; /* a single unique hit */
+          break;
+        }
+        parse = aliases[j].letter;
+        hit = j;
+      }
+    }
+    if(numhits>1) {
+      /* this is at least the second match! */
+      return PARAM_OPTION_AMBIGUOUS;
+    }
+    if(hit < 0) {
+      return PARAM_OPTION_UNKNOWN;
+    }
+  }
+  else {
+    flag++; /* prefixed with one dash, pass it */
+    hit=-1;
+    parse = flag;
+  }
+
+  do {
+    /* we can loop here if we have multiple single-letters */
+
+    if(!longopt) {
+      if(NULL != parse) {
+        letter = (char)*parse;
+      }
+      else {
+        letter = '\0';
+      }
+      subletter='\0';
+    }
+    else {
+      letter = parse[0];
+      subletter = parse[1];
+    }
+    *usedarg = FALSE; /* default is that we don't use the arg */
+
+    if(hit < 0) {
+      for(j=0; j< sizeof(aliases)/sizeof(aliases[0]); j++) {
+        if(letter == aliases[j].letter[0]) {
+          hit = j;
+          break;
+        }
+      }
+      if(hit < 0) {
+        return PARAM_OPTION_UNKNOWN;
+      }
+    }
+
+    if(aliases[hit].extraparam) {
+      /* this option requires an extra parameter */
+      if(!longopt && parse[1]) {
+        nextarg=(char *)&parse[1]; /* this is the actual extra parameter */
+        singleopt=TRUE;   /* don't loop anymore after this */
+      }
+      else if(!nextarg)
+        return PARAM_REQUIRES_PARAMETER;
+      else
+        *usedarg = TRUE; /* mark it as used */
+    }
+
+    switch(letter) {
+    case '*': /* options without a short option */
+      switch(subletter) {
+      case 'a': /* random-file */
+        GetStr(&config->random_file, nextarg);
+        break;
+      case 'b': /* egd-file */
+        GetStr(&config->egd_file, nextarg);
+        break;
+      case 'c': /* connect-timeout */
+        if(str2num(&config->connecttimeout, nextarg))
+          return PARAM_BAD_NUMERIC;
+        break;
+      case 'd': /* ciphers */
+        GetStr(&config->cipher_list, nextarg);
+        break;
+      case 'e': /* --disable-epsv */
+        config->disable_epsv = toggle;
+        break;
+      case 'E': /* --epsv */
+        config->disable_epsv = (bool)(!toggle);
+        break;
+#ifdef USE_ENVIRONMENT
+      case 'f':
+        config->writeenv = toggle;
+        break;
+#endif
+      case 'g': /* --trace */
+        GetStr(&config->trace_dump, nextarg);
+        if(config->tracetype && (config->tracetype != TRACE_BIN))
+          warnf(config, "--trace overrides an earlier trace/verbose option\n");
+        config->tracetype = TRACE_BIN;
+        break;
+      case 'h': /* --trace-ascii */
+        GetStr(&config->trace_dump, nextarg);
+        if(config->tracetype && (config->tracetype != TRACE_ASCII))
+          warnf(config,
+                "--trace-ascii overrides an earlier trace/verbose option\n");
+        config->tracetype = TRACE_ASCII;
+        break;
+      case 'i': /* --limit-rate */
+        {
+          /* We support G, M, K too */
+          char *unit;
+          curl_off_t value = curlx_strtoofft(nextarg, &unit, 0);
+
+          if(!*unit)
+            unit=(char *)"b";
+          else if(strlen(unit) > 1)
+            unit=(char *)"w"; /* unsupported */
+
+          switch(*unit) {
+          case 'G':
+          case 'g':
+            value *= 1024*1024*1024;
+            break;
+          case 'M':
+          case 'm':
+            value *= 1024*1024;
+            break;
+          case 'K':
+          case 'k':
+            value *= 1024;
+            break;
+          case 'b':
+          case 'B':
+            /* for plain bytes, leave as-is */
+            break;
+          default:
+            warnf(config, "unsupported rate unit. Use G, M, K or B!\n");
+            return PARAM_BAD_USE;
+          }
+          config->recvpersecond = value;
+          config->sendpersecond = value;
+        }
+        break;
+
+      case 'j': /* --compressed */
+        config->encoding = toggle;
+        break;
+
+      case 'k': /* --digest */
+        if(toggle)
+          config->authtype |= CURLAUTH_DIGEST;
+        else
+          config->authtype &= ~CURLAUTH_DIGEST;
+        break;
+
+      case 'l': /* --negotiate */
+        if(toggle) {
+          if(curlinfo->features & CURL_VERSION_GSSNEGOTIATE)
+            config->authtype |= CURLAUTH_GSSNEGOTIATE;
+          else
+            return PARAM_LIBCURL_DOESNT_SUPPORT;
+        }
+        else
+          config->authtype &= ~CURLAUTH_GSSNEGOTIATE;
+        break;
+
+      case 'm': /* --ntlm */
+        if(toggle) {
+          if(curlinfo->features & CURL_VERSION_NTLM)
+            config->authtype |= CURLAUTH_NTLM;
+          else
+            return PARAM_LIBCURL_DOESNT_SUPPORT;
+        }
+        else
+          config->authtype &= ~CURLAUTH_NTLM;
+        break;
+
+      case 'n': /* --basic for completeness */
+        if(toggle)
+          config->authtype |= CURLAUTH_BASIC;
+        else
+          config->authtype &= ~CURLAUTH_BASIC;
+        break;
+
+      case 'o': /* --anyauth, let libcurl pick it */
+        if(toggle)
+          config->authtype = CURLAUTH_ANY;
+        /* --no-anyauth simply doesn't touch it */
+        break;
+
+#ifdef USE_WATT32
+      case 'p': /* --wdebug */
+        dbug_init();
+        break;
+#endif
+      case 'q': /* --ftp-create-dirs */
+        config->ftp_create_dirs = toggle;
+        break;
+
+      case 'r': /* --create-dirs */
+        config->create_dirs = TRUE;
+        break;
+
+      case 's': /* --max-redirs */
+        /* specified max no of redirects (http(s)) */
+        if(str2num(&config->maxredirs, nextarg))
+          return PARAM_BAD_NUMERIC;
+        break;
+
+      case 't': /* --proxy-ntlm */
+        if(curlinfo->features & CURL_VERSION_NTLM)
+          config->proxyntlm = toggle;
+        else
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        break;
+
+      case 'u': /* --crlf */
+        /* LF -> CRLF conversion? */
+        config->crlf = TRUE;
+        break;
+
+      case 'v': /* --stderr */
+        if(strcmp(nextarg, "-")) {
+          FILE *newfile = fopen(nextarg, "wt");
+          if(!newfile)
+            warnf(config, "Failed to open %s!\n", nextarg);
+          else {
+            if(config->errors_fopened)
+              fclose(config->errors);
+            config->errors = newfile;
+            config->errors_fopened = TRUE;
+          }
+        }
+        else
+          config->errors = stdout;
+      break;
+      case 'w': /* --interface */
+        /* interface */
+        GetStr(&config->iface, nextarg);
+        break;
+      case 'x': /* --krb */
+        /* kerberos level string */
+        if(curlinfo->features & (CURL_VERSION_KERBEROS4 |
+                                 CURL_VERSION_GSSNEGOTIATE))
+          GetStr(&config->krblevel, nextarg);
+        else
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        break;
+      case 'y': /* --max-filesize */
+        if(str2offset(&config->max_filesize, nextarg))
+          return PARAM_BAD_NUMERIC;
+        break;
+      case 'z': /* --disable-eprt */
+        config->disable_eprt = toggle;
+        break;
+      case 'Z': /* --eprt */
+        config->disable_eprt = (bool)(!toggle);
+        break;
+
+      default: /* the URL! */
+        {
+          struct getout *url;
+          if(config->url_get || (config->url_get=config->url_list)) {
+            /* there's a node here, if it already is filled-in continue to find
+               an "empty" node */
+            while(config->url_get && (config->url_get->flags&GETOUT_URL))
+              config->url_get = config->url_get->next;
+          }
+
+          /* now there might or might not be an available node to fill in! */
+
+          if(config->url_get)
+            /* existing node */
+            url = config->url_get;
+          else
+            /* there was no free node, create one! */
+            url=new_getout(config);
+
+          if(url) {
+            /* fill in the URL */
+            GetStr(&url->url, nextarg);
+            url->flags |= GETOUT_URL;
+          }
+        }
+      }
+      break;
+    case '$': /* more options without a short option */
+      switch(subletter) {
+      case 'a': /* --ftp-ssl */
+        config->ftp_ssl = toggle;
+        break;
+      case 'b': /* --ftp-pasv */
+        if(config->ftpport)
+          free(config->ftpport);
+        config->ftpport = NULL;
+        break;
+      case 'c': /* --socks5 specifies a socks5 proxy to use, and resolves
+                   the name locally and passes on the resolved address */
+        GetStr(&config->socksproxy, nextarg);
+        config->socksver = CURLPROXY_SOCKS5;
+        break;
+      case 't': /* --socks4 specifies a socks4 proxy to use */
+        GetStr(&config->socksproxy, nextarg);
+        config->socksver = CURLPROXY_SOCKS4;
+        break;
+      case 'T': /* --socks4a specifies a socks4a proxy to use */
+        GetStr(&config->socksproxy, nextarg);
+        config->socksver = CURLPROXY_SOCKS4A;
+        break;
+      case '2': /* --socks5-hostname specifies a socks5 proxy and enables name
+                   resolving with the proxy */
+        GetStr(&config->socksproxy, nextarg);
+        config->socksver = CURLPROXY_SOCKS5_HOSTNAME;
+        break;
+      case 'd': /* --tcp-nodelay option */
+        config->tcp_nodelay = toggle;
+        break;
+      case 'e': /* --proxy-digest */
+        config->proxydigest = toggle;
+        break;
+      case 'f': /* --proxy-basic */
+        config->proxybasic = toggle;
+        break;
+      case 'g': /* --retry */
+        if(str2num(&config->req_retry, nextarg))
+          return PARAM_BAD_NUMERIC;
+        break;
+      case 'h': /* --retry-delay */
+        if(str2num(&config->retry_delay, nextarg))
+          return PARAM_BAD_NUMERIC;
+        break;
+      case 'i': /* --retry-max-time */
+        if(str2num(&config->retry_maxtime, nextarg))
+          return PARAM_BAD_NUMERIC;
+        break;
+
+      case 'k': /* --proxy-negotiate */
+        if(curlinfo->features & CURL_VERSION_GSSNEGOTIATE)
+          config->proxynegotiate = toggle;
+        else
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        break;
+      case 'm': /* --ftp-account */
+        GetStr(&config->ftp_account, nextarg);
+        break;
+      case 'n': /* --proxy-anyauth */
+        config->proxyanyauth = toggle;
+        break;
+      case 'o': /* --trace-time */
+        config->tracetime = toggle;
+        break;
+      case 'p': /* --ignore-content-length */
+        config->ignorecl = toggle;
+        break;
+      case 'q': /* --ftp-skip-pasv-ip */
+        config->ftp_skip_ip = toggle;
+        break;
+      case 'r': /* --ftp-method (undocumented at this point) */
+        config->ftp_filemethod = ftpfilemethod(config, nextarg);
+        break;
+      case 's': /* --local-port */
+        rc = sscanf(nextarg, "%d - %d",
+                    &config->localport,
+                    &config->localportrange);
+        if(!rc)
+          return PARAM_BAD_USE;
+        else if(rc == 1)
+          config->localportrange = 1; /* default number of ports to try */
+        else {
+          config->localportrange -= config->localport;
+          if(config->localportrange < 1) {
+            warnf(config, "bad range input\n");
+            return PARAM_BAD_USE;
+          }
+        }
+        break;
+      case 'u': /* --ftp-alternative-to-user */
+        GetStr(&config->ftp_alternative_to_user, nextarg);
+        break;
+      case 'v': /* --ftp-ssl-reqd */
+        config->ftp_ssl_reqd = toggle;
+        break;
+      case 'w': /* --no-sessionid */
+        config->disable_sessionid = (bool)(!toggle);
+        break;
+      case 'x': /* --ftp-ssl-control */
+        config->ftp_ssl_control = toggle;
+        break;
+      case 'y': /* --ftp-ssl-ccc */
+        config->ftp_ssl_ccc = toggle;
+        if(!config->ftp_ssl_ccc_mode)
+            config->ftp_ssl_ccc_mode = CURLFTPSSL_CCC_PASSIVE;
+        break;
+      case 'j': /* --ftp-ssl-ccc-mode */
+        config->ftp_ssl_ccc = TRUE;
+        config->ftp_ssl_ccc_mode = ftpcccmethod(config, nextarg);
+        break;
+      case 'z': /* --libcurl */
+        GetStr(&config->libcurl, nextarg);
+        break;
+      case '#': /* --raw */
+        config->raw = toggle;
+        break;
+      case '0': /* --post301 */
+        config->post301 = toggle;
+        break;
+      case '1': /* --no-keepalive */
+        config->nokeepalive = (bool)(!toggle);
+        break;
+      case '3': /* --keepalive-time */
+        if(str2num(&config->alivetime, nextarg))
+          return PARAM_BAD_NUMERIC;
+        break;
+      case '4': /* --post302 */
+        config->post302 = toggle;
+        break;
+      case '5': /* --noproxy */
+        /* This specifies the noproxy list */
+        GetStr(&config->noproxy, nextarg);
+        break;
+#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
+      case '6': /* --socks5-gssapi-service */
+        GetStr(&config->socks5_gssapi_service, nextarg);
+        break;
+      case '7': /* --socks5-gssapi-nec*/
+        config->socks5_gssapi_nec = TRUE;
+        break;
+#endif
+      case '8': /* --proxy1.0 */
+        /* http 1.0 proxy */
+        GetStr(&config->proxy, nextarg);
+        config->proxyver = CURLPROXY_HTTP_1_0;
+        break;
+      case '9': /* --tftp-blksize */
+        str2num(&config->tftp_blksize, nextarg);
+        break;
+      case 'A': /* --mail-from */
+        GetStr(&config->mail_from, nextarg);
+        break;
+      case 'B': /* --mail-rcpt */
+        /* append receiver to a list */
+        err = add2list(&config->mail_rcpt, nextarg);
+        if(err)
+          return err;
+        break;
+      case 'C': /* --ftp-pret */
+        config->ftp_pret = toggle;
+        break;
+      }
+      break;
+    case '#': /* --progress-bar */
+      if(toggle)
+        config->progressmode = CURL_PROGRESS_BAR;
+      else
+        config->progressmode = CURL_PROGRESS_STATS;
+      break;
+    case '0':
+      /* HTTP version 1.0 */
+      config->httpversion = CURL_HTTP_VERSION_1_0;
+      break;
+    case '1':
+      /* TLS version 1 */
+      config->ssl_version = CURL_SSLVERSION_TLSv1;
+      break;
+    case '2':
+      /* SSL version 2 */
+      config->ssl_version = CURL_SSLVERSION_SSLv2;
+      break;
+    case '3':
+      /* SSL version 3 */
+      config->ssl_version = CURL_SSLVERSION_SSLv3;
+      break;
+    case '4':
+      /* IPv4 */
+      config->ip_version = 4;
+      break;
+    case '6':
+      /* IPv6 */
+      config->ip_version = 6;
+      break;
+    case 'a':
+      /* This makes the FTP sessions use APPE instead of STOR */
+      config->ftp_append = toggle;
+      break;
+    case 'A':
+      /* This specifies the User-Agent name */
+      GetStr(&config->useragent, nextarg);
+      break;
+    case 'b': /* cookie string coming up: */
+      if(nextarg[0] == '@') {
+        nextarg++;
+      }
+      else if(strchr(nextarg, '=')) {
+        /* A cookie string must have a =-letter */
+        GetStr(&config->cookie, nextarg);
+        break;
+      }
+      /* We have a cookie file to read from! */
+      GetStr(&config->cookiefile, nextarg);
+      break;
+    case 'B':
+      /* use ASCII/text when transfering */
+      config->use_ascii = toggle;
+      break;
+    case 'c':
+      /* get the file name to dump all cookies in */
+      GetStr(&config->cookiejar, nextarg);
+      break;
+    case 'C':
+      /* This makes us continue an ftp transfer at given position */
+      if(!curlx_strequal(nextarg, "-")) {
+        if(str2offset(&config->resume_from, nextarg))
+          return PARAM_BAD_NUMERIC;
+        config->resume_from_current = FALSE;
+      }
+      else {
+        config->resume_from_current = TRUE;
+        config->resume_from = 0;
+      }
+      config->use_resume=TRUE;
+      break;
+    case 'd':
+      /* postfield data */
+      {
+        char *postdata=NULL;
+        FILE *file;
+
+        if(subletter == 'e') { /* --data-urlencode*/
+          /* [name]=[content], we encode the content part only
+           * [name]@[file name]
+           *
+           * Case 2: we first load the file using that name and then encode
+           * the content.
+           */
+          const char *p = strchr(nextarg, '=');
+          size_t size = 0;
+          size_t nlen;
+          char is_file;
+          if(!p)
+            /* there was no '=' letter, check for a '@' instead */
+            p = strchr(nextarg, '@');
+          if (p) {
+            nlen = p - nextarg; /* length of the name part */
+            is_file = *p++; /* pass the separator */
+          }
+          else {
+            /* neither @ nor =, so no name and it isn't a file */
+            nlen = is_file = 0;
+            p = nextarg;
+          }
+          if('@' == is_file) {
+            /* a '@' letter, it means that a file name or - (stdin) follows */
+
+            if(curlx_strequal("-", p)) {
+              file = stdin;
+              SET_BINMODE(stdin);
+            }
+            else {
+              file = fopen(p, "rb");
+              if(!file)
+                warnf(config,
+                      "Couldn't read data from file \"%s\", this makes "
+                      "an empty POST.\n", nextarg);
+            }
+
+            err = file2memory(&postdata, &size, file);
+
+            if(file && (file != stdin))
+              fclose(file);
+            if(err)
+              return err;
+          }
+          else {
+            GetStr(&postdata, p);
+            size = strlen(postdata);
+          }
+
+          if(!postdata) {
+            /* no data from the file, point to a zero byte string to make this
+               get sent as a POST anyway */
+            postdata=strdup("");
+          }
+          else {
+            char *enc = curl_easy_escape(config->easy, postdata, (int)size);
+            free(postdata); /* no matter if it worked or not */
+            if(enc) {
+              /* now make a string with the name from above and append the
+                 encoded string */
+              size_t outlen = nlen + strlen(enc) + 2;
+              char *n = malloc(outlen);
+              if(!n) {
+                curl_free(enc);
+                return PARAM_NO_MEM;
+              }
+              if (nlen > 0) /* only append '=' if we have a name */
+                snprintf(n, outlen, "%.*s=%s", nlen, nextarg, enc);
+              else
+                strcpy(n, enc);
+              curl_free(enc);
+              postdata = n;
+            }
+            else
+              return PARAM_NO_MEM;
+          }
+        }
+        else if('@' == *nextarg) {
+          size_t size = 0;
+          /* the data begins with a '@' letter, it means that a file name
+             or - (stdin) follows */
+          nextarg++; /* pass the @ */
+
+          if(curlx_strequal("-", nextarg)) {
+            file = stdin;
+            if(subletter == 'b') /* forced data-binary */
+              SET_BINMODE(stdin);
+          }
+          else {
+            file = fopen(nextarg, "rb");
+            if(!file)
+              warnf(config, "Couldn't read data from file \"%s\", this makes "
+                    "an empty POST.\n", nextarg);
+          }
+
+          if(subletter == 'b') {
+            /* forced binary */
+            err = file2memory(&postdata, &size, file);
+            config->postfieldsize = (curl_off_t)size;
+          }
+          else
+            err = file2string(&postdata, file);
+
+          if(file && (file != stdin))
+            fclose(file);
+          if(err)
+            return err;
+
+          if(!postdata) {
+            /* no data from the file, point to a zero byte string to make this
+               get sent as a POST anyway */
+            postdata=strdup("");
+          }
+        }
+        else {
+          GetStr(&postdata, nextarg);
+        }
+
+#ifdef CURL_DOES_CONVERSIONS
+        if(subletter != 'b') { /* NOT forced binary, convert to ASCII */
+          convert_to_network(postdata, strlen(postdata));
+        }
+#endif
+
+        if(config->postfields) {
+          /* we already have a string, we append this one
+             with a separating &-letter */
+          char *oldpost=config->postfields;
+          size_t newlen = strlen(oldpost) + strlen(postdata) + 2;
+          config->postfields=malloc(newlen);
+          if(!config->postfields) {
+            free(postdata);
+            return PARAM_NO_MEM;
+          }
+          /* use ASCII value 0x26 for '&' to accommodate non-ASCII platforms */
+          snprintf(config->postfields, newlen, "%s\x26%s", oldpost, postdata);
+          free(oldpost);
+          free(postdata);
+        }
+        else
+          config->postfields=postdata;
+      }
+      /*
+        We can't set the request type here, as this data might be used in
+        a simple GET if -G is used. Already or soon.
+
+        if(SetHTTPrequest(HTTPREQ_SIMPLEPOST, &config->httpreq))
+          return PARAM_BAD_USE;
+      */
+      break;
+    case 'D':
+      /* dump-header to given file name */
+      GetStr(&config->headerfile, nextarg);
+      break;
+    case 'e':
+      {
+        char *ptr = strstr(nextarg, ";auto");
+        if(ptr) {
+          /* Automatic referer requested, this may be combined with a
+             set initial one */
+          config->autoreferer = TRUE;
+          *ptr = 0; /* zero terminate here */
+        }
+        else
+          config->autoreferer = FALSE;
+        GetStr(&config->referer, nextarg);
+      }
+      break;
+    case 'E':
+      switch(subletter) {
+      case 'a': /* CA info PEM file */
+        /* CA info PEM file */
+        GetStr(&config->cacert, nextarg);
+        break;
+      case 'b': /* cert file type */
+        GetStr(&config->cert_type, nextarg);
+        break;
+      case 'c': /* private key file */
+        GetStr(&config->key, nextarg);
+        break;
+      case 'd': /* private key file type */
+        GetStr(&config->key_type, nextarg);
+        break;
+      case 'e': /* private key passphrase */
+        GetStr(&config->key_passwd, nextarg);
+        cleanarg(nextarg);
+        break;
+      case 'f': /* crypto engine */
+        GetStr(&config->engine, nextarg);
+        if (config->engine && curlx_raw_equal(config->engine,"list"))
+           config->list_engines = TRUE;
+        break;
+      case 'g': /* CA info PEM file */
+        /* CA cert directory */
+        GetStr(&config->capath, nextarg);
+        break;
+      case 'h': /* --pubkey public key file */
+        GetStr(&config->pubkey, nextarg);
+        break;
+      case 'i': /* --hostpubmd5 md5 of the host public key */
+        GetStr(&config->hostpubmd5, nextarg);
+        if (!config->hostpubmd5 || strlen(config->hostpubmd5) != 32)
+           return PARAM_BAD_USE;
+        break;
+      case 'j': /* CRL info PEM file */
+        /* CRL file */
+        GetStr(&config->crlfile, nextarg);
+        break;
+      default: /* certificate file */
+        {
+          char *ptr = strchr(nextarg, ':');
+          /* Since we live in a world of weirdness and confusion, the win32
+             dudes can use : when using drive letters and thus
+             c:\file:password needs to work. In order not to break
+             compatibility, we still use : as separator, but we try to detect
+             when it is used for a file name! On windows. */
+#ifdef WIN32
+          if(ptr &&
+             (ptr == &nextarg[1]) &&
+             (nextarg[2] == '\\' || nextarg[2] == '/') &&
+             (ISALPHA(nextarg[0])) )
+             /* colon in the second column, followed by a backslash, and the
+                first character is an alphabetic letter:
+
+                this is a drive letter colon */
+            ptr = strchr(&nextarg[3], ':'); /* find the next one instead */
+#endif
+          if(ptr) {
+            /* we have a password too */
+            *ptr=0;
+            ptr++;
+            GetStr(&config->key_passwd, ptr);
+          }
+          GetStr(&config->cert, nextarg);
+          cleanarg(nextarg);
+        }
+      }
+      break;
+    case 'f':
+      /* fail hard on errors  */
+      config->failonerror = toggle;
+      break;
+    case 'F':
+      /* "form data" simulation, this is a little advanced so lets do our best
+         to sort this out slowly and carefully */
+      if(formparse(config,
+                   nextarg,
+                   &config->httppost,
+                   &config->last_post,
+                   (bool) (subletter=='s'))) /* 's' means literal string */
+        return PARAM_BAD_USE;
+      if(SetHTTPrequest(config, HTTPREQ_POST, &config->httpreq))
+        return PARAM_BAD_USE;
+      break;
+
+    case 'g': /* g disables URLglobbing */
+      config->globoff = toggle;
+      break;
+
+    case 'G': /* HTTP GET */
+      config->use_httpget = TRUE;
+      break;
+
+    case 'h': /* h for help */
+      if(toggle) {
+        help();
+        return PARAM_HELP_REQUESTED;
+      }
+      /* we now actually support --no-help too! */
+      break;
+    case 'H':
+      /* A custom header to append to a list */
+      err = add2list(&config->headers, nextarg);
+      if(err)
+        return err;
+      break;
+    case 'i':
+      config->include_headers = toggle; /* include the headers as well in the
+                                           general output stream */
+      break;
+    case 'j':
+      config->cookiesession = toggle;
+      break;
+    case 'I':
+      /*
+       * no_body will imply include_headers later on
+       */
+      config->no_body = toggle;
+      if(SetHTTPrequest(config,
+                        (config->no_body)?HTTPREQ_HEAD:HTTPREQ_GET,
+                        &config->httpreq))
+        return PARAM_BAD_USE;
+      break;
+    case 'J': /* --remote-header-name */
+      if (config->include_headers) {
+        warnf(config,
+              "--include and --remote-header-name cannot be combined.\n");
+        return PARAM_BAD_USE;
+      }
+      config->content_disposition = toggle;
+      break;
+    case 'k': /* allow insecure SSL connects */
+      config->insecure_ok = toggle;
+      break;
+    case 'K': /* parse config file */
+      if(parseconfig(nextarg, config))
+        warnf(config, "error trying read config from the '%s' file\n",
+              nextarg);
+      break;
+    case 'l':
+      config->dirlistonly = toggle; /* only list the names of the FTP dir */
+      break;
+    case 'L':
+      config->followlocation = toggle; /* Follow Location: HTTP headers */
+      switch (subletter) {
+      case 't':
+        /* Continue to send authentication (user+password) when following
+         * locations, even when hostname changed */
+        config->unrestricted_auth = toggle;
+        break;
+      }
+      break;
+    case 'm':
+      /* specified max time */
+      if(str2num(&config->timeout, nextarg))
+        return PARAM_BAD_NUMERIC;
+      break;
+    case 'M': /* M for manual, huge help */
+      if(toggle) { /* --no-manual shows no manual... */
+#ifdef USE_MANUAL
+        hugehelp();
+        return PARAM_HELP_REQUESTED;
+#else
+        warnf(config,
+              "built-in manual was disabled at build-time!\n");
+        return PARAM_OPTION_UNKNOWN;
+#endif
+      }
+      break;
+    case 'n':
+      switch(subletter) {
+      case 'o': /* CA info PEM file */
+        /* use .netrc or URL */
+        config->netrc_opt = toggle;
+        break;
+      default:
+        /* pick info from .netrc, if this is used for http, curl will
+           automatically enfore user+password with the request */
+        config->netrc = toggle;
+        break;
+      }
+      break;
+    case 'N':
+      /* disable the output I/O buffering. note that the option is called
+         --buffer but is mostly used in the negative form: --no-buffer */
+      if(longopt)
+        config->nobuffer = (bool)(!toggle);
+      else
+        config->nobuffer = toggle;
+      break;
+    case 'O': /* --remote-name */
+      if(subletter == 'a') { /* --remote-name-all */
+        config->default_node_flags = toggle?GETOUT_USEREMOTE:0;
+        break;
+      }
+    /* fall-through! */
+    case 'o': /* --output */
+      /* output file */
+      {
+        struct getout *url;
+        if(config->url_out || (config->url_out=config->url_list)) {
+          /* there's a node here, if it already is filled-in continue to find
+             an "empty" node */
+          while(config->url_out && (config->url_out->flags&GETOUT_OUTFILE))
+            config->url_out = config->url_out->next;
+        }
+
+        /* now there might or might not be an available node to fill in! */
+
+        if(config->url_out)
+          /* existing node */
+          url = config->url_out;
+        else
+          /* there was no free node, create one! */
+          url=new_getout(config);
+
+        if(url) {
+          /* fill in the outfile */
+          if('o' == letter) {
+            GetStr(&url->outfile, nextarg);
+            url->flags &= ~GETOUT_USEREMOTE; /* switch off */
+          }
+          else {
+            url->outfile=NULL; /* leave it */
+            if(toggle)
+              url->flags |= GETOUT_USEREMOTE;  /* switch on */
+            else
+              url->flags &= ~GETOUT_USEREMOTE; /* switch off */
+          }
+          url->flags |= GETOUT_OUTFILE;
+        }
+      }
+      break;
+    case 'P':
+      /* This makes the FTP sessions use PORT instead of PASV */
+      /* use <eth0> or <192.168.10.10> style addresses. Anything except
+         this will make us try to get the "default" address.
+         NOTE: this is a changed behaviour since the released 4.1!
+         */
+      GetStr(&config->ftpport, nextarg);
+      break;
+    case 'p':
+      /* proxy tunnel for non-http protocols */
+      config->proxytunnel = toggle;
+      break;
+
+    case 'q': /* if used first, already taken care of, we do it like
+                 this so we don't cause an error! */
+      break;
+    case 'Q':
+      /* QUOTE command to send to FTP server */
+      switch(nextarg[0]) {
+      case '-':
+        /* prefixed with a dash makes it a POST TRANSFER one */
+        nextarg++;
+        err = add2list(&config->postquote, nextarg);
+        break;
+      case '+':
+        /* prefixed with a plus makes it a just-before-transfer one */
+        nextarg++;
+        err = add2list(&config->prequote, nextarg);
+        break;
+      default:
+        err = add2list(&config->quote, nextarg);
+        break;
+      }
+      if(err)
+        return err;
+      break;
+    case 'r':
+      /* Specifying a range WITHOUT A DASH will create an illegal HTTP range
+         (and won't actually be range by definition). The man page previously
+         claimed that to be a good way, why this code is added to work-around
+         it. */
+      if(ISDIGIT(*nextarg) && !strchr(nextarg, '-')) {
+        char buffer[32];
+        curl_off_t off;
+        warnf(config,
+              "A specified range MUST include at least one dash (-). "
+              "Appending one for you!\n");
+        off = curlx_strtoofft(nextarg, NULL, 10);
+        snprintf(buffer, sizeof(buffer), "%" CURL_FORMAT_CURL_OFF_T "-", off);
+        GetStr(&config->range, buffer);
+      }
+      {
+        /* byte range requested */
+        char* tmp_range;
+        tmp_range=nextarg;
+        while(*tmp_range != '\0') {
+          if(!ISDIGIT(*tmp_range)&&*tmp_range!='-'&&*tmp_range!=',') {
+            warnf(config,"Invalid character is found in given range. "
+                  "A specified range MUST have only digits in "
+                  "\'start\'-\'stop\'. The server's response to this "
+                  "request is uncertain.\n");
+            break;
+          }
+          tmp_range++;
+        }
+        /* byte range requested */
+        GetStr(&config->range, nextarg);
+      }
+      break;
+    case 'R':
+      /* use remote file's time */
+      config->remote_time = toggle;
+      break;
+    case 's':
+      /* don't show progress meter, don't show errors : */
+      if(toggle)
+        config->mute = config->noprogress = TRUE;
+      else
+        config->mute = config->noprogress = FALSE;
+      config->showerror = (bool)(!toggle); /* toggle off */
+      break;
+    case 'S':
+      /* show errors */
+      config->showerror = toggle; /* toggle on if used with -s */
+      break;
+    case 't':
+      /* Telnet options */
+      err = add2list(&config->telnet_options, nextarg);
+      if(err)
+        return err;
+      break;
+    case 'T':
+      /* we are uploading */
+      {
+        struct getout *url;
+        if(config->url_out || (config->url_out=config->url_list)) {
+          /* there's a node here, if it already is filled-in continue to find
+             an "empty" node */
+          while(config->url_out && (config->url_out->flags&GETOUT_UPLOAD))
+            config->url_out = config->url_out->next;
+        }
+
+        /* now there might or might not be an available node to fill in! */
+
+        if(config->url_out)
+          /* existing node */
+          url = config->url_out;
+        else
+          /* there was no free node, create one! */
+          url=new_getout(config);
+
+        if(url) {
+          url->flags |= GETOUT_UPLOAD; /* mark -T used */
+          if(!*nextarg)
+            url->flags |= GETOUT_NOUPLOAD;
+          else {
+            /* "-" equals stdin, but keep the string around for now */
+            GetStr(&url->infile, nextarg);
+          }
+        }
+      }
+      break;
+    case 'u':
+      /* user:password  */
+      GetStr(&config->userpwd, nextarg);
+      cleanarg(nextarg);
+      checkpasswd("host", &config->userpwd);
+      break;
+    case 'U':
+      /* Proxy user:password  */
+      GetStr(&config->proxyuserpwd, nextarg);
+      cleanarg(nextarg);
+      checkpasswd("proxy", &config->proxyuserpwd);
+      break;
+    case 'v':
+      if(toggle) {
+        /* the '%' thing here will cause the trace get sent to stderr */
+        GetStr(&config->trace_dump, (char *)"%");
+        if(config->tracetype && (config->tracetype != TRACE_PLAIN))
+          warnf(config,
+                "-v/--verbose overrides an earlier trace/verbose option\n");
+        config->tracetype = TRACE_PLAIN;
+      }
+      else
+        /* verbose is disabled here */
+        config->tracetype = TRACE_NONE;
+      break;
+    case 'V':
+    {
+      const char * const *proto;
+
+      if(!toggle)
+        /* --no-version yields no output! */
+        break;
+
+      printf(CURL_ID "%s\n", curl_version());
+      if (curlinfo->protocols) {
+        printf("Protocols: ");
+        for (proto=curlinfo->protocols; *proto; ++proto) {
+          printf("%s ", *proto);
+        }
+        puts(""); /* newline */
+      }
+      if(curlinfo->features) {
+        unsigned int i;
+        struct feat {
+          const char *name;
+          int bitmask;
+        };
+        static const struct feat feats[] = {
+          {"AsynchDNS", CURL_VERSION_ASYNCHDNS},
+          {"Debug", CURL_VERSION_DEBUG},
+          {"TrackMemory", CURL_VERSION_CURLDEBUG},
+          {"GSS-Negotiate", CURL_VERSION_GSSNEGOTIATE},
+          {"IDN", CURL_VERSION_IDN},
+          {"IPv6", CURL_VERSION_IPV6},
+          {"Largefile", CURL_VERSION_LARGEFILE},
+          {"NTLM", CURL_VERSION_NTLM},
+          {"SPNEGO", CURL_VERSION_SPNEGO},
+          {"SSL",  CURL_VERSION_SSL},
+          {"SSPI",  CURL_VERSION_SSPI},
+          {"krb4", CURL_VERSION_KERBEROS4},
+          {"libz", CURL_VERSION_LIBZ},
+          {"CharConv", CURL_VERSION_CONV}
+        };
+        printf("Features: ");
+        for(i=0; i<sizeof(feats)/sizeof(feats[0]); i++) {
+          if(curlinfo->features & feats[i].bitmask)
+            printf("%s ", feats[i].name);
+        }
+        puts(""); /* newline */
+      }
+    }
+    return PARAM_HELP_REQUESTED;
+    case 'w':
+      /* get the output string */
+      if('@' == *nextarg) {
+        /* the data begins with a '@' letter, it means that a file name
+           or - (stdin) follows */
+        FILE *file;
+        const char *fname;
+        nextarg++; /* pass the @ */
+        if(curlx_strequal("-", nextarg)) {
+          fname = "<stdin>";
+          file = stdin;
+        }
+        else {
+          fname = nextarg;
+          file = fopen(nextarg, "r");
+        }
+        err = file2string(&config->writeout, file);
+        if(file && (file != stdin))
+          fclose(file);
+        if(err)
+          return err;
+        if(!config->writeout)
+          warnf(config, "Failed to read %s", fname);
+      }
+      else
+        GetStr(&config->writeout, nextarg);
+      break;
+    case 'x':
+      /* proxy */
+      GetStr(&config->proxy, nextarg);
+      config->proxyver = CURLPROXY_HTTP;
+      break;
+    case 'X':
+      /* set custom request */
+      GetStr(&config->customrequest, nextarg);
+      break;
+    case 'y':
+      /* low speed time */
+      if(str2num(&config->low_speed_time, nextarg))
+        return PARAM_BAD_NUMERIC;
+      if(!config->low_speed_limit)
+        config->low_speed_limit = 1;
+      break;
+    case 'Y':
+      /* low speed limit */
+      if(str2num(&config->low_speed_limit, nextarg))
+        return PARAM_BAD_NUMERIC;
+      if(!config->low_speed_time)
+        config->low_speed_time=30;
+      break;
+    case 'z': /* time condition coming up */
+      switch(*nextarg) {
+      case '+':
+        nextarg++;
+      default:
+        /* If-Modified-Since: (section 14.28 in RFC2068) */
+        config->timecond = CURL_TIMECOND_IFMODSINCE;
+        break;
+      case '-':
+        /* If-Unmodified-Since:  (section 14.24 in RFC2068) */
+        config->timecond = CURL_TIMECOND_IFUNMODSINCE;
+        nextarg++;
+        break;
+      case '=':
+        /* Last-Modified:  (section 14.29 in RFC2068) */
+        config->timecond = CURL_TIMECOND_LASTMOD;
+        nextarg++;
+        break;
+      }
+      now=time(NULL);
+      config->condtime=curl_getdate(nextarg, &now);
+      if(-1 == (int)config->condtime) {
+        /* now let's see if it is a file name to get the time from instead! */
+        struct_stat statbuf;
+        if(-1 == stat(nextarg, &statbuf)) {
+          /* failed, remove time condition */
+          config->timecond = CURL_TIMECOND_NONE;
+          warnf(config,
+                "Illegal date format for -z/--timecond (and not "
+                "a file name). Disabling time condition. "
+                "See curl_getdate(3) for valid date syntax.\n");
+        }
+        else {
+          /* pull the time out from the file */
+          config->condtime = statbuf.st_mtime;
+        }
+      }
+      break;
+    default: /* unknown flag */
+      return PARAM_OPTION_UNKNOWN;
+    }
+    hit = -1;
+
+  } while(!longopt && !singleopt && *++parse && !*usedarg);
+
+  return PARAM_OK;
+}
+
+/*
+ * Copies the string from line to the buffer at param, unquoting
+ * backslash-quoted characters and NUL-terminating the output string.
+ * Stops at the first non-backslash-quoted double quote character or the
+ * end of the input string. param must be at least as long as the input
+ * string.  Returns the pointer after the last handled input character.
+ */
+static const char *unslashquote(const char *line, char *param)
+{
+  while(*line && (*line != '\"')) {
+    if(*line == '\\') {
+      char out;
+      line++;
+
+      /* default is to output the letter after the backslash */
+      switch(out = *line) {
+      case '\0':
+        continue; /* this'll break out of the loop */
+      case 't':
+        out='\t';
+        break;
+      case 'n':
+        out='\n';
+        break;
+      case 'r':
+        out='\r';
+        break;
+      case 'v':
+        out='\v';
+        break;
+      }
+      *param++=out;
+      line++;
+    }
+    else
+      *param++=*line++;
+  }
+  *param=0; /* always zero terminate */
+  return line;
+}
+
+/* return 0 on everything-is-fine, and non-zero otherwise */
+static int parseconfig(const char *filename,
+                       struct Configurable *config)
+{
+  int res;
+  FILE *file;
+  char filebuffer[512];
+  bool usedarg;
+  char *home;
+  int rc = 0;
+
+  if(!filename || !*filename) {
+    /* NULL or no file name attempts to load .curlrc from the homedir! */
+
+#define CURLRC DOT_CHAR "curlrc"
+
+#ifndef __AMIGA__
+    filename = CURLRC;   /* sensible default */
+    home = homedir();    /* portable homedir finder */
+    if(home) {
+      if(strlen(home)<(sizeof(filebuffer)-strlen(CURLRC))) {
+        snprintf(filebuffer, sizeof(filebuffer),
+                 "%s%s%s", home, DIR_CHAR, CURLRC);
+
+#ifdef WIN32
+        /* Check if the file exists - if not, try CURLRC in the same
+         * directory as our executable
+         */
+        file = fopen(filebuffer, "r");
+        if (file != NULL) {
+          fclose(file);
+          filename = filebuffer;
+        }
+        else {
+          /* Get the filename of our executable. GetModuleFileName is
+           * already declared via inclusions done in setup header file.
+           * We assume that we are using the ASCII version here.
+           */
+          int n = GetModuleFileName(0, filebuffer, sizeof(filebuffer));
+          if (n > 0 && n < (int)sizeof(filebuffer)) {
+            /* We got a valid filename - get the directory part */
+            char *lastdirchar = strrchr(filebuffer, '\\');
+            if (lastdirchar) {
+              size_t remaining;
+              *lastdirchar = 0;
+              /* If we have enough space, build the RC filename */
+              remaining = sizeof(filebuffer) - strlen(filebuffer);
+              if (strlen(CURLRC) < remaining - 1) {
+                snprintf(lastdirchar, remaining,
+                         "%s%s", DIR_CHAR, CURLRC);
+                /* Don't bother checking if it exists - we do
+                 * that later
+                 */
+                filename = filebuffer;
+              }
+            }
+          }
+        }
+#else /* WIN32 */
+        filename = filebuffer;
+#endif /* WIN32 */
+      }
+      free(home); /* we've used it, now free it */
+    }
+
+# else /* __AMIGA__ */
+  /* On AmigaOS all the config files are into env:
+   */
+  filename = "ENV:" CURLRC;
+
+#endif
+  }
+
+  if(strcmp(filename,"-"))
+    file = fopen(filename, "r");
+  else
+    file = stdin;
+
+  if(file) {
+    char *line;
+    char *aline;
+    char *option;
+    char *param;
+    int lineno=0;
+    bool alloced_param;
+
+#define ISSEP(x) (((x)=='=') || ((x) == ':'))
+
+    while (NULL != (aline = my_get_line(file))) {
+      lineno++;
+      line = aline;
+      alloced_param=FALSE;
+
+      /* line with # in the first non-blank column is a comment! */
+      while(*line && ISSPACE(*line))
+        line++;
+
+      switch(*line) {
+      case '#':
+      case '/':
+      case '\r':
+      case '\n':
+      case '*':
+      case '\0':
+        free(aline);
+        continue;
+      }
+
+      /* the option keywords starts here */
+      option = line;
+      while(*line && !ISSPACE(*line) && !ISSEP(*line))
+        line++;
+      /* ... and has ended here */
+
+      if(*line)
+        *line++=0; /* zero terminate, we have a local copy of the data */
+
+#ifdef DEBUG_CONFIG
+      fprintf(stderr, "GOT: %s\n", option);
+#endif
+
+      /* pass spaces and separator(s) */
+      while(*line && (ISSPACE(*line) || ISSEP(*line)))
+        line++;
+
+      /* the parameter starts here (unless quoted) */
+      if(*line == '\"') {
+        /* quoted parameter, do the quote dance */
+        line++;
+        param=malloc(strlen(line)+1); /* parameter */
+        if (!param) {
+          /* out of memory */
+          free(aline);
+          rc = 1;
+          break;
+        }
+        alloced_param=TRUE;
+        line = (char*) unslashquote(line, param);
+      }
+      else {
+        param=line; /* parameter starts here */
+        while(*line && !ISSPACE(*line))
+          line++;
+        *line=0; /* zero terminate */
+      }
+
+      if (param && !*param) {
+        /* do this so getparameter can check for required parameters.
+           Otherwise it always thinks there's a parameter. */
+        if (alloced_param)
+          free(param);
+        param = NULL;
+      }
+
+#ifdef DEBUG_CONFIG
+      fprintf(stderr, "PARAM: \"%s\"\n",(param ? param : "(null)"));
+#endif
+      res = getparameter(option, param, &usedarg, config);
+
+      if (param && *param && !usedarg)
+        /* we passed in a parameter that wasn't used! */
+        res = PARAM_GOT_EXTRA_PARAMETER;
+
+      if(res != PARAM_OK) {
+        /* the help request isn't really an error */
+        if(!strcmp(filename, "-")) {
+          filename=(char *)"<stdin>";
+        }
+        if(PARAM_HELP_REQUESTED != res) {
+          const char *reason = param2text(res);
+          warnf(config, "%s:%d: warning: '%s' %s\n",
+                filename, lineno, option, reason);
+        }
+      }
+
+      if(alloced_param)
+      {
+        free(param);
+        param = NULL;
+      }
+
+      free(aline);
+    }
+    if(file != stdin)
+      fclose(file);
+  }
+  else
+    rc = 1; /* couldn't open the file */
+  return rc;
+}
+
+static void go_sleep(long ms)
+{
+#ifdef HAVE_POLL_FINE
+  /* portable subsecond "sleep" */
+  poll((void *)0, 0, (int)ms);
+#else
+  /* systems without poll() need other solutions */
+
+#ifdef WIN32
+  /* Windows offers a millisecond sleep */
+  Sleep(ms);
+#elif defined(MSDOS)
+  delay(ms);
+#else
+  /* Other systems must use select() for this */
+  struct timeval timeout;
+
+  timeout.tv_sec = ms/1000;
+  ms = ms%1000;
+  timeout.tv_usec = ms * 1000;
+
+  select(0, NULL,  NULL, NULL, &timeout);
+#endif
+
+#endif
+}
+
+static size_t my_fwrite(void *buffer, size_t sz, size_t nmemb, void *stream)
+{
+  size_t rc;
+  struct OutStruct *out=(struct OutStruct *)stream;
+  struct Configurable *config = out->config;
+
+  /*
+   * Once that libcurl has called back my_fwrite() the returned value
+   * is checked against the amount that was intended to be written, if
+   * it does not match then it fails with CURLE_WRITE_ERROR. So at this
+   * point returning a value different from sz*nmemb indicates failure.
+   */
+  const size_t err_rc = (sz * nmemb) ? 0 : 1;
+
+  if(!out->stream) {
+    if (!out->filename) {
+      warnf(config, "Remote filename has no length!\n");
+      return err_rc; /* Failure */
+    }
+
+    if (config->content_disposition) {
+      /* don't overwrite existing files */
+      FILE* f = fopen(out->filename, "r");
+      if (f) {
+        fclose(f);
+        warnf(config, "Refusing to overwrite %s: %s\n", out->filename,
+              strerror(EEXIST));
+        return err_rc; /* Failure */
+      }
+    }
+
+    /* open file for writing */
+    out->stream=fopen(out->filename, "wb");
+    if(!out->stream) {
+      warnf(config, "Failed to create the file %s: %s\n", out->filename,
+            strerror(errno));
+      return err_rc; /* failure */
+    }
+  }
+
+  rc = fwrite(buffer, sz, nmemb, out->stream);
+
+  if((sz * nmemb) == rc) {
+    /* we added this amount of data to the output */
+    out->bytes += (sz * nmemb);
+  }
+
+  if(config->readbusy) {
+    config->readbusy = FALSE;
+    curl_easy_pause(config->easy, CURLPAUSE_CONT);
+  }
+
+  if(config->nobuffer) {
+    /* disable output buffering */
+    int res = fflush(out->stream);
+    if(res) {
+      /* return a value that isn't the same as sz * nmemb */
+      return err_rc; /* failure */
+    }
+  }
+
+  return rc;
+}
+
+struct InStruct {
+  int fd;
+  struct Configurable *config;
+};
+
+#define MAX_SEEK 2147483647
+
+/*
+ * my_seek() is the CURLOPT_SEEKFUNCTION we use
+ */
+static int my_seek(void *stream, curl_off_t offset, int whence)
+{
+  struct InStruct *in=(struct InStruct *)stream;
+
+#if (CURL_SIZEOF_CURL_OFF_T > SIZEOF_OFF_T) && !defined(USE_WIN32_LARGE_FILES)
+  /* The offset check following here is only interesting if curl_off_t is
+     larger than off_t and we are not using the WIN32 large file support
+     macros that provide the support to do 64bit seeks correctly */
+
+  if(offset > MAX_SEEK) {
+    /* Some precaution code to work around problems with different data sizes
+       to allow seeking >32bit even if off_t is 32bit. Should be very rare and
+       is really valid on weirdo-systems. */
+    curl_off_t left = offset;
+
+    if(whence != SEEK_SET)
+      /* this code path doesn't support other types */
+      return 1;
+
+    if(LSEEK_ERROR == lseek(in->fd, 0, SEEK_SET))
+      /* couldn't rewind to beginning */
+      return 1;
+
+    while(left) {
+      long step = (left>MAX_SEEK ? MAX_SEEK : (long)left);
+      if(LSEEK_ERROR == lseek(in->fd, step, SEEK_CUR))
+        /* couldn't seek forwards the desired amount */
+        return 1;
+      left -= step;
+    }
+    return 0;
+  }
+#endif
+  if(LSEEK_ERROR == lseek(in->fd, offset, whence))
+    /* couldn't rewind, the reason is in errno but errno is just not portable
+       enough and we don't actually care that much why we failed. We'll let
+       libcurl know that it may try other means if it wants to. */
+    return CURL_SEEKFUNC_CANTSEEK;
+
+  return 0;
+}
+
+static size_t my_fread(void *buffer, size_t sz, size_t nmemb, void *userp)
+{
+  ssize_t rc;
+  struct InStruct *in=(struct InStruct *)userp;
+
+  rc = read(in->fd, buffer, sz*nmemb);
+  if(rc < 0) {
+    if(errno == EAGAIN) {
+      errno = 0;
+      in->config->readbusy = TRUE;
+      return CURL_READFUNC_PAUSE;
+    }
+    /* since size_t is unsigned we can't return negative values fine */
+    rc = 0;
+  }
+  in->config->readbusy = FALSE;
+  return (size_t)rc;
+}
+
+struct ProgressData {
+  int calls;
+  curl_off_t prev;
+  int width;
+  FILE *out; /* where to write everything to */
+  curl_off_t initial_size;
+};
+
+static int myprogress (void *clientp,
+                       double dltotal,
+                       double dlnow,
+                       double ultotal,
+                       double ulnow)
+{
+  /* The original progress-bar source code was written for curl by Lars Aas,
+     and this new edition inherits some of his concepts. */
+
+  char line[256];
+  char outline[256];
+  char format[40];
+  double frac;
+  double percent;
+  int barwidth;
+  int num;
+  int i;
+
+  struct ProgressData *bar = (struct ProgressData *)clientp;
+  curl_off_t total = (curl_off_t)dltotal + (curl_off_t)ultotal +
+    bar->initial_size; /* expected transfer size */
+  curl_off_t point = (curl_off_t)dlnow + (curl_off_t)ulnow +
+    bar->initial_size; /* we've come this far */
+
+  if(point > total)
+    /* we have got more than the expected total! */
+    total = point;
+
+  bar->calls++; /* simply count invokes */
+
+  if(total < 1) {
+    curl_off_t prevblock = bar->prev / 1024;
+    curl_off_t thisblock = point / 1024;
+    while ( thisblock > prevblock ) {
+      fprintf( bar->out, "#" );
+      prevblock++;
+    }
+  }
+  else {
+    frac = (double)point / (double)total;
+    percent = frac * 100.0f;
+    barwidth = bar->width - 7;
+    num = (int) (((double)barwidth) * frac);
+    for ( i = 0; i < num; i++ ) {
+      line[i] = '#';
+    }
+    line[i] = '\0';
+    snprintf( format, sizeof(format), "%%-%ds %%5.1f%%%%", barwidth );
+    snprintf( outline, sizeof(outline), format, line, percent );
+    fprintf( bar->out, "\r%s", outline );
+  }
+  fflush(bar->out);
+  bar->prev = point;
+
+  return 0;
+}
+
+static
+void progressbarinit(struct ProgressData *bar,
+                     struct Configurable *config)
+{
+#ifdef __EMX__
+  /* 20000318 mgs */
+  int scr_size [2];
+#endif
+  char *colp;
+
+  memset(bar, 0, sizeof(struct ProgressData));
+
+  /* pass this through to progress function so
+   * it can display progress towards total file
+   * not just the part that's left. (21-may-03, dbyron) */
+  if (config->use_resume)
+    bar->initial_size = config->resume_from;
+
+/* TODO: get terminal width through ansi escapes or something similar.
+         try to update width when xterm is resized... - 19990617 larsa */
+#ifndef __EMX__
+  /* 20000318 mgs
+   * OS/2 users most likely won't have this env var set, and besides that
+   * we're using our own way to determine screen width */
+  colp = curlx_getenv("COLUMNS");
+  if (colp != NULL) {
+    bar->width = atoi(colp);
+    curl_free(colp);
+  }
+  else
+    bar->width = 79;
+#else
+  /* 20000318 mgs
+   * We use this emx library call to get the screen width, and subtract
+   * one from what we got in order to avoid a problem with the cursor
+   * advancing to the next line if we print a string that is as long as
+   * the screen is wide. */
+
+  _scrsize(scr_size);
+  bar->width = scr_size[0] - 1;
+#endif
+
+  bar->out = config->errors;
+}
+
+
+static
+void dump(const char *timebuf, const char *text,
+          FILE *stream, const unsigned char *ptr, size_t size,
+          trace tracetype, curl_infotype infotype)
+{
+  size_t i;
+  size_t c;
+
+  unsigned int width=0x10;
+
+  if(tracetype == TRACE_ASCII)
+    /* without the hex output, we can fit more on screen */
+    width = 0x40;
+
+  fprintf(stream, "%s%s, %zd bytes (0x%zx)\n", timebuf, text, size, size);
+
+  for(i=0; i<size; i+= width) {
+
+    fprintf(stream, "%04zx: ", i);
+
+    if(tracetype == TRACE_BIN) {
+      /* hex not disabled, show it */
+      for(c = 0; c < width; c++)
+        if(i+c < size)
+          fprintf(stream, "%02x ", ptr[i+c]);
+        else
+          fputs("   ", stream);
+    }
+
+    for(c = 0; (c < width) && (i+c < size); c++) {
+      /* check for 0D0A; if found, skip past and start a new line of output */
+      if ((tracetype == TRACE_ASCII) &&
+          (i+c+1 < size) && ptr[i+c]==0x0D && ptr[i+c+1]==0x0A) {
+        i+=(c+2-width);
+        break;
+      }
+#ifdef CURL_DOES_CONVERSIONS
+      /* repeat the 0D0A check above but use the host encoding for CRLF */
+      if ((tracetype == TRACE_ASCII) &&
+          (i+c+1 < size) && ptr[i+c]=='\r' && ptr[i+c+1]=='\n') {
+        i+=(c+2-width);
+        break;
+      }
+      /* convert to host encoding and print this character */
+      fprintf(stream, "%c", convert_char(infotype, ptr[i+c]));
+#else
+      (void)infotype;
+      fprintf(stream, "%c",
+              (ptr[i+c]>=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:UNPRINTABLE_CHAR);
+#endif /* CURL_DOES_CONVERSIONS */
+      /* check again for 0D0A, to avoid an extra \n if it's at width */
+      if ((tracetype == TRACE_ASCII) &&
+          (i+c+2 < size) && ptr[i+c+1]==0x0D && ptr[i+c+2]==0x0A) {
+        i+=(c+3-width);
+        break;
+      }
+    }
+    fputc('\n', stream); /* newline */
+  }
+  fflush(stream);
+}
+
+static
+int my_trace(CURL *handle, curl_infotype type,
+             unsigned char *data, size_t size,
+             void *userp)
+{
+  struct Configurable *config = (struct Configurable *)userp;
+  FILE *output=config->errors;
+  const char *text;
+  struct timeval tv;
+  struct tm *now;
+  char timebuf[20];
+  time_t secs;
+  static time_t epoch_offset;
+  static int    known_offset;
+
+  (void)handle; /* prevent compiler warning */
+
+  if(config->tracetime) {
+    tv = cutil_tvnow();
+    if(!known_offset) {
+      epoch_offset = time(NULL) - tv.tv_sec;
+      known_offset = 1;
+    }
+    secs = epoch_offset + tv.tv_sec;
+    now = localtime(&secs);  /* not thread safe but we don't care */
+    snprintf(timebuf, sizeof(timebuf), "%02d:%02d:%02d.%06ld ",
+             now->tm_hour, now->tm_min, now->tm_sec, (long)tv.tv_usec);
+  }
+  else
+    timebuf[0]=0;
+
+  if(!config->trace_stream) {
+    /* open for append */
+    if(curlx_strequal("-", config->trace_dump))
+      config->trace_stream = stdout;
+    else if(curlx_strequal("%", config->trace_dump))
+      /* Ok, this is somewhat hackish but we do it undocumented for now */
+      config->trace_stream = config->errors;  /* aka stderr */
+    else {
+      config->trace_stream = fopen(config->trace_dump, "w");
+      config->trace_fopened = TRUE;
+    }
+  }
+
+  if(config->trace_stream)
+    output = config->trace_stream;
+
+  if(!output) {
+    warnf(config, "Failed to create/open output");
+    return 0;
+  }
+
+  if(config->tracetype == TRACE_PLAIN) {
+    /*
+     * This is the trace look that is similar to what libcurl makes on its
+     * own.
+     */
+    static const char * const s_infotype[] = {
+      "*", "<", ">", "{", "}", "{", "}"
+    };
+    size_t i;
+    size_t st=0;
+    static bool newl = FALSE;
+    static bool traced_data = FALSE;
+
+    switch(type) {
+    case CURLINFO_HEADER_OUT:
+      for(i=0; i<size-1; i++) {
+        if(data[i] == '\n') { /* LF */
+          if(!newl) {
+            fprintf(output, "%s%s ", timebuf, s_infotype[type]);
+          }
+          (void)fwrite(data+st, i-st+1, 1, output);
+          st = i+1;
+          newl = FALSE;
+        }
+      }
+      if(!newl)
+        fprintf(output, "%s%s ", timebuf, s_infotype[type]);
+      (void)fwrite(data+st, i-st+1, 1, output);
+      newl = (bool)(size && (data[size-1] != '\n'));
+      traced_data = FALSE;
+      break;
+    case CURLINFO_TEXT:
+    case CURLINFO_HEADER_IN:
+      if(!newl)
+        fprintf(output, "%s%s ", timebuf, s_infotype[type]);
+      (void)fwrite(data, size, 1, output);
+      newl = (bool)(size && (data[size-1] != '\n'));
+      traced_data = FALSE;
+      break;
+    case CURLINFO_DATA_OUT:
+    case CURLINFO_DATA_IN:
+    case CURLINFO_SSL_DATA_IN:
+    case CURLINFO_SSL_DATA_OUT:
+      if(!traced_data) {
+        /* if the data is output to a tty and we're sending this debug trace
+           to stderr or stdout, we don't display the alert about the data not
+           being shown as the data _is_ shown then just not via this
+           function */
+        if(!config->isatty ||
+           ((output != stderr) && (output != stdout))) {
+          if(!newl)
+            fprintf(output, "%s%s ", timebuf, s_infotype[type]);
+          fprintf(output, "[data not shown]\n");
+          newl = FALSE;
+          traced_data = TRUE;
+        }
+      }
+      break;
+    default: /* nada */
+      newl = FALSE;
+      traced_data = FALSE;
+      break;
+    }
+
+    return 0;
+  }
+
+#ifdef CURL_DOES_CONVERSIONS
+  /* Special processing is needed for CURLINFO_HEADER_OUT blocks
+   * if they contain both headers and data (separated by CRLFCRLF).
+   * We dump the header text and then switch type to CURLINFO_DATA_OUT.
+   */
+  if((type == CURLINFO_HEADER_OUT) && (size > 4)) {
+    size_t i;
+    for(i = 0; i < size - 4; i++) {
+      if(memcmp(&data[i], "\r\n\r\n", 4) == 0) {
+        /* dump everthing through the CRLFCRLF as a sent header */
+        text = "=> Send header";
+        dump(timebuf, text, output, data, i+4, config->tracetype, type);
+        data += i + 3;
+        size -= i + 4;
+        type = CURLINFO_DATA_OUT;
+        data += 1;
+        break;
+      }
+    }
+  }
+#endif /* CURL_DOES_CONVERSIONS */
+
+  switch (type) {
+  case CURLINFO_TEXT:
+    fprintf(output, "%s== Info: %s", timebuf, data);
+  default: /* in case a new one is introduced to shock us */
+    return 0;
+
+  case CURLINFO_HEADER_OUT:
+    text = "=> Send header";
+    break;
+  case CURLINFO_DATA_OUT:
+    text = "=> Send data";
+    break;
+  case CURLINFO_HEADER_IN:
+    text = "<= Recv header";
+    break;
+  case CURLINFO_DATA_IN:
+    text = "<= Recv data";
+    break;
+  case CURLINFO_SSL_DATA_IN:
+    text = "<= Recv SSL data";
+    break;
+  case CURLINFO_SSL_DATA_OUT:
+    text = "=> Send SSL data";
+    break;
+  }
+
+  dump(timebuf, text, output, data, size, config->tracetype, type);
+  return 0;
+}
+
+static void free_config_fields(struct Configurable *config)
+{
+  if(config->random_file)
+    free(config->random_file);
+  if(config->egd_file)
+    free(config->egd_file);
+  if(config->trace_dump)
+    free(config->trace_dump);
+  if(config->cipher_list)
+    free(config->cipher_list);
+  if(config->userpwd)
+    free(config->userpwd);
+  if(config->postfields)
+    free(config->postfields);
+  if(config->proxy)
+    free(config->proxy);
+  if(config->proxyuserpwd)
+    free(config->proxyuserpwd);
+  if(config->noproxy)
+    free(config->noproxy);
+  if(config->cookie)
+    free(config->cookie);
+  if(config->cookiefile)
+    free(config->cookiefile);
+  if(config->krblevel)
+    free(config->krblevel);
+  if(config->headerfile)
+    free(config->headerfile);
+  if(config->ftpport)
+    free(config->ftpport);
+  if(config->range)
+    free(config->range);
+  if(config->customrequest)
+    free(config->customrequest);
+  if(config->writeout)
+    free(config->writeout);
+  if(config->httppost)
+    curl_formfree(config->httppost);
+  if (config->cert)
+    free(config->cert);
+  if(config->cacert)
+    free(config->cacert);
+  if (config->cert_type)
+    free(config->cert_type);
+  if(config->capath)
+    free(config->capath);
+  if(config->crlfile)
+    free(config->crlfile);
+  if(config->cookiejar)
+    free(config->cookiejar);
+  if(config->ftp_account)
+    free(config->ftp_account);
+  if(config->ftp_alternative_to_user)
+    free(config->ftp_alternative_to_user);
+  if(config->iface)
+    free(config->iface);
+  if(config->socksproxy)
+    free(config->socksproxy);
+  if(config->libcurl)
+    free(config->libcurl);
+  if (config->key_passwd)
+    free(config->key_passwd);
+  if (config->key)
+    free(config->key);
+  if (config->key_type)
+    free(config->key_type);
+  if (config->pubkey)
+    free(config->pubkey);
+  if (config->referer)
+    free(config->referer);
+  if (config->hostpubmd5)
+    free(config->hostpubmd5);
+  if(config->mail_from)
+    free(config->mail_from);
+#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
+  if(config->socks5_gssapi_service)
+    free(config->socks5_gssapi_service);
+#endif
+
+  curl_slist_free_all(config->quote); /* checks for config->quote == NULL */
+  curl_slist_free_all(config->prequote);
+  curl_slist_free_all(config->postquote);
+  curl_slist_free_all(config->headers);
+  curl_slist_free_all(config->telnet_options);
+  curl_slist_free_all(config->mail_rcpt);
+
+  if(config->easy)
+    curl_easy_cleanup(config->easy);
+}
+
+#ifdef WIN32
+
+/* Function to find CACert bundle on a Win32 platform using SearchPath.
+ * (SearchPath is already declared via inclusions done in setup header file)
+ * (Use the ASCII version instead of the unicode one!)
+ * The order of the directories it searches is:
+ *  1. application's directory
+ *  2. current working directory
+ *  3. Windows System directory (e.g. C:\windows\system32)
+ *  4. Windows Directory (e.g. C:\windows)
+ *  5. all directories along %PATH%
+ */
+static void FindWin32CACert(struct Configurable *config,
+                            const char *bundle_file)
+{
+  /* only check for cert file if "we" support SSL */
+  if(curlinfo->features & CURL_VERSION_SSL) {
+    DWORD buflen;
+    char *ptr = NULL;
+    char *retval = malloc(sizeof (TCHAR) * (MAX_PATH + 1));
+    if (!retval)
+      return;
+    retval[0] = '\0';
+    buflen = SearchPathA(NULL, bundle_file, NULL, MAX_PATH+2, retval, &ptr);
+    if (buflen > 0) {
+      GetStr(&config->cacert, retval);
+    }
+    free(retval);
+  }
+}
+
+#endif
+
+#define RETRY_SLEEP_DEFAULT 1000  /* ms */
+#define RETRY_SLEEP_MAX     600000 /* ms == 10 minutes */
+
+static bool
+output_expected(const char* url, const char* uploadfile)
+{
+  if(!uploadfile)
+    return TRUE;  /* download */
+  if(checkprefix("http://", url) || checkprefix("https://", url))
+    return TRUE;   /* HTTP(S) upload */
+
+  return FALSE; /* non-HTTP upload, probably no output should be expected */
+}
+
+#define my_setopt(x,y,z) _my_setopt(x, 0, config, #y, y, z)
+#define my_setopt_str(x,y,z) _my_setopt(x, 1, config, #y, y, z)
+
+static struct curl_slist *easycode;
+
+static CURLcode _my_setopt(CURL *curl, bool str, struct Configurable *config,
+                           const char *name, CURLoption tag, ...);
+
+static CURLcode _my_setopt(CURL *curl, bool str, struct Configurable *config,
+                           const char *name, CURLoption tag, ...)
+{
+  va_list arg;
+  CURLcode ret;
+  char *bufp;
+  char value[256];
+  bool remark=FALSE;
+
+  va_start(arg, tag);
+
+  if(tag < CURLOPTTYPE_OBJECTPOINT) {
+    long lval = va_arg(arg, long);
+    snprintf(value, sizeof(value), "%ld", lval);
+    ret = curl_easy_setopt(curl, tag, lval);
+
+  }
+  else if(tag < CURLOPTTYPE_OFF_T) {
+    void *pval = va_arg(arg, void *);
+    unsigned char *ptr = (unsigned char *)pval;
+
+    /* function pointers are never printable */
+    if (tag >= CURLOPTTYPE_FUNCTIONPOINT) {
+      if (pval) {
+        snprintf(value, sizeof(value), "%p", pval);
+        remark = TRUE;
+      }
+      else
+        strcpy(value, "NULL");
+    }
+
+    else if(pval && str)
+      snprintf(value, sizeof(value), "\"%s\"", (char *)ptr);
+    else if(pval) {
+      snprintf(value, sizeof(value), "%p", pval);
+      remark = TRUE;
+    }
+    else {
+      strcpy(value, "NULL"); /* value fits more than 5 bytes */
+    }
+    ret = curl_easy_setopt(curl, tag, pval);
+
+  }
+  else {
+    curl_off_t oval = va_arg(arg, curl_off_t);
+    snprintf(value, sizeof(value), "%" CURL_FORMAT_CURL_OFF_T, oval);
+    ret = curl_easy_setopt(curl, tag, oval);
+  }
+
+  if(config->libcurl) {
+    /* we only use this for real if --libcurl was used */
+
+    bufp = curlx_maprintf("%scurl_easy_setopt(hnd, %s, %s);%s",
+                          remark?"/* ":"", name, value,
+                          remark?" [REMARK] */":"");
+
+    if (!bufp || !curl_slist_append(easycode, bufp))
+      ret = CURLE_OUT_OF_MEMORY;
+    if (bufp)
+      curl_free(bufp);
+  }
+  va_end(arg);
+
+  return ret;
+}
+
+static const char * const srchead[]={
+  "/********* Sample code generated by the curl command line tool **********",
+  " * Lines with [REMARK] below might need to be modified to make this code ",
+  " * usable. Add error code checking where appropriate.",
+  " * Compile this with a suitable header include path. Then link with ",
+  " * libcurl.",
+  " * If you use any *_LARGE options, make sure your compiler figure",
+  " * out the correct size for the curl_off_t variable.",
+  " * Read the details for all curl_easy_setopt() options online on:",
+  " * http://curlm.haxx.se/libcurl/c/curl_easy_setopt.html",
+  " ************************************************************************/",
+  "[m]",
+  "#include <curl/curl.h>",
+  "",
+  "int main(int argc, char *argv[])",
+  "{",
+  "  CURLcode ret;",
+  NULL
+};
+
+static void dumpeasycode(struct Configurable *config)
+{
+  struct curl_slist *ptr = easycode;
+  char *o = config->libcurl;
+
+  if(o) {
+    FILE *out;
+    bool fopened = FALSE;
+    if(strcmp(o, "-")) {
+      out = fopen(o, "wt");
+      fopened = TRUE;
+    }
+    else
+      out= stdout;
+    if(!out)
+      warnf(config, "Failed to open %s to write libcurl code!\n", o);
+    else {
+      int i;
+      const char *c;
+
+      for(i=0; (c = srchead[i]); i++) {
+        if(!memcmp((char *)c, "[m]", 3)) {
+#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS > 32)
+          fprintf(out, "#define _FILE_OFFSET_BITS %d "
+                  "/* for pre libcurl 7.19.0 curl_off_t magic */\n",
+                  _FILE_OFFSET_BITS);
+#endif
+        }
+        else
+          fprintf(out, "%s\n", c);
+      }
+
+      while(ptr) {
+        fprintf(out, "  %s\n", ptr->data);
+        ptr = ptr->next;
+      }
+      fprintf(out,
+              "  return (int)ret;\n"
+              "}\n"
+              "/**** End of sample code ****/\n");
+      if(fopened)
+        fclose(out);
+    }
+  }
+  curl_slist_free_all(easycode);
+}
+
+static bool stdin_upload(const char *uploadfile)
+{
+  return (bool)(curlx_strequal(uploadfile, "-") ||
+                curlx_strequal(uploadfile, "."));
+}
+
+/* Adds the file name to the URL if it doesn't already have one.
+ * url will be freed before return if the returned pointer is different
+ */
+static char *add_file_name_to_url(CURL *curl, char *url, const char *filename)
+{
+  /* If no file name part is given in the URL, we add this file name */
+  char *ptr=strstr(url, "://");
+  if(ptr)
+    ptr+=3;
+  else
+    ptr=url;
+  ptr = strrchr(ptr, '/');
+  if(!ptr || !strlen(++ptr)) {
+    /* The URL has no file name part, add the local file name. In order
+       to be able to do so, we have to create a new URL in another
+       buffer.*/
+
+    /* We only want the part of the local path that is on the right
+       side of the rightmost slash and backslash. */
+    const char *filep = strrchr(filename, '/');
+    char *file2 = strrchr(filep?filep:filename, '\\');
+    char *encfile;
+
+    if(file2)
+      filep = file2+1;
+    else if(filep)
+      filep++;
+    else
+      filep = filename;
+
+    /* URL encode the file name */
+    encfile = curl_easy_escape(curl, filep, 0 /* use strlen */);
+    if(encfile) {
+      char *urlbuffer = malloc(strlen(url) + strlen(encfile) + 3);
+      if(!urlbuffer) {
+        free(url);
+        return NULL;
+      }
+      if(ptr)
+        /* there is a trailing slash on the URL */
+        sprintf(urlbuffer, "%s%s", url, encfile);
+      else
+        /* there is no trailing slash on the URL */
+        sprintf(urlbuffer, "%s/%s", url, encfile);
+
+      curl_free(encfile);
+
+      free(url);
+      url = urlbuffer; /* use our new URL instead! */
+    }
+  }
+  return url;
+}
+
+/* Extracts the name portion of the URL.
+ * Returns a heap-allocated string, or NULL if no name part
+ */
+static char *get_url_file_name(const char *url)
+{
+  char *fn = NULL;
+
+  /* Find and get the remote file name */
+  const char * pc =strstr(url, "://");
+  if(pc)
+    pc+=3;
+  else
+    pc=url;
+  pc = strrchr(pc, '/');
+
+  if(pc) {
+    /* duplicate the string beyond the slash */
+    pc++;
+    fn = *pc ? strdup(pc): NULL;
+  }
+  return fn;
+}
+
+static char*
+parse_filename(char *ptr, size_t len)
+{
+  char* copy;
+  char* p;
+  char* q;
+  char quote = 0;
+
+  /* simple implementation of strndup() */
+  copy = malloc(len+1);
+  if (!copy)
+    return NULL;
+  strncpy(copy, ptr, len);
+  copy[len] = 0;
+
+  p = copy;
+  if (*p == '\'' || *p == '"') {
+    /* store the starting quote */
+    quote = *p;
+    p++;
+  }
+
+  /* if the filename contains a path, only use filename portion */
+  q = strrchr(copy, '/');
+  if (q) {
+    p=q+1;
+    if (!*p) {
+      free(copy);
+      return NULL;
+    }
+  }
+
+  q = strrchr(p, quote);
+  if (q)
+    *q = 0;
+
+  if (copy!=p)
+    memmove(copy, p, strlen(p)+1);
+
+  return copy;
+}
+
+static size_t
+header_callback(void *ptr, size_t size, size_t nmemb, void *stream)
+{
+  struct OutStruct* outs = (struct OutStruct*)stream;
+  const char* str = (char*)ptr;
+  const size_t cb = size*nmemb;
+  const char* end = (char*)ptr + cb;
+
+  if (cb > 20 && curlx_strnequal(str, "Content-disposition:", 20)) {
+    char *p = (char*)str + 20;
+
+    /* look for the 'filename=' parameter
+       (encoded filenames (*=) are not supported) */
+    for(;;) {
+      char *filename;
+
+      while (*p && (p < end) && !ISALPHA(*p))
+        p++;
+      if (p > end-9)
+        break;
+
+      if (memcmp(p, "filename=", 9)) {
+        /* no match, find next parameter */
+        while ((p < end) && (*p != ';'))
+          p++;
+        continue;
+      }
+      p+=9;
+      filename = parse_filename(p, cb - (p - str));
+      if (filename) {
+        outs->filename = filename;
+        break;
+      }
+    }
+  }
+
+  return cb;
+}
+
+static int
+operate(struct Configurable *config, int argc, argv_item_t argv[])
+{
+  char errorbuffer[CURL_ERROR_SIZE];
+  char useragent[256]; /* buah, we don't want a larger default user agent */
+  struct ProgressData progressbar;
+  struct getout *urlnode;
+  struct getout *nextnode;
+
+  struct OutStruct outs;
+  struct OutStruct heads;
+  struct InStruct input;
+
+  URLGlob *urls=NULL;
+  URLGlob *inglob=NULL;
+  int urlnum;
+  int infilenum;
+  char *uploadfile=NULL; /* a single file, never a glob */
+
+  curl_off_t uploadfilesize; /* -1 means unknown */
+  bool stillflags=TRUE;
+
+  bool allocuseragent=FALSE;
+
+  char *httpgetfields=NULL;
+
+  CURL *curl;
+  int res = 0;
+  int i;
+  long retry_sleep_default;
+  long retry_sleep;
+
+  char *env;
+
+  memset(&heads, 0, sizeof(struct OutStruct));
+
+#ifdef CURLDEBUG
+  /* this sends all memory debug messages to a logfile named memdump */
+  env = curlx_getenv("CURL_MEMDEBUG");
+  if(env) {
+    /* use the value as file name */
+    char *s = strdup(env);
+    curl_free(env);
+    curl_memdebug(s);
+    free(s);
+    /* this weird strdup() and stuff here is to make the curl_free() get
+       called before the memdebug() as otherwise the memdebug tracing will
+       with tracing a free() without an alloc! */
+  }
+  env = curlx_getenv("CURL_MEMLIMIT");
+  if(env) {
+    curl_memlimit(atoi(env));
+    curl_free(env);
+  }
+#endif
+
+  /* Initialize curl library - do not call any libcurl functions before.
+     Note that the CURLDEBUG magic above is an exception, but then that's not
+     part of the official public API.
+   */
+  if (main_init() != CURLE_OK) {
+    helpf(config->errors, "error initializing curl library\n");
+    return CURLE_FAILED_INIT;
+  }
+
+  /*
+   * Get a curl handle to use for all forthcoming curl transfers.  Cleanup
+   * when all transfers are done.
+   */
+  curl = curl_easy_init();
+  if(!curl) {
+    clean_getout(config);
+    return CURLE_FAILED_INIT;
+  }
+  config->easy = curl;
+
+  memset(&outs,0,sizeof(outs));
+
+  config->outs = &outs;
+
+  /* we get libcurl info right away */
+  curlinfo = curl_version_info(CURLVERSION_NOW);
+
+  errorbuffer[0]=0; /* prevent junk from being output */
+
+  /* setup proper locale from environment */
+#ifdef HAVE_SETLOCALE
+  setlocale(LC_ALL, "");
+#endif
+
+  /* inits */
+  config->postfieldsize = -1;
+  config->showerror=TRUE;
+  config->use_httpget=FALSE;
+  config->create_dirs=FALSE;
+  config->maxredirs = DEFAULT_MAXREDIRS;
+
+  if(argc>1 &&
+     (!curlx_strnequal("--", argv[1], 2) && (argv[1][0] == '-')) &&
+     strchr(argv[1], 'q')) {
+    /*
+     * The first flag, that is not a verbose name, but a shortname
+     * and it includes the 'q' flag!
+     */
+    ;
+  }
+  else {
+    parseconfig(NULL, config); /* ignore possible failure */
+  }
+
+  if ((argc < 2)  && !config->url_list) {
+    helpf(config->errors, NULL);
+    return CURLE_FAILED_INIT;
+  }
+
+  /* Parse options */
+  for (i = 1; i < argc; i++) {
+    if(stillflags &&
+       ('-' == argv[i][0])) {
+      char *nextarg;
+      bool passarg;
+      char *origopt=argv[i];
+
+      char *flag = argv[i];
+
+      if(curlx_strequal("--", argv[i]))
+        /* this indicates the end of the flags and thus enables the
+           following (URL) argument to start with -. */
+        stillflags=FALSE;
+      else {
+        nextarg= (i < argc - 1)? argv[i+1]: NULL;
+
+        res = getparameter(flag, nextarg, &passarg, config);
+        if(res) {
+          int retval = CURLE_OK;
+          if(res != PARAM_HELP_REQUESTED) {
+            const char *reason = param2text(res);
+            helpf(config->errors, "option %s: %s\n", origopt, reason);
+            retval = CURLE_FAILED_INIT;
+          }
+          clean_getout(config);
+          return retval;
+        }
+
+        if(passarg) /* we're supposed to skip this */
+          i++;
+      }
+    }
+    else {
+      bool used;
+      /* just add the URL please */
+      res = getparameter((char *)"--url", argv[i], &used, config);
+      if(res)
+        return res;
+    }
+  }
+
+  retry_sleep_default = config->retry_delay?
+    config->retry_delay*1000:RETRY_SLEEP_DEFAULT; /* ms */
+  retry_sleep = retry_sleep_default;
+
+  if((!config->url_list || !config->url_list->url) && !config->list_engines) {
+    clean_getout(config);
+    helpf(config->errors, "no URL specified!\n");
+    return CURLE_FAILED_INIT;
+  }
+  if(NULL == config->useragent) {
+    /* set non-zero default values: */
+    snprintf(useragent, sizeof(useragent),
+             CURL_NAME "/" CURL_VERSION " (" OS ") " "%s", curl_version());
+    config->useragent= useragent;
+  }
+  else
+    allocuseragent = TRUE;
+
+  /* On WIN32 we can't set the path to curl-ca-bundle.crt
+   * at compile time. So we look here for the file in two ways:
+   * 1: look at the environment variable CURL_CA_BUNDLE for a path
+   * 2: if #1 isn't found, use the windows API function SearchPath()
+   *    to find it along the app's path (includes app's dir and CWD)
+   *
+   * We support the environment variable thing for non-Windows platforms
+   * too. Just for the sake of it.
+   */
+  if (!config->cacert &&
+      !config->capath &&
+      !config->insecure_ok) {
+    env = curlx_getenv("CURL_CA_BUNDLE");
+    if(env)
+      GetStr(&config->cacert, env);
+    else {
+      env = curlx_getenv("SSL_CERT_DIR");
+      if(env)
+        GetStr(&config->capath, env);
+      else {
+        env = curlx_getenv("SSL_CERT_FILE");
+        if(env)
+          GetStr(&config->cacert, env);
+      }
+    }
+
+    if(env)
+      curl_free(env);
+#ifdef WIN32
+    else
+      FindWin32CACert(config, "curl-ca-bundle.crt");
+#endif
+  }
+
+  if (config->postfields) {
+    if (config->use_httpget) {
+      /* Use the postfields data for a http get */
+      httpgetfields = strdup(config->postfields);
+      free(config->postfields);
+      config->postfields = NULL;
+      if(SetHTTPrequest(config,
+                        (config->no_body?HTTPREQ_HEAD:HTTPREQ_GET),
+                        &config->httpreq)) {
+        free(httpgetfields);
+        return PARAM_BAD_USE;
+      }
+    }
+    else {
+      if(SetHTTPrequest(config, HTTPREQ_SIMPLEPOST, &config->httpreq))
+        return PARAM_BAD_USE;
+    }
+  }
+
+  /* This is the first entry added to easycode and it initializes the slist */
+  easycode = curl_slist_append(easycode, "CURL *hnd = curl_easy_init();");
+  if(!easycode) {
+    clean_getout(config);
+    res = CURLE_OUT_OF_MEMORY;
+    goto quit_curl;
+  }
+
+  if (config->list_engines) {
+    struct curl_slist *engines = NULL;
+
+    curl_easy_getinfo(curl, CURLINFO_SSL_ENGINES, &engines);
+    list_engines(engines);
+    curl_slist_free_all(engines);
+    res = CURLE_OK;
+    goto quit_curl;
+  }
+
+  /* After this point, we should call curl_easy_cleanup() if we decide to bail
+   * out from this function! */
+
+  urlnode = config->url_list;
+
+  if(config->headerfile) {
+    /* open file for output: */
+    if(strcmp(config->headerfile,"-")) {
+      heads.filename = config->headerfile;
+    }
+    else
+      heads.stream=stdout;
+    heads.config = config;
+  }
+
+  /* loop through the list of given URLs */
+  while(urlnode) {
+    int up; /* upload file counter within a single upload glob */
+    char *dourl;
+    char *url;
+    char *infiles; /* might be a glob pattern */
+    char *outfiles=NULL;
+
+    /* get the full URL (it might be NULL) */
+    dourl=urlnode->url;
+
+    url = dourl;
+
+    if(NULL == url) {
+      /* This node had no URL, skip it and continue to the next */
+      if(urlnode->outfile)
+        free(urlnode->outfile);
+
+      /* move on to the next URL */
+      nextnode=urlnode->next;
+      free(urlnode); /* free the node */
+      urlnode = nextnode;
+      continue; /* next please */
+    }
+
+    /* default output stream is stdout */
+    outs.stream = stdout;
+    outs.config = config;
+    outs.bytes = 0; /* nothing written yet */
+
+    /* save outfile pattern before expansion */
+    if (urlnode->outfile) {
+      outfiles = strdup(urlnode->outfile);
+      if (!outfiles) {
+        clean_getout(config);
+        break;
+      }
+    }
+
+    infiles = urlnode->infile;
+
+    if(!config->globoff && infiles) {
+      /* Unless explicitly shut off */
+      res = glob_url(&inglob, infiles, &infilenum,
+                     config->showerror?config->errors:NULL);
+      if(res != CURLE_OK) {
+        clean_getout(config);
+        if(outfiles)
+          free(outfiles);
+        break;
+      }
+    }
+
+    /* Here's the loop for uploading multiple files within the same
+       single globbed string. If no upload, we enter the loop once anyway. */
+    for(up = 0;
+        (!up && !infiles) ||
+          (uploadfile = inglob?
+           glob_next_url(inglob):
+           (!up?strdup(infiles):NULL));
+        up++) {
+      int separator = 0;
+      long retry_numretries;
+      uploadfilesize=-1;
+
+      if(!config->globoff) {
+        /* Unless explicitly shut off, we expand '{...}' and '[...]'
+           expressions and return total number of URLs in pattern set */
+        res = glob_url(&urls, dourl, &urlnum,
+                       config->showerror?config->errors:NULL);
+        if(res != CURLE_OK) {
+          break;
+        }
+      }
+      else
+        urlnum = 1; /* without globbing, this is a single URL */
+
+      /* if multiple files extracted to stdout, insert separators! */
+      separator= ((!outfiles || curlx_strequal(outfiles, "-")) && urlnum > 1);
+
+      /* Here's looping around each globbed URL */
+      for(i = 0;
+          (url = urls?glob_next_url(urls):(i?NULL:strdup(url)));
+          i++) {
+        /* NOTE: In the condition expression in the for() statement above, the
+           'url' variable is only ever strdup()ed if (i == 0) and thus never
+           when this loops later on. Further down in this function we call
+           free(url) and then the code loops. Static code parsers may thus get
+           tricked into believing that we have a potential access-after-free
+           here.  I can however not spot any such case. */
+
+        int infd = STDIN_FILENO;
+        bool infdopen;
+        char *outfile;
+        struct timeval retrystart;
+        outfile = outfiles?strdup(outfiles):NULL;
+
+        if((urlnode->flags&GETOUT_USEREMOTE) ||
+           (outfile && !curlx_strequal("-", outfile)) ) {
+
+          /*
+           * We have specified a file name to store the result in, or we have
+           * decided we want to use the remote file name.
+           */
+
+          if(!outfile) {
+            /* extract the file name from the URL */
+            outfile = get_url_file_name(url);
+            if((!outfile || !*outfile) && !config->content_disposition) {
+              helpf(config->errors, "Remote file name has no length!\n");
+              res = CURLE_WRITE_ERROR;
+              free(url);
+              break;
+            }
+#if defined(MSDOS) || defined(WIN32)
+            /* For DOS and WIN32, we do some major replacing of
+             bad characters in the file name before using it */
+            outfile = sanitize_dos_name(outfile);
+            if(!outfile) {
+              res = CURLE_OUT_OF_MEMORY;
+              break;
+            }
+#endif /* MSDOS || WIN32 */
+          }
+          else if(urls) {
+            /* fill '#1' ... '#9' terms from URL pattern */
+            char *storefile = outfile;
+            outfile = glob_match_url(storefile, urls);
+            free(storefile);
+            if(!outfile) {
+              /* bad globbing */
+              warnf(config, "bad output glob!\n");
+              free(url);
+              res = CURLE_FAILED_INIT;
+              break;
+            }
+          }
+
+          /* Create the directory hierarchy, if not pre-existant to a multiple
+             file output call */
+
+          if(config->create_dirs &&
+             (-1 == create_dir_hierarchy(outfile, config->errors))) {
+            free(url);
+            res = CURLE_WRITE_ERROR;
+            break;
+          }
+
+          if(config->resume_from_current) {
+            /* We're told to continue from where we are now. Get the
+               size of the file as it is now and open it for append instead */
+
+            struct_stat fileinfo;
+
+            /* VMS -- Danger, the filesize is only valid for stream files */
+            if(0 == stat(outfile, &fileinfo))
+              /* set offset to current file size: */
+              config->resume_from = fileinfo.st_size;
+            else
+              /* let offset be 0 */
+              config->resume_from = 0;
+          }
+
+          outs.filename = outfile;
+
+          if(config->resume_from) {
+            outs.init = config->resume_from;
+            /* open file for output: */
+            outs.stream=(FILE *) fopen(outfile, config->resume_from?"ab":"wb");
+            if (!outs.stream) {
+              helpf(config->errors, "Can't open '%s'!\n", outfile);
+              free(url);
+              res = CURLE_WRITE_ERROR;
+              break;
+            }
+          }
+          else {
+            outs.stream = NULL; /* open when needed */
+          }
+        }
+        infdopen=FALSE;
+        if(uploadfile && !stdin_upload(uploadfile)) {
+          /*
+           * We have specified a file to upload and it isn't "-".
+           */
+          struct_stat fileinfo;
+
+          url = add_file_name_to_url(curl, url, uploadfile);
+          if(!url) {
+            helpf(config->errors, "out of memory\n");
+            res = CURLE_OUT_OF_MEMORY;
+            break;
+          }
+          /* VMS Note:
+           *
+           * Reading binary from files can be a problem...  Only FIXED, VAR
+           * etc WITHOUT implied CC will work Others need a \n appended to a
+           * line
+           *
+           * - Stat gives a size but this is UNRELIABLE in VMS As a f.e. a
+           * fixed file with implied CC needs to have a byte added for every
+           * record processed, this can by derived from Filesize & recordsize
+           * for VARiable record files the records need to be counted!  for
+           * every record add 1 for linefeed and subtract 2 for the record
+           * header for VARIABLE header files only the bare record data needs
+           * to be considered with one appended if implied CC
+           */
+
+          infd= open(uploadfile, O_RDONLY | O_BINARY);
+          if ((infd == -1) || fstat(infd, &fileinfo)) {
+            helpf(config->errors, "Can't open '%s'!\n", uploadfile);
+            if(infd != -1)
+              close(infd);
+
+            /* Free the list of remaining URLs and globbed upload files
+             * to force curl to exit immediately
+             */
+            if(urls) {
+              glob_cleanup(urls);
+              urls = NULL;
+            }
+            if(inglob) {
+              glob_cleanup(inglob);
+              inglob = NULL;
+            }
+
+            res = CURLE_READ_ERROR;
+            goto quit_urls;
+          }
+          infdopen=TRUE;
+          uploadfilesize=fileinfo.st_size;
+
+        }
+        else if(uploadfile && stdin_upload(uploadfile)) {
+          SET_BINMODE(stdin);
+          infd = STDIN_FILENO;
+          if (curlx_strequal(uploadfile, ".")) {
+            if (curlx_nonblock((curl_socket_t)infd, TRUE) < 0)
+              warnf(config,
+                    "fcntl failed on fd=%d: %s\n", infd, strerror(errno));
+          }
+        }
+
+        if(uploadfile && config->resume_from_current)
+          config->resume_from = -1; /* -1 will then force get-it-yourself */
+
+        if(output_expected(url, uploadfile)
+           && outs.stream && isatty(fileno(outs.stream)))
+          /* we send the output to a tty, therefore we switch off the progress
+             meter */
+          config->noprogress = config->isatty = TRUE;
+
+        if (urlnum > 1 && !(config->mute)) {
+          fprintf(config->errors, "\n[%d/%d]: %s --> %s\n",
+                  i+1, urlnum, url, outfile ? outfile : "<stdout>");
+          if (separator)
+            printf("%s%s\n", CURLseparator, url);
+        }
+        if (httpgetfields) {
+          char *urlbuffer;
+          /* Find out whether the url contains a file name */
+          const char *pc =strstr(url, "://");
+          char sep='?';
+          if(pc)
+            pc+=3;
+          else
+            pc=url;
+
+          pc = strrchr(pc, '/'); /* check for a slash */
+
+          if(pc) {
+            /* there is a slash present in the URL */
+
+            if(strchr(pc, '?'))
+              /* Ouch, there's already a question mark in the URL string, we
+                 then append the data with an ampersand separator instead! */
+              sep='&';
+          }
+          /*
+           * Then append ? followed by the get fields to the url.
+           */
+          urlbuffer = malloc(strlen(url) + strlen(httpgetfields) + 3);
+          if(!urlbuffer) {
+            helpf(config->errors, "out of memory\n");
+
+            /* Free the list of remaining URLs and globbed upload files
+             * to force curl to exit immediately
+             */
+            if(urls) {
+              glob_cleanup(urls);
+              urls = NULL;
+            }
+            if(inglob) {
+              glob_cleanup(inglob);
+              inglob = NULL;
+            }
+
+            res = CURLE_OUT_OF_MEMORY;
+            goto quit_urls;
+          }
+          if (pc)
+            sprintf(urlbuffer, "%s%c%s", url, sep, httpgetfields);
+          else
+            /* Append  / before the ? to create a well-formed url
+               if the url contains a hostname only
+            */
+            sprintf(urlbuffer, "%s/?%s", url, httpgetfields);
+
+          free(url); /* free previous URL */
+          url = urlbuffer; /* use our new URL instead! */
+        }
+
+        if(!config->errors)
+          config->errors = stderr;
+
+        if((!outfile || !strcmp(outfile, "-")) && !config->use_ascii) {
+          /* We get the output to stdout and we have not got the ASCII/text
+             flag, then set stdout to be binary */
+          SET_BINMODE(stdout);
+        }
+
+        if(1 == config->tcp_nodelay)
+          my_setopt(curl, CURLOPT_TCP_NODELAY, 1);
+
+        /* where to store */
+        my_setopt(curl, CURLOPT_WRITEDATA, &outs);
+        /* what call to write */
+        my_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite);
+
+        /* for uploads */
+        input.fd = infd;
+        input.config = config;
+        my_setopt(curl, CURLOPT_READDATA, &input);
+        /* what call to read */
+        my_setopt(curl, CURLOPT_READFUNCTION, my_fread);
+
+        /* in 7.18.0, the CURLOPT_SEEKFUNCTION/DATA pair is taking over what
+           CURLOPT_IOCTLFUNCTION/DATA pair previously provided for seeking */
+        my_setopt(curl, CURLOPT_SEEKDATA, &input);
+        my_setopt(curl, CURLOPT_SEEKFUNCTION, my_seek);
+
+        if(config->recvpersecond)
+          /* tell libcurl to use a smaller sized buffer as it allows us to
+             make better sleeps! 7.9.9 stuff! */
+          my_setopt(curl, CURLOPT_BUFFERSIZE, config->recvpersecond);
+
+        /* size of uploaded file: */
+        my_setopt(curl, CURLOPT_INFILESIZE_LARGE, uploadfilesize);
+        my_setopt_str(curl, CURLOPT_URL, url);     /* what to fetch */
+        my_setopt_str(curl, CURLOPT_PROXY, config->proxy); /* proxy to use */
+        if(config->proxy)
+          my_setopt(curl, CURLOPT_PROXYTYPE, config->proxyver);
+        my_setopt(curl, CURLOPT_NOPROGRESS, config->noprogress);
+        if(config->no_body) {
+          my_setopt(curl, CURLOPT_NOBODY, 1);
+          my_setopt(curl, CURLOPT_HEADER, 1);
+        }
+        else
+          my_setopt(curl, CURLOPT_HEADER, config->include_headers);
+
+        my_setopt(curl, CURLOPT_FAILONERROR, config->failonerror);
+        my_setopt(curl, CURLOPT_UPLOAD, uploadfile?TRUE:FALSE);
+        my_setopt(curl, CURLOPT_DIRLISTONLY, config->dirlistonly);
+        my_setopt(curl, CURLOPT_APPEND, config->ftp_append);
+
+        if (config->netrc_opt)
+          my_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL);
+        else if (config->netrc)
+          my_setopt(curl, CURLOPT_NETRC, CURL_NETRC_REQUIRED);
+        else
+          my_setopt(curl, CURLOPT_NETRC, CURL_NETRC_IGNORED);
+
+        my_setopt(curl, CURLOPT_FOLLOWLOCATION, config->followlocation);
+        my_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, config->unrestricted_auth);
+        my_setopt(curl, CURLOPT_TRANSFERTEXT, config->use_ascii);
+        my_setopt_str(curl, CURLOPT_USERPWD, config->userpwd);
+        my_setopt_str(curl, CURLOPT_PROXYUSERPWD, config->proxyuserpwd);
+        my_setopt(curl, CURLOPT_NOPROXY, config->noproxy);
+        my_setopt_str(curl, CURLOPT_RANGE, config->range);
+        my_setopt(curl, CURLOPT_ERRORBUFFER, errorbuffer);
+        my_setopt(curl, CURLOPT_TIMEOUT, config->timeout);
+
+        switch(config->httpreq) {
+        case HTTPREQ_SIMPLEPOST:
+          my_setopt_str(curl, CURLOPT_POSTFIELDS, config->postfields);
+          my_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, config->postfieldsize);
+          break;
+        case HTTPREQ_POST:
+          my_setopt(curl, CURLOPT_HTTPPOST, config->httppost);
+          break;
+        default:
+          break;
+        }
+        my_setopt_str(curl, CURLOPT_REFERER, config->referer);
+        my_setopt(curl, CURLOPT_AUTOREFERER, config->autoreferer);
+        my_setopt_str(curl, CURLOPT_USERAGENT, config->useragent);
+        my_setopt_str(curl, CURLOPT_FTPPORT, config->ftpport);
+        my_setopt(curl, CURLOPT_LOW_SPEED_LIMIT,
+                  config->low_speed_limit);
+        my_setopt(curl, CURLOPT_LOW_SPEED_TIME, config->low_speed_time);
+        my_setopt(curl, CURLOPT_MAX_SEND_SPEED_LARGE,
+                  config->sendpersecond);
+        my_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE,
+                  config->recvpersecond);
+        my_setopt(curl, CURLOPT_RESUME_FROM_LARGE,
+                  config->use_resume?config->resume_from:0);
+        my_setopt_str(curl, CURLOPT_COOKIE, config->cookie);
+        my_setopt(curl, CURLOPT_HTTPHEADER, config->headers);
+        my_setopt(curl, CURLOPT_SSLCERT, config->cert);
+        my_setopt_str(curl, CURLOPT_SSLCERTTYPE, config->cert_type);
+        my_setopt(curl, CURLOPT_SSLKEY, config->key);
+        my_setopt_str(curl, CURLOPT_SSLKEYTYPE, config->key_type);
+        my_setopt_str(curl, CURLOPT_KEYPASSWD, config->key_passwd);
+
+        /* SSH private key uses the same command-line option as SSL private
+           key */
+        my_setopt_str(curl, CURLOPT_SSH_PRIVATE_KEYFILE, config->key);
+        my_setopt_str(curl, CURLOPT_SSH_PUBLIC_KEYFILE, config->pubkey);
+
+        /* SSH host key md5 checking allows us to fail if we are
+         * not talking to who we think we should
+         */
+        my_setopt_str(curl, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5,
+                      config->hostpubmd5);
+
+        /* default to strict verifyhost */
+        my_setopt(curl, CURLOPT_SSL_VERIFYHOST, 2);
+        if(config->cacert || config->capath) {
+          if (config->cacert)
+            my_setopt_str(curl, CURLOPT_CAINFO, config->cacert);
+
+          if (config->capath)
+            my_setopt_str(curl, CURLOPT_CAPATH, config->capath);
+          my_setopt(curl, CURLOPT_SSL_VERIFYPEER, TRUE);
+        }
+        if (config->crlfile)
+          my_setopt_str(curl, CURLOPT_CRLFILE, config->crlfile);
+        if(config->insecure_ok) {
+          /* new stuff needed for libcurl 7.10 */
+          my_setopt(curl, CURLOPT_SSL_VERIFYPEER, FALSE);
+          my_setopt(curl, CURLOPT_SSL_VERIFYHOST, 1);
+        }
+        else {
+          char *home = homedir();
+          char *file = aprintf("%s/%sssh/known_hosts", home, DOT_CHAR);
+          if(home)
+            free(home);
+
+          if(file) {
+            my_setopt_str(curl, CURLOPT_SSH_KNOWNHOSTS, file);
+            curl_free(file);
+          }
+          else {
+            /* Free the list of remaining URLs and globbed upload files
+             * to force curl to exit immediately
+             */
+            if(urls) {
+              glob_cleanup(urls);
+              urls = NULL;
+            }
+            if(inglob) {
+              glob_cleanup(inglob);
+              inglob = NULL;
+            }
+
+            res = CURLE_OUT_OF_MEMORY;
+            goto quit_urls;
+          }
+        }
+
+        if(config->no_body || config->remote_time) {
+          /* no body or use remote time */
+          my_setopt(curl, CURLOPT_FILETIME, TRUE);
+        }
+
+        my_setopt(curl, CURLOPT_MAXREDIRS, config->maxredirs);
+        my_setopt(curl, CURLOPT_CRLF, config->crlf);
+        my_setopt(curl, CURLOPT_QUOTE, config->quote);
+        my_setopt(curl, CURLOPT_POSTQUOTE, config->postquote);
+        my_setopt(curl, CURLOPT_PREQUOTE, config->prequote);
+        my_setopt(curl, CURLOPT_HEADERDATA,
+                  config->headerfile?&heads:NULL);
+        my_setopt_str(curl, CURLOPT_COOKIEFILE, config->cookiefile);
+        /* cookie jar was added in 7.9 */
+        if(config->cookiejar)
+          my_setopt_str(curl, CURLOPT_COOKIEJAR, config->cookiejar);
+        /* cookie session added in 7.9.7 */
+        my_setopt(curl, CURLOPT_COOKIESESSION, config->cookiesession);
+
+        my_setopt(curl, CURLOPT_SSLVERSION, config->ssl_version);
+        my_setopt(curl, CURLOPT_TIMECONDITION, config->timecond);
+        my_setopt(curl, CURLOPT_TIMEVALUE, config->condtime);
+        my_setopt_str(curl, CURLOPT_CUSTOMREQUEST, config->customrequest);
+        my_setopt(curl, CURLOPT_STDERR, config->errors);
+
+        /* three new ones in libcurl 7.3: */
+        my_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, config->proxytunnel);
+        my_setopt_str(curl, CURLOPT_INTERFACE, config->iface);
+        my_setopt_str(curl, CURLOPT_KRBLEVEL, config->krblevel);
+
+        progressbarinit(&progressbar, config);
+        if((config->progressmode == CURL_PROGRESS_BAR) &&
+           !config->noprogress && !config->mute) {
+          /* we want the alternative style, then we have to implement it
+             ourselves! */
+          my_setopt(curl, CURLOPT_PROGRESSFUNCTION, myprogress);
+          my_setopt(curl, CURLOPT_PROGRESSDATA, &progressbar);
+        }
+
+        /* new in libcurl 7.6.2: */
+        my_setopt(curl, CURLOPT_TELNETOPTIONS, config->telnet_options);
+
+        /* new in libcurl 7.7: */
+        my_setopt_str(curl, CURLOPT_RANDOM_FILE, config->random_file);
+        my_setopt(curl, CURLOPT_EGDSOCKET, config->egd_file);
+        my_setopt(curl, CURLOPT_CONNECTTIMEOUT, config->connecttimeout);
+
+        if(config->cipher_list)
+          my_setopt_str(curl, CURLOPT_SSL_CIPHER_LIST, config->cipher_list);
+
+        if(config->httpversion)
+          my_setopt(curl, CURLOPT_HTTP_VERSION, config->httpversion);
+
+        /* new in libcurl 7.9.2: */
+        if(config->disable_epsv)
+          /* disable it */
+          my_setopt(curl, CURLOPT_FTP_USE_EPSV, FALSE);
+
+        /* new in libcurl 7.10.5 */
+        if(config->disable_eprt)
+          /* disable it */
+          my_setopt(curl, CURLOPT_FTP_USE_EPRT, FALSE);
+
+        /* new in libcurl 7.10.6 (default is Basic) */
+        if(config->authtype)
+          my_setopt(curl, CURLOPT_HTTPAUTH, config->authtype);
+
+        if(config->tracetype != TRACE_NONE) {
+          my_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace);
+          my_setopt(curl, CURLOPT_DEBUGDATA, config);
+          my_setopt(curl, CURLOPT_VERBOSE, TRUE);
+        }
+
+        res = CURLE_OK;
+
+        /* new in curl ?? */
+        if (config->engine) {
+          res = my_setopt_str(curl, CURLOPT_SSLENGINE, config->engine);
+          my_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 1);
+        }
+
+        if (res != CURLE_OK)
+           goto show_error;
+
+        /* new in curl 7.10 */
+        my_setopt_str(curl, CURLOPT_ENCODING,
+                  (config->encoding) ? "" : NULL);
+
+        /* new in curl 7.10.7, extended in 7.19.4 but this only sets 0 or 1 */
+        my_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS,
+                  config->ftp_create_dirs);
+        if(config->proxyanyauth)
+          my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_ANY);
+        else if(config->proxynegotiate)
+          my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_GSSNEGOTIATE);
+        else if(config->proxyntlm)
+          my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
+        else if(config->proxydigest)
+          my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_DIGEST);
+        else if(config->proxybasic)
+          my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
+
+        /* new in curl 7.10.8 */
+        if(config->max_filesize)
+          my_setopt(curl, CURLOPT_MAXFILESIZE_LARGE,
+                           config->max_filesize);
+
+        if(4 == config->ip_version)
+          my_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
+        else if(6 == config->ip_version)
+          my_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
+        else
+          my_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_WHATEVER);
+
+        /* new in curl 7.15.5 */
+        if(config->ftp_ssl_reqd)
+          my_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_ALL);
+
+        /* new in curl 7.11.0 */
+        else if(config->ftp_ssl)
+          my_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_TRY);
+
+        /* new in curl 7.16.0 */
+        else if(config->ftp_ssl_control)
+          my_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_CONTROL);
+
+        /* new in curl 7.16.1 */
+        if(config->ftp_ssl_ccc)
+            my_setopt(curl, CURLOPT_FTP_SSL_CCC, config->ftp_ssl_ccc_mode);
+
+        /* new in curl 7.11.1, modified in 7.15.2 */
+        if(config->socksproxy) {
+          my_setopt_str(curl, CURLOPT_PROXY, config->socksproxy);
+          my_setopt(curl, CURLOPT_PROXYTYPE, config->socksver);
+        }
+
+#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
+        /* new in curl 7.19.4 */
+        if(config->socks5_gssapi_service)
+          my_setopt_str(curl, CURLOPT_SOCKS5_GSSAPI_SERVICE,
+                    config->socks5_gssapi_service);
+
+        /* new in curl 7.19.4 */
+        if(config->socks5_gssapi_nec)
+          my_setopt_str(curl, CURLOPT_SOCKS5_GSSAPI_NEC,
+                        config->socks5_gssapi_nec);
+#endif
+        /* curl 7.13.0 */
+        my_setopt_str(curl, CURLOPT_FTP_ACCOUNT, config->ftp_account);
+
+        my_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, config->ignorecl);
+
+        /* curl 7.14.2 */
+        my_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, config->ftp_skip_ip);
+
+        /* curl 7.15.1 */
+        my_setopt(curl, CURLOPT_FTP_FILEMETHOD, config->ftp_filemethod);
+
+        /* curl 7.15.2 */
+        if(config->localport) {
+          my_setopt(curl, CURLOPT_LOCALPORT, config->localport);
+          my_setopt_str(curl, CURLOPT_LOCALPORTRANGE,
+                    config->localportrange);
+        }
+
+        /* curl 7.15.5 */
+        my_setopt_str(curl, CURLOPT_FTP_ALTERNATIVE_TO_USER,
+                  config->ftp_alternative_to_user);
+
+        /* curl 7.16.0 */
+        my_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE,
+                  !config->disable_sessionid);
+
+        /* curl 7.16.2 */
+        if(config->raw) {
+          my_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, FALSE);
+          my_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, FALSE);
+        }
+
+        /* curl 7.17.1 */
+        if (!config->nokeepalive) {
+          my_setopt(curl, CURLOPT_SOCKOPTFUNCTION, sockoptcallback);
+          my_setopt(curl, CURLOPT_SOCKOPTDATA, config);
+        }
+
+        /* curl 7.19.1 (the 301 version existed in 7.18.2) */
+        my_setopt(curl, CURLOPT_POSTREDIR, config->post301 |
+                  (config->post302 ? CURL_REDIR_POST_302 : FALSE));
+
+        /* curl 7.20.0 */
+        if(config->tftp_blksize)
+          my_setopt(curl, CURLOPT_TFTP_BLKSIZE, config->tftp_blksize);
+
+        if(config->mail_from)
+          my_setopt_str(curl, CURLOPT_MAIL_FROM, config->mail_from);
+
+        if(config->mail_rcpt)
+          my_setopt(curl, CURLOPT_MAIL_RCPT, config->mail_rcpt);
+
+        /* curl 7.20.x */
+        if(config->ftp_pret)
+          my_setopt(curl, CURLOPT_FTP_USE_PRET, TRUE);
+
+        if ((urlnode->flags & GETOUT_USEREMOTE)
+            && config->content_disposition) {
+          my_setopt(curl, CURLOPT_HEADERFUNCTION, header_callback);
+          my_setopt(curl, CURLOPT_HEADERDATA, &outs);
+        }
+
+        retry_numretries = config->req_retry;
+
+        retrystart = cutil_tvnow();
+
+        for(;;) {
+          res = curl_easy_perform(curl);
+          if (!curl_slist_append(easycode, "ret = curl_easy_perform(hnd);")) {
+            res = CURLE_OUT_OF_MEMORY;
+            break;
+          }
+
+          if (config->content_disposition && outs.stream && !config->mute)
+            printf("curl: Saved to filename '%s'\n", outs.filename);
+
+          /* if retry-max-time is non-zero, make sure we haven't exceeded the
+             time */
+          if(retry_numretries &&
+             (!config->retry_maxtime ||
+              (cutil_tvdiff(cutil_tvnow(), retrystart)<
+               config->retry_maxtime*1000)) ) {
+            enum {
+              RETRY_NO,
+              RETRY_TIMEOUT,
+              RETRY_HTTP,
+              RETRY_FTP,
+              RETRY_LAST /* not used */
+            } retry = RETRY_NO;
+            long response;
+            if(CURLE_OPERATION_TIMEDOUT == res)
+              /* retry timeout always */
+              retry = RETRY_TIMEOUT;
+            else if(CURLE_OK == res) {
+              /* Check for HTTP transient errors */
+              char *this_url=NULL;
+              curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &this_url);
+              if(this_url &&
+                 curlx_strnequal(this_url, "http", 4)) {
+                /* This was HTTP(S) */
+                curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
+
+                switch(response) {
+                case 500: /* Internal Server Error */
+                case 502: /* Bad Gateway */
+                case 503: /* Service Unavailable */
+                case 504: /* Gateway Timeout */
+                  retry = RETRY_HTTP;
+                  /*
+                   * At this point, we have already written data to the output
+                   * file (or terminal). If we write to a file, we must rewind
+                   * or close/re-open the file so that the next attempt starts
+                   * over from the beginning.
+                   *
+                   * TODO: similar action for the upload case. We might need
+                   * to start over reading from a previous point if we have
+                   * uploaded something when this was returned.
+                   */
+                  break;
+                }
+              }
+            } /* if CURLE_OK */
+            else if(res) {
+              curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
+
+              if(response/100 == 4)
+                /*
+                 * This is typically when the FTP server only allows a certain
+                 * amount of users and we are not one of them.  All 4xx codes
+                 * are transient.
+                 */
+                retry = RETRY_FTP;
+            }
+
+            if(retry) {
+              static const char * const m[]={
+                NULL, "timeout", "HTTP error", "FTP error"
+              };
+              warnf(config, "Transient problem: %s "
+                    "Will retry in %ld seconds. "
+                    "%ld retries left.\n",
+                    m[retry], retry_sleep/1000, retry_numretries);
+
+              go_sleep(retry_sleep);
+              retry_numretries--;
+              if(!config->retry_delay) {
+                retry_sleep *= 2;
+                if(retry_sleep > RETRY_SLEEP_MAX)
+                  retry_sleep = RETRY_SLEEP_MAX;
+              }
+              if(outs.bytes && outs.filename) {
+                /* We have written data to a output file, we truncate file
+                 */
+                if(!config->mute)
+                  fprintf(config->errors, "Throwing away %"
+                          CURL_FORMAT_CURL_OFF_T " bytes\n",
+                          outs.bytes);
+                fflush(outs.stream);
+                /* truncate file at the position where we started appending */
+#ifdef HAVE_FTRUNCATE
+                if(ftruncate( fileno(outs.stream), outs.init)) {
+                  /* when truncate fails, we can't just append as then we'll
+                     create something strange, bail out */
+                  if(!config->mute)
+                    fprintf(config->errors,
+                            "failed to truncate, exiting\n");
+                  break;
+                }
+                /* now seek to the end of the file, the position where we
+                   just truncated the file in a large file-safe way */
+                fseek(outs.stream, 0, SEEK_END);
+#else
+                /* ftruncate is not available, so just reposition the file
+                   to the location we would have truncated it. This won't
+                   work properly with large files on 32-bit systems, but
+                   most of those will have ftruncate. */
+                fseek(outs.stream, (long)outs.init, SEEK_SET);
+#endif
+                outs.bytes = 0; /* clear for next round */
+              }
+              continue;
+            }
+          } /* if retry_numretries */
+
+          /* In all ordinary cases, just break out of loop here */
+          retry_sleep = retry_sleep_default;
+          break;
+
+        }
+
+        if((config->progressmode == CURL_PROGRESS_BAR) &&
+           progressbar.calls)
+          /* if the custom progress bar has been displayed, we output a
+             newline here */
+          fputs("\n", progressbar.out);
+
+        if(config->writeout)
+          ourWriteOut(curl, config->writeout);
+#ifdef USE_ENVIRONMENT
+        if (config->writeenv)
+          ourWriteEnv(curl);
+#endif
+
+show_error:
+
+#ifdef __VMS
+        if(is_vms_shell()) {
+          /* VMS DCL shell behavior */
+          if(!config->showerror) {
+            vms_show = VMSSTS_HIDE;
+          }
+        }
+        else
+#endif
+        {
+          if((res!=CURLE_OK) && config->showerror) {
+            fprintf(config->errors, "curl: (%d) %s\n", res,
+                    errorbuffer[0]? errorbuffer:
+                    curl_easy_strerror((CURLcode)res));
+            if(CURLE_SSL_CACERT == res) {
+#define CURL_CA_CERT_ERRORMSG1 \
+"More details here: http://curl.haxx.se/docs/sslcerts.html\n\n" \
+"curl performs SSL certificate verification by default, using a \"bundle\"\n" \
+" of Certificate Authority (CA) public keys (CA certs). If the default\n" \
+" bundle file isn't adequate, you can specify an alternate file\n" \
+" using the --cacert option.\n"
+
+#define CURL_CA_CERT_ERRORMSG2 \
+"If this HTTPS server uses a certificate signed by a CA represented in\n" \
+" the bundle, the certificate verification probably failed due to a\n" \
+" problem with the certificate (it might be expired, or the name might\n" \
+" not match the domain name in the URL).\n" \
+"If you'd like to turn off curl's verification of the certificate, use\n" \
+" the -k (or --insecure) option.\n"
+
+              fprintf(config->errors, "%s%s",
+                      CURL_CA_CERT_ERRORMSG1,
+                      CURL_CA_CERT_ERRORMSG2 );
+            }
+          }
+        }
+
+        if (outfile && !curlx_strequal(outfile, "-") && outs.stream) {
+          int rc = fclose(outs.stream);
+          if(!res && rc) {
+            /* something went wrong in the writing process */
+            res = CURLE_WRITE_ERROR;
+            fprintf(config->errors, "(%d) Failed writing body\n", res);
+          }
+        }
+
+#ifdef HAVE_UTIME
+        /* Important that we set the time _after_ the file has been
+           closed, as is done above here */
+        if(config->remote_time && outs.filename) {
+          /* ask libcurl if we got a time. Pretty please */
+          long filetime;
+          curl_easy_getinfo(curl, CURLINFO_FILETIME, &filetime);
+          if(filetime >= 0) {
+            struct utimbuf times;
+            times.actime = (time_t)filetime;
+            times.modtime = (time_t)filetime;
+            utime(outs.filename, &times); /* set the time we got */
+          }
+        }
+#endif
+#ifdef __AMIGA__
+        /* Set the url as comment for the file. (up to 80 chars are allowed)
+         */
+        if( strlen(url) > 78 )
+          url[79] = '\0';
+
+        SetComment( outs.filename, url);
+#endif
+
+quit_urls:
+        if(url)
+          free(url);
+
+        if(outfile)
+          free(outfile);
+
+        if(infdopen)
+          close(infd);
+
+      } /* loop to the next URL */
+
+      if(urls) {
+        /* cleanup memory used for URL globbing patterns */
+        glob_cleanup(urls);
+        urls = NULL;
+      }
+
+      if(uploadfile)
+        free(uploadfile);
+
+    } /* loop to the next globbed upload file */
+
+    if(inglob) {
+      glob_cleanup(inglob);
+      inglob = NULL;
+    }
+
+    if(outfiles)
+      free(outfiles);
+
+    /* empty this urlnode struct */
+    if(urlnode->url)
+      free(urlnode->url);
+    if(urlnode->outfile)
+      free(urlnode->outfile);
+    if(urlnode->infile)
+      free(urlnode->infile);
+
+    /* move on to the next URL */
+    nextnode=urlnode->next;
+    free(urlnode); /* free the node */
+    urlnode = nextnode;
+
+  } /* while-loop through all URLs */
+
+quit_curl:
+  if (httpgetfields)
+    free(httpgetfields);
+
+  if (config->engine)
+    free(config->engine);
+
+  /* cleanup the curl handle! */
+  curl_easy_cleanup(curl);
+  config->easy = NULL; /* cleanup now */
+  if (easycode)
+    curl_slist_append(easycode, "curl_easy_cleanup(hnd);");
+
+  if(heads.stream && (heads.stream != stdout))
+    fclose(heads.stream);
+
+  if(allocuseragent)
+    free(config->useragent);
+
+  if(config->trace_fopened && config->trace_stream)
+    fclose(config->trace_stream);
+
+  /* Dump the libcurl code if previously enabled.
+     NOTE: that this function relies on config->errors amongst other things
+     so not everything can be closed and cleaned before this is called */
+  dumpeasycode(config);
+
+  if(config->errors_fopened)
+    fclose(config->errors);
+
+  main_free(); /* cleanup */
+
+  return res;
+}
+
+/* Ensure that file descriptors 0, 1 and 2 (stdin, stdout, stderr) are
+   open before starting to run.  Otherwise, the first three network
+   sockets opened by curl could be used for input sources, downloaded data
+   or error logs as they will effectively be stdin, stdout and/or stderr.
+*/
+static void checkfds(void)
+{
+#ifdef HAVE_PIPE
+  int fd[2] = { STDIN_FILENO, STDIN_FILENO };
+  while( fd[0] == STDIN_FILENO ||
+         fd[0] == STDOUT_FILENO ||
+         fd[0] == STDERR_FILENO ||
+         fd[1] == STDIN_FILENO ||
+         fd[1] == STDOUT_FILENO ||
+         fd[1] == STDERR_FILENO )
+    if (pipe(fd) < 0)
+      return;   /* Out of handles. This isn't really a big problem now, but
+                   will be when we try to create a socket later. */
+  close(fd[0]);
+  close(fd[1]);
+#endif
+}
+
+
+
+int main(int argc, char *argv[])
+{
+  int res;
+  struct Configurable config;
+
+  memset(&config, 0, sizeof(struct Configurable));
+
+  config.errors = stderr; /* default errors to stderr */
+
+  checkfds();
+
+  res = operate(&config, argc, argv);
+#ifdef __SYMBIAN32__
+  if (config.showerror)
+    pressanykey();
+#endif
+  free_config_fields(&config);
+
+#ifdef __NOVELL_LIBC__
+  if (getenv("_IN_NETWARE_BASH_") == NULL)
+    pressanykey();
+#endif
+#ifdef __VMS
+  vms_special_exit(res, vms_show);
+#else
+  return res;
+#endif
+}
+
+/*
+ * Reads a line from the given file, ensuring is NUL terminated.
+ * The pointer must be freed by the caller.
+ * NULL is returned on an out of memory condition.
+ */
+static char *my_get_line(FILE *fp)
+{
+   char buf[4096];
+   char *nl = NULL;
+   char *retval = NULL;
+
+   do {
+     if (NULL == fgets(buf, sizeof(buf), fp))
+       break;
+     if (NULL == retval) {
+       retval = strdup(buf);
+       if(!retval)
+         return NULL;
+     }
+     else {
+       char *ptr;
+       ptr = realloc(retval, strlen(retval) + strlen(buf) + 1);
+       if (NULL == ptr) {
+         free(retval);
+         return NULL;
+       }
+       retval = ptr;
+       strcat(retval, buf);
+     }
+   }
+   while (NULL == (nl = strchr(retval, '\n')));
+
+   if (NULL != nl)
+     *nl = '\0';
+
+   return retval;
+}
+
+static void show_dir_errno(FILE *errors, const char *name)
+{
+  switch (ERRNO) {
+#ifdef EACCES
+  case EACCES:
+    fprintf(errors,"You don't have permission to create %s.\n", name);
+    break;
+#endif
+#ifdef ENAMETOOLONG
+  case ENAMETOOLONG:
+    fprintf(errors,"The directory name %s is too long.\n", name);
+    break;
+#endif
+#ifdef EROFS
+  case EROFS:
+    fprintf(errors,"%s resides on a read-only file system.\n", name);
+    break;
+#endif
+#ifdef ENOSPC
+  case ENOSPC:
+    fprintf(errors,"No space left on the file system that will "
+            "contain the directory %s.\n", name);
+    break;
+#endif
+#ifdef EDQUOT
+  case EDQUOT:
+    fprintf(errors,"Cannot create directory %s because you "
+            "exceeded your quota.\n", name);
+    break;
+#endif
+  default :
+    fprintf(errors,"Error creating directory %s.\n", name);
+    break;
+  }
+}
+
+/* Create the needed directory hierarchy recursively in order to save
+   multi-GETs in file output, ie:
+   curl "http://my.site/dir[1-5]/file[1-5].txt" -o "dir#1/file#2.txt"
+   should create all the dir* automagically
+*/
+static int create_dir_hierarchy(const char *outfile, FILE *errors)
+{
+  char *tempdir;
+  char *tempdir2;
+  char *outdup;
+  char *dirbuildup;
+  int result=0;
+
+  outdup = strdup(outfile);
+  if(!outdup)
+    return -1;
+
+  dirbuildup = malloc(sizeof(char) * strlen(outfile));
+  if(!dirbuildup) {
+    free(outdup);
+    return -1;
+  }
+  dirbuildup[0] = '\0';
+
+  tempdir = strtok(outdup, DIR_CHAR);
+
+  while (tempdir != NULL) {
+    tempdir2 = strtok(NULL, DIR_CHAR);
+    /* since strtok returns a token for the last word even
+       if not ending with DIR_CHAR, we need to prune it */
+    if (tempdir2 != NULL) {
+      size_t dlen = strlen(dirbuildup);
+      if (dlen)
+        sprintf(&dirbuildup[dlen], "%s%s", DIR_CHAR, tempdir);
+      else {
+        if (0 != strncmp(outdup, DIR_CHAR, 1))
+          strcpy(dirbuildup, tempdir);
+        else
+          sprintf(dirbuildup, "%s%s", DIR_CHAR, tempdir);
+      }
+      if (access(dirbuildup, F_OK) == -1) {
+        result = mkdir(dirbuildup,(mode_t)0000750);
+        if (-1 == result) {
+          show_dir_errno(errors, dirbuildup);
+          break; /* get out of loop */
+        }
+      }
+    }
+    tempdir = tempdir2;
+  }
+  free(dirbuildup);
+  free(outdup);
+
+  return result; /* 0 is fine, -1 is badness */
+}
+
+#if defined(MSDOS) || defined(WIN32)
+
+#ifndef HAVE_BASENAME
+/* basename() returns a pointer to the last component of a pathname.
+ * Ripped from lib/formdata.c.
+ */
+static char *Curl_basename(char *path)
+{
+  /* Ignore all the details above for now and make a quick and simple
+     implementaion here */
+  char *s1;
+  char *s2;
+
+  s1=strrchr(path, '/');
+  s2=strrchr(path, '\\');
+
+  if(s1 && s2) {
+    path = (s1 > s2? s1 : s2)+1;
+  }
+  else if(s1)
+    path = s1 + 1;
+  else if(s2)
+    path = s2 + 1;
+
+  return path;
+}
+#define basename(x) Curl_basename((x))
+#endif /* HAVE_BASENAME */
+
+/* The following functions are taken with modification from the DJGPP
+ * port of tar 1.12. They use algorithms originally from DJTAR. */
+
+static const char *
+msdosify (const char *file_name)
+{
+  static char dos_name[PATH_MAX];
+  static const char illegal_chars_dos[] = ".+, ;=[]" /* illegal in DOS */
+                                       "|<>\\\":?*"; /* illegal in DOS & W95 */
+  static const char *illegal_chars_w95 = &illegal_chars_dos[8];
+  int idx, dot_idx;
+  const char *s = file_name;
+  char *d = dos_name;
+  const char * const dlimit = dos_name + sizeof(dos_name) - 1;
+  const char *illegal_aliens = illegal_chars_dos;
+  size_t len = sizeof (illegal_chars_dos) - 1;
+
+  /* Support for Windows 9X VFAT systems, when available. */
+  if (_use_lfn (file_name)) {
+    illegal_aliens = illegal_chars_w95;
+    len -= (illegal_chars_w95 - illegal_chars_dos);
+  }
+
+  /* Get past the drive letter, if any. */
+  if (s[0] >= 'A' && s[0] <= 'z' && s[1] == ':') {
+    *d++ = *s++;
+    *d++ = *s++;
+  }
+
+  for (idx = 0, dot_idx = -1; *s && d < dlimit; s++, d++) {
+    if (memchr (illegal_aliens, *s, len)) {
+      /* Dots are special: DOS doesn't allow them as the leading character,
+         and a file name cannot have more than a single dot.  We leave the
+         first non-leading dot alone, unless it comes too close to the
+         beginning of the name: we want sh.lex.c to become sh_lex.c, not
+         sh.lex-c.  */
+      if (*s == '.') {
+        if (idx == 0 && (s[1] == '/' || (s[1] == '.' && s[2] == '/'))) {
+          /* Copy "./" and "../" verbatim.  */
+          *d++ = *s++;
+          if (*s == '.')
+            *d++ = *s++;
+          *d = *s;
+        }
+        else if (idx == 0)
+          *d = '_';
+        else if (dot_idx >= 0) {
+          if (dot_idx < 5) { /* 5 is a heuristic ad-hoc'ery */
+            d[dot_idx - idx] = '_'; /* replace previous dot */
+            *d = '.';
+          }
+          else
+            *d = '-';
+        }
+        else
+          *d = '.';
+
+        if (*s == '.')
+          dot_idx = idx;
+      }
+      else if (*s == '+' && s[1] == '+') {
+        if (idx - 2 == dot_idx) { /* .c++, .h++ etc. */
+          *d++ = 'x';
+          *d   = 'x';
+        }
+        else {
+          /* libg++ etc.  */
+          memcpy (d, "plus", 4);
+          d += 3;
+        }
+        s++;
+        idx++;
+      }
+      else
+        *d = '_';
+    }
+    else
+      *d = *s;
+    if (*s == '/') {
+      idx = 0;
+      dot_idx = -1;
+    }
+    else
+      idx++;
+  }
+
+  *d = '\0';
+  return dos_name;
+}
+
+static char *
+rename_if_dos_device_name (char *file_name)
+{
+  /* We could have a file whose name is a device on MS-DOS.  Trying to
+   * retrieve such a file would fail at best and wedge us at worst.  We need
+   * to rename such files. */
+  char *base;
+  struct_stat st_buf;
+  char fname[PATH_MAX];
+
+  strncpy(fname, file_name, PATH_MAX-1);
+  fname[PATH_MAX-1] = 0;
+  base = basename(fname);
+  if (((stat(base, &st_buf)) == 0) && (S_ISCHR(st_buf.st_mode))) {
+    size_t blen = strlen (base);
+
+    if (strlen(fname) >= PATH_MAX-1) {
+      /* Make room for the '_' */
+      blen--;
+      base[blen] = 0;
+    }
+    /* Prepend a '_'.  */
+    memmove (base + 1, base, blen + 1);
+    base[0] = '_';
+    strcpy (file_name, fname);
+  }
+  return file_name;
+}
+
+/* Replace bad characters in the file name before using it.
+ * fn will always be freed before return
+ * The returned pointer must be freed by the caller if not NULL
+ */
+static char *sanitize_dos_name(char *fn)
+{
+  char tmpfn[PATH_MAX];
+  fn[PATH_MAX-1]=0; /* ensure fn is not too long by possibly truncating it */
+  strcpy(tmpfn, msdosify(fn));
+  free(fn);
+  return strdup(rename_if_dos_device_name(tmpfn));
+}
+#endif /* MSDOS || WIN32 */
diff --git a/src/os-specific.c b/src/os-specific.c
new file mode 100644
index 0000000..ac07c4c
--- /dev/null
+++ b/src/os-specific.c
@@ -0,0 +1,221 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "setup.h"
+
+#include <curl/curl.h>
+
+#define ENABLE_CURLX_PRINTF
+#include "curlx.h"
+
+#include "os-specific.h"
+
+#if defined(CURLDEBUG) && defined(CURLTOOLDEBUG)
+#  include "memdebug.h"
+#endif
+
+#ifdef __VMS
+
+#include "curlmsg_vms.h"
+
+void decc$__posix_exit(int __status);
+void decc$exit(int __status);
+
+static int vms_shell = -1;
+
+/* VMS has a DCL shell and and also has Unix shells ported to it.
+ * When curl is running under a Unix shell, we want it to be as much
+ * like Unix as possible.
+ */
+int is_vms_shell(void)
+{
+  char *shell;
+
+  /* Have we checked the shell yet? */
+  if(vms_shell >= 0)
+    return vms_shell;
+
+  shell = getenv("SHELL");
+
+  /* No shell, means DCL */
+  if(shell == NULL) {
+    vms_shell = 1;
+    return 1;
+  }
+
+  /* Have to make sure some one did not set shell to DCL */
+  if(strcmp(shell, "DCL") == 0) {
+    vms_shell = 1;
+    return 1;
+  }
+
+  vms_shell = 0;
+  return 0;
+}
+
+/*
+ * VMS has two exit() routines.  When running under a Unix style shell, then
+ * Unix style and the __posix_exit() routine is used.
+ *
+ * When running under the DCL shell, then the VMS encoded codes and decc$exit()
+ * is used.
+ *
+ * We can not use exit() or return a code from main() because the actual
+ * routine called depends on both the compiler version, compile options, and
+ * feature macro settings, and one of the exit routines is hidden at compile
+ * time.
+ *
+ * Since we want Curl to work properly under the VMS DCL shell and Unix
+ * shells under VMS, this routine should compile correctly regardless of
+ * the settings.
+ */
+
+void vms_special_exit(int code, int vms_show)
+{
+  int vms_code;
+
+  /* The Posix exit mode is only available after VMS 7.0 */
+#if __CRTL_VER >= 70000000
+  if(is_vms_shell() == 0) {
+    decc$__posix_exit(code);
+  }
+#endif
+
+  if(code > CURL_LAST) {   /* If CURL_LAST exceeded then */
+    vms_code = CURL_LAST;  /* curlmsg.h is out of sync.  */
+  }
+  else {
+    vms_code = vms_cond[code] | vms_show;
+  }
+  decc$exit(vms_code);
+}
+
+#if defined(__DECC) && !defined(__VAX) && \
+    defined(__CRTL_VER) && (__CRTL_VER >= 70301000)
+
+/*
+ * 2004-09-19 SMS.
+ *
+ * decc_init()
+ *
+ * On non-VAX systems, use LIB$INITIALIZE to set a collection of C
+ * RTL features without using the DECC$* logical name method, nor
+ * requiring the user to define the corresponding logical names.
+ */
+
+#include <unixlib.h>
+
+/* Structure to hold a DECC$* feature name and its desired value. */
+typedef struct {
+  char *name;
+  int value;
+} decc_feat_t;
+
+/* Array of DECC$* feature names and their desired values. */
+static decc_feat_t decc_feat_array[] = {
+  /* Preserve command-line case with SET PROCESS/PARSE_STYLE=EXTENDED */
+  { "DECC$ARGV_PARSE_STYLE", 1 },
+  /* Preserve case for file names on ODS5 disks. */
+  { "DECC$EFS_CASE_PRESERVE", 1 },
+  /* Enable multiple dots (and most characters) in ODS5 file names,
+     while preserving VMS-ness of ";version". */
+  { "DECC$EFS_CHARSET", 1 },
+  /* List terminator. */
+  { (char *)NULL, 0 }
+};
+
+/* Flag to sense if decc_init() was called. */
+static int decc_init_done = -1;
+
+/* LIB$INITIALIZE initialization function. */
+static void decc_init(void)
+{
+  int feat_index;
+  int feat_value;
+  int feat_value_max;
+  int feat_value_min;
+  int i;
+  int sts;
+
+  /* Set the global flag to indicate that LIB$INITIALIZE worked. */
+  decc_init_done = 1;
+
+  /* Loop through all items in the decc_feat_array[]. */
+  for(i = 0; decc_feat_array[i].name != NULL; i++) {
+
+    /* Get the feature index. */
+    feat_index = decc$feature_get_index( decc_feat_array[i].name);
+
+    if(feat_index >= 0) {
+      /* Valid item.  Collect its properties. */
+      feat_value = decc$feature_get_value( feat_index, 1);
+      feat_value_min = decc$feature_get_value( feat_index, 2);
+      feat_value_max = decc$feature_get_value( feat_index, 3);
+
+      if((decc_feat_array[i].value >= feat_value_min) &&
+         (decc_feat_array[i].value <= feat_value_max)) {
+        /* Valid value.  Set it if necessary. */
+        if(feat_value != decc_feat_array[i].value) {
+          sts = decc$feature_set_value( feat_index, 1,
+                                        decc_feat_array[i].value);
+        }
+      }
+      else {
+        /* Invalid DECC feature value. */
+        printf(" INVALID DECC FEATURE VALUE, %d: %d <= %s <= %d.\n",
+               feat_value,
+               feat_value_min, decc_feat_array[i].name, feat_value_max);
+      }
+    }
+    else {
+      /* Invalid DECC feature name. */
+      printf(" UNKNOWN DECC FEATURE: %s.\n", decc_feat_array[i].name);
+    }
+
+  }
+}
+
+/* Get "decc_init()" into a valid, loaded LIB$INITIALIZE PSECT. */
+
+#pragma nostandard
+
+/* Establish the LIB$INITIALIZE PSECTs, with proper alignment and
+   other attributes.  Note that "nopic" is significant only on VAX. */
+#pragma extern_model save
+#pragma extern_model strict_refdef "LIB$INITIALIZ" 2, nopic, nowrt
+const int spare[8] = {0};
+#pragma extern_model strict_refdef "LIB$INITIALIZE" 2, nopic, nowrt
+void (*const x_decc_init)() = decc_init;
+#pragma extern_model restore
+
+/* Fake reference to ensure loading the LIB$INITIALIZE PSECT. */
+#pragma extern_model save
+int LIB$INITIALIZE(void);
+#pragma extern_model strict_refdef
+int dmy_lib$initialize = (int) LIB$INITIALIZE;
+#pragma extern_model restore
+
+#pragma standard
+
+#endif /* __DECC && !__VAX && __CRTL_VER && __CRTL_VER >= 70301000 */
+
+#endif /* __VMS */
+
diff --git a/src/os-specific.h b/src/os-specific.h
new file mode 100644
index 0000000..93cac74
--- /dev/null
+++ b/src/os-specific.h
@@ -0,0 +1,38 @@
+#ifndef HEADER_CURL_OS_SPECIFIC_H
+#define HEADER_CURL_OS_SPECIFIC_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#ifdef __VMS
+
+int is_vms_shell(void);
+void vms_special_exit(int code, int vms_show);
+
+#undef exit
+#define exit(__code) vms_special_exit((__code), (0))
+
+#define  VMS_STS(c,f,e,s) (((c&0xF)<<28)|((f&0xFFF)<<16)|((e&0x1FFF)<3)|(s&7))
+#define  VMSSTS_HIDE  VMS_STS(1,0,0,0)
+
+#endif /* __VMS */
+
+#endif /* HEADER_CURL_OS_SPECIFIC_H */
diff --git a/src/setup.h b/src/setup.h
new file mode 100644
index 0000000..69da710
--- /dev/null
+++ b/src/setup.h
@@ -0,0 +1,218 @@
+#ifndef HEADER_CURL_SRC_SETUP_H
+#define HEADER_CURL_SRC_SETUP_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#define CURL_NO_OLDIES
+
+/*
+ * Define WIN32 when build target is Win32 API
+ */
+
+#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) && !defined(__SYMBIAN32__)
+#define WIN32
+#endif
+
+/*
+ * Include configuration script results or hand-crafted
+ * configuration file for platforms which lack config tool.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "curl_config.h"
+#else
+
+#ifdef WIN32
+#include "config-win32.h"
+#endif
+
+#if defined(macintosh) && defined(__MRC__)
+#  include "config-mac.h"
+#endif
+
+#ifdef __riscos__
+#include "config-riscos.h"
+#endif
+
+#ifdef __AMIGA__
+#include "config-amigaos.h"
+#endif
+
+#ifdef __SYMBIAN32__
+#include "config-symbian.h"
+#endif
+
+#ifdef TPF
+#include "config-tpf.h"
+#endif
+
+#endif /* HAVE_CONFIG_H */
+
+/*
+ * AIX 4.3 and newer needs _THREAD_SAFE defined to build
+ * proper reentrant code. Others may also need it.
+ */
+
+#ifdef NEED_THREAD_SAFE
+#  ifndef _THREAD_SAFE
+#    define _THREAD_SAFE
+#  endif
+#endif
+
+/*
+ * Tru64 needs _REENTRANT set for a few function prototypes and
+ * things to appear in the system header files. Unixware needs it
+ * to build proper reentrant code. Others may also need it.
+ */
+
+#ifdef NEED_REENTRANT
+#  ifndef _REENTRANT
+#    define _REENTRANT
+#  endif
+#endif
+
+/*
+ * Include header files for windows builds before redefining anything.
+ * Use this preproessor block only to include or exclude windows.h,
+ * winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
+ * to any other further and independent block.  Under Cygwin things work
+ * just as under linux (e.g. <sys/socket.h>) and the winsock headers should
+ * never be included when __CYGWIN__ is defined.  configure script takes
+ * care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H,
+ * neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined.
+ */
+
+#ifdef HAVE_WINDOWS_H
+#  ifndef WIN32_LEAN_AND_MEAN
+#    define WIN32_LEAN_AND_MEAN
+#  endif
+#  include <windows.h>
+#  ifdef HAVE_WINSOCK2_H
+#    include <winsock2.h>
+#    ifdef HAVE_WS2TCPIP_H
+#       include <ws2tcpip.h>
+#    endif
+#  else
+#    ifdef HAVE_WINSOCK_H
+#      include <winsock.h>
+#    endif
+#  endif
+#endif
+
+/*
+ * Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else
+ * define USE_WINSOCK to 1 if we have and use WINSOCK  API, else
+ * undefine USE_WINSOCK.
+ */
+
+#undef USE_WINSOCK
+
+#ifdef HAVE_WINSOCK2_H
+#  define USE_WINSOCK 2
+#else
+#  ifdef HAVE_WINSOCK_H
+#    define USE_WINSOCK 1
+#  endif
+#endif
+
+#ifdef TPF
+#  include <sys/socket.h>
+   /* change which select is used for the curl command line tool */
+#  define select(a,b,c,d,e) tpf_select_bsd(a,b,c,d,e)
+   /* and turn off the progress meter */
+#  define CONF_DEFAULT (0|CONF_NOPROGRESS)
+#endif
+
+#include <stdio.h>
+
+#ifdef __TANDEM
+#include <floss.h>
+#endif
+
+
+#ifndef OS
+#define OS "unknown"
+#endif
+
+#if !defined(fileno) && !defined(WIN32) /* sunos 4 have this as a macro! */
+int fileno( FILE *stream);
+#endif
+
+#ifdef WIN32
+#define DIR_CHAR      "\\"
+#define DOT_CHAR      "_"
+#else
+#ifdef __EMX__
+/* 20000318 mgs
+ * OS/2 supports leading dots in filenames if the volume is formatted
+ * with JFS or HPFS. */
+#define DIR_CHAR      "\\"
+#define DOT_CHAR      "."
+#else
+
+#ifdef DJGPP
+#include <tcp.h>
+#ifdef word
+#undef word
+#endif
+#define DIR_CHAR      "/"
+#define DOT_CHAR      "_"
+#else
+
+#define DIR_CHAR      "/"
+#define DOT_CHAR      "."
+
+#endif /* !DJGPP */
+#endif /* !__EMX__ */
+#endif /* !WIN32 */
+
+#ifdef __riscos__
+#define USE_ENVIRONMENT
+#endif
+
+#ifdef __BEOS__
+#define typedef_bool
+#endif
+
+#if (defined(NETWARE) && !defined(__NOVELL_LIBC__))
+#include <sys/timeval.h>
+#endif
+
+#ifndef UNPRINTABLE_CHAR
+/* define what to use for unprintable characters */
+#define UNPRINTABLE_CHAR '.'
+#endif
+
+#ifndef HAVE_STRDUP
+#include "strdup.h"
+#define strdup(ptr) curlx_strdup(ptr)
+#endif
+
+/*
+ * Include macros and defines that should only be processed once.
+ */
+
+#ifndef __SETUP_ONCE_H
+#include "setup_once.h"
+#endif
+
+#endif /* HEADER_CURL_SRC_SETUP_H */
diff --git a/src/urlglob.c b/src/urlglob.c
new file mode 100644
index 0000000..5f8fb28
--- /dev/null
+++ b/src/urlglob.c
@@ -0,0 +1,567 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+/* client-local setup.h */
+#include "setup.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <curl/curl.h>
+
+#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */
+#include <curl/mprintf.h>
+
+#include "urlglob.h"
+#include "os-specific.h"
+
+#if defined(CURLDEBUG) && defined(CURLTOOLDEBUG)
+#include "memdebug.h"
+#endif
+
+typedef enum {
+  GLOB_OK,
+  GLOB_ERROR
+} GlobCode;
+
+/*
+ * glob_word()
+ *
+ * Input a full globbed string, set the forth argument to the amount of
+ * strings we get out of this. Return GlobCode.
+ */
+static GlobCode glob_word(URLGlob *, /* object anchor */
+                          char *,    /* globbed string */
+                          size_t,       /* position */
+                          int *);    /* returned number of strings */
+
+static GlobCode glob_set(URLGlob *glob, char *pattern,
+                         size_t pos, int *amount)
+{
+  /* processes a set expression with the point behind the opening '{'
+     ','-separated elements are collected until the next closing '}'
+  */
+  bool done = FALSE;
+  char* buf = glob->glob_buffer;
+  URLPattern *pat;
+
+  pat = (URLPattern*)&glob->pattern[glob->size / 2];
+  /* patterns 0,1,2,... correspond to size=1,3,5,... */
+  pat->type = UPTSet;
+  pat->content.Set.size = 0;
+  pat->content.Set.ptr_s = 0;
+  /* FIXME: Here's a nasty zero size malloc */
+  pat->content.Set.elements = (char**)malloc(0);
+  ++glob->size;
+
+  while (!done) {
+    bool skip;
+
+    switch (*pattern) {
+    case '\0':                  /* URL ended while set was still open */
+      snprintf(glob->errormsg, sizeof(glob->errormsg),
+               "unmatched brace at pos %zu\n", pos);
+      return GLOB_ERROR;
+
+    case '{':
+    case '[':                   /* no nested expressions at this time */
+      snprintf(glob->errormsg, sizeof(glob->errormsg),
+               "nested braces not supported at pos %zu\n", pos);
+      return GLOB_ERROR;
+
+    case ',':
+    case '}':                           /* set element completed */
+      *buf = '\0';
+      pat->content.Set.elements =
+        realloc(pat->content.Set.elements,
+                (pat->content.Set.size + 1) * sizeof(char*));
+      if (!pat->content.Set.elements) {
+        snprintf(glob->errormsg, sizeof(glob->errormsg), "out of memory");
+        return GLOB_ERROR;
+      }
+      pat->content.Set.elements[pat->content.Set.size] =
+        strdup(glob->glob_buffer);
+      ++pat->content.Set.size;
+
+      if (*pattern == '}') {
+        /* entire set pattern completed */
+        int wordamount;
+
+        /* always check for a literal (may be "") between patterns */
+        if(GLOB_ERROR == glob_word(glob, ++pattern, ++pos, &wordamount))
+          wordamount=1;
+        *amount = pat->content.Set.size * wordamount;
+
+        done = TRUE;
+        continue;
+      }
+
+      buf = glob->glob_buffer;
+      ++pattern;
+      ++pos;
+      break;
+
+    case ']':                           /* illegal closing bracket */
+      snprintf(glob->errormsg, sizeof(glob->errormsg),
+               "illegal pattern at pos %zu\n", pos);
+      return GLOB_ERROR;
+
+    case '\\':                          /* escaped character, skip '\' */
+      switch(pattern[1]) {
+      case '[':
+      case ']':
+      case '{':
+      case '}':
+      case ',':
+        skip = TRUE;
+        break;
+      default:
+        skip = FALSE;
+        break;
+      }
+      if(skip) {
+        if (*(buf+1) == '\0') {           /* but no escaping of '\0'! */
+          snprintf(glob->errormsg, sizeof(glob->errormsg),
+                   "illegal pattern at pos %zu\n", pos);
+          return GLOB_ERROR;
+        }
+        ++pattern;
+        ++pos;
+      }
+      /* intentional fallthrough */
+    default:
+      *buf++ = *pattern++;              /* copy character to set element */
+      ++pos;
+    }
+  }
+  return GLOB_OK;
+}
+
+static GlobCode glob_range(URLGlob *glob, char *pattern,
+                           size_t pos, int *amount)
+{
+  /* processes a range expression with the point behind the opening '['
+     - char range: e.g. "a-z]", "B-Q]"
+     - num range: e.g. "0-9]", "17-2000]"
+     - num range with leading zeros: e.g. "001-999]"
+     expression is checked for well-formedness and collected until the next ']'
+  */
+  URLPattern *pat;
+  char *c;
+  int wordamount=1;
+  char sep;
+  char sep2;
+  int step;
+  int rc;
+
+  pat = (URLPattern*)&glob->pattern[glob->size / 2];
+  /* patterns 0,1,2,... correspond to size=1,3,5,... */
+  ++glob->size;
+
+  if (ISALPHA(*pattern)) {         /* character range detected */
+    char min_c;
+    char max_c;
+
+    pat->type = UPTCharRange;
+    rc = sscanf(pattern, "%c-%c%c%d%c", &min_c, &max_c, &sep, &step, &sep2);
+    if ((rc < 3) || (min_c >= max_c) || ((max_c - min_c) > ('z' - 'a'))) {
+      /* the pattern is not well-formed */
+      snprintf(glob->errormsg, sizeof(glob->errormsg),
+               "error: bad range specification after pos %zu\n", pos);
+      return GLOB_ERROR;
+    }
+
+    /* check the (first) separating character */
+    if((sep != ']') && (sep != ':')) {
+      snprintf(glob->errormsg, sizeof(glob->errormsg),
+               "error: unsupported character (%c) after range at pos %zu\n",
+               sep, pos);
+      return GLOB_ERROR;
+    }
+
+    /* if there was a ":[num]" thing, use that as step or else use 1 */
+    pat->content.CharRange.step =
+      ((sep == ':') && (rc == 5) && (sep2 == ']'))?step:1;
+
+    pat->content.CharRange.ptr_c = pat->content.CharRange.min_c = min_c;
+    pat->content.CharRange.max_c = max_c;
+  }
+  else if (ISDIGIT(*pattern)) { /* numeric range detected */
+    int min_n;
+    int max_n;
+
+    pat->type = UPTNumRange;
+    pat->content.NumRange.padlength = 0;
+
+    rc = sscanf(pattern, "%d-%d%c%d%c", &min_n, &max_n, &sep, &step, &sep2);
+
+    if ((rc < 2) || (min_n > max_n)) {
+      /* the pattern is not well-formed */
+      snprintf(glob->errormsg, sizeof(glob->errormsg),
+               "error: bad range specification after pos %zu\n", pos);
+      return GLOB_ERROR;
+    }
+    pat->content.NumRange.ptr_n =  pat->content.NumRange.min_n = min_n;
+    pat->content.NumRange.max_n = max_n;
+
+    /* if there was a ":[num]" thing, use that as step or else use 1 */
+    pat->content.NumRange.step =
+      ((sep == ':') && (rc == 5) && (sep2 == ']'))?step:1;
+
+    if (*pattern == '0') {              /* leading zero specified */
+      c = pattern;
+      while (ISDIGIT(*c)) {
+        c++;
+        ++pat->content.NumRange.padlength; /* padding length is set for all
+                                              instances of this pattern */
+      }
+    }
+
+  }
+  else {
+    snprintf(glob->errormsg, sizeof(glob->errormsg),
+             "illegal character in range specification at pos %zu\n", pos);
+    return GLOB_ERROR;
+  }
+
+  c = (char*)strchr(pattern, ']'); /* continue after next ']' */
+  if(c)
+    c++;
+  else {
+    snprintf(glob->errormsg, sizeof(glob->errormsg), "missing ']'");
+    return GLOB_ERROR; /* missing ']' */
+  }
+
+  /* always check for a literal (may be "") between patterns */
+
+  if(GLOB_ERROR == glob_word(glob, c, pos + (c - pattern), &wordamount))
+    wordamount = 1;
+
+  if(pat->type == UPTCharRange)
+    *amount = (pat->content.CharRange.max_c -
+               pat->content.CharRange.min_c + 1) *
+      wordamount;
+  else
+    *amount = (pat->content.NumRange.max_n -
+               pat->content.NumRange.min_n + 1) * wordamount;
+
+  return GLOB_OK;
+}
+
+static GlobCode glob_word(URLGlob *glob, char *pattern,
+                          size_t pos, int *amount)
+{
+  /* processes a literal string component of a URL
+     special characters '{' and '[' branch to set/range processing functions
+   */
+  char* buf = glob->glob_buffer;
+  size_t litindex;
+  GlobCode res = GLOB_OK;
+
+  *amount = 1; /* default is one single string */
+
+  while (*pattern != '\0' && *pattern != '{' && *pattern != '[') {
+    if (*pattern == '}' || *pattern == ']')
+      return GLOB_ERROR;
+
+    /* only allow \ to escape known "special letters" */
+    if (*pattern == '\\' &&
+        (*(pattern+1) == '{' || *(pattern+1) == '[' ||
+         *(pattern+1) == '}' || *(pattern+1) == ']') ) {
+
+      /* escape character, skip '\' */
+      ++pattern;
+      ++pos;
+      if (*pattern == '\0')             /* but no escaping of '\0'! */
+        return GLOB_ERROR;
+    }
+    *buf++ = *pattern++;                /* copy character to literal */
+    ++pos;
+  }
+  *buf = '\0';
+  litindex = glob->size / 2;
+  /* literals 0,1,2,... correspond to size=0,2,4,... */
+  glob->literal[litindex] = strdup(glob->glob_buffer);
+  if(!glob->literal[litindex])
+    return GLOB_ERROR;
+  ++glob->size;
+
+  switch (*pattern) {
+  case '\0':
+    break;                      /* singular URL processed  */
+
+  case '{':
+    /* process set pattern */
+    res = glob_set(glob, ++pattern, ++pos, amount);
+    break;
+
+  case '[':
+    /* process range pattern */
+    res= glob_range(glob, ++pattern, ++pos, amount);
+    break;
+  }
+
+  if(GLOB_OK != res)
+    /* free that strdup'ed string again */
+    free(glob->literal[litindex]);
+
+  return res; /* something got wrong */
+}
+
+int glob_url(URLGlob** glob, char* url, int *urlnum, FILE *error)
+{
+  /*
+   * We can deal with any-size, just make a buffer with the same length
+   * as the specified URL!
+   */
+  URLGlob *glob_expand;
+  int amount;
+  char *glob_buffer = malloc(strlen(url)+1);
+
+  *glob = NULL;
+  if(NULL == glob_buffer)
+    return CURLE_OUT_OF_MEMORY;
+
+  glob_expand = calloc(1, sizeof(URLGlob));
+  if(NULL == glob_expand) {
+    free(glob_buffer);
+    return CURLE_OUT_OF_MEMORY;
+  }
+  glob_expand->size = 0;
+  glob_expand->urllen = strlen(url);
+  glob_expand->glob_buffer = glob_buffer;
+  glob_expand->beenhere=0;
+  if(GLOB_OK == glob_word(glob_expand, url, 1, &amount))
+    *urlnum = amount;
+  else {
+    if(error && glob_expand->errormsg[0]) {
+      /* send error description to the error-stream */
+      fprintf(error, "curl: (%d) [globbing] %s\n",
+              CURLE_URL_MALFORMAT, glob_expand->errormsg);
+    }
+    /* it failed, we cleanup */
+    free(glob_buffer);
+    free(glob_expand);
+    glob_expand = NULL;
+    *urlnum = 1;
+    return CURLE_URL_MALFORMAT;
+  }
+
+  *glob = glob_expand;
+  return CURLE_OK;
+}
+
+void glob_cleanup(URLGlob* glob)
+{
+  size_t i;
+  int elem;
+
+  for (i = glob->size - 1; i < glob->size; --i) {
+    if (!(i & 1)) {     /* even indexes contain literals */
+      free(glob->literal[i/2]);
+    }
+    else {              /* odd indexes contain sets or ranges */
+      if (glob->pattern[i/2].type == UPTSet) {
+        for (elem = glob->pattern[i/2].content.Set.size - 1;
+             elem >= 0;
+             --elem) {
+          free(glob->pattern[i/2].content.Set.elements[elem]);
+        }
+        free(glob->pattern[i/2].content.Set.elements);
+      }
+    }
+  }
+  free(glob->glob_buffer);
+  free(glob);
+}
+
+char *glob_next_url(URLGlob *glob)
+{
+  char *buf = glob->glob_buffer;
+  URLPattern *pat;
+  char *lit;
+  size_t i;
+  size_t j;
+  size_t buflen = glob->urllen+1;
+  size_t len;
+
+  if (!glob->beenhere)
+    glob->beenhere = 1;
+  else {
+    bool carry = TRUE;
+
+    /* implement a counter over the index ranges of all patterns,
+       starting with the rightmost pattern */
+    for (i = glob->size / 2 - 1; carry && i < glob->size; --i) {
+      carry = FALSE;
+      pat = &glob->pattern[i];
+      switch (pat->type) {
+      case UPTSet:
+        if (++pat->content.Set.ptr_s == pat->content.Set.size) {
+          pat->content.Set.ptr_s = 0;
+          carry = TRUE;
+        }
+        break;
+      case UPTCharRange:
+        pat->content.CharRange.ptr_c = (char)(pat->content.CharRange.step +
+                           (int)((unsigned char)pat->content.CharRange.ptr_c));
+        if (pat->content.CharRange.ptr_c > pat->content.CharRange.max_c) {
+          pat->content.CharRange.ptr_c = pat->content.CharRange.min_c;
+          carry = TRUE;
+        }
+        break;
+      case UPTNumRange:
+        pat->content.NumRange.ptr_n += pat->content.NumRange.step;
+        if (pat->content.NumRange.ptr_n > pat->content.NumRange.max_n) {
+          pat->content.NumRange.ptr_n = pat->content.NumRange.min_n;
+          carry = TRUE;
+        }
+        break;
+      default:
+        printf("internal error: invalid pattern type (%d)\n", (int)pat->type);
+        exit (CURLE_FAILED_INIT);
+      }
+    }
+    if (carry)          /* first pattern ptr has run into overflow, done! */
+      return NULL;
+  }
+
+  for (j = 0; j < glob->size; ++j) {
+    if (!(j&1)) {              /* every other term (j even) is a literal */
+      lit = glob->literal[j/2];
+      len = snprintf(buf, buflen, "%s", lit);
+      buf += len;
+      buflen -= len;
+    }
+    else {                              /* the rest (i odd) are patterns */
+      pat = &glob->pattern[j/2];
+      switch(pat->type) {
+      case UPTSet:
+        len = strlen(pat->content.Set.elements[pat->content.Set.ptr_s]);
+        snprintf(buf, buflen, "%s",
+                 pat->content.Set.elements[pat->content.Set.ptr_s]);
+        buf += len;
+        buflen -= len;
+        break;
+      case UPTCharRange:
+        *buf++ = pat->content.CharRange.ptr_c;
+        break;
+      case UPTNumRange:
+        len = snprintf(buf, buflen, "%0*d",
+                       pat->content.NumRange.padlength,
+                       pat->content.NumRange.ptr_n);
+        buf += len;
+        buflen -= len;
+        break;
+      default:
+        printf("internal error: invalid pattern type (%d)\n", (int)pat->type);
+        exit (CURLE_FAILED_INIT);
+      }
+    }
+  }
+  *buf = '\0';
+  return strdup(glob->glob_buffer);
+}
+
+char *glob_match_url(char *filename, URLGlob *glob)
+{
+  char *target;
+  size_t allocsize;
+  size_t stringlen=0;
+  char numbuf[18];
+  char *appendthis = NULL;
+  size_t appendlen = 0;
+
+  /* We cannot use the glob_buffer for storage here since the filename may
+   * be longer than the URL we use. We allocate a good start size, then
+   * we need to realloc in case of need.
+   */
+  allocsize=strlen(filename)+1; /* make it at least one byte to store the
+                                   trailing zero */
+  target = malloc(allocsize);
+  if(NULL == target)
+    return NULL; /* major failure */
+
+  while (*filename) {
+    if (*filename == '#' && ISDIGIT(filename[1])) {
+      unsigned long i;
+      char *ptr = filename;
+      unsigned long num = strtoul(&filename[1], &filename, 10);
+      i = num-1;
+
+      if (num && (i <= glob->size / 2)) {
+        URLPattern pat = glob->pattern[i];
+        switch (pat.type) {
+        case UPTSet:
+          appendthis = pat.content.Set.elements[pat.content.Set.ptr_s];
+          appendlen = strlen(pat.content.Set.elements[pat.content.Set.ptr_s]);
+          break;
+        case UPTCharRange:
+          numbuf[0]=pat.content.CharRange.ptr_c;
+          numbuf[1]=0;
+          appendthis=numbuf;
+          appendlen=1;
+          break;
+        case UPTNumRange:
+          snprintf(numbuf, sizeof(numbuf), "%0*d",
+                   pat.content.NumRange.padlength,
+                   pat.content.NumRange.ptr_n);
+          appendthis = numbuf;
+          appendlen = strlen(numbuf);
+          break;
+        default:
+          printf("internal error: invalid pattern type (%d)\n",
+                 (int)pat.type);
+          free(target);
+          return NULL;
+        }
+      }
+      else {
+        /* #[num] out of range, use the #[num] in the output */
+        filename = ptr;
+        appendthis=filename++;
+        appendlen=1;
+      }
+    }
+    else {
+      appendthis=filename++;
+      appendlen=1;
+    }
+    if(appendlen + stringlen >= allocsize) {
+      char *newstr;
+      /* we append a single byte to allow for the trailing byte to be appended
+         at the end of this function outside the while() loop */
+      allocsize = (appendlen + stringlen)*2;
+      newstr=realloc(target, allocsize + 1);
+      if(NULL ==newstr) {
+        free(target);
+        return NULL;
+      }
+      target=newstr;
+    }
+    memcpy(&target[stringlen], appendthis, appendlen);
+    stringlen += appendlen;
+  }
+  target[stringlen]= '\0';
+  return target;
+}
diff --git a/src/urlglob.h b/src/urlglob.h
new file mode 100644
index 0000000..a5b789e
--- /dev/null
+++ b/src/urlglob.h
@@ -0,0 +1,67 @@
+#ifndef __URLGLOB_H
+#define __URLGLOB_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+typedef enum {
+  UPTSet=1,
+  UPTCharRange,
+  UPTNumRange
+} URLPatternType;
+
+typedef struct {
+  URLPatternType type;
+  union {
+    struct {
+      char **elements;
+      short size;
+      short ptr_s;
+    } Set;
+    struct {
+      char min_c, max_c;
+      char ptr_c;
+      int step;
+    } CharRange;
+    struct {
+      int min_n, max_n;
+      short padlength;
+      int ptr_n;
+      int step;
+    } NumRange ;
+  } content;
+} URLPattern;
+
+typedef struct {
+  char* literal[10];
+  URLPattern pattern[9];
+  size_t size;
+  size_t urllen;
+  char *glob_buffer;
+  char beenhere;
+  char errormsg[80]; /* error message buffer */
+} URLGlob;
+
+int glob_url(URLGlob**, char*, int *, FILE *);
+char* glob_next_url(URLGlob*);
+char* glob_match_url(char*, URLGlob *);
+void glob_cleanup(URLGlob* glob);
+
+#endif
diff --git a/src/version.h b/src/version.h
new file mode 100644
index 0000000..8c091b2
--- /dev/null
+++ b/src/version.h
@@ -0,0 +1,35 @@
+#ifndef HEADER_CURL_VERSION_H
+#define HEADER_CURL_VERSION_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include <curl/curlver.h>
+
+#define CURL_NAME "curl"
+#define CURL_COPYRIGHT LIBCURL_COPYRIGHT
+#define CURL_VERSION "7.20.1"
+#define CURL_VERSION_MAJOR LIBCURL_VERSION_MAJOR
+#define CURL_VERSION_MINOR LIBCURL_VERSION_MINOR
+#define CURL_VERSION_PATCH LIBCURL_VERSION_PATCH
+#define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") "
+
+#endif /* HEADER_CURL_VERSION_H */
diff --git a/src/writeenv.c b/src/writeenv.c
new file mode 100644
index 0000000..18e1a06
--- /dev/null
+++ b/src/writeenv.c
@@ -0,0 +1,120 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "setup.h"
+
+#ifdef USE_ENVIRONMENT
+
+#include <curl/curl.h>
+#include "writeenv.h"
+
+#ifdef __riscos__
+#include <kernel.h>
+#endif
+
+#define _MPRINTF_REPLACE /* use our functions only */
+#include <curl/mprintf.h>
+
+#if defined(CURLDEBUG) && defined(CURLTOOLDEBUG)
+#include "memdebug.h"
+#endif
+
+static const struct
+{
+  const char * name;
+  CURLINFO id;
+  enum {
+    writeenv_NONE,
+    writeenv_DOUBLE,
+    writeenv_LONG,
+    writeenv_STRING
+  } type;
+} variables[14] =
+{
+  {"curl_url_effective", CURLINFO_EFFECTIVE_URL, writeenv_STRING},
+  {"curl_http_code", CURLINFO_RESPONSE_CODE, writeenv_LONG},
+  {"curl_time_total", CURLINFO_TOTAL_TIME, writeenv_DOUBLE},
+  {"curl_time_namelookup", CURLINFO_NAMELOOKUP_TIME, writeenv_DOUBLE},
+  {"curl_time_connect", CURLINFO_CONNECT_TIME, writeenv_DOUBLE},
+  {"curl_time_pretransfer", CURLINFO_PRETRANSFER_TIME, writeenv_DOUBLE},
+  {"curl_time_starttransfer", CURLINFO_STARTTRANSFER_TIME, writeenv_DOUBLE},
+  {"curl_size_header", CURLINFO_HEADER_SIZE, writeenv_LONG},
+  {"curl_size_request", CURLINFO_REQUEST_SIZE, writeenv_LONG},
+  {"curl_size_download", CURLINFO_SIZE_DOWNLOAD, writeenv_DOUBLE},
+  {"curl_size_upload", CURLINFO_SIZE_UPLOAD, writeenv_DOUBLE},
+  {"curl_speed_download", CURLINFO_SPEED_DOWNLOAD, writeenv_DOUBLE},
+  {"curl_speed_upload", CURLINFO_SPEED_UPLOAD, writeenv_DOUBLE},
+  {NULL, 0, writeenv_NONE}
+ };
+
+static void internalSetEnv(const char * name, char * value)
+{
+  /* Add your OS-specific code here. */
+#ifdef __riscos__
+  _kernel_setenv(name, value);
+#elif defined (CURLDEBUG)
+  curl_memlog("ENV %s = %s\n", name, value);
+#endif
+  return;
+}
+
+void ourWriteEnv(CURL *curl)
+{
+  unsigned int i;
+  char *string, numtext[10];
+  long longinfo;
+  double doubleinfo;
+
+  for (i=0; variables[i].name; i++) {
+    switch (variables[i].type) {
+    case writeenv_STRING:
+      if (curl_easy_getinfo(curl, variables[i].id, &string) == CURLE_OK)
+        internalSetEnv(variables[i].name, string);
+      else
+        internalSetEnv(variables[i].name, NULL);
+      break;
+
+    case writeenv_LONG:
+      if (curl_easy_getinfo(curl, variables[i].id, &longinfo) == CURLE_OK) {
+        curl_msprintf(numtext, "%5ld", longinfo);
+        internalSetEnv(variables[i].name, numtext);
+      }
+      else
+        internalSetEnv(variables[i].name, NULL);
+      break;
+    case writeenv_DOUBLE:
+      if (curl_easy_getinfo(curl, variables[i].id, &doubleinfo) == CURLE_OK) {
+        curl_msprintf(numtext, "%6.2f", doubleinfo);
+        internalSetEnv(variables[i].name, numtext);
+      }
+      else
+        internalSetEnv(variables[i].name, NULL);
+      break;
+    default:
+      break;
+    }
+  }
+
+  return;
+}
+
+#endif
diff --git a/src/writeenv.h b/src/writeenv.h
new file mode 100644
index 0000000..8d92f6c
--- /dev/null
+++ b/src/writeenv.h
@@ -0,0 +1,27 @@
+#ifndef HEADER_CURL_WRITEENV_H
+#define HEADER_CURL_WRITEENV_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+void ourWriteEnv(CURL *curl);
+
+#endif /* HEADER_CURL_WRITEENV_H */
diff --git a/src/writeout.c b/src/writeout.c
new file mode 100644
index 0000000..b8801a4
--- /dev/null
+++ b/src/writeout.c
@@ -0,0 +1,295 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "setup.h"
+
+#include <stdio.h>
+#include <string.h>
+
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
+
+#include <curl/curl.h>
+
+#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */
+#include <curl/mprintf.h>
+
+#include "writeout.h"
+
+typedef enum {
+  VAR_NONE,       /* must be the first */
+  VAR_TOTAL_TIME,
+  VAR_NAMELOOKUP_TIME,
+  VAR_CONNECT_TIME,
+  VAR_APPCONNECT_TIME,
+  VAR_PRETRANSFER_TIME,
+  VAR_STARTTRANSFER_TIME,
+  VAR_SIZE_DOWNLOAD,
+  VAR_SIZE_UPLOAD,
+  VAR_SPEED_DOWNLOAD,
+  VAR_SPEED_UPLOAD,
+  VAR_HTTP_CODE,
+  VAR_HTTP_CODE_PROXY,
+  VAR_HEADER_SIZE,
+  VAR_REQUEST_SIZE,
+  VAR_EFFECTIVE_URL,
+  VAR_CONTENT_TYPE,
+  VAR_NUM_CONNECTS,
+  VAR_REDIRECT_TIME,
+  VAR_REDIRECT_COUNT,
+  VAR_FTP_ENTRY_PATH,
+  VAR_REDIRECT_URL,
+  VAR_SSL_VERIFY_RESULT,
+  VAR_NUM_OF_VARS /* must be the last */
+} replaceid;
+
+struct variable {
+  const char *name;
+  replaceid id;
+};
+
+
+static const struct variable replacements[]={
+  {"url_effective", VAR_EFFECTIVE_URL},
+  {"http_code", VAR_HTTP_CODE},
+  {"response_code", VAR_HTTP_CODE},
+  {"http_connect", VAR_HTTP_CODE_PROXY},
+  {"time_total", VAR_TOTAL_TIME},
+  {"time_namelookup", VAR_NAMELOOKUP_TIME},
+  {"time_connect", VAR_CONNECT_TIME},
+  {"time_appconnect", VAR_APPCONNECT_TIME},
+  {"time_pretransfer", VAR_PRETRANSFER_TIME},
+  {"time_starttransfer", VAR_STARTTRANSFER_TIME},
+  {"size_header", VAR_HEADER_SIZE},
+  {"size_request", VAR_REQUEST_SIZE},
+  {"size_download", VAR_SIZE_DOWNLOAD},
+  {"size_upload", VAR_SIZE_UPLOAD},
+  {"speed_download", VAR_SPEED_DOWNLOAD},
+  {"speed_upload", VAR_SPEED_UPLOAD},
+  {"content_type", VAR_CONTENT_TYPE},
+  {"num_connects", VAR_NUM_CONNECTS},
+  {"time_redirect", VAR_REDIRECT_TIME},
+  {"num_redirects", VAR_REDIRECT_COUNT},
+  {"ftp_entry_path", VAR_FTP_ENTRY_PATH},
+  {"redirect_url", VAR_REDIRECT_URL},
+  {"ssl_verify_result", VAR_SSL_VERIFY_RESULT},
+  {NULL, VAR_NONE}
+};
+
+void ourWriteOut(CURL *curl, const char *writeinfo)
+{
+  FILE *stream = stdout;
+  const char *ptr=writeinfo;
+  char *stringp;
+  long longinfo;
+  double doubleinfo;
+
+  while(ptr && *ptr) {
+    if('%' == *ptr) {
+      if('%' == ptr[1]) {
+        /* an escaped %-letter */
+        fputc('%', stream);
+        ptr+=2;
+      }
+      else {
+        /* this is meant as a variable to output */
+        char *end;
+        char keepit;
+        int i;
+        if(('{' == ptr[1]) && ((end = strchr(ptr, '}')) != NULL)) {
+          bool match = FALSE;
+          ptr+=2; /* pass the % and the { */
+          keepit=*end;
+          *end=0; /* zero terminate */
+          for(i=0; replacements[i].name; i++) {
+            if(curl_strequal(ptr, replacements[i].name)) {
+              match = TRUE;
+              switch(replacements[i].id) {
+              case VAR_EFFECTIVE_URL:
+                if((CURLE_OK ==
+                    curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &stringp))
+                   && stringp)
+                  fputs(stringp, stream);
+                break;
+              case VAR_HTTP_CODE:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &longinfo))
+                  fprintf(stream, "%03ld", longinfo);
+                break;
+              case VAR_HTTP_CODE_PROXY:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_HTTP_CONNECTCODE,
+                                     &longinfo))
+                  fprintf(stream, "%03ld", longinfo);
+                break;
+              case VAR_HEADER_SIZE:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_HEADER_SIZE, &longinfo))
+                  fprintf(stream, "%ld", longinfo);
+                break;
+              case VAR_REQUEST_SIZE:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_REQUEST_SIZE, &longinfo))
+                  fprintf(stream, "%ld", longinfo);
+                break;
+              case VAR_NUM_CONNECTS:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_NUM_CONNECTS, &longinfo))
+                  fprintf(stream, "%ld", longinfo);
+                break;
+              case VAR_REDIRECT_COUNT:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_REDIRECT_COUNT, &longinfo))
+                  fprintf(stream, "%ld", longinfo);
+                break;
+              case VAR_REDIRECT_TIME:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_REDIRECT_TIME, &doubleinfo))
+                  fprintf(stream, "%.3f", doubleinfo);
+                break;
+              case VAR_TOTAL_TIME:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &doubleinfo))
+                  fprintf(stream, "%.3f", doubleinfo);
+                break;
+              case VAR_NAMELOOKUP_TIME:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_NAMELOOKUP_TIME,
+                                     &doubleinfo))
+                  fprintf(stream, "%.3f", doubleinfo);
+                break;
+              case VAR_CONNECT_TIME:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_CONNECT_TIME, &doubleinfo))
+                  fprintf(stream, "%.3f", doubleinfo);
+                break;
+              case VAR_APPCONNECT_TIME:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_APPCONNECT_TIME,
+                                     &doubleinfo))
+                  fprintf(stream, "%.3f", doubleinfo);
+                break;
+              case VAR_PRETRANSFER_TIME:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_PRETRANSFER_TIME,
+                                     &doubleinfo))
+                  fprintf(stream, "%.3f", doubleinfo);
+                break;
+              case VAR_STARTTRANSFER_TIME:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_STARTTRANSFER_TIME,
+                                     &doubleinfo))
+                  fprintf(stream, "%.3f", doubleinfo);
+                break;
+              case VAR_SIZE_UPLOAD:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_SIZE_UPLOAD, &doubleinfo))
+                  fprintf(stream, "%.0f", doubleinfo);
+                break;
+              case VAR_SIZE_DOWNLOAD:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_SIZE_DOWNLOAD, &doubleinfo))
+                  fprintf(stream, "%.0f", doubleinfo);
+                break;
+              case VAR_SPEED_DOWNLOAD:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_SPEED_DOWNLOAD, &doubleinfo))
+                  fprintf(stream, "%.3f", doubleinfo);
+                break;
+              case VAR_SPEED_UPLOAD:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD, &doubleinfo))
+                  fprintf(stream, "%.3f", doubleinfo);
+                break;
+              case VAR_CONTENT_TYPE:
+                if((CURLE_OK ==
+                    curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &stringp))
+                   && stringp)
+                  fputs(stringp, stream);
+                break;
+              case VAR_FTP_ENTRY_PATH:
+                if((CURLE_OK ==
+                    curl_easy_getinfo(curl, CURLINFO_FTP_ENTRY_PATH, &stringp))
+                   && stringp)
+                  fputs(stringp, stream);
+                break;
+              case VAR_REDIRECT_URL:
+                if((CURLE_OK ==
+                    curl_easy_getinfo(curl, CURLINFO_REDIRECT_URL, &stringp))
+                   && stringp)
+                  fputs(stringp, stream);
+                break;
+              case VAR_SSL_VERIFY_RESULT:
+                if(CURLE_OK ==
+                   curl_easy_getinfo(curl, CURLINFO_SSL_VERIFYRESULT, &longinfo))
+                  fprintf(stream, "%ld", longinfo);
+                break;
+              default:
+                break;
+              }
+              break;
+            }
+          }
+          if(FALSE == match) {
+            fprintf(stderr, "curl: unknown --write-out variable: '%s'\n", ptr);
+          }
+          ptr=end+1; /* pass the end */
+          *end = keepit;
+        }
+        else {
+          /* illegal syntax, then just output the characters that are used */
+          fputc('%', stream);
+          fputc(ptr[1], stream);
+          ptr+=2;
+        }
+      }
+    }
+    else if('\\' == *ptr) {
+      switch(ptr[1]) {
+      case 'r':
+        fputc('\r', stream);
+        break;
+      case 'n':
+        fputc('\n', stream);
+        break;
+      case 't':
+        fputc('\t', stream);
+        break;
+      default:
+        /* unknown, just output this */
+        fputc(*ptr, stream);
+        fputc(ptr[1], stream);
+        break;
+      }
+      ptr+=2;
+    }
+    else {
+      fputc(*ptr, stream);
+      ptr++;
+    }
+  }
+
+}
diff --git a/src/writeout.h b/src/writeout.h
new file mode 100644
index 0000000..1b22102
--- /dev/null
+++ b/src/writeout.h
@@ -0,0 +1,27 @@
+#ifndef HEADER_CURL_WRITEOUT_H
+#define HEADER_CURL_WRITEOUT_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at http://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+void ourWriteOut(CURL *curl, const char *out);
+
+#endif /* HEADER_CURL_WRITEOUT_H */